/[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.2 - (hide annotations) (download)
Sun Sep 4 19:35:16 2005 UTC (18 years, 9 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint57r_post
Changes since 1.1: +30 -30 lines
remove blanks.

1 jmc 1.2 C $Header: /u/gcmpack/MITgcm/pkg/mom_common/mom_diagnostics_init.F,v 1.1 2005/09/04 19:22:48 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     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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
51 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
59 jmc 1.1
60     diagName = 'momVort3'
61     diagTitle = '3rd component (vertical) of Vorticity'
62     diagCode = 'SZ MR '
63     diagUnits = 's^-1 '
64     CALL DIAGNOSTICS_ADD2LIST( diagNum,
65 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
66 jmc 1.1 #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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
76 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
81 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
87 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
92 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
98 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
103 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
110 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
115 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
122 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
128 jmc 1.1 #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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
144 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
149 jmc 1.1 diagName = 'ADVrE_Um'
150     diagTitle = 'Vertical Advective Flux of U momentum'
151     & //' (Explicit part)'
152     diagCode = 'WU LR '
153     CALL DIAGNOSTICS_ADD2LIST( diagNum,
154 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
155 jmc 1.1 #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 jmc 1.2 c I diagName, diagCode, diagUnits, diagTitle, myThid )
162 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
170 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
175 jmc 1.1 diagName = 'ADVrE_Vm'
176     diagTitle = 'Vertical Advective Flux of V momentum'
177     & //' (Explicit part)'
178     diagCode = 'WV LR '
179     CALL DIAGNOSTICS_ADD2LIST( diagNum,
180 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
181 jmc 1.1 #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 jmc 1.2 c I diagName, diagCode, diagUnits, diagTitle, myThid )
188 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
196 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
201 jmc 1.1 diagName = 'VISrE_Um'
202     diagTitle = 'Vertical Viscous Flux of U momentum'
203     & //' (Explicit part)'
204     diagCode = 'WU LR '
205     CALL DIAGNOSTICS_ADD2LIST( diagNum,
206 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
207 jmc 1.1 #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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
214 jmc 1.1
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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
222 jmc 1.1 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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
227 jmc 1.1 diagName = 'VISrE_Vm'
228     diagTitle = 'Vertical Viscous Flux of V momentum'
229     & //' (Explicit part)'
230     diagCode = 'WV LR '
231     CALL DIAGNOSTICS_ADD2LIST( diagNum,
232 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
233 jmc 1.1 #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 jmc 1.2 I diagName, diagCode, diagUnits, diagTitle, myThid )
240 jmc 1.1
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