da_interp_lin_2d_adj_new.inc

References to this file elsewhere.
1 subroutine da_interp_lin_2d_adj_new(fm2d, is, ie, js, je,&
2                              i, j, dx, dy, dxm, dym, &
3                              fo2d,num)
4 
5 
6    !-----------------------------------------------------------------------
7    ! Purpose: TBD
8    !-----------------------------------------------------------------------
9    implicit none
10 
11    integer,            intent(in)     :: num
12    integer,            intent(in)     :: is, ie, js, je
13    integer,            intent(in)     :: i(num), j(num)
14    real   ,            intent(in)     :: dx(num), dxm(num), dy(num), dym(num)
15    real   ,            intent(in)     :: fo2d(num)
16 
17    real   ,            intent(inout)  :: fm2d(is:ie,js:je) ! Input variable
18 
19    integer :: point
20 
21    if (trace_use) call da_trace_entry("da_interp_lin_2d_adj_new")
22 
23    do point=1,num
24       fm2d(i(point)  ,j(point) ) = dym(point)*dxm(point)* fo2d(point) + fm2d(i(point)  ,j(point) )
25       fm2d(i(point)+1,j(point) ) = dym(point)*dx(point) * fo2d(point) + fm2d(i(point)+1,j(point) )
26       fm2d(i(point)  ,j(point)+1) = dy(point) *dxm(point)* fo2d(point) + fm2d(i(point)  ,j(point)+1)
27       fm2d(i(point)+1,j(point)+1) = dy(point) *dx(point) * fo2d(point) + fm2d(i(point)+1,j(point)+1)
28    end do
29 
30    if (trace_use) call da_trace_exit("da_interp_lin_2d_adj_new")
31 
32 end subroutine da_interp_lin_2d_adj_new
33 
34