/[MITgcm]/MITgcm/pkg/mom_common/mom_diagnostics_init.F
ViewVC logotype

Contents of /MITgcm/pkg/mom_common/mom_diagnostics_init.F

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


Revision 1.6 - (show annotations) (download)
Thu Sep 29 16:47:16 2005 UTC (18 years, 8 months ago) by baylor
Branch: MAIN
Changes since 1.5: +13 -1 lines
Add diagnostics for external forcing of u and v.

1 C $Header: /u/gcmpack/MITgcm/pkg/mom_common/mom_diagnostics_init.F,v 1.5 2005/09/20 20:41:43 baylor Exp $
2 C $Name: $
3
4 #include "MOM_COMMON_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: MOM_DIAGNOSTICS_INIT
8 C !INTERFACE:
9 SUBROUTINE MOM_DIAGNOSTICS_INIT( myThid )
10 C !DESCRIPTION:
11 C Routine to initialize Momentum diagnostics
12 C (from mom_common, mom_fluxform & mom_vecinv packages)
13
14 C !USES:
15 IMPLICIT NONE
16 C === Global variables ===
17 #include "SIZE.h"
18 #include "EEPARAMS.h"
19 #include "PARAMS.h"
20
21 C !INPUT/OUTPUT PARAMETERS:
22 C === Routine arguments ===
23 C myThid - Number of this instance of GAD_INIT
24 INTEGER myThid
25 CEOP
26
27 #ifdef ALLOW_DIAGNOSTICS
28 #ifdef ALLOW_MOM_COMMON
29 C !LOCAL VARIABLES:
30 C === Local variables ===
31 C msgBuf - Informational/error meesage buffer
32 c CHARACTER*(MAX_LEN_MBUF) msgBuf
33
34 INTEGER diagNum
35 CHARACTER*8 diagName
36 CHARACTER*16 diagCode
37 CHARACTER*16 diagUnits
38 CHARACTER*(80) diagTitle
39
40 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
41
42 C--- Add diagnostics to the (long) list of available diagnostics:
43
44 C-- add diagnostics for viscosity coefficients:
45 diagName = 'VISCAHZ '
46 diagTitle = 'Harmonic Visc Coefficient (m2/s) (Zeta Pt)'
47 diagUnits = 'm^2/s '
48 diagCode = 'SZ MR '
49 CALL DIAGNOSTICS_ADD2LIST( diagNum,
50 I diagName, diagCode, diagUnits, diagTitle, myThid )
51
52 diagName = 'VISCA4Z '
53 diagTitle = 'Biharmonic Visc Coefficient (m4/s) (Zeta Pt)'
54 diagUnits = 'm^4/s '
55 diagCode = 'SZ MR '
56 CALL DIAGNOSTICS_ADD2LIST( diagNum,
57 I diagName, diagCode, diagUnits, diagTitle, myThid )
58
59 diagName = 'VISCAHD '
60 diagTitle = 'Harmonic Viscosity Coefficient (m2/s) (Div Pt)'
61 diagUnits = 'm^2/s '
62 diagCode = 'SM MR '
63 CALL DIAGNOSTICS_ADD2LIST( diagNum,
64 I diagName, diagCode, diagUnits, diagTitle, myThid )
65
66 diagName = 'VISCA4D '
67 diagTitle = 'Biharmonic Viscosity Coefficient (m4/s) (Div Pt)'
68 diagUnits = 'm^4/s '
69 diagCode = 'SM MR '
70 CALL DIAGNOSTICS_ADD2LIST( diagNum,
71 I diagName, diagCode, diagUnits, diagTitle, myThid )
72
73 diagName = 'VAHZMAX '
74 diagTitle = 'CFL-MAX Harm Visc Coefficient (m2/s) (Zeta Pt)'
75 diagUnits = 'm^2/s '
76 diagCode = 'SZ MR '
77 CALL DIAGNOSTICS_ADD2LIST( diagNum,
78 I diagName, diagCode, diagUnits, diagTitle, myThid )
79
80 diagName = 'VA4ZMAX '
81 diagTitle = 'CFL-MAX Biharm Visc Coefficient (m4/s) (Zeta Pt)'
82 diagUnits = 'm^4/s '
83 diagCode = 'SZ MR '
84 CALL DIAGNOSTICS_ADD2LIST( diagNum,
85 I diagName, diagCode, diagUnits, diagTitle, myThid )
86
87 diagName = 'VAHDMAX '
88 diagTitle = 'CFL-MAX Harm Visc Coefficient (m2/s) (Div Pt)'
89 diagUnits = 'm^2/s '
90 diagCode = 'SM MR '
91 CALL DIAGNOSTICS_ADD2LIST( diagNum,
92 I diagName, diagCode, diagUnits, diagTitle, myThid )
93
94 diagName = 'VA4DMAX '
95 diagTitle = 'CFL-MAX Biharm Visc Coefficient (m4/s) (Div Pt)'
96 diagUnits = 'm^4/s '
97 diagCode = 'SM MR '
98 CALL DIAGNOSTICS_ADD2LIST( diagNum,
99 I diagName, diagCode, diagUnits, diagTitle, myThid )
100
101 diagName = 'VAHZMIN '
102 diagTitle = 'RE-MIN Harm Visc Coefficient (m2/s) (Zeta Pt)'
103 diagUnits = 'm^2/s '
104 diagCode = 'SZ MR '
105 CALL DIAGNOSTICS_ADD2LIST( diagNum,
106 I diagName, diagCode, diagUnits, diagTitle, myThid )
107
108 diagName = 'VA4ZMIN '
109 diagTitle = 'RE-MIN Biharm Visc Coefficient (m4/s) (Zeta Pt)'
110 diagUnits = 'm^4/s '
111 diagCode = 'SZ MR '
112 CALL DIAGNOSTICS_ADD2LIST( diagNum,
113 I diagName, diagCode, diagUnits, diagTitle, myThid )
114
115 diagName = 'VAHDMIN '
116 diagTitle = 'RE-MIN Harm Visc Coefficient (m2/s) (Div Pt)'
117 diagUnits = 'm^2/s '
118 diagCode = 'SM MR '
119 CALL DIAGNOSTICS_ADD2LIST( diagNum,
120 I diagName, diagCode, diagUnits, diagTitle, myThid )
121
122 diagName = 'VA4DMIN '
123 diagTitle = 'RE-MIN Biharm Visc Coefficient (m4/s) (Div Pt)'
124 diagUnits = 'm^4/s '
125 diagCode = 'SM MR '
126 CALL DIAGNOSTICS_ADD2LIST( diagNum,
127 I diagName, diagCode, diagUnits, diagTitle, myThid )
128
129 diagName = 'VAHZLTH '
130 diagTitle = 'Leith Harm Visc Coefficient (m2/s) (Zeta Pt)'
131 diagUnits = 'm^2/s '
132 diagCode = 'SZ MR '
133 CALL DIAGNOSTICS_ADD2LIST( diagNum,
134 I diagName, diagCode, diagUnits, diagTitle, myThid )
135
136 diagName = 'VA4ZLTH '
137 diagTitle = 'Leith Biharm Visc Coefficient (m4/s) (Zeta Pt)'
138 diagUnits = 'm^4/s '
139 diagCode = 'SZ MR '
140 CALL DIAGNOSTICS_ADD2LIST( diagNum,
141 I diagName, diagCode, diagUnits, diagTitle, myThid )
142
143 diagName = 'VAHDLTH '
144 diagTitle = 'Leith Harm Visc Coefficient (m2/s) (Div Pt)'
145 diagUnits = 'm^2/s '
146 diagCode = 'SM MR '
147 CALL DIAGNOSTICS_ADD2LIST( diagNum,
148 I diagName, diagCode, diagUnits, diagTitle, myThid )
149
150 diagName = 'VA4DLTH '
151 diagTitle = 'Leith Biharm Visc Coefficient (m4/s) (Div Pt)'
152 diagUnits = 'm^4/s '
153 diagCode = 'SM MR '
154 CALL DIAGNOSTICS_ADD2LIST( diagNum,
155 I diagName, diagCode, diagUnits, diagTitle, myThid )
156
157 diagName = 'VAHZLTHD'
158 diagTitle = 'LeithD Harm Visc Coefficient (m2/s) (Zeta Pt)'
159 diagUnits = 'm^2/s '
160 diagCode = 'SZ MR '
161 CALL DIAGNOSTICS_ADD2LIST( diagNum,
162 I diagName, diagCode, diagUnits, diagTitle, myThid )
163
164 diagName = 'VA4ZLTHD'
165 diagTitle = 'LeithD Biharm Visc Coefficient (m4/s) (Zeta Pt)'
166 diagUnits = 'm^4/s '
167 diagCode = 'SZ MR '
168 CALL DIAGNOSTICS_ADD2LIST( diagNum,
169 I diagName, diagCode, diagUnits, diagTitle, myThid )
170
171 diagName = 'VAHDLTHD'
172 diagTitle = 'LeithD Harm Visc Coefficient (m2/s) (Div Pt)'
173 diagUnits = 'm^2/s '
174 diagCode = 'SM MR '
175 CALL DIAGNOSTICS_ADD2LIST( diagNum,
176 I diagName, diagCode, diagUnits, diagTitle, myThid )
177
178 diagName = 'VA4DLTHD'
179 diagTitle = 'LeithD Biharm Visc Coefficient (m4/s) (Div Pt)'
180 diagUnits = 'm^4/s '
181 diagCode = 'SM MR '
182 CALL DIAGNOSTICS_ADD2LIST( diagNum,
183 I diagName, diagCode, diagUnits, diagTitle, myThid )
184
185 diagName = 'VAHZSMAG'
186 diagTitle = 'Smagorinsky Harm Visc Coefficient (m2/s) (Zeta Pt)'
187 diagUnits = 'm^2/s '
188 diagCode = 'SZ MR '
189 CALL DIAGNOSTICS_ADD2LIST( diagNum,
190 I diagName, diagCode, diagUnits, diagTitle, myThid )
191
192 diagName = 'VA4ZSMAG'
193 diagTitle = 'Smagorinsky Biharm Visc Coeff. (m4/s) (Zeta Pt)'
194 diagUnits = 'm^4/s '
195 diagCode = 'SZ MR '
196 CALL DIAGNOSTICS_ADD2LIST( diagNum,
197 I diagName, diagCode, diagUnits, diagTitle, myThid )
198
199 diagName = 'VAHDSMAG'
200 diagTitle = 'Smagorinsky Harm Visc Coefficient (m2/s) (Div Pt)'
201 diagUnits = 'm^2/s '
202 diagCode = 'SM MR '
203 CALL DIAGNOSTICS_ADD2LIST( diagNum,
204 I diagName, diagCode, diagUnits, diagTitle, myThid )
205
206 diagName = 'VA4DSMAG'
207 diagTitle = 'Smagorinsky Biharm Visc Coeff. (m4/s) (Div Pt)'
208 diagUnits = 'm^4/s '
209 diagCode = 'SM MR '
210 CALL DIAGNOSTICS_ADD2LIST( diagNum,
211 I diagName, diagCode, diagUnits, diagTitle, myThid )
212
213
214
215 C-- add diagnostics of simple derivative quantities:
216 diagName = 'momKE '
217 diagTitle = 'Kinetic Energy (in momentum Eq.)'
218 diagCode = 'SM MR '
219 diagUnits = 'm^2/s^2 '
220 CALL DIAGNOSTICS_ADD2LIST( diagNum,
221 I diagName, diagCode, diagUnits, diagTitle, myThid )
222
223 #ifdef ALLOW_MOM_VECINV
224 diagName = 'momHDiv '
225 diagTitle = 'Horizontal Divergence (in momentum Eq.)'
226 diagCode = 'SM MR '
227 diagUnits = 's^-1 '
228 CALL DIAGNOSTICS_ADD2LIST( diagNum,
229 I diagName, diagCode, diagUnits, diagTitle, myThid )
230
231 diagName = 'momVort3'
232 diagTitle = '3rd component (vertical) of Vorticity'
233 diagCode = 'SZ MR '
234 diagUnits = 's^-1 '
235 CALL DIAGNOSTICS_ADD2LIST( diagNum,
236 I diagName, diagCode, diagUnits, diagTitle, myThid )
237
238 diagName = 'Strain '
239 diagTitle = 'Horizontal Strain of Horizontal Velocities'
240 diagCode = 'SZ MR '
241 diagUnits = 's^-1 '
242 CALL DIAGNOSTICS_ADD2LIST( diagNum,
243 I diagName, diagCode, diagUnits, diagTitle, myThid )
244
245 diagName = 'Tension '
246 diagTitle = 'Horizontal Tension of Horizontal Velocities'
247 diagCode = 'SM MR '
248 diagUnits = 's^-1 '
249 CALL DIAGNOSTICS_ADD2LIST( diagNum,
250 I diagName, diagCode, diagUnits, diagTitle, myThid )
251 #endif /* ALLOW_MOM_VECINV */
252
253 C-- add diagnostics of tendencies from each terms
254 diagUnits = 'm/s^2 '
255
256 diagName = 'Um_Diss '
257 diagTitle = 'U momentum tendency from Dissipation'
258 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
259 CALL DIAGNOSTICS_ADD2LIST( diagNum,
260 I diagName, diagCode, diagUnits, diagTitle, myThid )
261 diagName = 'Vm_Diss '
262 diagTitle = 'V momentum tendency from Dissipation'
263 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum, 'MR '
264 CALL DIAGNOSTICS_ADD2LIST( diagNum,
265 I diagName, diagCode, diagUnits, diagTitle, myThid )
266
267 diagName = 'Um_Advec'
268 diagTitle = 'U momentum tendency from Advection terms'
269 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
270 CALL DIAGNOSTICS_ADD2LIST( diagNum,
271 I diagName, diagCode, diagUnits, diagTitle, myThid )
272 diagName = 'Vm_Advec'
273 diagTitle = 'V momentum tendency from Advection terms'
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 = 'Um_Cori '
279 diagTitle = 'U momentum tendency from Coriolis term'
280 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
281 CALL DIAGNOSTICS_ADD2LIST( diagNum,
282 I diagName, diagCode, diagUnits, diagTitle, myThid )
283 diagName = 'Vm_Cori '
284 diagTitle = 'V momentum tendency from Coriolis term'
285 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum, 'MR '
286 CALL DIAGNOSTICS_ADD2LIST( diagNum,
287 I diagName, diagCode, diagUnits, diagTitle, myThid )
288
289 diagName = 'Um_Ext '
290 diagTitle = 'U momentum tendency from external forcing'
291 WRITE(diagCode,'(A,I3.3,A)') 'UU ', diagNum, 'MR '
292 CALL DIAGNOSTICS_ADD2LIST( diagNum,
293 I diagName, diagCode, diagUnits, diagTitle, myThid )
294 diagName = 'Vm_Ext '
295 diagTitle = 'V momentum tendency from external forcing'
296 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum, 'MR '
297 CALL DIAGNOSTICS_ADD2LIST( diagNum,
298 I diagName, diagCode, diagUnits, diagTitle, myThid )
299
300 #ifdef ALLOW_MOM_VECINV
301 diagName = 'Um_AdvZ3'
302 diagTitle = 'U momentum tendency from Vorticity Advection'
303 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
304 CALL DIAGNOSTICS_ADD2LIST( diagNum,
305 I diagName, diagCode, diagUnits, diagTitle, myThid )
306 diagName = 'Vm_AdvZ3'
307 diagTitle = 'V momentum tendency from Vorticity Advection'
308 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum, 'MR '
309 CALL DIAGNOSTICS_ADD2LIST( diagNum,
310 I diagName, diagCode, diagUnits, diagTitle, myThid )
311
312 diagName = 'Um_AdvRe'
313 diagTitle = 'U momentum tendency from vertical Advection'
314 & //' (Explicit part)'
315 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
316 CALL DIAGNOSTICS_ADD2LIST( diagNum,
317 I diagName, diagCode, diagUnits, diagTitle, myThid )
318 diagName = 'Vm_AdvRe'
319 diagTitle = 'V momentum tendency from vertical Advection'
320 & //' (Explicit part)'
321 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum, 'MR '
322 CALL DIAGNOSTICS_ADD2LIST( diagNum,
323 I diagName, diagCode, diagUnits, diagTitle, myThid )
324
325 #endif /* ALLOW_MOM_VECINV */
326
327 C-- add diagnostics of advective & viscous flux :
328 IF ( usingPCoords ) THEN
329 diagUnits = 'Pa.m^3/s^2 '
330 ELSE
331 diagUnits = 'm^4/s^2 '
332 ENDIF
333
334 C- Advective flux of Zonal momentum:
335 #ifdef ALLOW_MOM_FLUXFORM
336 diagName = 'ADVx_Um '
337 diagTitle = 'Zonal Advective Flux of U momentum'
338 WRITE(diagCode,'(A,I3.3,A)') 'UM ',diagNum+2,'MR '
339 CALL DIAGNOSTICS_ADD2LIST( diagNum,
340 I diagName, diagCode, diagUnits, diagTitle, myThid )
341 diagName = 'ADVy_Um '
342 diagTitle = 'Meridional Advective Flux of U momentum'
343 WRITE(diagCode,'(A,I3.3,A)') 'VZ ', diagNum, 'MR '
344 CALL DIAGNOSTICS_ADD2LIST( diagNum,
345 I diagName, diagCode, diagUnits, diagTitle, myThid )
346 diagName = 'ADVrE_Um'
347 diagTitle = 'Vertical Advective Flux of U momentum'
348 & //' (Explicit part)'
349 diagCode = 'WU LR '
350 CALL DIAGNOSTICS_ADD2LIST( diagNum,
351 I diagName, diagCode, diagUnits, diagTitle, myThid )
352 #endif /* ALLOW_MOM_FLUXFORM */
353 c diagName = 'ADVrI_Um'
354 c diagTitle = 'Vertical Advective Flux of U momentum'
355 c & //' (Implicit part)'
356 c diagCode = 'WU LR '
357 c CALL DIAGNOSTICS_ADD2LIST( diagNum,
358 c I diagName, diagCode, diagUnits, diagTitle, myThid )
359
360 C- Advective flux of Meridional momentum:
361 #ifdef ALLOW_MOM_FLUXFORM
362 diagName = 'ADVx_Vm '
363 diagTitle = 'Zonal Advective Flux of V momentum'
364 WRITE(diagCode,'(A,I3.3,A)') 'UZ ',diagNum+2,'MR '
365 CALL DIAGNOSTICS_ADD2LIST( diagNum,
366 I diagName, diagCode, diagUnits, diagTitle, myThid )
367 diagName = 'ADVy_Vm '
368 diagTitle = 'Meridional Advective Flux of V momentum'
369 WRITE(diagCode,'(A,I3.3,A)') 'VM ', diagNum, 'MR '
370 CALL DIAGNOSTICS_ADD2LIST( diagNum,
371 I diagName, diagCode, diagUnits, diagTitle, myThid )
372 diagName = 'ADVrE_Vm'
373 diagTitle = 'Vertical Advective Flux of V momentum'
374 & //' (Explicit part)'
375 diagCode = 'WV LR '
376 CALL DIAGNOSTICS_ADD2LIST( diagNum,
377 I diagName, diagCode, diagUnits, diagTitle, myThid )
378 #endif /* ALLOW_MOM_FLUXFORM */
379 c diagName = 'ADVrI_Vm'
380 c diagTitle = 'Vertical Advective Flux of V momentum'
381 c & //' (Implicit part)'
382 c diagCode = 'WV LR '
383 c CALL DIAGNOSTICS_ADD2LIST( diagNum,
384 c I diagName, diagCode, diagUnits, diagTitle, myThid )
385
386 c- Viscous flux of Zonal momentum :
387 #ifdef ALLOW_MOM_FLUXFORM
388 diagName = 'VISCx_Um'
389 diagTitle = 'Zonal Viscous Flux of U momentum'
390 WRITE(diagCode,'(A,I3.3,A)') 'UM ',diagNum+2,'MR '
391 CALL DIAGNOSTICS_ADD2LIST( diagNum,
392 I diagName, diagCode, diagUnits, diagTitle, myThid )
393 diagName = 'VISCy_Um'
394 diagTitle = 'Meridional Viscous Flux of U momentum'
395 WRITE(diagCode,'(A,I3.3,A)') 'VZ ', diagNum, 'MR '
396 CALL DIAGNOSTICS_ADD2LIST( diagNum,
397 I diagName, diagCode, diagUnits, diagTitle, myThid )
398 diagName = 'VISrE_Um'
399 diagTitle = 'Vertical Viscous Flux of U momentum'
400 & //' (Explicit part)'
401 diagCode = 'WU LR '
402 CALL DIAGNOSTICS_ADD2LIST( diagNum,
403 I diagName, diagCode, diagUnits, diagTitle, myThid )
404 #endif /* ALLOW_MOM_FLUXFORM */
405 diagName = 'VISrI_Um'
406 diagTitle = 'Vertical Viscous Flux of U momentum'
407 & //' (Implicit part)'
408 diagCode = 'WU LR '
409 CALL DIAGNOSTICS_ADD2LIST( diagNum,
410 I diagName, diagCode, diagUnits, diagTitle, myThid )
411
412 c- Viscous flux of Meridional momentum :
413 #ifdef ALLOW_MOM_FLUXFORM
414 diagName = 'VISCx_Vm'
415 diagTitle = 'Zonal Viscous Flux of V momentum'
416 WRITE(diagCode,'(A,I3.3,A)') 'UZ ',diagNum+2,'MR '
417 CALL DIAGNOSTICS_ADD2LIST( diagNum,
418 I diagName, diagCode, diagUnits, diagTitle, myThid )
419 diagName = 'VISCy_Vm'
420 diagTitle = 'Meridional Viscous Flux of V momentum'
421 WRITE(diagCode,'(A,I3.3,A)') 'VM ', diagNum, 'MR '
422 CALL DIAGNOSTICS_ADD2LIST( diagNum,
423 I diagName, diagCode, diagUnits, diagTitle, myThid )
424 diagName = 'VISrE_Vm'
425 diagTitle = 'Vertical Viscous Flux of V momentum'
426 & //' (Explicit part)'
427 diagCode = 'WV LR '
428 CALL DIAGNOSTICS_ADD2LIST( diagNum,
429 I diagName, diagCode, diagUnits, diagTitle, myThid )
430 #endif /* ALLOW_MOM_FLUXFORM */
431 diagName = 'VISrI_Vm'
432 diagTitle = 'Vertical Viscous Flux of V momentum'
433 & //' (Implicit part)'
434 diagCode = 'WV LR '
435 CALL DIAGNOSTICS_ADD2LIST( diagNum,
436 I diagName, diagCode, diagUnits, diagTitle, myThid )
437
438 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
439
440 #endif /* ALLOW_MOM_COMMON */
441 #endif /* ALLOW_DIAGNOSTICS */
442
443 RETURN
444 END

  ViewVC Help
Powered by ViewVC 1.1.22