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