updated top-level README and version_decl for V4.5 (#1847)
[WRF.git] / var / da / da_ssmi / da_transform_xtoy_ssmi_rv_adj.inc
blobb6039fd6d3ba24be8df900d96a16a1ff3199379a
1 subroutine da_transform_xtoy_ssmi_rv_adj(grid, iv, jo_grad_y, jo_grad_x)
3    !-----------------------------------------------------------------------
4    ! Purpose: TBD
5    !-----------------------------------------------------------------------
7    implicit none
9    type (domain),  intent(in)       :: grid
10    type (iv_type), intent(in)       :: iv          ! obs. inc. vector (o-b).
11    type (y_type) , intent(in)       :: jo_grad_y   ! grad_y(jo)
12    type (x_type) , intent(inout)    :: jo_grad_x   ! grad_x(jo)
14    integer :: n
16    real, allocatable :: tpw(:)
17    real, allocatable :: speed(:)
19    if (trace_use) call da_trace_entry("da_transform_xtoy_ssmi_rv_adj")
21    allocate (tpw(iv%info(ssmi_rv)%n1:iv%info(ssmi_rv)%n2))
22    allocate (speed(iv%info(ssmi_rv)%n1:iv%info(ssmi_rv)%n2))
24    do n=iv%info(ssmi_rv)%n1,iv%info(ssmi_rv)%n2
25       tpw(n)   = jo_grad_y%ssmi_rv(n)%tpw
26       speed(n) = jo_grad_y%ssmi_rv(n)%speed
27    end do
29    call da_interp_lin_2d_adj(jo_grad_x%tpw,   iv%info(ssmi_rv), 1, tpw)
30    call da_interp_lin_2d_adj(jo_grad_x%speed, iv%info(ssmi_rv), 1, speed)
31    
32    deallocate (tpw)
33    deallocate (speed)
35    if (trace_use) call da_trace_exit("da_transform_xtoy_ssmi_rv_adj")
37 end subroutine da_transform_xtoy_ssmi_rv_adj