/[MITgcm]/MITgcm/pkg/gmredi/gmredi_diagnostics_init.F
ViewVC logotype

Contents of /MITgcm/pkg/gmredi/gmredi_diagnostics_init.F

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


Revision 1.15 - (show annotations) (download)
Fri Sep 27 22:34:35 2013 UTC (10 years, 8 months ago) by m_bates
Branch: MAIN
Changes since 1.14: +25 -1 lines
In K3d (for gmredi) 1/facility for a minimum bound on urms length scale introduced, 2/ extra diagnostics, 3/ changes to the Eady growth rate calculation

1 C $Header: /u/gcmpack/MITgcm/pkg/gmredi/gmredi_diagnostics_init.F,v 1.14 2013/08/31 17:33:55 m_bates Exp $
2 C $Name: $
3
4 #include "GMREDI_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: GMREDI_DIAGNOSTICS_INIT
8 C !INTERFACE:
9 SUBROUTINE GMREDI_DIAGNOSTICS_INIT( myThid )
10
11 C !DESCRIPTION: \bv
12 C *==========================================================*
13 C | SUBROUTINE GMREDI_DIAGNOSTICS_INIT
14 C | o Routine to initialize list of all available diagnostics
15 C | for GM/Redi package
16 C *==========================================================*
17 C \ev
18 C !USES:
19 IMPLICIT NONE
20
21 C === Global variables ===
22 #include "EEPARAMS.h"
23 c #include "SIZE.h"
24 c #include "PARAMS.h"
25 c #include "GMREDI.h"
26
27 C !INPUT/OUTPUT PARAMETERS:
28 C === Routine arguments ===
29 C myThid :: my Thread Id number
30 INTEGER myThid
31 CEOP
32
33 #ifdef ALLOW_DIAGNOSTICS
34 C !LOCAL VARIABLES:
35 C === Local variables ===
36 C diagNum :: diagnostics number in the (long) list of available diag.
37 C diagMate :: diag. mate number in the (long) list of available diag.
38 C diagName :: local short name (8c) of a diagnostics
39 C diagCode :: local parser field with characteristics of the diagnostics
40 C cf head of S/R DIAGNOSTICS_INIT_EARLY or DIAGNOSTICS_MAIN_INIT
41 C diagUnits :: local string (16c): physical units of a diagnostic field
42 C diagTitle :: local string (80c): description of field in diagnostic
43 INTEGER diagNum
44 INTEGER diagMate
45 CHARACTER*8 diagName
46 CHARACTER*16 diagCode
47 CHARACTER*16 diagUnits
48 CHARACTER*(80) diagTitle
49
50 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
51
52 c IF ( useDiagnotics ) THEN
53
54 diagName = 'GM_VisbK'
55 diagTitle =
56 & 'Mixing coefficient from Visbeck etal parameterization'
57 diagUnits = 'm^2/s '
58 diagCode = 'SM P M1 '
59 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
60 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
61
62 diagName = 'GM_hTrsL'
63 diagTitle = 'Base depth (>0) of the Transition Layer'
64 diagUnits = 'm '
65 diagCode = 'SM P M1 '
66 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
67 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
68
69 diagName = 'GM_baseS'
70 diagTitle = 'Slope at the base of the Transition Layer'
71 diagUnits = '1 '
72 diagCode = 'SM P M1 '
73 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
74 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
75
76 diagName = 'GM_rLamb'
77 diagTitle =
78 & 'Slope vertical gradient at Trans. Layer Base (=recip.Lambda)'
79 diagUnits = '1/m '
80 diagCode = 'SM P M1 '
81 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
82 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
83
84 #ifndef GM_EXCLUDE_SUBMESO
85 diagName = 'SubMesLf'
86 diagTitle = 'Sub-Meso horiz. Length Scale (Lf)'
87 diagUnits = 'm '
88 diagCode = 'SM P M1 '
89 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
90 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
91
92 diagName = 'SubMpsiX'
93 diagTitle =
94 & 'Sub-Meso transp.stream-funct. magnitude (Psi0): U component'
95 diagUnits = 'm^2/s '
96 diagCode = 'UU M1 '
97 diagMate = diagNum + 2
98 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
99 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
100
101 diagName = 'SubMpsiY'
102 diagTitle =
103 & 'Sub-Meso transp.stream-funct. magnitude (Psi0): V component'
104 diagUnits = 'm^2/s '
105 diagCode = 'VV M1 '
106 diagMate = diagNum
107 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
108 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
109 #endif
110
111 diagName = 'GM_Kux '
112 diagTitle = 'K_11 element (U.point, X.dir) of GM-Redi tensor'
113 diagUnits = 'm^2/s '
114 diagCode = 'UU P MR '
115 diagMate = diagNum + 2
116 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
117 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
118
119 diagName = 'GM_Kvy '
120 diagTitle = 'K_22 element (V.point, Y.dir) of GM-Redi tensor'
121 diagUnits = 'm^2/s '
122 diagCode = 'VV P MR '
123 diagMate = diagNum
124 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
125 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
126
127 diagName = 'GM_Kuz '
128 diagTitle = 'K_13 element (U.point, Z.dir) of GM-Redi tensor'
129 diagUnits = 'm^2/s '
130 diagCode = 'UU MR '
131 diagMate = diagNum + 2
132 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
133 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
134
135 diagName = 'GM_Kvz '
136 diagTitle = 'K_23 element (V.point, Z.dir) of GM-Redi tensor'
137 diagUnits = 'm^2/s '
138 diagCode = 'VV MR '
139 diagMate = diagNum
140 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
141 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
142
143 diagName = 'GM_Kwx '
144 diagTitle = 'K_31 element (W.point, X.dir) of GM-Redi tensor'
145 diagUnits = 'm^2/s '
146 diagCode = 'UM LR '
147 diagMate = diagNum + 2
148 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
149 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
150
151 diagName = 'GM_Kwy '
152 diagTitle = 'K_32 element (W.point, Y.dir) of GM-Redi tensor'
153 diagUnits = 'm^2/s '
154 diagCode = 'VM LR '
155 diagMate = diagNum
156 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
157 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
158
159 diagName = 'GM_Kwz '
160 diagTitle = 'K_33 element (W.point, Z.dir) of GM-Redi tensor'
161 diagUnits = 'm^2/s '
162 diagCode = 'WM P LR '
163 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
164 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
165
166 diagName = 'GM_PsiX '
167 diagTitle = 'GM Bolus transport stream-function : U component'
168 diagUnits = 'm^2/s '
169 diagCode = 'UU LR '
170 diagMate = diagNum + 2
171 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
172 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
173
174 diagName = 'GM_PsiY '
175 diagTitle = 'GM Bolus transport stream-function : V component'
176 diagUnits = 'm^2/s '
177 diagCode = 'VV LR '
178 diagMate = diagNum
179 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
180 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
181
182 diagName = 'GM_KuzTz'
183 diagTitle = 'Redi Off-diagonal Temperature flux: X component'
184 diagUnits = 'degC.m^3/s '
185 diagCode = 'UU MR '
186 diagMate = diagNum + 2
187 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
188 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
189
190 diagName = 'GM_KvzTz'
191 diagTitle = 'Redi Off-diagonal Temperature flux: Y component'
192 diagUnits = 'degC.m^3/s '
193 diagCode = 'VV MR '
194 diagMate = diagNum
195 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
196 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
197
198 diagName = 'GM_KwzTz'
199 diagTitle = 'Redi main-diagonal vertical Temperature flux'
200 diagUnits = 'degC.m^3/s '
201 diagCode = 'WM LR '
202 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
203 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
204
205 diagName = 'GM_ubT '
206 diagTitle = 'Zonal Mass-Weight Bolus Transp of Pot Temp'
207 diagUnits = 'degC.m^3/s '
208 diagCode = 'UUr MR '
209 diagMate = diagNum + 2
210 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
211 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
212
213 diagName = 'GM_vbT '
214 diagTitle = 'Meridional Mass-Weight Bolus Transp of Pot Temp'
215 diagUnits = 'degC.m^3/s '
216 diagCode = 'VVr MR '
217 diagMate = diagNum
218 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
219 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
220
221 #ifdef ALLOW_EDDYPSI
222 diagName = 'GMEdTauX'
223 diagTitle = 'eddy-induced stress X-comp. estimated from Kwx'
224 diagUnits = 'N/m^2 '
225 diagCode = 'UM LR '
226 diagMate = diagNum + 2
227 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
228 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
229
230 diagName = 'GMEdTauY'
231 diagTitle = 'eddy-induced stress Y-comp. estimated from Kwy'
232 diagUnits = 'N/m^2 '
233 diagCode = 'VM LR '
234 diagMate = diagNum
235 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
236 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
237 #endif
238
239 #ifdef GM_BOLUS_BVP
240 diagName = 'GM_BVPcW'
241 diagTitle = 'WKB wave speed (at Western edge location)'
242 diagUnits = 'm/s '
243 diagCode = 'SU P M1 '
244 diagMate = diagNum + 2
245 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
246 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
247
248 diagName = 'GM_BVPcS'
249 diagTitle = 'WKB wave speed (at Southern edge location)'
250 diagUnits = 'm/s '
251 diagCode = 'SV P M1 '
252 diagMate = diagNum
253 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
254 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
255 #endif
256
257 #ifdef GM_K3D
258 diagName = 'GM_K3D'
259 diagTitle = '3D diffusivity'
260 diagUnits = 'm**2/s '
261 diagCode = 'SM P MR '
262 diagMate = diagNum
263 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
264 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
265
266 #ifdef use_lapack
267 diagName = 'GM_A3D'
268 diagTitle = '3D lower diagona'
269 diagUnits = '1/m**2 '
270 diagCode = 'SM MR '
271 diagMate = diagNum
272 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
273 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
274
275 diagName = 'GM_B3D'
276 diagTitle = '3D lower diagona'
277 diagUnits = '1/m**2 '
278 diagCode = 'SM MR '
279 diagMate = diagNum
280 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
281 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
282
283 diagName = 'GM_C3D'
284 diagTitle = '3D lower diagona'
285 diagUnits = '1/m**2 '
286 diagCode = 'SM MR '
287 diagMate = diagNum
288 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
289 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
290 #endif
291
292 diagName = 'GM_MODEC'
293 diagTitle = 'Eigen vector for the first barcolinic mode'
294 diagUnits = 'dimensionless '
295 diagCode = 'SM MR '
296 diagMate = diagNum
297 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
298 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
299
300 diagName = 'GM_URMS'
301 diagTitle = 'rms Eddy Velocity'
302 diagUnits = 'm/s '
303 diagCode = 'SM P MR '
304 diagMate = diagNum
305 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
306 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
307
308 diagName = 'GM_UMC '
309 diagTitle = 'ubar-c'
310 diagUnits = 'm/s '
311 diagCode = 'SM MR '
312 diagMate = diagNum
313 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
314 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
315
316 diagName = 'GM_SFLYR'
317 diagTitle = 'mixed layer depth'
318 diagUnits = 'm '
319 diagCode = 'SM P MR '
320 diagMate = diagNum
321 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
322 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
323
324 diagName = 'GM_USTAR'
325 diagTitle = 'u^*'
326 diagUnits = 'm/s '
327 diagCode = 'UU MR '
328 diagMate = diagNum
329 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
330 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
331
332 diagName = 'GM_VSTAR'
333 diagTitle = 'v^*'
334 diagUnits = 'm/s '
335 diagCode = 'VV MR '
336 diagMate = diagNum
337 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
338 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
339
340 diagName = 'GM_RDEF'
341 diagTitle = 'Deformation Radius'
342 diagUnits = 'm '
343 diagCode = 'SM P M1 '
344 diagMate = diagNum
345 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
346 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
347
348 diagName = 'GM_RURMS'
349 diagTitle = 'Mixing length for calculating u_rms'
350 diagUnits = 'm '
351 diagCode = 'SM P M1 '
352 diagMate = diagNum
353 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
354 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
355
356 diagName = 'GM_RRHNS'
357 diagTitle = 'Rhines Radius'
358 diagUnits = 'm '
359 diagCode = 'SM P M1 '
360 diagMate = diagNum
361 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
362 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
363
364 diagName = 'GM_RMIX'
365 diagTitle = 'Unmodulated Mixing Length'
366 diagUnits = 'm '
367 diagCode = 'SM P M1 '
368 diagMate = diagNum
369 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
370 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
371
372 diagName = 'GM_SUPP'
373 diagTitle = 'Suppression Factor for K3D'
374 diagUnits = 'none '
375 diagCode = 'SM P MR '
376 diagMate = diagNum
377 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
378 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
379
380 diagName = 'GM_dqdx '
381 diagTitle = 'dq/dx'
382 diagUnits = '1/(m*s) '
383 diagCode = 'UU MR '
384 diagMate = diagNum
385 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
386 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
387
388 diagName = 'GM_dqdy '
389 diagTitle = 'dq/dy'
390 diagUnits = '1/(m*s) '
391 diagCode = 'VV MR '
392 diagMate = diagNum
393 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
394 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
395
396 diagName = 'GM_Xix '
397 diagTitle = '-k dq/dx expansion'
398 diagUnits = 'm/s**2 '
399 diagCode = 'UU MR '
400 diagMate = diagNum
401 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
402 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
403
404 diagName = 'GM_Xiy '
405 diagTitle = '-k dq/dy expansion'
406 diagUnits = 'm/s**2 '
407 diagCode = 'VV MR '
408 diagMate = diagNum
409 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
410 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
411
412 diagName = 'GM_Sx '
413 diagTitle = 'Zonal isopycnal slope'
414 diagUnits = 'none '
415 diagCode = 'UU LR '
416 diagMate = diagNum
417 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
418 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
419
420 diagName = 'GM_Sy '
421 diagTitle = 'Meridional isopycnal slope'
422 diagUnits = 'none '
423 diagCode = 'VV LR '
424 diagMate = diagNum
425 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
426 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
427
428 diagName = 'GM_TFLXX'
429 diagTitle = 'Zonal thickness flux'
430 diagUnits = '1/(m*s) '
431 diagCode = 'UU MR '
432 diagMate = diagNum
433 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
434 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
435
436 diagName = 'GM_TFLXY'
437 diagTitle = 'meridional thickness flux'
438 diagUnits = '1/(m*s) '
439 diagCode = 'VV MR '
440 diagMate = diagNum
441 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
442 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
443
444 diagName = 'GM_C'
445 diagTitle = 'Doppler shifted long Rossby wave speed'
446 diagUnits = 'm/s '
447 diagCode = 'SM M1 '
448 diagMate = diagNum
449 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
450 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
451
452 diagName = 'GM_UBARO'
453 diagTitle = 'Barotropic velocity'
454 diagUnits = 'm/s '
455 diagCode = 'SM M1 '
456 diagMate = diagNum
457 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
458 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
459
460 diagName = 'GM_EADY '
461 diagTitle = 'Eady Growth rate'
462 diagUnits = '1/s '
463 diagCode = 'SM M1 '
464 diagMate = diagNum
465 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
466 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
467
468 diagName = 'GM_UBAR '
469 diagTitle = 'Mean zonal velocity'
470 diagUnits = 'm/s '
471 diagCode = 'SM MR '
472 diagMate = diagNum
473 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
474 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
475
476 diagName = 'GM_M4 '
477 diagTitle = 'M**4'
478 diagUnits = '1/s**4 '
479 diagCode = 'SM MR '
480 diagMate = diagNum
481 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
482 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
483
484 diagName = 'GM_N2 '
485 diagTitle = 'N**2'
486 diagUnits = '1/s**2 '
487 diagCode = 'SM MR '
488 diagMate = diagNum
489 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
490 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
491
492 diagName = 'GM_SLOPE'
493 diagTitle = 'SLOPE'
494 diagUnits = 'm/m '
495 diagCode = 'SM MR '
496 diagMate = diagNum
497 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
498 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
499
500 diagName = 'GM_KDEF '
501 diagTitle = 'Rossby wavenumber'
502 diagUnits = '1/m '
503 diagCode = 'SM M1 '
504 diagMate = diagNum
505 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
506 I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
507
508 #endif
509
510 c ENDIF
511
512 #endif /* ALLOW_DIAGNOSTICS */
513
514 RETURN
515 END

  ViewVC Help
Powered by ViewVC 1.1.22