Merge remote-tracking branch 'origin/release-v4.6.1'
[WRF.git] / var / da / da_tools / da_convert_zk.inc
blob455df816a01e98e0f6da4df5565ba1a2e574f252
1 subroutine da_convert_zk (info)
3    !-----------------------------------------------------------------------
4    ! Purpose: Transfer obs. x to grid i and calculate its
5    ! distance to grid i and i+1
6    !-----------------------------------------------------------------------
8    implicit none
10    type(infa_type), intent(inout) :: info
11    integer :: k, n
13    if (trace_use) call da_trace_entry("da_convert_zk")
15    do n = info%n1, info%n2
17       do k = 1, info%levels(n)
19          if ( (info%zk(k,n) > 0.0 .or. anal_type_verify) &
20                .and. info%zk(k,n) .ne. missing_r) then 
22             info%k(k,n) = int ( info%zk(k,n))
23   
24             if (info%k(k,n) < kts)  info%k(k,n) = kts
25             if (info%k(k,n) >= kte) info%k(k,n) = kte-1
27             info%dz(k,n) = info%zk(k,n) - real(info%k(k,n))
28             info%dzm(k,n)= 1.0 - info%dz(k,n)
30          else
31             info%k(k,n) = 0
32             info%dz(k,n) = 0.0
33             info%dzm(k,n) = 0.0
34          endif
36       enddo
38    enddo
40    if (trace_use) call da_trace_exit("da_convert_zk")
42 end subroutine da_convert_zk