1 subroutine da_transform_xtoy_ssmi_tb_adj(grid, iv, jo_grad_y, jo_grad_x)
3 !-----------------------------------------------------------------------
5 !-----------------------------------------------------------------------
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 ! loop counter.
16 real, allocatable :: tb19v(:)
17 real, allocatable :: tb19h(:)
18 real, allocatable :: tb22v(:)
19 real, allocatable :: tb37v(:)
20 real, allocatable :: tb37h(:)
21 real, allocatable :: tb85v(:)
22 real, allocatable :: tb85h(:)
24 if (trace_use) call da_trace_entry("da_transform_xtoy_ssmi_tb_adj")
26 allocate(tb19v(iv%info(ssmi_tb)%n1:iv%info(ssmi_tb)%n2))
27 allocate(tb19h(iv%info(ssmi_tb)%n1:iv%info(ssmi_tb)%n2))
28 allocate(tb22v(iv%info(ssmi_tb)%n1:iv%info(ssmi_tb)%n2))
29 allocate(tb37v(iv%info(ssmi_tb)%n1:iv%info(ssmi_tb)%n2))
30 allocate(tb37h(iv%info(ssmi_tb)%n1:iv%info(ssmi_tb)%n2))
31 allocate(tb85v(iv%info(ssmi_tb)%n1:iv%info(ssmi_tb)%n2))
32 allocate(tb85v(iv%info(ssmi_tb)%n1:iv%info(ssmi_tb)%n2))
34 do n=iv%info(ssmi_tb)%n1,iv%info(ssmi_tb)%n2
35 tb19v(n) = jo_grad_y%ssmi_tb(n)%tb19v
36 tb19h(n) = jo_grad_y%ssmi_tb(n)%tb19h
37 tb22v(n) = jo_grad_y%ssmi_tb(n)%tb22v
38 tb37v(n) = jo_grad_y%ssmi_tb(n)%tb37v
39 tb37h(n) = jo_grad_y%ssmi_tb(n)%tb37h
40 tb85v(n) = jo_grad_y%ssmi_tb(n)%tb85v
41 tb85h(n) = jo_grad_y%ssmi_tb(n)%tb85h
44 call da_interp_lin_2d_adj(jo_grad_x%tb19v, iv%info(ssmi_tb), 1, tb19v)
45 call da_interp_lin_2d_adj(jo_grad_x%tb19h, iv%info(ssmi_tb), 1, tb19h)
46 call da_interp_lin_2d_adj(jo_grad_x%tb22v, iv%info(ssmi_tb), 1, tb22v)
47 call da_interp_lin_2d_adj(jo_grad_x%tb37v, iv%info(ssmi_tb), 1, tb37v)
48 call da_interp_lin_2d_adj(jo_grad_x%tb37h, iv%info(ssmi_tb), 1, tb37h)
49 call da_interp_lin_2d_adj(jo_grad_x%tb85v, iv%info(ssmi_tb), 1, tb85v)
50 call da_interp_lin_2d_adj(jo_grad_x%tb85h, iv%info(ssmi_tb), 1, tb85h)
60 if (trace_use) call da_trace_exit("da_transform_xtoy_ssmi_tb_adj")
62 end subroutine da_transform_xtoy_ssmi_tb_adj