/[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.1 - (show annotations) (download)
Sun Sep 4 19:22:48 2005 UTC (18 years, 9 months ago) by jmc
Branch: MAIN
add diagnostics for (almost) each term in momentum eq.

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

  ViewVC Help
Powered by ViewVC 1.1.22