da_transform_xtoy_ssmi_rv.inc
References to this file elsewhere.
1 subroutine da_transform_xtoy_ssmi_rv(xb, oi, xa, y)
2
3 !-----------------------------------------------------------------------
4 ! Purpose: TBD
5 !-----------------------------------------------------------------------
6
7 implicit none
8
9 type (xb_type), intent(in) :: xb ! first guess state.
10 type (ob_type), intent(in) :: oi ! obs. increment vector (o-b).
11 type (x_type), intent(in) :: xa ! gridded analysis increment.
12 type (y_type), intent(inout) :: y ! y = h (xa)
13
14 integer :: n ! loop counter.
15 integer :: i, j
16 real :: dx, dy, dxm, dym
17
18 ! SSMI observation operator y = H(x):
19
20 do n=1, oi % num_ssmi_retrieval
21 i = oi%ssmi_retrieval(n)%loc%i
22 j = oi%ssmi_retrieval(n)%loc%j
23 dx = oi%ssmi_retrieval(n)%loc%dx
24 dy = oi%ssmi_retrieval(n)%loc%dy
25 dxm = oi%ssmi_retrieval(n)%loc%dxm
26 dym = oi%ssmi_retrieval(n)%loc%dym
27
28 ! Interpolating from 4 grid points to obs location
29
30 call da_interp_lin_2d(xa%tpw, xb%ims, xb%ime, xb%jms, xb%jme, &
31 i, j, dx, dy, dxm, dym, y%ssmi_retrieval(n)%tpw)
32 call da_interp_lin_2d(xa%speed, xb%ims, xb%ime, xb%jms, xb%jme, &
33 i, j, dx, dy, dxm, dym, y%ssmi_retrieval(n)%speed)
34 end do
35
36 end subroutine da_transform_xtoy_ssmi_rv
37
38