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