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

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

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


Revision 1.13 - (hide annotations) (download)
Thu Aug 22 17:12:18 2013 UTC (10 years, 9 months ago) by m_bates
Branch: MAIN
CVS Tags: checkpoint64n
Changes since 1.12: +3 -3 lines
1/ Fixed units in diagnostics of Xi. 2/ Made calculation of beta more robust 3/ Fixed bug in calculation Eady growth rate.  The bug was related to the depth of integration.

1 m_bates 1.13 C $Header: /u/gcmpack/MITgcm/pkg/gmredi/gmredi_diagnostics_init.F,v 1.12 2013/07/11 14:33:23 m_bates Exp $
2 jmc 1.1 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 jmc 1.7 C diagMate :: diag. mate number in the (long) list of available diag.
38 jmc 1.1 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 jmc 1.7 INTEGER diagMate
45 jmc 1.1 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 jmc 1.7 diagTitle =
56 jmc 1.1 & 'Mixing coefficient from Visbeck etal parameterization'
57     diagUnits = 'm^2/s '
58     diagCode = 'SM P M1 '
59 jmc 1.7 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
60     I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
61 jmc 1.1
62 jmc 1.5 diagName = 'GM_hTrsL'
63     diagTitle = 'Base depth (>0) of the Transition Layer'
64     diagUnits = 'm '
65     diagCode = 'SM P M1 '
66 jmc 1.7 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
67     I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
68 jmc 1.5
69     diagName = 'GM_baseS'
70     diagTitle = 'Slope at the base of the Transition Layer'
71     diagUnits = '1 '
72     diagCode = 'SM P M1 '
73 jmc 1.7 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
74     I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
75 jmc 1.5
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 jmc 1.7 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
82     I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
83 jmc 1.5
84 jmc 1.9 #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 jmc 1.1 diagName = 'GM_Kux '
112     diagTitle = 'K_11 element (U.point, X.dir) of GM-Redi tensor'
113     diagUnits = 'm^2/s '
114 jmc 1.7 diagCode = 'UU P MR '
115     diagMate = diagNum + 2
116     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
117     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
118 jmc 1.1
119     diagName = 'GM_Kvy '
120     diagTitle = 'K_22 element (V.point, Y.dir) of GM-Redi tensor'
121     diagUnits = 'm^2/s '
122 jmc 1.7 diagCode = 'VV P MR '
123     diagMate = diagNum
124     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
125     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
126 jmc 1.1
127     diagName = 'GM_Kuz '
128     diagTitle = 'K_13 element (U.point, Z.dir) of GM-Redi tensor'
129     diagUnits = 'm^2/s '
130 jmc 1.7 diagCode = 'UU MR '
131     diagMate = diagNum + 2
132     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
133     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
134 jmc 1.1
135     diagName = 'GM_Kvz '
136     diagTitle = 'K_23 element (V.point, Z.dir) of GM-Redi tensor'
137     diagUnits = 'm^2/s '
138 jmc 1.7 diagCode = 'VV MR '
139     diagMate = diagNum
140     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
141     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
142 jmc 1.1
143     diagName = 'GM_Kwx '
144     diagTitle = 'K_31 element (W.point, X.dir) of GM-Redi tensor'
145     diagUnits = 'm^2/s '
146 jmc 1.7 diagCode = 'UM LR '
147     diagMate = diagNum + 2
148     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
149     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
150 jmc 1.1
151     diagName = 'GM_Kwy '
152     diagTitle = 'K_32 element (W.point, Y.dir) of GM-Redi tensor'
153     diagUnits = 'm^2/s '
154 jmc 1.7 diagCode = 'VM LR '
155     diagMate = diagNum
156     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
157     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
158 jmc 1.1
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 jmc 1.7 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
164     I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
165 jmc 1.1
166     diagName = 'GM_PsiX '
167 jmc 1.9 diagTitle = 'GM Bolus transport stream-function : U component'
168 jmc 1.1 diagUnits = 'm^2/s '
169 jmc 1.7 diagCode = 'UU LR '
170     diagMate = diagNum + 2
171     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
172     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
173 jmc 1.1
174     diagName = 'GM_PsiY '
175 jmc 1.9 diagTitle = 'GM Bolus transport stream-function : V component'
176 jmc 1.1 diagUnits = 'm^2/s '
177 jmc 1.7 diagCode = 'VV LR '
178     diagMate = diagNum
179     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
180     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
181 jmc 1.1
182 jmc 1.2 diagName = 'GM_KuzTz'
183 dfer 1.4 diagTitle = 'Redi Off-diagonal Temperature flux: X component'
184 jmc 1.2 diagUnits = 'degC.m^3/s '
185 jmc 1.7 diagCode = 'UU MR '
186     diagMate = diagNum + 2
187     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
188     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
189 jmc 1.2
190     diagName = 'GM_KvzTz'
191 dfer 1.4 diagTitle = 'Redi Off-diagonal Temperature flux: Y component'
192 jmc 1.2 diagUnits = 'degC.m^3/s '
193 jmc 1.7 diagCode = 'VV MR '
194     diagMate = diagNum
195     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
196     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
197 jmc 1.2
198 jmc 1.10 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 dfer 1.4 diagName = 'GM_ubT '
206     diagTitle = 'Zonal Mass-Weight Bolus Transp of Pot Temp'
207     diagUnits = 'degC.m^3/s '
208 jmc 1.7 diagCode = 'UUr MR '
209     diagMate = diagNum + 2
210     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
211     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
212 dfer 1.4
213     diagName = 'GM_vbT '
214     diagTitle = 'Meridional Mass-Weight Bolus Transp of Pot Temp'
215     diagUnits = 'degC.m^3/s '
216 jmc 1.7 diagCode = 'VVr MR '
217     diagMate = diagNum
218     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
219     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
220 dfer 1.4
221 gforget 1.6 #ifdef ALLOW_EDDYPSI
222 heimbach 1.3 diagName = 'GMEdTauX'
223     diagTitle = 'eddy-induced stress X-comp. estimated from Kwx'
224     diagUnits = 'N/m^2 '
225 jmc 1.7 diagCode = 'UM LR '
226     diagMate = diagNum + 2
227     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
228     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
229 heimbach 1.3
230     diagName = 'GMEdTauY'
231     diagTitle = 'eddy-induced stress Y-comp. estimated from Kwy'
232     diagUnits = 'N/m^2 '
233 jmc 1.7 diagCode = 'VM LR '
234     diagMate = diagNum
235     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
236     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
237 heimbach 1.3 #endif
238    
239 jmc 1.8 #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 m_bates 1.11 #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 m_bates 1.12 #ifdef use_lapack
267 m_bates 1.11 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 m_bates 1.12 #endif
291 m_bates 1.11
292 m_bates 1.12 diagName = 'GM_MODEC'
293 m_bates 1.11 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_LRHNS'
349     diagTitle = 'Rhines Radius'
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_RMIX'
357     diagTitle = 'Unmodulated Mixing Length'
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_SUPP'
365     diagTitle = 'Suppression Factor for K3D'
366     diagUnits = 'none '
367     diagCode = 'SM P MR '
368     diagMate = diagNum
369     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
370     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
371    
372     diagName = 'GM_dqdx '
373     diagTitle = 'dq/dx'
374     diagUnits = '1/(m*s) '
375     diagCode = 'UU MR '
376     diagMate = diagNum
377     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
378     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
379    
380     diagName = 'GM_dqdy '
381     diagTitle = 'dq/dy'
382     diagUnits = '1/(m*s) '
383     diagCode = 'VV MR '
384     diagMate = diagNum
385     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
386     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
387    
388     diagName = 'GM_Xix '
389     diagTitle = '-k dq/dx expansion'
390 m_bates 1.13 diagUnits = 'm/s**2 '
391 m_bates 1.11 diagCode = 'UU MR '
392     diagMate = diagNum
393     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
394     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
395    
396     diagName = 'GM_Xiy '
397     diagTitle = '-k dq/dy expansion'
398 m_bates 1.13 diagUnits = 'm/s**2 '
399 m_bates 1.11 diagCode = 'VV MR '
400     diagMate = diagNum
401     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
402     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
403    
404     diagName = 'GM_Sx '
405     diagTitle = 'Zonal isopycnal slope'
406     diagUnits = 'none '
407     diagCode = 'UU LR '
408     diagMate = diagNum
409     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
410     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
411    
412     diagName = 'GM_Sy '
413     diagTitle = 'Meridional isopycnal slope'
414     diagUnits = 'none '
415     diagCode = 'VV LR '
416     diagMate = diagNum
417     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
418     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
419    
420     diagName = 'GM_TFLXX'
421     diagTitle = 'Zonal thickness flux'
422     diagUnits = '1/(m*s) '
423     diagCode = 'UU MR '
424     diagMate = diagNum
425     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
426     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
427    
428     diagName = 'GM_TFLXY'
429     diagTitle = 'meridional thickness flux'
430     diagUnits = '1/(m*s) '
431     diagCode = 'VV MR '
432     diagMate = diagNum
433     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
434     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
435    
436     diagName = 'GM_C'
437     diagTitle = 'Doppler shifted long Rossby wave speed'
438     diagUnits = 'm/s '
439     diagCode = 'SM M1 '
440     diagMate = diagNum
441     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
442     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
443    
444     diagName = 'GM_UBARO'
445     diagTitle = 'Barotropic velocity'
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_EADY '
453     diagTitle = 'Eady Growth rate'
454     diagUnits = '1/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_UBAR '
461     diagTitle = 'Mean zonal velocity'
462     diagUnits = 'm/s '
463     diagCode = 'SM MR '
464     diagMate = diagNum
465     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
466     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
467    
468     diagName = 'GM_KDEF '
469     diagTitle = 'Rossby wavenumber'
470     diagUnits = '1/m '
471     diagCode = 'SM M1 '
472     diagMate = diagNum
473     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
474     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
475    
476     #endif
477    
478 jmc 1.1 c ENDIF
479    
480     #endif /* ALLOW_DIAGNOSTICS */
481    
482     RETURN
483     END

  ViewVC Help
Powered by ViewVC 1.1.22