/[MITgcm]/MITgcm/pkg/diagnostics/diagnostics_main_init.F
ViewVC logotype

Contents of /MITgcm/pkg/diagnostics/diagnostics_main_init.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.8 - (show annotations) (download)
Fri Jan 28 01:06:12 2005 UTC (19 years, 3 months ago) by jmc
Branch: MAIN
Changes since 1.7: +88 -61 lines
set the correct units (atmos or ocean, z or p coordinate).

1 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_main_init.F,v 1.7 2005/01/03 02:32:33 jmc Exp $
2 C $Name: $
3
4 #include "DIAG_OPTIONS.h"
5
6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7 CBOP 0
8 C !ROUTINE: DIAGNOSTICS_MAIN_INIT
9
10 C !INTERFACE:
11 SUBROUTINE DIAGNOSTICS_MAIN_INIT( myThid )
12
13 C !DESCRIPTION:
14 C Initialize available diagnostics list for variables of the main code
15 C (not part of a package): set the following attributes:
16 C name (=cdiag), parsing code (=gdiag), units (=udiag), and title (=tdiag)
17 C Notes: 1) diagnostics defined here do not require any EQUIVALENCE
18 C since they get filled-in with S/R FILL_DIAGNOSTICS
19 C 2) GDIAG is defined as character*16 and can be to character*1
20 C parse(16) with the following codes currently defined:
21
22 C \begin{center}
23 C \begin{tabular}[h]{|c|c|}\hline
24 C \textbf{Positions} & \textbf{Characters}
25 C & \textbf{Meanings} \\\hline
26 C parse(1) & S & scalar \\
27 C & U & vector component in X direction \\
28 C & V & vector component in Y direction \\
29 C & W & vector component in vertical direction \\
30 C parse(2) & U & C-grid U-Point \\
31 C & V & C-grid V-Point \\
32 C & M & C-grid Mass Point \\
33 C & Z & C-grid Corner Point \\
34 C parse(3) & -- & --Unused-- \\
35 C parse(4) & P & positive definite \\
36 C parse(5 ) & C & with counter array \\
37 C & D & disable an array for output \\
38 C parse(6--8) & '123' & 3-digit mate number \\
39 C parse(9) & U & model-level plus 1/2 \\
40 C & M & model-level middle \\
41 C & L & model-level minus 1/2 \\
42 C parse(10) & 0 & levels = 0 \\
43 C & 1 & levels = 1 \\
44 C & R & levels = Nr \\
45 C & L & levels = MAX(Nr,NrPhys) \\
46 C & M & levels = MAX(Nr,NrPhys) - 1 \\
47 C \end{tabular}
48 C \end{center}
49
50 C !USES:
51 IMPLICIT NONE
52 #include "SIZE.h"
53 #include "EEPARAMS.h"
54 c #include "EESUPPORT.h"
55 #include "PARAMS.h"
56
57 C !INPUT PARAMETERS:
58 INTEGER myThid
59 CEOP
60
61 C !LOCAL VARIABLES:
62 INTEGER diagNum
63 CHARACTER*8 diagName
64 CHARACTER*16 diagCode
65 CHARACTER*16 diagUnits
66 CHARACTER*(80) diagTitle
67 CHARACTER*2 rUnit2c
68 CHARACTER*4 tUnit4c, sUnit4c
69
70 CHARACTER*(16) DIAGS_MK_UNITS
71 EXTERNAL DIAGS_MK_UNITS
72
73 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
74 C For each output variable,
75 C specify Name (cdiag, 8c), Descriptions (tdiag, *c), Units (udiag, 16c)
76 C and Type/Parms (location on C grid, 2D/3D, ...) (gdiag, 16c)
77 C----------------------------------------------------------------------
78
79 IF ( usingPCoords ) THEN
80 rUnit2c= 'Pa'
81 ELSE
82 rUnit2c= 'm '
83 ENDIF
84 IF ( fluidIsAir ) THEN
85 tUnit4c= 'K '
86 sUnit4c= 'g/kg'
87 ELSE
88 tUnit4c= 'degC'
89 sUnit4c= 'psu '
90 ENDIF
91
92 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
93 C- state variables of the main code (and related quadratic var):
94
95 diagName = 'ETAN '
96 diagTitle = 'Perturbation of Surface (pressure, height) (Pa,m)'
97 diagUnits = DIAGS_MK_UNITS( rUnit2c, myThid )
98 diagCode = 'SM M1 '
99 CALL DIAGNOSTICS_ADD2LIST( diagNum,
100 I diagName, diagCode, diagUnits, diagTitle, myThid )
101
102 diagName = 'ETANSQ '
103 diagTitle = 'Square of Perturbation of Sfc (Pa^2,m^2)'
104 diagUnits = DIAGS_MK_UNITS( rUnit2c//'^2', myThid )
105 diagCode = 'SM M1 '
106 CALL DIAGNOSTICS_ADD2LIST( diagNum,
107 I diagName, diagCode, diagUnits, diagTitle, myThid )
108
109 diagName = 'DETADT2 '
110 diagTitle = 'Square of Eta (Surf.P,SSH) Tendency ((r_unit/s)^2)'
111 diagUnits = DIAGS_MK_UNITS( rUnit2c//'^2/s^2', myThid )
112 diagCode = 'SM M1 '
113 CALL DIAGNOSTICS_ADD2LIST( diagNum,
114 I diagName, diagCode, diagUnits, diagTitle, myThid )
115
116 diagName = 'THETA '
117 diagTitle = 'Potential Temperature (degC,K)'
118 diagUnits = DIAGS_MK_UNITS( tUnit4c, myThid )
119 diagCode = 'SM MR '
120 CALL DIAGNOSTICS_ADD2LIST( diagNum,
121 I diagName, diagCode, diagUnits, diagTitle, myThid )
122
123 diagName = 'SALT '
124 diagTitle = 'Salt or Water Vapor mixing ratio (g/kg)'
125 diagUnits = DIAGS_MK_UNITS( sUnit4c, myThid )
126 diagCode = 'SM MR '
127 CALL DIAGNOSTICS_ADD2LIST( diagNum,
128 I diagName, diagCode, diagUnits, diagTitle, myThid )
129
130 diagName = 'UVEL '
131 diagTitle = 'Zonal Component of Velocity (m/s)'
132 diagUnits = 'm/s '
133 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
134 CALL DIAGNOSTICS_ADD2LIST( diagNum,
135 I diagName, diagCode, diagUnits, diagTitle, myThid )
136
137 diagName = 'VVEL '
138 diagTitle = 'Meridional Component of Velocity (m/s)'
139 diagUnits = 'm/s '
140 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR '
141 CALL DIAGNOSTICS_ADD2LIST( diagNum,
142 I diagName, diagCode, diagUnits, diagTitle, myThid )
143
144 diagName = 'WVEL '
145 diagTitle = 'Vertical Component of Velocity (r_units/s)'
146 diagUnits = DIAGS_MK_UNITS( rUnit2c//'/s', myThid )
147 diagCode = 'WM LR '
148 CALL DIAGNOSTICS_ADD2LIST( diagNum,
149 I diagName, diagCode, diagUnits, diagTitle, myThid )
150
151 diagName = 'THETASQ '
152 diagTitle = 'Square of Potential Temperature (K^2)'
153 diagUnits = DIAGS_MK_UNITS( tUnit4c//'^2', myThid )
154 diagCode = 'SM MR '
155 CALL DIAGNOSTICS_ADD2LIST( diagNum,
156 I diagName, diagCode, diagUnits, diagTitle, myThid )
157
158 diagName = 'SALTSQ '
159 diagTitle = 'Square of Salt or Water Vapor mix rat (g^2/kg^2)'
160 diagUnits = DIAGS_MK_UNITS( '('//sUnit4c//')^2', myThid )
161 diagCode = 'SM MR '
162 CALL DIAGNOSTICS_ADD2LIST( diagNum,
163 I diagName, diagCode, diagUnits, diagTitle, myThid )
164
165 diagName = 'UVELSQ '
166 diagTitle = 'Square of Zonal Comp of Velocity (m^2/s^2)'
167 diagUnits = 'm^2/s^2 '
168 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
169 CALL DIAGNOSTICS_ADD2LIST( diagNum,
170 I diagName, diagCode, diagUnits, diagTitle, myThid )
171
172 diagName = 'VVELSQ '
173 diagTitle = 'Square of Meridional Comp of Velocity (m^2/s^2)'
174 diagUnits = 'm^2/s^2 '
175 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR '
176 CALL DIAGNOSTICS_ADD2LIST( diagNum,
177 I diagName, diagCode, diagUnits, diagTitle, myThid )
178
179 diagName = 'WVELSQ '
180 diagTitle = 'Square of Vertical Comp of Velocity (m^2/s^2)'
181 diagUnits = DIAGS_MK_UNITS( rUnit2c//'^2/s^2', myThid )
182 diagCode = 'WM LR '
183 CALL DIAGNOSTICS_ADD2LIST( diagNum,
184 I diagName, diagCode, diagUnits, diagTitle, myThid )
185
186 diagName = 'UV_VEL_C'
187 diagTitle ='Product of horizontal Comp of velocity (cell center)'
188 diagUnits = 'm^2/s^2 '
189 WRITE(diagCode,'(A,I3.3,A)') 'UM ', diagNum+1 ,'MR '
190 CALL DIAGNOSTICS_ADD2LIST( diagNum,
191 I diagName, diagCode, diagUnits, diagTitle, myThid )
192
193 diagName = 'UV_VEL_Z'
194 diagTitle = 'Meridional Transport of Zonal Momentum (m^2/s^2)'
195 diagUnits = 'm^2/s^2 '
196 WRITE(diagCode,'(A,I3.3,A)') 'UZ ', diagNum+1 ,'MR '
197 CALL DIAGNOSTICS_ADD2LIST( diagNum,
198 I diagName, diagCode, diagUnits, diagTitle, myThid )
199
200
201 diagName = 'UVELMASS'
202 diagTitle = 'Zonal Mass-Weighted Comp of Velocity (m/s)'
203 diagUnits = 'm/s '
204 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
205 CALL DIAGNOSTICS_ADD2LIST( diagNum,
206 I diagName, diagCode, diagUnits, diagTitle, myThid )
207
208 diagName = 'VVELMASS'
209 diagTitle = 'Meridional Mass-Weighted Comp of Velocity (m/s)'
210 diagUnits = 'm/s '
211 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR '
212 CALL DIAGNOSTICS_ADD2LIST( diagNum,
213 I diagName, diagCode, diagUnits, diagTitle, myThid )
214
215 diagName = 'WVELMASS'
216 diagTitle = 'Vertical Mass-Weighted Comp of Velocity (m/s)'
217 diagUnits = DIAGS_MK_UNITS( rUnit2c//'/s', myThid )
218 diagCode = 'WM MR '
219 CALL DIAGNOSTICS_ADD2LIST( diagNum,
220 I diagName, diagCode, diagUnits, diagTitle, myThid )
221
222 diagName = 'UTHMASS '
223 diagTitle = 'Zonal Mass-Weight Transp of Pot Temp (K.m/s)'
224 diagUnits = DIAGS_MK_UNITS( tUnit4c//'.m/s', myThid )
225 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
226 CALL DIAGNOSTICS_ADD2LIST( diagNum,
227 I diagName, diagCode, diagUnits, diagTitle, myThid )
228
229 diagName = 'VTHMASS '
230 diagTitle = 'Meridional Mass-Weight Transp of Pot Temp (K.m/s)'
231 diagUnits = DIAGS_MK_UNITS( tUnit4c//'.m/s', myThid )
232 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR '
233 CALL DIAGNOSTICS_ADD2LIST( diagNum,
234 I diagName, diagCode, diagUnits, diagTitle, myThid )
235
236 diagName = 'WTHMASS '
237 diagTitle = 'Vertical Mass-Weight Transp of Pot Temp (K.m/s)'
238 diagUnits = DIAGS_MK_UNITS(tUnit4c//'.'//rUnit2c//'/s', myThid )
239 diagCode = 'WM MR '
240 CALL DIAGNOSTICS_ADD2LIST( diagNum,
241 I diagName, diagCode, diagUnits, diagTitle, myThid )
242
243 diagName = 'USLTMASS'
244 diagTitle = 'Zonal Mass-Weight Transp of Salt (g/kg.m/s)'
245 diagUnits = DIAGS_MK_UNITS(sUnit4c//'.m/s', myThid )
246 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
247 CALL DIAGNOSTICS_ADD2LIST( diagNum,
248 I diagName, diagCode, diagUnits, diagTitle, myThid )
249
250 diagName = 'VSLTMASS'
251 diagTitle = 'Meridional Mass-Weight Transp of Salt (g/kg.m/s)'
252 diagUnits = DIAGS_MK_UNITS(sUnit4c//'.m/s', myThid )
253 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR '
254 CALL DIAGNOSTICS_ADD2LIST( diagNum,
255 I diagName, diagCode, diagUnits, diagTitle, myThid )
256
257 diagName = 'WSLTMASS'
258 diagTitle = 'Vertical Mass-Weight Transp of Salt (g/kg.m/s)'
259 diagUnits = DIAGS_MK_UNITS(sUnit4c//'.'//rUnit2c//'/s', myThid )
260 diagCode = 'WM MR '
261 CALL DIAGNOSTICS_ADD2LIST( diagNum,
262 I diagName, diagCode, diagUnits, diagTitle, myThid )
263
264 diagName = 'UVELTH '
265 diagTitle = 'Zonal Transp of Pot Temp (K.m/s)'
266 diagUnits = DIAGS_MK_UNITS( tUnit4c//'.m/s', myThid )
267 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
268 CALL DIAGNOSTICS_ADD2LIST( diagNum,
269 I diagName, diagCode, diagUnits, diagTitle, myThid )
270
271 diagName = 'VVELTH '
272 diagTitle = 'Meridional Transp of Pot Temp (K.m/s)'
273 diagUnits = DIAGS_MK_UNITS( tUnit4c//'.m/s', myThid )
274 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR '
275 CALL DIAGNOSTICS_ADD2LIST( diagNum,
276 I diagName, diagCode, diagUnits, diagTitle, myThid )
277
278 diagName = 'WVELTH '
279 diagTitle = 'Vertical Transp of Pot Temp (K.m/s)'
280 diagUnits = DIAGS_MK_UNITS(tUnit4c//'.'//rUnit2c//'/s', myThid )
281 diagCode = 'WM MR '
282 CALL DIAGNOSTICS_ADD2LIST( diagNum,
283 I diagName, diagCode, diagUnits, diagTitle, myThid )
284
285 diagName = 'UVELSLT '
286 diagTitle = 'Zonal Transp of Salt (g/kg.m/s)'
287 diagUnits = DIAGS_MK_UNITS( sUnit4c//'.m/s', myThid )
288 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
289 CALL DIAGNOSTICS_ADD2LIST( diagNum,
290 I diagName, diagCode, diagUnits, diagTitle, myThid )
291
292 diagName = 'VVELSLT '
293 diagTitle = 'Meridional Transp of Salt (g/kg.m/s)'
294 diagUnits = DIAGS_MK_UNITS( sUnit4c//'.m/s', myThid )
295 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR '
296 CALL DIAGNOSTICS_ADD2LIST( diagNum,
297 I diagName, diagCode, diagUnits, diagTitle, myThid )
298
299 diagName = 'WVELSLT '
300 diagTitle = 'Vertical Transp of Salt (g/kg.m/s)'
301 diagUnits = DIAGS_MK_UNITS(sUnit4c//'.'//rUnit2c//'/s', myThid )
302 diagCode = 'WM MR '
303 CALL DIAGNOSTICS_ADD2LIST( diagNum,
304 I diagName, diagCode, diagUnits, diagTitle, myThid )
305
306 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
307
308 diagName = 'RHOAnoma'
309 diagTitle = 'Density Anomaly (=Rho-rhoConst)'
310 diagUnits = 'kg/m^3 '
311 diagCode = 'SM MR '
312 CALL DIAGNOSTICS_ADD2LIST( diagNum,
313 I diagName, diagCode, diagUnits, diagTitle, myThid )
314
315 diagName = 'PHIHYD '
316 diagTitle = 'Hydrostatic (ocean) pressure / (atmos) geo-Potential'
317 diagUnits = 'm^2/s^2 '
318 diagCode = 'SM MR '
319 CALL DIAGNOSTICS_ADD2LIST( diagNum,
320 I diagName, diagCode, diagUnits, diagTitle, myThid )
321
322 diagName = 'PHIBOT '
323 diagTitle = 'ocean bottom pressure / top. atmos geo-Potential'
324 diagUnits = 'm^2/s^2 '
325 diagCode = 'SM M1 '
326 CALL DIAGNOSTICS_ADD2LIST( diagNum,
327 I diagName, diagCode, diagUnits, diagTitle, myThid )
328
329 diagName = 'PHIBOTSQ'
330 diagTitle = 'Square of ocean bottom pressure / top. geo-Potential'
331 diagUnits = 'm^4/s^4 '
332 diagCode = 'SM M1 '
333 CALL DIAGNOSTICS_ADD2LIST( diagNum,
334 I diagName, diagCode, diagUnits, diagTitle, myThid )
335
336 diagName = 'DRHODR '
337 diagTitle = 'Stratification: d.Sigma/dr (kg/m3/r_unit)'
338 diagUnits = 'kg/m^4 '
339 IF ( usingPCoords ) diagUnits = 's^2/m^2 '
340 diagCode = 'SM LR '
341 CALL DIAGNOSTICS_ADD2LIST( diagNum,
342 I diagName, diagCode, diagUnits, diagTitle, myThid )
343
344 C-- Momentum terms:
345 diagName = 'VISCA4 '
346 diagTitle = 'Biharmonic Viscosity Coefficient in (m4/s) '
347 diagUnits = 'm^4/s '
348 diagCode = 'SM MR '
349 CALL DIAGNOSTICS_ADD2LIST( diagNum,
350 I diagName, diagCode, diagUnits, diagTitle, myThid )
351
352 diagName = 'VISCAH '
353 diagTitle = 'Harmonic Viscosity Coefficient in (m2/s) '
354 diagUnits = 'm^2/s '
355 diagCode = 'SM MR '
356 CALL DIAGNOSTICS_ADD2LIST( diagNum,
357 I diagName, diagCode, diagUnits, diagTitle, myThid )
358
359 C-- surface fluxes:
360 diagName = 'TAUX '
361 diagTitle = 'zonal surface wind stress, >0 increases uVel '
362 diagUnits = 'N/m^2 '
363 diagCode = 'SU U1 '
364 CALL DIAGNOSTICS_ADD2LIST( diagNum,
365 I diagName, diagCode, diagUnits, diagTitle, myThid )
366
367 diagName = 'TAUY '
368 diagTitle = 'meridional surf. wind stress, >0 increases vVel '
369 diagUnits = 'N/m^2 '
370 diagCode = 'SV U1 '
371 CALL DIAGNOSTICS_ADD2LIST( diagNum,
372 I diagName, diagCode, diagUnits, diagTitle, myThid )
373
374 diagName = 'TFLUX '
375 diagTitle = 'net surface heat flux, >0 increases theta '
376 diagUnits = 'W/m^2 '
377 diagCode = 'SM U1 '
378 CALL DIAGNOSTICS_ADD2LIST( diagNum,
379 I diagName, diagCode, diagUnits, diagTitle, myThid )
380
381 diagName = 'TRELAX '
382 diagTitle = 'surface temperature relaxation, >0 increases theta'
383 diagUnits = 'W/m^2 '
384 diagCode = 'SM U1 '
385 CALL DIAGNOSTICS_ADD2LIST( diagNum,
386 I diagName, diagCode, diagUnits, diagTitle, myThid )
387
388 diagName = 'TICE '
389 diagTitle = 'heat from melt/freeze of sea-ice, >0 increases theta'
390 diagUnits = 'W/m^2 '
391 diagCode = 'SM U1 '
392 CALL DIAGNOSTICS_ADD2LIST( diagNum,
393 I diagName, diagCode, diagUnits, diagTitle, myThid )
394
395 diagName = 'SFLUX '
396 diagTitle = 'net surface salt flux, >0 increases salt '
397 diagUnits = 'g/m^2/s '
398 diagCode = 'SM U1 '
399 CALL DIAGNOSTICS_ADD2LIST( diagNum,
400 I diagName, diagCode, diagUnits, diagTitle, myThid )
401
402 diagName = 'SRELAX '
403 diagTitle = 'surface salinity relaxation, >0 increases salt '
404 diagUnits = 'g/m^2/s '
405 diagCode = 'SM U1 '
406 CALL DIAGNOSTICS_ADD2LIST( diagNum,
407 I diagName, diagCode, diagUnits, diagTitle, myThid )
408
409 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
410
411 RETURN
412 END

  ViewVC Help
Powered by ViewVC 1.1.22