/[MITgcm]/manual/s_phys_pkgs/diagnostics.tex
ViewVC logotype

Annotation of /manual/s_phys_pkgs/diagnostics.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.12 - (hide annotations) (download) (as text)
Mon Jul 18 20:45:27 2005 UTC (18 years, 9 months ago) by molod
Branch: MAIN
CVS Tags: HEAD
Changes since 1.11: +0 -0 lines
File MIME type: application/x-tex
FILE REMOVED
Reorganization of chap 6 and 7 -- move some tex files, demote many
sections in section hierarchy

1 edhill 1.2 \section{Diagnostics--A Flexible Infrastructure}
2     \label{sec:pkg:diagnostics}
3     \begin{rawhtml}
4     <!-- CMIREDIR:package_diagnostics: -->
5     \end{rawhtml}
6 molod 1.1
7     \subsection{Introduction}
8    
9 molod 1.7 \noindent
10 molod 1.5 This section of the documentation describes the Diagnostics package available within
11 molod 1.7 the GCM. A large selection of model diagnostics is available for output.
12     In addition to the diagnostic quantities pre-defined in the GCM, there exists
13     the option, in any experiment, to define a new diagnostic quantity and include it
14     as part of the diagnostic output with the addition of a single subroutine call in the
15     routine where the field is computed. As a matter of philosophy, no diagnostic is enabled
16     as default, thus each user must specify the exact diagnostic information required for an
17     experiment. This is accomplished by enabling the specific diagnostic of interest cataloged
18     in the Diagnostic Menu (see Section \ref{sec:diagnostics:menu}). Instructions for enabling
19     diagnostic output and defining new diagnostic quantities are found in Section
20     \ref{sec:diagnostics:usersguide} of this document.
21    
22     \noindent
23 molod 1.11 The Diagnostic Menu in this section of the manual is a listing of diagnostic quantities available
24     within the main (dynamics) part of the GCM. Additional diagnostic quantities, defined within the
25     different GCM packages, are available and are listed in the diagnostic menu subsection of
26     the manual section associated with each relevant package. Once a diagnostic is enabled, the
27     GCM will continually increment an array specifically allocated for that diagnostic whenever the
28     appropriate quantity is computed. A counter is defined which records how many times each diagnostic
29     quantity has been incremented. Several special diagnostics are included in the menu. Quantities
30     refered to as ``Counter Diagnostics'', are defined for selected diagnostics which record the
31 molod 1.7 frequency at which a diagnostic is incremented separately for each model grid location.
32     Quantitied refered to as ``User Diagnostics'' are included in the menu to facilitate
33     defining new diagnostics for a particular experiment.
34 molod 1.1
35     \subsection{Equations}
36     Not relevant.
37    
38     \subsection{Key Subroutines and Parameters}
39     \label{sec:diagnostics:diagover}
40    
41 molod 1.7 \noindent
42 molod 1.1 There are several utilities within the GCM available to users to enable, disable,
43 molod 1.5 clear, write and retrieve model diagnostics, and may be called from any routine.
44     The available utilities and the CALL sequences are listed below.
45 molod 1.1
46 molod 1.7 \noindent
47 molod 1.11 {\bf diagnostics\_fill}: This is the main user interface routine to the diagnostics
48     package. This routine will increment the specified diagnostic quantity with a field
49     sent through the argument list.
50 molod 1.7
51     \noindent
52     \begin{tabbing}
53     XXXXXXXXX\=XXXXXX\= \kill
54 molod 1.11 \> call diagnostics\_fill (arrayin, chardiag, levflg, nlevs, \\
55     \> bibjflg, bi, bj, myThid) \\
56 molod 1.7 \\
57 molod 1.11 where \> arrayin \>= Field to increment diagnostics array \\
58 molod 1.7 \> chardiag \>= Character *8 expression for diag to fill \\
59     \> levflg \>= Integer flag for vertical levels: \\
60 molod 1.11 \> \>= 0 indicates multiple (nlevs) levels incremented \\
61     \> \>= -1 indicates multiple (nlevs) levels incremented, \\
62     \> \> but in reverse vertical order \\
63     \> \> positive integer - WHICH single level to increment. \\
64     \> nlevs \>= indicates Number of levels to be filled (1 if levflg gt 0) \\
65 molod 1.7 \> bibjflg \>= Integer flag to indicate instructions for bi bj loop \\
66 molod 1.11 \> \>= 0 indicates that the bi-bj loop must be done here \\
67     \> \>= 1 indicates that the bi-bj loop is done OUTSIDE \\
68     \> \>= 2 indicates that the bi-bj loop is done OUTSIDE \\
69 molod 1.7 \> \> AND that we have been sent a local array \\
70 molod 1.11 \> \> AND that the array has the shadow regions \\
71     \> \>= 3 indicates that the bi-bj loop is done OUTSIDE \\
72 molod 1.7 \> \> AND that we have been sent a local array \\
73 molod 1.11 \> \> AND that the array has no shadow regions \\
74 molod 1.7 \> bi \>= X-direction process(or) number - used for bibjflg=1-3 \\
75     \> bj \>= Y-direction process(or) number - used for bibjflg=1-3 \\
76 molod 1.11 \> myThid \>= Current Thread number \\
77 molod 1.7 \end{tabbing}
78    
79 molod 1.11 \noindent
80     {\bf diagnostics\_scale\_fill}: This is a possible alternative routine to
81     diagnostics\_fill which performs the same functions and has an additional option
82     to scale the field before filling or raise the field to a power before filling.
83 molod 1.7
84     \noindent
85 molod 1.11 \begin{tabbing}
86     XXXXXXXXX\=XXXXXX\= \kill
87     \> call diagnostics\_scale\_fill (arrayin, scalefactor, power, chardiag, \\
88     \> levflg, nlevs, bibjflg, bi, bj, myThid) \\
89     \\
90     where \> All the arguments are the same as for diagnostics\_fill with the addition of: \\
91     \> scalefactor \>= Factor to scale field \\
92     \> power \>= Integer power to which to raise the input field \\
93     \end{tabbing}
94    
95     \noindent
96     {\bf diagnostics\_is\_on}: Function call to inquire whether a diagnostic is active
97     and can be incremented. Useful when there is a computation that must be done locally
98     before a call to diagnostics\_fill. The call sequence:
99    
100     \noindent
101     \begin{tabbing}
102     XXXXXXXXX\=XXXXXX\= \kill
103     \> flag = diagnostics\_is\_on( diagName, myThid )
104     \\
105     where \> diagName \>= Character *8 expression for diagnostic \\
106     \> myThid \>= Current Thread number \\
107     \end{tabbing}
108    
109     \noindent
110     {\bf diagnostics\_get\_pointers}: This subroutine retrieves the value of a the diagnostics
111     pointers that other routines require as input - can be useful if the diagnostics common
112     blocks are not local to a routine.
113 molod 1.1
114 molod 1.7 \noindent
115 molod 1.1 \begin{tabbing}
116     XXXXXXXXX\=XXXXXX\= \kill
117 molod 1.11 \> call diagnostics\_get\_pointers( diagName, ipoint, jpoint, myThid )
118 molod 1.1 \\
119 molod 1.11 where \> diagName \>= Character *8 expression of diagnostic \\
120     \> ipoint \>= Pointer into qdiag array - from idiag array in common \\
121     \> jpoint \>= Pointer into diagnostics menu - from jdiag array in common \\
122     \> myThid \>= Current Thread number \\
123 molod 1.1 \end{tabbing}
124    
125 molod 1.7 \noindent
126 molod 1.5 {\bf getdiag}: This subroutine retrieves the value of a model diagnostic. This routine
127     is particulary useful when called from a user output routine, although it can be called
128     from any routine. This routine returns the time-averaged value of the diagnostic by
129     dividing the current accumulated diagnostic value by its corresponding counter. This
130     routine does not change the value of the diagnostic itself, that is, it does not replace
131     the diagnostic with its time-average. The calling sequence for this routine is givin by:
132 molod 1.1
133 molod 1.7 \noindent
134 molod 1.1 \begin{tabbing}
135     XXXXXXXXX\=XXXXXX\= \kill
136 molod 1.11 \> call getdiag (lev, undef, qtmp, ipoint, mate, bi, bj, myThid) \\
137 molod 1.1 \\
138 molod 1.11 where \> lev \>= Model Level at which the diagnostic is desired \\
139     \> undef \>= Fill value to be used when diagnostic is undefined \\
140     \> qtmp \>= Time-Averaged Diagnostic Output \\
141     \> ipoint \>= Pointer into qdiag array - from idiag array in common \\
142     \> mate \>= Diagnostic mate pointer number \\
143     \> bi \>= X-direction process(or) number \\
144     \> bj \>= Y-direction process(or) number \\
145     \> myThid \>= Current Thread number \\
146 molod 1.1 \end{tabbing}
147    
148 molod 1.7 \noindent
149 molod 1.11 {\bf diagnostics\_add2list}: This subroutine enables a diagnostic from the Diagnostic Menu, meaning
150     that space is allocated for the diagnostic and the model routines will increment the
151     diagnostic value during execution. This routine is the underlying interface routine
152     for defining a new permanent diagnostic in the main model or in a package. The calling sequence is:
153 molod 1.1
154 molod 1.7 \noindent
155 molod 1.1 \begin{tabbing}
156     XXXXXXXXX\=XXXXXX\= \kill
157 molod 1.11 \> call diagnostics\_add2list( diagNum,diagName, diagCode, \\
158     \> diagUnits, diagTitle, myThid ) \\
159 molod 1.1 \\
160 molod 1.11 where \> diagNum \>=Diagnostic number - Output from routine \\
161     \> diagName \>=character*8 diagnostic name \\
162     \> diagCode \>=character*16 parsing code (see description of gdiag below) \\
163     \> diagUnits \>=Diagnostic units (character*16) \\
164     \> diagTitle \>=Diagnostic title or long name (up to character*80) \\
165     \> myThid \>=Current Thread number \\
166 molod 1.1 \end{tabbing}
167    
168 molod 1.7 \noindent
169 molod 1.11 {\bf clrdiag}: This subroutine initializes the values of model diagnostics to zero, and is
170     particularly useful when called from user output routines to re-initialize diagnostics
171     during the run. The calling sequence is:
172 molod 1.1
173 molod 1.7 \noindent
174 molod 1.1 \begin{tabbing}
175     XXXXXXXXX\=XXXXXX\= \kill
176 molod 1.11 \> call diagnostics\_clrdiag (jpoint, ipoint, myThid) \\
177 molod 1.1 \\
178 molod 1.11 where \> jpoint \>= Diagnostic number from menu - from jdiag array \\
179     ipoint \>= Pointer number into qdiag array - from idiag array \\
180     \> myThid \>=Current Thread number \\
181 molod 1.1 \end{tabbing}
182    
183 molod 1.11 \noindent
184     The diagnostics are computed at various times and places within the GCM. Because the
185     MIT GCM may employ a staggered grid, diagnostics may be computed at grid box centers,
186     corners, or edges, and at the middle or edge in the vertical. Some diagnostics are scalars,
187     while others are components of vectors. An internal array is defined which contains
188     information concerning various grid attributes of each diagnostic. The GDIAG
189     array (in common block \\diagnostics in file diagnostics.h) is internally defined as a
190     character*8 variable, and is equivalenced to a character*1 "parse" array in output in
191     order to extract the grid-attribute information. The GDIAG array is described in
192     Table \ref{tab:diagnostics:gdiag.tabl}.
193    
194     \begin{table}
195     \caption{Diagnostic Parsing Array}
196     \label{tab:diagnostics:gdiag.tabl}
197     \begin{center}
198     \begin{tabular}{ |c|c|l| }
199     \hline
200     \multicolumn{3}{|c|}{\bf Diagnostic Parsing Array} \\
201     \hline
202     \hline
203     Array & Value & Description \\
204     \hline
205     parse(1) & $\rightarrow$ S & Scalar Diagnostic \\
206     & $\rightarrow$ U & U-vector component Diagnostic \\
207     & $\rightarrow$ V & V-vector component Diagnostic \\ \hline
208     parse(2) & $\rightarrow$ U & C-Grid U-Point \\
209     & $\rightarrow$ V & C-Grid V-Point \\
210     & $\rightarrow$ M & C-Grid Mass Point \\
211     & $\rightarrow$ Z & C-Grid Vorticity (Corner) Point \\ \hline
212     parse(3) & $\rightarrow$ R & Not Currently in Use \\ \hline
213     parse(4) & $\rightarrow$ P & Positive Definite Diagnostic \\ \hline
214     parse(5) & $\rightarrow$ C & Counter Diagnostic \\
215     & $\rightarrow$ D & Disabled Diagnostic for output \\ \hline
216     parse(6-8) & $\rightarrow$ C & 3-digit integer corresponding to \\
217     & & vector or counter component mate \\ \hline
218     \end{tabular}
219     \addcontentsline{lot}{section}{Table 3: Diagnostic Parsing Array}
220     \end{center}
221     \end{table}
222 molod 1.7
223    
224     \noindent
225 molod 1.11 As an example, consider a diagnostic whose associated GDIAG parameter is equal
226     to ``UU 002''. From GDIAG we can determine that this diagnostic is a
227     U-vector component located at the C-grid U-point.
228     Its corresponding V-component diagnostic is located in Diagnostic \# 002.
229 molod 1.1
230 molod 1.7 \noindent
231 molod 1.11 In this way, each Diagnostic in the model has its attributes (ie. vector or scalar,
232     C-grid location, etc.) defined internally. The Output routines use this information
233     in order to determine what type of transformations need to be performed. Any
234     interpolations are done at the time of output rather than during each model step.
235     In this way the User has flexibility in determining the type of gridded data which
236     is output.
237    
238     \subsection{Usage Notes}
239     \label{sec:diagnostics:usersguide}
240 molod 1.1
241 molod 1.7 \noindent
242 molod 1.3 To use the diagnostics package, other than enabling it in packages.conf
243 molod 1.11 and turning the usediagnostics flag in data.pkg to .TRUE., there are two
244     further steps the user must take to enable the diagnostics package for
245     output of quantities that are already defined in the GCM under an experiment's
246     configuration of packages. A namelist must be supplied in the run directory
247     called data.diagnostics, and the file DIAGNOSTICS\_SIZE.h must be included in the
248     code directory. The steps for defining a new (permanent or experiment-specific
249     temporary) diagnostic quantity will be outlined later.
250    
251     \noindent The namelist will activate a user-defined list of diagnostics quantities
252     to be computed, specify the frequency and type of output, the number of levels, and
253     the name of all the separate output files. A sample data.diagnostics namelist file:
254 molod 1.3
255 molod 1.7 \noindent
256     $\#$ Diagnostic Package Choices \\
257     $\&$diagnostics\_list \\
258 molod 1.11 frequency(1) = 86400., \ \\
259     levels(1,1) = 1., \ \\
260     fields(1,1) = 'RSURF ', \ \\
261     filename(1) = 'surface', \ \\
262     frequency(2) = 86400., \ \\
263 molod 1.7 levels(1,2) = 1.,2.,3.,4.,5., \ \\
264 molod 1.11 fields(1,2) = 'UVEL ','VVEL ', \ \\
265     filename(2) = 'diagout1', \ \\
266     frequency(3) = 3600., \ \\
267     fields(1,3) = 'UVEL ','VVEL ','PRESSURE', \ \\
268     filename(3) = 'diagout2', \ \\
269     fileflags(3) = ' P1 ', \ \\
270 molod 1.7 $\&$end \ \\
271 molod 1.3
272 molod 1.7 \noindent
273 molod 1.3 In this example, there are two output files that will be generated
274     for each tile and for each output time. The first set of output files
275 molod 1.11 has the prefix diagout1, does time averaging every 86400. seconds,
276     (frequency is 86400.), and will write fields which are multiple-level
277     fields at output levels 1-5. The names of diagnostics quantities are
278 molod 1.7 UVEL and VVEL. The second set of output files
279 molod 1.11 has the prefix diagout2, does time averaging every 3600. seconds,
280     includes fields which are multiple-level fields, levels output are 1-5,
281 molod 1.3 and the names of diagnostics quantities are THETA and SALT.
282    
283 molod 1.7 \noindent
284 molod 1.11 The user must assure that enough computer memory is allocated for the diagnostics
285     and the output streams selected for a particular experiment. This is acomplished by
286     modifying the file DIAGNOSTICS\_SIZE.h and including it in the experiment code directory.
287     The parameters that should be checked are called numdiags, numlists, numperlist, and
288     diagSt\_size.
289    
290     \noindent numdiags (and diagSt\_size): \\
291     \noindent All GCM diagnostic quantities are stored in the single diagnostic array QDIAG
292     which is located in the file \\ \filelink{pkg/diagnostics/diagnostics.h}{pkg-diagnostics-diagnostics.h}.\\
293     and has the form:\\
294     common /diagnostics/ qdiag(1-Olx,sNx+Olx,1-Olx,sNx+Olx,numdiags,Nsx,Nsy) \\
295     \noindent
296     The first two-dimensions of qdiag correspond to the horizontal dimension of a given diagnostic,
297     and the third dimension of qdiag is used to identify diagnostic fields and levels combined. In
298     order to minimize the memory requirement of the model for diagnostics, the default GCM
299     executable is compiled with room for only one horizontal diagnostic array, or with
300     numdiags set to Nr. In order for the User to enable more than 1 three-dimensional diagnostic,
301     the size of the diagnostics common must be expanded to accomodate the desired diagnostics.
302     This can be accomplished by manually changing the parameter numdiags in the
303     file \filelink{pkg/diagnostics/DIAGNOSTICS\_SIZE.h}{pkg-diagnostics-DIAGNOSTICS\_SIZE.h}.
304     numdiags should be set greater than or equal to the sum of all the diagnostics activated
305     for output each multiplied by the number of levels defined for that diagnostic quantity.
306     For the above example, there are 4 multiple level fields, which the diagnostics menu
307     (see below) indicates are defined at the GCM vertical resolution, Nr. The value of
308     numdiag in DIAGNOSTICS\_SIZE.h would therefore be equal to 4*Nr, or, say 40 if $Nr=10$.
309    
310     \noindent numlists and numperlist: \\
311     \noindent The parameter numlists must be set greater than or equal to the number of
312     separate output streams that the user specifies in the namelist file data.diagnostics.
313     The parameter numperlist corresponds to the number of diagnostics requested in each
314     output stream.
315    
316     \noindent
317 molod 1.7 In order to define and include as part of the diagnostic output any field
318     that is desired for a particular experiment, two steps must be taken. The
319     first is to enable the ``User Diagnostic'' in data.diagnostics. This is
320 molod 1.11 accomplished by adding one of the ``User Diagnostic'' field names (UDIAG1 through
321 molod 1.7 UDIAG10, for multi-level fields, or SDIAG1 through SDIAG10 for single level
322 molod 1.11 fields) to the data.diagnostics namelist in one of the output streams. These
323     fields are listed in the diagnostics menu. The second step is to
324     add a call to diagnostics\_fill from the subroutine in which the quantity
325 molod 1.7 desired for diagnostic output is computed.
326    
327 molod 1.11 \noindent
328     In order to add a new diagnostic to the permanent set of diagnostics that the
329     main model or any package contains as part of its diagnostics menu, the subroutine
330     diagnostics\_add2list should be called during the initialization phase of the
331     main model or package. For the main model, the call should be made from
332     subroutine diagnostics\_main\_init, and for a package, the call should probably
333     be made from somewhere in the packages\_init\_fixed sequence (probaby from inside
334     the particular package's init\_fixed routine). A typical code sequence to set the
335     input arguments to diagnostics\_add2list would look like:
336    
337     \noindent
338     \begin{tabbing}
339     XXXXXXXXX\=XXXXXX\= \kill
340     \> diagName = 'THETA ' \\
341     \> diagTitle = 'Potential Temperature (degC,K)' \\
342     \> diagUnits = 'Degrees K ' \\
343     \> diagCode = 'SM MR ' \\
344     \> CALL DIAGNOSTICS\_ADD2LIST( diagNum, \\
345     \> I diagName, diagCode, diagUnits, diagTitle, myThid ) \\
346     \\
347     \end{tabbing}
348    
349     \noindent If the new diagnostic quantity is associated with either a vector
350     pair or a diagnostic counter, the diagCode argument must be filled with the
351     proper index for the ``mate''. The output argument from diagnostics\_add2list
352     that is called diagNum here contains a running total of the number of diagnostics
353     defined in the code up to any point during the run. The sequence number for the
354     next two diagnostics defined (the two components of the vector pair, for instance)
355     will be diagNum+1 and diagNum+2. The definition of the first component of the vector
356     pair must fill the ``mate'' segment of the diagCode as diagnostic number diagNum+2.
357     Since the subroutine increments diagNum, the definition of the second component of
358     the vector fills the ``mate'' part of diagCode with diagNum. A code sequence for
359     this case would look like:
360    
361     \noindent
362     \begin{tabbing}
363     XXXXXXXXX\=XXXXXX\= \kill
364     \> diagName = 'UVEL ' \\
365     \> diagTitle = 'Zonal Velocity ' \\
366     \> diagUnits = 'm / sec ' \\
367     \> diagCode = 'SM MR ' \\
368     \> write(diagCode,'(A,I3.3,A)') 'VV ', diagNum+2 ,'MR ' \\
369     \> call diagnostics\_add2list( diagNum, \\
370     \> I diagName, diagCode, diagUnits, diagTitle, myThid ) \\
371     \> diagName = 'VVEL ' \\
372     \> diagTitle = 'Meridional Velocity ' \\
373     \> diagUnits = 'm / sec ' \\
374     \> diagCode = 'SM MR ' \\
375     \> write(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR ' \\
376     \> call diagnostics\_add2list( diagNum, \\
377     \> I diagName, diagCode, diagUnits, diagTitle, myThid ) \\
378     \\
379     \end{tabbing}
380    
381    
382 molod 1.1 \newpage
383    
384     \subsubsection{GCM Diagnostic Menu}
385     \label{sec:diagnostics:menu}
386    
387 molod 1.10 \begin{tabular}{llll}
388 molod 1.1 \hline\hline
389 molod 1.10 NAME & UNITS & LEVELS & DESCRIPTION \\
390 molod 1.1 \hline
391    
392     &\\
393 molod 1.10 SDIAG1 & & 1
394 molod 1.1 &\begin{minipage}[t]{3in}
395 molod 1.9 {User-Defined Surface Diagnostic-1}
396 molod 1.1 \end{minipage}\\
397 molod 1.10 SDIAG2 & & 1
398 molod 1.1 &\begin{minipage}[t]{3in}
399 molod 1.9 {User-Defined Surface Diagnostic-2}
400 molod 1.1 \end{minipage}\\
401 molod 1.10 UDIAG1 & & Nrphys
402 molod 1.1 &\begin{minipage}[t]{3in}
403 molod 1.9 {User-Defined Upper-Air Diagnostic-1}
404 molod 1.1 \end{minipage}\\
405 molod 1.10 UDIAG2 & & Nrphys
406 molod 1.1 &\begin{minipage}[t]{3in}
407 molod 1.9 {User-Defined Upper-Air Diagnostic-2}
408 molod 1.1 \end{minipage}\\
409 molod 1.10 SDIAG3 & & 1
410 molod 1.1 &\begin{minipage}[t]{3in}
411 molod 1.9 {User-Defined Surface Diagnostic-3}
412 molod 1.1 \end{minipage}\\
413 molod 1.10 SDIAG4 & & 1
414 molod 1.1 &\begin{minipage}[t]{3in}
415 molod 1.9 {User-Defined Surface Diagnostic-4}
416 molod 1.1 \end{minipage}\\
417 molod 1.10 SDIAG5 & & 1
418 molod 1.1 &\begin{minipage}[t]{3in}
419 molod 1.9 {User-Defined Surface Diagnostic-5}
420 molod 1.1 \end{minipage}\\
421 molod 1.10 SDIAG6 & & 1
422 molod 1.1 &\begin{minipage}[t]{3in}
423 molod 1.9 {User-Defined Surface Diagnostic-6}
424 molod 1.1 \end{minipage}\\
425 molod 1.10 SDIAG7 & & 1
426 molod 1.1 &\begin{minipage}[t]{3in}
427 molod 1.9 {User-Defined Surface Diagnostic-7}
428 molod 1.1 \end{minipage}\\
429 molod 1.10 SDIAG8 & & 1
430 molod 1.1 &\begin{minipage}[t]{3in}
431 molod 1.9 {User-Defined Surface Diagnostic-8}
432 molod 1.1 \end{minipage}\\
433 molod 1.10 SDIAG9 & & 1
434 molod 1.1 &\begin{minipage}[t]{3in}
435 molod 1.9 {User-Defined Surface Diagnostic-9}
436 molod 1.1 \end{minipage}\\
437 molod 1.10 SDIAG10 & & 1
438 molod 1.1 &\begin{minipage}[t]{3in}
439 molod 1.9 {User-Defined Surface Diagnostic-1-}
440 molod 1.1 \end{minipage}\\
441 molod 1.10 UDIAG3 & & Nrphys
442 molod 1.1 &\begin{minipage}[t]{3in}
443 molod 1.9 {User-Defined Multi-Level Diagnostic-3}
444 molod 1.1 \end{minipage}\\
445 molod 1.10 UDIAG4 & & Nrphys
446 molod 1.1 &\begin{minipage}[t]{3in}
447 molod 1.9 {User-Defined Multi-Level Diagnostic-4}
448 molod 1.1 \end{minipage}\\
449 molod 1.10 UDIAG5 & & Nrphys
450 molod 1.1 &\begin{minipage}[t]{3in}
451 molod 1.9 {User-Defined Multi-Level Diagnostic-5}
452 molod 1.1 \end{minipage}\\
453 molod 1.10 UDIAG6 & & Nrphys
454 molod 1.1 &\begin{minipage}[t]{3in}
455 molod 1.9 {User-Defined Multi-Level Diagnostic-6}
456 molod 1.1 \end{minipage}\\
457 molod 1.10 UDIAG7 & & Nrphys
458 molod 1.1 &\begin{minipage}[t]{3in}
459 molod 1.9 {User-Defined Multi-Level Diagnostic-7}
460 molod 1.1 \end{minipage}\\
461 molod 1.10 UDIAG8 & & Nrphys
462 molod 1.1 &\begin{minipage}[t]{3in}
463 molod 1.9 {User-Defined Multi-Level Diagnostic-8}
464 molod 1.1 \end{minipage}\\
465 molod 1.10 UDIAG9 & & Nrphys
466 molod 1.1 &\begin{minipage}[t]{3in}
467 molod 1.9 {User-Defined Multi-Level Diagnostic-9}
468 molod 1.1 \end{minipage}\\
469 molod 1.10 UDIAG10 & & Nrphys
470 molod 1.1 &\begin{minipage}[t]{3in}
471 molod 1.9 {User-Defined Multi-Level Diagnostic-10}
472 molod 1.1 \end{minipage}\\
473 molod 1.10 SDIAGC & & 1
474     &\begin{minipage}[t]{3in}
475     {User-Defined Counted Surface Diagnostic}
476     \end{minipage}\\
477     SDIAGCC & & 1
478     &\begin{minipage}[t]{3in}
479     {User-Defined Counted Surface Diagnostic Counter}
480     \end{minipage}\\
481     ETAN & $(hPa,m)$ & 1
482     &\begin{minipage}[t]{3in}
483     {Perturbation of Surface (pressure, height)}
484     \end{minipage}\\
485     ETANSQ & $(hPa^2,m^2)$ & 1
486     &\begin{minipage}[t]{3in}
487     {Square of Perturbation of Surface (pressure, height)}
488     \end{minipage}\\
489     DETADT2 & ${r-unit}^2/s^2$ & 1
490     &\begin{minipage}[t]{3in}
491     {Square of Eta (Surf.P,SSH) Tendency}
492     \end{minipage}\\
493     THETA & $deg K$ & Nr
494     &\begin{minipage}[t]{3in}
495     {Potential Temperature}
496     \end{minipage}\\
497     SST & $deg K$ & 1
498     &\begin{minipage}[t]{3in}
499     {Sea Surface Temperature}
500     \end{minipage}\\
501     SALT & $g/kg$ & Nr
502     &\begin{minipage}[t]{3in}
503     {Salt (or Water Vapor Mixing Ratio)}
504     \end{minipage}\\
505     SSS & $g/kg$ & 1
506     &\begin{minipage}[t]{3in}
507     {Sea Surface Salinity}
508     \end{minipage}\\
509     SALTanom & $g/kg$ & Nr
510     &\begin{minipage}[t]{3in}
511     {Salt anomaly (=SALT-35)}
512     \end{minipage}\\
513 molod 1.8 \end{tabular}
514 molod 1.9 \vspace{1.5in}
515     \vfill
516 molod 1.8
517     \newpage
518     \vspace*{\fill}
519 molod 1.10 \begin{tabular}{llll}
520 molod 1.8 \hline\hline
521 molod 1.10 NAME & UNITS & LEVELS & DESCRIPTION \\
522 molod 1.8 \hline
523    
524     &\\
525 molod 1.10 UVEL & $m/sec$ & Nr
526 molod 1.1 &\begin{minipage}[t]{3in}
527 molod 1.10 {U-Velocity}
528 molod 1.1 \end{minipage}\\
529 molod 1.10 VVEL & $m/sec$ & Nr
530 molod 1.1 &\begin{minipage}[t]{3in}
531 molod 1.10 {V-Velocity}
532 molod 1.1 \end{minipage}\\
533 molod 1.10 UVEL\_k2 & $m/sec$ & 1
534 molod 1.1 &\begin{minipage}[t]{3in}
535 molod 1.9 {U-Velocity}
536 molod 1.1 \end{minipage}\\
537 molod 1.10 VVEL\_k2 & $m/sec$ & 1
538 molod 1.1 &\begin{minipage}[t]{3in}
539 molod 1.9 {V-Velocity}
540 molod 1.1 \end{minipage}\\
541 molod 1.10 WVEL & $m/sec$ & Nr
542 molod 1.1 &\begin{minipage}[t]{3in}
543 molod 1.9 {Vertical-Velocity}
544 molod 1.1 \end{minipage}\\
545 molod 1.10 THETASQ & $deg^2$ & Nr
546 molod 1.1 &\begin{minipage}[t]{3in}
547 molod 1.9 {Square of Potential Temperature}
548 molod 1.1 \end{minipage}\\
549 molod 1.10 SALTSQ & $g^2/{kg}^2$ & Nr
550 molod 1.1 &\begin{minipage}[t]{3in}
551 molod 1.9 {Square of Salt (or Water Vapor Mixing Ratio)}
552 molod 1.1 \end{minipage}\\
553 molod 1.10 SALTSQan & $g^2/{kg}^2$ & Nr
554     &\begin{minipage}[t]{3in}
555     {Square of Salt anomaly (=SALT-35)}
556     \end{minipage}\\
557     UVELSQ & $m^2/sec^2$ & Nr
558 molod 1.1 &\begin{minipage}[t]{3in}
559 molod 1.9 {Square of U-Velocity}
560 molod 1.1 \end{minipage}\\
561 molod 1.10 VVELSQ & $m^2/sec^2$ & Nr
562 molod 1.1 &\begin{minipage}[t]{3in}
563 molod 1.9 {Square of V-Velocity}
564 molod 1.1 \end{minipage}\\
565 molod 1.10 WVELSQ & $m^2/sec^2$ & Nr
566 molod 1.1 &\begin{minipage}[t]{3in}
567 molod 1.9 {Square of Vertical-Velocity}
568 molod 1.1 \end{minipage}\\
569 molod 1.10 UV\_VEL\_C & $m^2/sec^2$ & Nr
570     &\begin{minipage}[t]{3in}
571     {Meridional Transport of Zonal Momentum (cell center)}
572     \end{minipage}\\
573     UV\_VEL\_Z & $m^2/sec^2$ & Nr
574     &\begin{minipage}[t]{3in}
575     {Meridional Transport of Zonal Momentum (corner)}
576     \end{minipage}\\
577     WU\_VEL & $m^2/sec^2$ & Nr
578     &\begin{minipage}[t]{3in}
579     {Vertical Transport of Zonal Momentum (cell center)}
580     \end{minipage}\\
581     WV\_VEL & $m^2/sec^2$ & Nr
582 molod 1.1 &\begin{minipage}[t]{3in}
583 molod 1.10 {Vertical Transport of Meridional Momentum (cell center)}
584 molod 1.1 \end{minipage}\\
585 molod 1.10 UVELMASS & $m/sec$ & Nr
586 molod 1.1 &\begin{minipage}[t]{3in}
587 molod 1.9 {Zonal Mass-Weighted Component of Velocity}
588 molod 1.1 \end{minipage}\\
589 molod 1.10 VVELMASS & $m/sec$ & Nr
590 molod 1.1 &\begin{minipage}[t]{3in}
591 molod 1.9 {Meridional Mass-Weighted Component of Velocity}
592 molod 1.1 \end{minipage}\\
593 molod 1.10 WVELMASS & $m/sec$ & Nr
594 molod 1.1 &\begin{minipage}[t]{3in}
595 molod 1.9 {Vertical Mass-Weighted Component of Velocity}
596 molod 1.1 \end{minipage}\\
597 molod 1.10 UTHMASS & $m-deg/sec$ & Nr
598 molod 1.1 &\begin{minipage}[t]{3in}
599 molod 1.9 {Zonal Mass-Weight Transp of Pot Temp}
600 molod 1.1 \end{minipage}\\
601 molod 1.10 VTHMASS & $m-deg/sec$ & Nr
602 molod 1.1 &\begin{minipage}[t]{3in}
603 molod 1.9 {Meridional Mass-Weight Transp of Pot Temp}
604 molod 1.1 \end{minipage}\\
605 molod 1.10 WTHMASS & $m-deg/sec$ & Nr
606 molod 1.1 &\begin{minipage}[t]{3in}
607 molod 1.9 {Vertical Mass-Weight Transp of Pot Temp}
608 molod 1.1 \end{minipage}\\
609 molod 1.10 USLTMASS & $m-kg/sec-kg$ & Nr
610 molod 1.1 &\begin{minipage}[t]{3in}
611 molod 1.9 {Zonal Mass-Weight Transp of Salt (or W.Vap Mix Rat.)}
612 molod 1.1 \end{minipage}\\
613 molod 1.10 VSLTMASS & $m-kg/sec-kg$ & Nr
614 molod 1.8 &\begin{minipage}[t]{3in}
615 molod 1.9 {Meridional Mass-Weight Transp of Salt (or W.Vap Mix Rat.)}
616 molod 1.8 \end{minipage}\\
617 molod 1.10 WSLTMASS & $m-kg/sec-kg$ & Nr
618 molod 1.1 &\begin{minipage}[t]{3in}
619 molod 1.9 {Vertical Mass-Weight Transp of Salt (or W.Vap Mix Rat.)}
620 molod 1.1 \end{minipage}\\
621 molod 1.10 UVELTH & $m-deg/sec$ & Nr
622 molod 1.1 &\begin{minipage}[t]{3in}
623 molod 1.9 {Zonal Transp of Pot Temp}
624 molod 1.1 \end{minipage}\\
625 molod 1.10 VVELTH & $m-deg/sec$ & Nr
626 molod 1.1 &\begin{minipage}[t]{3in}
627 molod 1.9 {Meridional Transp of Pot Temp}
628 molod 1.1 \end{minipage}\\
629 molod 1.10 WVELTH & $m-deg/sec$ & Nr
630 molod 1.1 &\begin{minipage}[t]{3in}
631 molod 1.9 {Vertical Transp of Pot Temp}
632 molod 1.1 \end{minipage}\\
633 molod 1.10 UVELSLT & $m-kg/sec-kg$ & Nr
634 molod 1.8 &\begin{minipage}[t]{3in}
635 molod 1.9 {Zonal Transp of Salt (or W.Vap Mix Rat.)}
636 molod 1.8 \end{minipage}\\
637 molod 1.10 VVELSLT & $m-kg/sec-kg$ & Nr
638 molod 1.8 &\begin{minipage}[t]{3in}
639 molod 1.9 {Meridional Transp of Salt (or W.Vap Mix Rat.)}
640 molod 1.8 \end{minipage}\\
641 molod 1.10 WVELSLT & $m-kg/sec-kg$ & Nr
642 molod 1.8 &\begin{minipage}[t]{3in}
643 molod 1.9 {Vertical Transp of Salt (or W.Vap Mix Rat.)}
644 molod 1.8 \end{minipage}\\
645 molod 1.10 \end{tabular}
646     \vspace{1.5in}
647     \vfill
648    
649     \newpage
650     \vspace*{\fill}
651     \begin{tabular}{llll}
652     \hline\hline
653     NAME & UNITS & LEVELS & DESCRIPTION \\
654     \hline
655    
656     &\\
657     RHOAnoma & $kg/m^3 $ & Nr
658     &\begin{minipage}[t]{3in}
659     {Density Anomaly (=Rho-rhoConst)}
660     \end{minipage}\\
661     RHOANOSQ & $kg^2/m^6$ & Nr
662     &\begin{minipage}[t]{3in}
663     {Square of Density Anomaly (=(Rho-rhoConst))}
664     \end{minipage}\\
665     URHOMASS & $kg/m^2/s$ & Nr
666     &\begin{minipage}[t]{3in}
667     {Zonal Transport of Density}
668     \end{minipage}\\
669     VRHOMASS & $kg/m^2/s$ & Nr
670     &\begin{minipage}[t]{3in}
671     {Meridional Transport of Density}
672     \end{minipage}\\
673     WRHOMASS & $kg/m^2/s$ & Nr
674     &\begin{minipage}[t]{3in}
675     {Vertical Transport of Potential Density}
676     \end{minipage}\\
677     PHIHYD & $m^2/s^2 $ & Nr
678 molod 1.8 &\begin{minipage}[t]{3in}
679 molod 1.10 {Hydrostatic (ocean) pressure / (atmos) geo-Potential}
680     \end{minipage}\\
681     PHIHYDSQ & $m^4/s^4 $ & Nr
682     &\begin{minipage}[t]{3in}
683     {Square of Hyd. (ocean) press / (atmos) geoPotential}
684     \end{minipage}\\
685     PHIBOT & $m^2/s^2 $ & Nr
686     &\begin{minipage}[t]{3in}
687     {ocean bottom pressure / top. atmos geo-Potential}
688     \end{minipage}\\
689     PHIBOTSQ & $m^4/s^4 $ & Nr
690     &\begin{minipage}[t]{3in}
691     {Square of ocean bottom pressure / top. geo-Potential}
692     \end{minipage}\\
693     DRHODR & $kg/m^3/{r-unit}$ & Nr
694     &\begin{minipage}[t]{3in}
695     {Stratification: d.Sigma/dr}
696 molod 1.8 \end{minipage}\\
697 molod 1.10 VISCA4 & $m^4/sec$ & 1
698 molod 1.8 &\begin{minipage}[t]{3in}
699 molod 1.9 {Biharmonic Viscosity Coefficient}
700 molod 1.8 \end{minipage}\\
701 molod 1.10 VISCAH & $m^2/sec$ & 1
702 molod 1.8 &\begin{minipage}[t]{3in}
703 molod 1.9 {Harmonic Viscosity Coefficient}
704 molod 1.8 \end{minipage}\\
705 molod 1.10 TAUX & $N/m^2 $ & 1
706     &\begin{minipage}[t]{3in}
707     {zonal surface wind stress, >0 increases uVel}
708     \end{minipage}\\
709     TAUY & $N/m^2 $ & 1
710     &\begin{minipage}[t]{3in}
711     {meridional surf. wind stress, >0 increases vVel}
712     \end{minipage}\\
713     TFLUX & $W/m^2 $ & 1
714     &\begin{minipage}[t]{3in}
715     {net surface heat flux, >0 increases theta}
716     \end{minipage}\\
717     TRELAX & $W/m^2 $ & 1
718     &\begin{minipage}[t]{3in}
719     {surface temperature relaxation, >0 increases theta}
720     \end{minipage}\\
721     TICE & $W/m^2 $ & 1
722     &\begin{minipage}[t]{3in}
723     {heat from melt/freeze of sea-ice, >0 increases theta}
724     \end{minipage}\\
725     SFLUX & $g/m^2/s $ & 1
726     &\begin{minipage}[t]{3in}
727     {net surface salt flux, >0 increases salt}
728     \end{minipage}\\
729     SRELAX & $g/m^2/s $ & 1
730     &\begin{minipage}[t]{3in}
731     {surface salinity relaxation, >0 increases salt}
732     \end{minipage}\\
733     PRESSURE & $Pa $ & Nr
734     &\begin{minipage}[t]{3in}
735     {Atmospheric Pressure (Pa)}
736     \end{minipage}\\
737     ADVr\_TH & $K.Pa.m^2/s $ & Nr
738     &\begin{minipage}[t]{3in}
739     {Vertical Advective Flux of Pot.Temperature}
740     \end{minipage}\\
741     ADVx\_TH & $K.Pa.m^2/s $ & Nr
742     &\begin{minipage}[t]{3in}
743     {Zonal Advective Flux of Pot.Temperature}
744     \end{minipage}\\
745     ADVy\_TH & $K.Pa.m^2/s $ & Nr
746     &\begin{minipage}[t]{3in}
747     {Meridional Advective Flux of Pot.Temperature}
748     \end{minipage}\\
749     DFrE\_TH & $K.Pa.m^2/s $ & Nr
750     &\begin{minipage}[t]{3in}
751     {Vertical Diffusive Flux of Pot.Temperature (Explicit part)}
752     \end{minipage}\\
753     DIFx\_TH & $K.Pa.m^2/s $ & Nr
754     &\begin{minipage}[t]{3in}
755     {Zonal Diffusive Flux of Pot.Temperature}
756     \end{minipage}\\
757     DIFy\_TH & $K.Pa.m^2/s $ & Nr
758     &\begin{minipage}[t]{3in}
759     {Meridional Diffusive Flux of Pot.Temperature}
760     \end{minipage}\\
761     DFrI\_TH & $K.Pa.m^2/s $ & Nr
762     &\begin{minipage}[t]{3in}
763     {Vertical Diffusive Flux of Pot.Temperature (Implicit part)}
764     \end{minipage}\\
765     ADVr\_SLT & $g/kg.Pa.m^2/s$ & Nr
766     &\begin{minipage}[t]{3in}
767     {Vertical Advective Flux of Water-Vapor}
768     \end{minipage}\\
769     ADVx\_SLT & $g/kg.Pa.m^2/s$ & Nr
770     &\begin{minipage}[t]{3in}
771     {Zonal Advective Flux of Water-Vapor}
772     \end{minipage}\\
773     ADVy\_SLT & $g/kg.Pa.m^2/s$ & Nr
774 molod 1.8 &\begin{minipage}[t]{3in}
775 molod 1.10 {Meridional Advective Flux of Water-Vapor}
776     \end{minipage}\\
777     \end{tabular}
778     \vspace{1.5in}
779     \vfill
780    
781     \newpage
782     \vspace*{\fill}
783     \begin{tabular}{llll}
784     \hline\hline
785     NAME & UNITS & LEVELS & DESCRIPTION \\
786     \hline
787    
788     &\\
789     DFrE\_SLT & $g/kg.Pa.m^2/s$ & Nr
790     &\begin{minipage}[t]{3in}
791     {Vertical Diffusive Flux of Water-Vapor (Explicit part)}
792     \end{minipage}\\
793     DIFx\_SLT & $g/kg.Pa.m^2/s$ & Nr
794     &\begin{minipage}[t]{3in}
795     {Zonal Diffusive Flux of Water-Vapor}
796     \end{minipage}\\
797     DIFy\_SLT & $g/kg.Pa.m^2/s$ & Nr
798     &\begin{minipage}[t]{3in}
799     {Meridional Diffusive Flux of Water-Vapor}
800 molod 1.8 \end{minipage}\\
801 molod 1.10 DFrI\_SLT & $g/kg.Pa.m^2/s$ & Nr
802 molod 1.8 &\begin{minipage}[t]{3in}
803 molod 1.10 {Vertical Diffusive Flux of Water-Vapor (Implicit part)}
804 molod 1.1 \end{minipage}\\
805 molod 1.8 \end{tabular}
806 molod 1.9 \vspace{1.5in}
807 molod 1.8 \vfill
808    
809     \newpage
810    
811 molod 1.9 \subsubsection{Diagnostic Description}
812 molod 1.1
813 molod 1.9 In this section we list and describe the diagnostic quantities available within the
814     GCM. The diagnostics are listed in the order that they appear in the
815     Diagnostic Menu, Section \ref{sec:diagnostics:menu}.
816     In all cases, each diagnostic as currently archived on the output datasets
817     is time-averaged over its diagnostic output frequency:
818 molod 1.1
819 molod 1.9 \[
820     {\bf DIAGNOSTIC} = {1 \over TTOT} \sum_{t=1}^{t=TTOT} diag(t)
821     \]
822     where $TTOT = {{\bf NQDIAG} \over \Delta t}$, {\bf NQDIAG} is the
823     output frequency of the diagnostic, and $\Delta t$ is
824     the timestep over which the diagnostic is updated.
825 molod 1.1
826     \subsection{Dos and Donts}
827    
828     \subsection{Diagnostics Reference}
829    

  ViewVC Help
Powered by ViewVC 1.1.22