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

Annotation 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 - (hide 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 jmc 1.3 C $Header: /u/gcmpack/MITgcm/pkg/mom_common/mom_diagnostics_init.F,v 1.2 2005/09/04 19:35:16 jmc Exp $
2 jmc 1.1 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 jmc 1.3 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 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
68 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
76 jmc 1.1
77     diagName = 'momVort3'
78     diagTitle = '3rd component (vertical) of Vorticity'
79     diagCode = 'SZ MR '
80     diagUnits = 's^-1 '
81     CALL DIAGNOSTICS_ADD2LIST( diagNum,
82 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
83 jmc 1.1 #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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
93 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
98 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
104 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
109 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
115 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
120 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
127 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
132 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
139 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
145 jmc 1.1 #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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
161 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
166 jmc 1.1 diagName = 'ADVrE_Um'
167     diagTitle = 'Vertical Advective Flux of U momentum'
168     & //' (Explicit part)'
169     diagCode = 'WU LR '
170     CALL DIAGNOSTICS_ADD2LIST( diagNum,
171 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
172 jmc 1.1 #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 jmc 1.2 c I diagName, diagCode, diagUnits, diagTitle, myThid )
179 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
187 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
192 jmc 1.1 diagName = 'ADVrE_Vm'
193     diagTitle = 'Vertical Advective Flux of V momentum'
194     & //' (Explicit part)'
195     diagCode = 'WV LR '
196     CALL DIAGNOSTICS_ADD2LIST( diagNum,
197 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
198 jmc 1.1 #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 jmc 1.2 c I diagName, diagCode, diagUnits, diagTitle, myThid )
205 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
213 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
218 jmc 1.1 diagName = 'VISrE_Um'
219     diagTitle = 'Vertical Viscous Flux of U momentum'
220     & //' (Explicit part)'
221     diagCode = 'WU LR '
222     CALL DIAGNOSTICS_ADD2LIST( diagNum,
223 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
224 jmc 1.1 #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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
231 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
239 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
244 jmc 1.1 diagName = 'VISrE_Vm'
245     diagTitle = 'Vertical Viscous Flux of V momentum'
246     & //' (Explicit part)'
247     diagCode = 'WV LR '
248     CALL DIAGNOSTICS_ADD2LIST( diagNum,
249 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
250 jmc 1.1 #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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
257 jmc 1.1
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