/[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.3 - (show annotations) (download)
Thu Sep 15 14:53:11 2005 UTC (18 years, 8 months ago) by jmc
Branch: MAIN
Changes since 1.2: +19 -2 lines
set Viscosity Coeff. diagnostics here (moved from diagnostics_main_init).

1 C $Header: /u/gcmpack/MITgcm/pkg/mom_common/mom_diagnostics_init.F,v 1.2 2005/09/04 19:35:16 jmc 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 #ifdef ALLOW_MOM_VECINV
46 diagName = 'VISCAH '
47 diagTitle = 'Harmonic Viscosity Coefficient in (m2/s) '
48 diagUnits = 'm^2/s '
49 diagCode = 'SM MR '
50 CALL DIAGNOSTICS_ADD2LIST( diagNum,
51 I diagName, diagCode, diagUnits, diagTitle, myThid )
52
53 diagName = 'VISCA4 '
54 diagTitle = 'Biharmonic Viscosity Coefficient in (m4/s) '
55 diagUnits = 'm^4/s '
56 diagCode = 'SM MR '
57 CALL DIAGNOSTICS_ADD2LIST( diagNum,
58 I diagName, diagCode, diagUnits, diagTitle, myThid )
59 #endif /* ALLOW_MOM_VECINV */
60
61 C-- add diagnostics of simple derivative quantities:
62 diagName = 'momKE '
63 diagTitle = 'Kinetic Energy (in momentum Eq.)'
64 diagCode = 'SM MR '
65 diagUnits = 'm^2/s^2 '
66 CALL DIAGNOSTICS_ADD2LIST( diagNum,
67 I diagName, diagCode, diagUnits, diagTitle, myThid )
68
69 #ifdef ALLOW_MOM_VECINV
70 diagName = 'momHDiv '
71 diagTitle = 'Horizontal Divergence (in momentum Eq.)'
72 diagCode = 'SM MR '
73 diagUnits = 's^-1 '
74 CALL DIAGNOSTICS_ADD2LIST( diagNum,
75 I diagName, diagCode, diagUnits, diagTitle, myThid )
76
77 diagName = 'momVort3'
78 diagTitle = '3rd component (vertical) of Vorticity'
79 diagCode = 'SZ MR '
80 diagUnits = 's^-1 '
81 CALL DIAGNOSTICS_ADD2LIST( diagNum,
82 I diagName, diagCode, diagUnits, diagTitle, myThid )
83 #endif /* ALLOW_MOM_VECINV */
84
85 C-- add diagnostics of tendencies from each terms
86 diagUnits = 'm/s^2 '
87
88 diagName = 'Um_Diss '
89 diagTitle = 'U momentum tendency from Dissipation'
90 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
91 CALL DIAGNOSTICS_ADD2LIST( diagNum,
92 I diagName, diagCode, diagUnits, diagTitle, myThid )
93 diagName = 'Vm_Diss '
94 diagTitle = 'V momentum tendency from Dissipation'
95 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum, 'MR '
96 CALL DIAGNOSTICS_ADD2LIST( diagNum,
97 I diagName, diagCode, diagUnits, diagTitle, myThid )
98
99 diagName = 'Um_Advec'
100 diagTitle = 'U momentum tendency from Advection terms'
101 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
102 CALL DIAGNOSTICS_ADD2LIST( diagNum,
103 I diagName, diagCode, diagUnits, diagTitle, myThid )
104 diagName = 'Vm_Advec'
105 diagTitle = 'V momentum tendency from Advection terms'
106 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum, 'MR '
107 CALL DIAGNOSTICS_ADD2LIST( diagNum,
108 I diagName, diagCode, diagUnits, diagTitle, myThid )
109
110 diagName = 'Um_Cori '
111 diagTitle = 'U momentum tendency from Coriolis term'
112 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
113 CALL DIAGNOSTICS_ADD2LIST( diagNum,
114 I diagName, diagCode, diagUnits, diagTitle, myThid )
115 diagName = 'Vm_Cori '
116 diagTitle = 'V momentum tendency from Coriolis term'
117 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum, 'MR '
118 CALL DIAGNOSTICS_ADD2LIST( diagNum,
119 I diagName, diagCode, diagUnits, diagTitle, myThid )
120
121 #ifdef ALLOW_MOM_VECINV
122 diagName = 'Um_AdvZ3'
123 diagTitle = 'U momentum tendency from Vorticity Advection'
124 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
125 CALL DIAGNOSTICS_ADD2LIST( diagNum,
126 I diagName, diagCode, diagUnits, diagTitle, myThid )
127 diagName = 'Vm_AdvZ3'
128 diagTitle = 'V momentum tendency from Vorticity Advection'
129 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum, 'MR '
130 CALL DIAGNOSTICS_ADD2LIST( diagNum,
131 I diagName, diagCode, diagUnits, diagTitle, myThid )
132
133 diagName = 'Um_AdvRe'
134 diagTitle = 'U momentum tendency from vertical Advection'
135 & //' (Explicit part)'
136 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
137 CALL DIAGNOSTICS_ADD2LIST( diagNum,
138 I diagName, diagCode, diagUnits, diagTitle, myThid )
139 diagName = 'Vm_AdvRe'
140 diagTitle = 'V momentum tendency from vertical Advection'
141 & //' (Explicit part)'
142 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum, 'MR '
143 CALL DIAGNOSTICS_ADD2LIST( diagNum,
144 I diagName, diagCode, diagUnits, diagTitle, myThid )
145 #endif /* ALLOW_MOM_VECINV */
146
147 C-- add diagnostics of advective & viscous flux :
148 IF ( usingPCoords ) THEN
149 diagUnits = 'Pa.m^3/s^2 '
150 ELSE
151 diagUnits = 'm^4/s^2 '
152 ENDIF
153
154 C- Advective flux of Zonal momentum:
155 #ifdef ALLOW_MOM_FLUXFORM
156 diagName = 'ADVx_Um '
157 diagTitle = 'Zonal Advective Flux of U momentum'
158 WRITE(diagCode,'(A,I3.3,A)') 'UM ',diagNum+2,'MR '
159 CALL DIAGNOSTICS_ADD2LIST( diagNum,
160 I diagName, diagCode, diagUnits, diagTitle, myThid )
161 diagName = 'ADVy_Um '
162 diagTitle = 'Meridional Advective Flux of U momentum'
163 WRITE(diagCode,'(A,I3.3,A)') 'VZ ', diagNum, 'MR '
164 CALL DIAGNOSTICS_ADD2LIST( diagNum,
165 I diagName, diagCode, diagUnits, diagTitle, myThid )
166 diagName = 'ADVrE_Um'
167 diagTitle = 'Vertical Advective Flux of U momentum'
168 & //' (Explicit part)'
169 diagCode = 'WU LR '
170 CALL DIAGNOSTICS_ADD2LIST( diagNum,
171 I diagName, diagCode, diagUnits, diagTitle, myThid )
172 #endif /* ALLOW_MOM_FLUXFORM */
173 c diagName = 'ADVrI_Um'
174 c diagTitle = 'Vertical Advective Flux of U momentum'
175 c & //' (Implicit part)'
176 c diagCode = 'WU LR '
177 c CALL DIAGNOSTICS_ADD2LIST( diagNum,
178 c I diagName, diagCode, diagUnits, diagTitle, myThid )
179
180 C- Advective flux of Meridional momentum:
181 #ifdef ALLOW_MOM_FLUXFORM
182 diagName = 'ADVx_Vm '
183 diagTitle = 'Zonal Advective Flux of V momentum'
184 WRITE(diagCode,'(A,I3.3,A)') 'UZ ',diagNum+2,'MR '
185 CALL DIAGNOSTICS_ADD2LIST( diagNum,
186 I diagName, diagCode, diagUnits, diagTitle, myThid )
187 diagName = 'ADVy_Vm '
188 diagTitle = 'Meridional Advective Flux of V momentum'
189 WRITE(diagCode,'(A,I3.3,A)') 'VM ', diagNum, 'MR '
190 CALL DIAGNOSTICS_ADD2LIST( diagNum,
191 I diagName, diagCode, diagUnits, diagTitle, myThid )
192 diagName = 'ADVrE_Vm'
193 diagTitle = 'Vertical Advective Flux of V momentum'
194 & //' (Explicit part)'
195 diagCode = 'WV LR '
196 CALL DIAGNOSTICS_ADD2LIST( diagNum,
197 I diagName, diagCode, diagUnits, diagTitle, myThid )
198 #endif /* ALLOW_MOM_FLUXFORM */
199 c diagName = 'ADVrI_Vm'
200 c diagTitle = 'Vertical Advective Flux of V momentum'
201 c & //' (Implicit part)'
202 c diagCode = 'WV LR '
203 c CALL DIAGNOSTICS_ADD2LIST( diagNum,
204 c I diagName, diagCode, diagUnits, diagTitle, myThid )
205
206 c- Viscous flux of Zonal momentum :
207 #ifdef ALLOW_MOM_FLUXFORM
208 diagName = 'VISCx_Um'
209 diagTitle = 'Zonal Viscous Flux of U momentum'
210 WRITE(diagCode,'(A,I3.3,A)') 'UM ',diagNum+2,'MR '
211 CALL DIAGNOSTICS_ADD2LIST( diagNum,
212 I diagName, diagCode, diagUnits, diagTitle, myThid )
213 diagName = 'VISCy_Um'
214 diagTitle = 'Meridional Viscous Flux of U momentum'
215 WRITE(diagCode,'(A,I3.3,A)') 'VZ ', diagNum, 'MR '
216 CALL DIAGNOSTICS_ADD2LIST( diagNum,
217 I diagName, diagCode, diagUnits, diagTitle, myThid )
218 diagName = 'VISrE_Um'
219 diagTitle = 'Vertical Viscous Flux of U momentum'
220 & //' (Explicit part)'
221 diagCode = 'WU LR '
222 CALL DIAGNOSTICS_ADD2LIST( diagNum,
223 I diagName, diagCode, diagUnits, diagTitle, myThid )
224 #endif /* ALLOW_MOM_FLUXFORM */
225 diagName = 'VISrI_Um'
226 diagTitle = 'Vertical Viscous Flux of U momentum'
227 & //' (Implicit part)'
228 diagCode = 'WU LR '
229 CALL DIAGNOSTICS_ADD2LIST( diagNum,
230 I diagName, diagCode, diagUnits, diagTitle, myThid )
231
232 c- Viscous flux of Meridional momentum :
233 #ifdef ALLOW_MOM_FLUXFORM
234 diagName = 'VISCx_Vm'
235 diagTitle = 'Zonal Viscous Flux of V momentum'
236 WRITE(diagCode,'(A,I3.3,A)') 'UZ ',diagNum+2,'MR '
237 CALL DIAGNOSTICS_ADD2LIST( diagNum,
238 I diagName, diagCode, diagUnits, diagTitle, myThid )
239 diagName = 'VISCy_Vm'
240 diagTitle = 'Meridional Viscous Flux of V momentum'
241 WRITE(diagCode,'(A,I3.3,A)') 'VM ', diagNum, 'MR '
242 CALL DIAGNOSTICS_ADD2LIST( diagNum,
243 I diagName, diagCode, diagUnits, diagTitle, myThid )
244 diagName = 'VISrE_Vm'
245 diagTitle = 'Vertical Viscous Flux of V momentum'
246 & //' (Explicit part)'
247 diagCode = 'WV LR '
248 CALL DIAGNOSTICS_ADD2LIST( diagNum,
249 I diagName, diagCode, diagUnits, diagTitle, myThid )
250 #endif /* ALLOW_MOM_FLUXFORM */
251 diagName = 'VISrI_Vm'
252 diagTitle = 'Vertical Viscous Flux of V momentum'
253 & //' (Implicit part)'
254 diagCode = 'WV LR '
255 CALL DIAGNOSTICS_ADD2LIST( diagNum,
256 I diagName, diagCode, diagUnits, diagTitle, myThid )
257
258 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
259
260 #endif /* ALLOW_MOM_COMMON */
261 #endif /* ALLOW_DIAGNOSTICS */
262
263 RETURN
264 END

  ViewVC Help
Powered by ViewVC 1.1.22