da_interp_obs_lin_2d.inc
References to this file elsewhere.
1 subroutine da_interp_obs_lin_2d(fm2d, xp, i, j, dx, dy, dxm, dym, fo2d, z)
2
3 !-----------------------------------------------------------------------
4 ! Purpose: TBD
5 !-----------------------------------------------------------------------
6
7 implicit none
8
9 type (xpose_type), intent(in) :: xp ! Dimensions and xpose buffers.
10 integer, intent(in) :: i, j
11 real , intent(in) :: dx, dxm, dy, dym
12 real, dimension(xp%ims:xp%ime,xp%jms:xp%jme,xp%kms:xp%kme), &
13 intent(in) :: fm2d ! Input variable
14 real , intent(in) :: z
15 real , intent(out) :: fo2d ! Output variable
16
17 integer :: k, kk
18 real :: dz, dzm
19 real, dimension(xp%kms:xp%kme) :: fmz
20
21 call da_togrid(z, xp%kts, xp%kte, k, dz, dzm)
22
23 do kk = k,k+1
24 fmz(kk) = dym*(dxm*fm2d(i,j ,kk) + dx*fm2d(i+1,j ,kk)) &
25 + dy *(dxm*fm2d(i,j+1,kk) + dx*fm2d(i+1,j+1,kk))
26 end do
27
28 fo2d = dzm*fmz(k) + dz*fmz(k+1)
29
30 end subroutine da_interp_obs_lin_2d
31
32