/[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.1 - (hide 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 jmc 1.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