da_transform_xtoy_ssmi_tb_adj.inc
References to this file elsewhere.
1 subroutine da_transform_xtoy_ssmi_tb_adj(grid, iv, jo_grad_y, jo_grad_x)
2
3 !-----------------------------------------------------------------------
4 ! Purpose: TBD
5 !-----------------------------------------------------------------------
6
7 implicit none
8
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)
13
14 integer :: n ! loop counter.
15
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(:)
23
24 if (trace_use) call da_trace_entry("da_transform_xtoy_ssmi_tb_adj")
25
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))
33
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
42 end do
43
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)
51
52 deallocate(tb19v)
53 deallocate(tb19h)
54 deallocate(tb22v)
55 deallocate(tb37v)
56 deallocate(tb37h)
57 deallocate(tb85v)
58 deallocate(tb85v)
59
60 if (trace_use) call da_trace_exit("da_transform_xtoy_ssmi_tb_adj")
61
62 end subroutine da_transform_xtoy_ssmi_tb_adj
63
64