da_jo_and_grady_ssmi.inc
References to this file elsewhere.
1 subroutine da_jo_and_grady_ssmi(oi, re, jo, jo_ssmi, jo_grad_y)
2
3 !-----------------------------------------------------------------------
4 ! Purpose: TBD
5 !-----------------------------------------------------------------------
6
7 implicit none
8
9 type (ob_type), intent(in) :: oi ! Ob Inc. structure.
10 type (y_type), intent(in) :: re ! Residual structure.
11 type (y_type), intent(inout) :: jo_grad_y ! Grad_y(Jo)
12 real, intent(out) :: jo_ssmi
13 type (jo_type), intent(out) :: jo ! Obs cost function.
14
15 jo_ssmi = 0.0
16 jo % ssmir_speed = 0.0
17 jo % ssmir_tpw = 0.0
18 jo % ssmi_tb19v = 0.0
19 jo % ssmi_tb19h = 0.0
20 jo % ssmi_tb22v = 0.0
21 jo % ssmi_tb37v = 0.0
22 jo % ssmi_tb37h = 0.0
23 jo % ssmi_tb85v = 0.0
24 jo % ssmi_tb85h = 0.0
25
26 if (oi%num_ssmi_tb .gt. 0) then
27
28 call da_jo_and_grady_ssmi_tb(oi, re, jo, jo_grad_y)
29 jo_ssmi = jo % ssmi_tb19v + jo % ssmi_tb19h + jo % ssmi_tb22v + &
30 jo % ssmi_tb37v + jo % ssmi_tb37h + jo % ssmi_tb85v + &
31 jo % ssmi_tb85h
32
33 else if (oi%num_ssmi_retrieval .gt. 0) then
34
35 call da_jo_and_grady_ssmi_rv(oi, re, jo, jo_grad_y)
36 jo_ssmi = jo % ssmir_speed + jo % ssmir_tpw
37
38 end if
39
40 end subroutine da_jo_and_grady_ssmi
41
42