da_write_diagnostics.inc
References to this file elsewhere.
1 subroutine da_write_diagnostics(ob, iv, re, y, xp, xa, j)
2
3 !---------------------------------------------------------------------------
4 ! Purpose: Output data assimilation diagnostics
5 !---------------------------------------------------------------------------
6
7 implicit none
8
9 type (y_type), intent(in) :: ob ! Observation structure.
10 type (ob_type), intent(inout):: iv ! innovation vector.
11 type (y_type), intent(inout) :: re ! residual vector.
12 type (y_type), intent(in) :: y ! y = H(x_inc) structure.
13 type (xpose_type), intent(in):: xp ! Dimensions and xpose buffers.
14 type (x_type), intent(in) :: xa ! gridded analysis increments.
15 type (j_type), intent(inout) :: j ! Cost function.
16
17 if (trace_use) call da_trace_entry("da_write_diagnostics")
18
19 !---------------------------------------------------------------------------
20 ! [1.0] Calculate innovation vector (O-B) statistics:
21 !---------------------------------------------------------------------------
22
23 ! [1.1] Sondes:
24
25 call da_oi_stats_sound (stats_unit, iv)
26 call da_oi_stats_sonde_sfc (stats_unit, iv)
27
28 ! [1.2] Surface:
29
30 call da_oi_stats_synop (stats_unit, iv)
31
32 ! [1.3.1] Geostationary Satellite Cloud track winds:
33
34 call da_oi_stats_geoamv (stats_unit, iv)
35
36 ! [1.3.2] Polar Satellite Cloud track winds:
37
38 call da_oi_stats_polaramv (stats_unit, iv)
39
40 ! [1.4] Aireps:
41
42 call da_oi_stats_airep (stats_unit, iv)
43
44 ! [1.5] Pilot:
45
46 call da_oi_stats_pilot (stats_unit, iv)
47
48 ! [1.6] Metar:
49
50 call da_oi_stats_metar (stats_unit, iv)
51
52 ! [1.7] Ships:
53
54 call da_oi_stats_ships (stats_unit, iv)
55
56 ! [1.8] GPSPW:
57
58 call da_oi_stats_gpspw (stats_unit, iv)
59
60 ! [1.9] GPSPW:
61
62 call da_oi_stats_gpsref (stats_unit, iv)
63
64 ! [1.10] SSMI:
65
66 call da_oi_stats_ssmi (stats_unit, iv)
67
68 ! [1.11] SATEMs:
69
70 call da_oi_stats_satem (stats_unit, iv)
71
72 ! [1.12] Pseudo obs:
73
74 call da_oi_stats_pseudo (stats_unit, iv)
75
76 ! [1.13] SSM/T1:
77
78 call da_oi_stats_ssmt1 (stats_unit, iv)
79
80 ! [1.14] SSM/T2:
81
82 call da_oi_stats_ssmt2 (stats_unit, iv)
83
84 ! [1.15] Quikscat:
85
86 call da_oi_stats_qscat (stats_unit, iv)
87
88 ! [1.16] Profiler:
89
90 call da_oi_stats_profiler (stats_unit, iv)
91
92 ! [1.17] Buoy:
93
94 call da_oi_stats_buoy (stats_unit, iv)
95
96 ! [1.18] Radar:
97
98 call da_oi_stats_radar (stats_unit, iv)
99
100 ! [1.19] TC bogus:
101
102 call da_oi_stats_bogus (stats_unit, iv)
103
104 ! [1.20] Radiance:
105
106 call da_oi_stats_rad (stats_unit, iv)
107
108 ! [1.21] AIRS retrievals:
109
110 call da_oi_stats_airsr (stats_unit, iv)
111
112 !---- ----------------------------------------------------------------------
113 ! [2.0] Calculate residual vector (O-A) statistics:
114 !---------------------------------------------------------------------------
115
116 ! [2.1] Sondes:
117
118 call da_ao_stats_sound (stats_unit, iv, re)
119 call da_ao_stats_sonde_sfc (stats_unit, iv, re)
120
121 ! [2.2] Surface:
122
123 call da_ao_stats_synop (stats_unit, iv, re)
124
125 ! [2.3.1] Geostationary Satellite Cloud track winds:
126
127 call da_ao_stats_geoamv (stats_unit, iv, re)
128
129 ! [2.3.2] Polar Satellite Cloud track winds:
130
131 call da_ao_stats_polaramv (stats_unit, iv, re)
132
133 ! [2.4] Aireps:
134
135 call da_ao_stats_airep (stats_unit, iv, re)
136
137 ! [2.5] Pilot:
138
139 call da_ao_stats_pilot (stats_unit, iv, re)
140
141 ! [2.6] Metar:
142
143 call da_ao_stats_metar (stats_unit, iv, re)
144
145 ! [2.7] Ships:
146
147 call da_ao_stats_ships (stats_unit, iv, re)
148
149 ! [2.8] GPSPW:
150
151 call da_ao_stats_gpspw (stats_unit, iv, re)
152
153 ! [2.9] GPSRF:
154
155 call da_ao_stats_gpsref (stats_unit, iv, re)
156
157 ! [2.10] SSMI:
158
159 call da_ao_stats_ssmi (stats_unit, iv, re)
160
161 ! [2.11] SATEMs:
162
163 call da_ao_stats_satem (stats_unit, iv, re)
164
165 ! [2.12] Pseudo obs:
166
167 call da_ao_stats_pseudo (stats_unit, iv, re)
168
169 ! [2.13] SSM/T1:
170
171 call da_ao_stats_ssmt1 (stats_unit, iv, re)
172
173 ! [2.14] SSM/T2:
174
175 call da_ao_stats_ssmt2 (stats_unit, iv, re)
176
177 ! [2.15] Quikscat:
178
179 call da_ao_stats_qscat (stats_unit, iv, re)
180
181 ! [2.16] Profiler
182
183 call da_ao_stats_profiler (stats_unit, iv, re)
184
185 ! [2.17] Buoy:
186
187 call da_ao_stats_buoy (stats_unit, iv, re)
188
189 ! [2.18] Radar:
190
191 call da_ao_stats_radar (stats_unit, iv, re)
192
193 ! [2.19] TC bogus:
194
195 call da_ao_stats_bogus (stats_unit, iv, re)
196
197 ! [2.20] Radiance:
198
199 call da_ao_stats_rad (stats_unit, iv, re)
200
201 ! [2.21] AIRS Retrieval:
202
203 call da_ao_stats_airsr (stats_unit, iv, re)
204
205 !---------------------------------------------------------------------------
206 ! [3.0] Calculate analysis increment (A-B) statistics:
207 !---------------------------------------------------------------------------
208
209 call da_analysis_stats (stats_unit, xp, xa)
210
211 !---------------------------------------------------------------------------
212 ! [4.0] Write VAR diagnostic :
213 !------------------------------------------------------------------------------
214
215 call da_get_var_diagnostics (iv, j)
216
217 !---- -------------------------------------------------------------------------
218 ! [5.0] Write observation data (O, O-B, O-A, y=hx'):
219 !------------------------------------------------------------------------------
220 call da_write_obs(ob, iv, re)
221
222 call da_final_write_obs(iv)
223
224 call da_write_y(iv, y)
225
226 call da_final_write_y(iv)
227
228 if (trace_use) call da_trace_exit("da_write_diagnostics")
229
230 end subroutine da_write_diagnostics
231
232