da_interp_obs_lin_2d_adj.inc
References to this file elsewhere.
1 subroutine da_interp_obs_lin_2d_adj(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, z, fo2d
12
13 real, dimension(xp%ims:xp%ime,xp%jms:xp%jme,xp%kms:xp%kme), &
14 intent(inout) :: fm2d ! Input variable
15
16 integer :: k, kk
17 real :: dz, dzm
18 real, dimension(xp%kms:xp%kme) :: fmz
19
20 call da_togrid(z, xp%kts, xp%kte, k, dz, dzm)
21
22 fmz(k) = dzm*fo2d
23 fmz(k+1) = dz *fo2d
24
25 do kk = k,k+1
26 fm2d(i ,j ,kk) = dym*dxm* fmz(kk) + fm2d(i ,j ,kk)
27 fm2d(i+1,j ,kk) = dym*dx * fmz(kk) + fm2d(i+1,j ,kk)
28 fm2d(i ,j+1,kk) = dy *dxm* fmz(kk) + fm2d(i ,j+1,kk)
29 fm2d(i+1,j+1,kk) = dy *dx * fmz(kk) + fm2d(i+1,j+1,kk)
30 end do
31
32 end subroutine da_interp_obs_lin_2d_adj
33
34