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