da_calculate_grady_rad.inc
References to this file elsewhere.
1
2 subroutine da_calculate_grady_rad( iv, re, jo_grad_y )
3 !------------------------------------------------------------------------------
4 ! Purpose: Calculate Gradient_y for radiance data.
5 !
6 ! METHOD: grad_y = -R^-1 (d - H delta_x ).
7 !
8 ! HISTORY: 08/2005 - Creation Zhiquan Liu
9 !
10 !------------------------------------------------------------------------------
11 implicit none
12
13 type (iv_type), intent(in) :: iv ! Innovation vector.
14 type (y_type) , intent(in) :: re ! Residual vector.
15 type (y_type) , intent(inout) :: jo_grad_y ! Grad_y(Jo)
16
17 integer :: n, k, i
18
19 if (trace_use_dull) call da_trace_entry("da_calculate_grady_rad")
20
21 do i =1, iv%num_inst
22 if ( iv%instid(i)%num_rad < 1 .or. iv%instid(i)%rad_monitoring == monitor_on ) cycle
23 do n=1, iv%instid(i)%num_rad
24 do k=1, iv%instid(i)%nchan
25 jo_grad_y%instid(i)%tb(k,n) = -re%instid(i)%tb(k,n) / (iv%instid(i)%tb_error(k,n) * iv%instid(i)%tb_error(k,n))
26 end do
27 end do
28 end do
29
30 if (trace_use_dull) call da_trace_exit("da_calculate_grady_rad")
31
32 end subroutine da_calculate_grady_rad
33