da_calculate_grady.inc

References to this file elsewhere.
1 subroutine da_calculate_grady(iv, re, jo_grad_y)
2 
3    !-------------------------------------------------------------------------
4    ! Purpose: Does part of the obs gradient operation   
5    !-------------------------------------------------------------------------
6 
7    implicit none
8 
9    type (iv_type), intent(in)    :: iv          ! Innovation vector (O-B).
10    type (y_type),  intent(inout) :: re          ! Residual vector (O-A).
11    type (y_type),  intent(inout) :: jo_grad_y   ! Grad_y(Jo)
12 
13    if (trace_use) call da_trace_entry("da_calculate_grady")
14 
15    !-------------------------------------------------------------------------
16    ! [1.0] Compute components of Grad_y(Jo):
17    !-------------------------------------------------------------------------
18 
19    if (iv%info(sound)%nlocal     > 0) call da_calculate_grady_sound    (iv, re, jo_grad_y)
20    if (iv%info(sonde_sfc)%nlocal > 0) call da_calculate_grady_sonde_sfc(iv, re, jo_grad_y)
21    if (iv%info(synop)%nlocal     > 0) call da_calculate_grady_synop    (iv, re, jo_grad_y)
22    if (iv%info(geoamv)%nlocal    > 0) call da_calculate_grady_geoamv   (iv, re, jo_grad_y)
23    if (iv%info(polaramv)%nlocal  > 0) call da_calculate_grady_polaramv (iv, re, jo_grad_y)
24    if (iv%info(airep)%nlocal     > 0) call da_calculate_grady_airep    (iv, re, jo_grad_y)
25    if (iv%info(pilot)%nlocal     > 0) call da_calculate_grady_pilot    (iv, re, jo_grad_y)
26    if (iv%info(profiler)%nlocal  > 0) call da_calculate_grady_profiler (iv, re, jo_grad_y)
27    if (iv%info(satem)%nlocal     > 0) call da_calculate_grady_satem    (iv, re, jo_grad_y)
28    if (iv%info(metar)%nlocal     > 0) call da_calculate_grady_metar    (iv, re, jo_grad_y)
29    if (iv%info(ships)%nlocal     > 0) call da_calculate_grady_ships    (iv, re, jo_grad_y)
30    if (iv%info(buoy)%nlocal      > 0) call da_calculate_grady_buoy     (iv, re, jo_grad_y)
31    if (iv%info(gpspw)%nlocal     > 0) call da_calculate_grady_gpspw    (iv, re, jo_grad_y)
32    if (iv%info(gpsref)%nlocal    > 0) call da_calculate_grady_gpsref   (iv, re, jo_grad_y)
33    if (iv%info(ssmi_tb)%nlocal   > 0) call da_calculate_grady_ssmi_tb  (iv, re, jo_grad_y) 
34    if (iv%info(ssmi_rv)%nlocal   > 0) call da_calculate_grady_ssmi_rv  (iv, re, jo_grad_y) 
35    if (iv%info(ssmt1)%nlocal     > 0) call da_calculate_grady_ssmt1    (iv, re, jo_grad_y)
36    if (iv%info(ssmt2)%nlocal     > 0) call da_calculate_grady_ssmt2    (iv, re, jo_grad_y)
37    if (iv%info(pseudo)%nlocal    > 0) call da_calculate_grady_pseudo   (iv, re, jo_grad_y)
38    if (iv%info(bogus)%nlocal     > 0) call da_calculate_grady_bogus    (iv, re, jo_grad_y)  
39    if (iv%info(qscat)%nlocal     > 0) call da_calculate_grady_qscat    (iv, re, jo_grad_y)
40    if (iv%info(radar)%nlocal     > 0) call da_calculate_grady_radar    (iv, re, jo_grad_y)
41    if (iv%num_inst               > 0) call da_calculate_grady_rad      (iv, re, jo_grad_y)
42    if (iv%info(airsr)%nlocal     > 0) call da_calculate_grady_airsr    (iv, re, jo_grad_y)
43 
44    if (trace_use) call da_trace_exit("da_calculate_grady")
45 
46 end subroutine da_calculate_grady
47 
48