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 (ob_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 ! Radiosonde
20
21 call da_calculate_grady_sound(iv, re, jo_grad_y)
22 call da_calculate_grady_sonde_sfc(iv, re, jo_grad_y)
23
24 ! Surface
25
26 call da_calculate_grady_synop(iv, re, jo_grad_y)
27
28 ! Geostationary Satellite AMVs
29
30 call da_calculate_grady_geoamv(iv, re, jo_grad_y)
31
32 ! Polar orbitting Satellite AMVs
33
34 call da_calculate_grady_polaramv(iv, re, jo_grad_y)
35
36 ! Airep
37
38 call da_calculate_grady_airep(iv, re, jo_grad_y)
39
40 ! Pilot
41
42 call da_calculate_grady_pilot(iv, re, jo_grad_y)
43
44 ! Profiler
45 call da_calculate_grady_profiler(iv, re, jo_grad_y)
46
47 ! Satem
48
49 call da_calculate_grady_satem(iv, re, jo_grad_y)
50
51 ! Metar:
52
53 call da_calculate_grady_metar(iv, re, jo_grad_y)
54
55 ! Ships:
56
57 call da_calculate_grady_ships(iv, re, jo_grad_y)
58
59 ! Buoy :
60
61 call da_calculate_grady_buoy (iv, re, jo_grad_y)
62
63 ! GPSPW:
64
65 call da_calculate_grady_gpspw(iv, re, jo_grad_y)
66
67 ! GPSRF:
68
69 call da_calculate_grady_gpsref(iv, re, jo_grad_y)
70
71 ! SSMI:
72
73 call da_calculate_grady_ssmi(iv, re, jo_grad_y)
74
75 ! SSMT1:
76
77 call da_calculate_grady_ssmt1(iv, re, jo_grad_y)
78
79 ! SSMT2:
80
81 call da_calculate_grady_ssmt2(iv, re, jo_grad_y)
82
83 ! Pseudo obs:
84
85 call da_calculate_grady_pseudo(iv, re, jo_grad_y)
86
87 ! TC bogus obs:
88
89 call da_calculate_grady_bogus(iv, re, jo_grad_y)
90
91 ! Quikscat scatterometer:
92
93 call da_calculate_grady_qscat(iv, re, jo_grad_y)
94
95 ! Radar:
96
97 call da_calculate_grady_radar(iv, re, jo_grad_y)
98
99 ! Radiance:
100 call da_calculate_grady_rad(iv, re, jo_grad_y)
101
102 ! AIRS retrievals
103
104 call da_calculate_grady_airsr(iv, re, jo_grad_y)
105
106 if (trace_use) call da_trace_exit("da_calculate_grady")
107
108 end subroutine da_calculate_grady
109
110