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

Diff of /manual/s_phys_pkgs/diagnostics.tex

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

revision 1.9 by molod, Thu Jul 14 19:18:01 2005 UTC revision 1.11 by molod, Fri Jul 15 18:58:21 2005 UTC
# Line 20  diagnostic output and defining new diagn Line 20  diagnostic output and defining new diagn
20  \ref{sec:diagnostics:usersguide} of this document.  \ref{sec:diagnostics:usersguide} of this document.
21    
22  \noindent  \noindent
23  The Diagnostic Menu is a hard-wired enumeration of diagnostic quantities available within  The Diagnostic Menu in this section of the manual is a listing of diagnostic quantities available
24  the GCM. Once a diagnostic is enabled, the GCM will continually increment an array  within the main (dynamics) part of the GCM. Additional diagnostic quantities, defined within the
25  specifically allocated for that diagnostic whenever the appropriate quantity is computed.    different GCM packages, are available and are listed in the diagnostic menu subsection of
26  A counter is defined which records how many times each diagnostic quantity has been  the manual section associated with each relevant package. Once a diagnostic is enabled, the
27  incremented.  Several special diagnostics are included in the menu. Quantities refered to  GCM will continually increment an array specifically allocated for that diagnostic whenever the
28  as ``Counter Diagnostics'', are defined for selected diagnostics which record the  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  frequency at which a diagnostic is incremented separately for each model grid location.  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  Quantitied refered to as ``User Diagnostics'' are included in the menu to facilitate
33  defining new diagnostics for a particular experiment.  defining new diagnostics for a particular experiment.
# Line 37  Not relevant. Line 39  Not relevant.
39  \label{sec:diagnostics:diagover}  \label{sec:diagnostics:diagover}
40    
41  \noindent  \noindent
 The diagnostics are computed at various times and places within the GCM. Because the  
 MIT GCM may employ a staggered grid, diagnostics may be computed at grid box centers,  
 corners, or edges, and at the middle or edge in the vertical. Some diagnostics are scalars,  
 while others are components of vectors. An internal array is defined which contains  
 information concerning various grid attributes of each diagnostic. The GDIAG  
 array (in common block \\diagnostics in file diagnostics.h) is internally defined as a  
 character*8 variable, and is equivalenced to a character*1 "parse" array in output in  
 order to extract the grid-attribute information.  The GDIAG array is described in  
 Table \ref{tab:diagnostics:gdiag.tabl}.  
   
 \begin{table}  
 \caption{Diagnostic Parsing Array}  
 \label{tab:diagnostics:gdiag.tabl}  
 \begin{center}  
 \begin{tabular}{ |c|c|l| }  
 \hline  
 \multicolumn{3}{|c|}{\bf Diagnostic Parsing Array} \\  
 \hline  
 \hline  
 Array & Value & Description \\  
 \hline  
   parse(1)   & $\rightarrow$ S &  Scalar Diagnostic                 \\  
              & $\rightarrow$ U &  U-vector component Diagnostic     \\  
              & $\rightarrow$ V &  V-vector component Diagnostic     \\ \hline  
   parse(2)   & $\rightarrow$ U &  C-Grid U-Point                    \\  
              & $\rightarrow$ V &  C-Grid V-Point                    \\  
              & $\rightarrow$ M &  C-Grid Mass Point                 \\  
              & $\rightarrow$ Z &  C-Grid Vorticity (Corner) Point   \\ \hline  
   parse(3)   & $\rightarrow$ R &  Not Currently in Use              \\ \hline  
   parse(4)   & $\rightarrow$ P &  Positive Definite Diagnostic      \\ \hline  
   parse(5)   & $\rightarrow$ C &  Counter Diagnostic                \\  
              & $\rightarrow$ D &  Disabled Diagnostic for output    \\ \hline  
   parse(6-8) & $\rightarrow$ C &  3-digit integer corresponding to  \\  
              &                 &  vector or counter component mate  \\ \hline  
 \end{tabular}  
 \addcontentsline{lot}{section}{Table 3:  Diagnostic Parsing Array}  
 \end{center}  
 \end{table}  
   
   
 \noindent  
 As an example, consider a diagnostic whose associated GDIAG parameter is equal  
 to ``UU  002''.  From GDIAG we can determine that this diagnostic is a  
 U-vector component located at the C-grid U-point.  
 Its corresponding V-component diagnostic is located in Diagnostic \# 002.  
   
   
 \noindent  
 In this way, each Diagnostic in the model has its attributes (ie. vector or scalar,  
 C-grid location, etc.) defined internally.  The Output routines use this information  
 in order to determine what type of transformations need to be performed.  Any  
 interpolations are done at the time of output rather than during each model step.  
 In this way the User has flexibility in determining the type of gridded data which  
 is output.  
   
   
 \noindent  
42  There are several utilities within the GCM available to users to enable, disable,  There are several utilities within the GCM available to users to enable, disable,
43  clear, write and retrieve model diagnostics, and may be called from any routine.    clear, write and retrieve model diagnostics, and may be called from any routine.  
44  The available utilities and the CALL sequences are listed below.  The available utilities and the CALL sequences are listed below.
45    
   
46  \noindent  \noindent
47  {\bf fill\_diagnostics}:  This routine will increment the specified diagnostic  {\bf diagnostics\_fill}:  This is the main user interface routine to the diagnostics
48  quantity with a field sent through the argument list.  package. This routine will increment the specified diagnostic quantity with a field
49    sent through the argument list.
50    
51  \noindent  \noindent
52  \begin{tabbing}  \begin{tabbing}
53  XXXXXXXXX\=XXXXXX\= \kill  XXXXXXXXX\=XXXXXX\= \kill
54  \>        call fill\_diagnostics (myThid, chardiag, levflg, nlevs, \\  \>        call diagnostics\_fill (arrayin, chardiag, levflg, nlevs, \\
55                  bibjflg, bi, bj, arrayin) \\  \>              bibjflg, bi, bj, myThid) \\
56  \\  \\
57  where \>  myThid   \>= Current Process(or) \\  where \>  arrayin  \>= Field to increment diagnostics array \\
58        \>  chardiag \>= Character *8 expression for diag to fill \\        \>  chardiag \>= Character *8 expression for diag to fill \\
59        \>  levflg   \>= Integer flag for vertical levels: \\        \>  levflg   \>= Integer flag for vertical levels: \\
60        \>           \> 0 indicates multiple levels incremented in qdiag \\        \>           \>= 0 indicates multiple (nlevs) levels incremented \\
61        \>           \> non-0 (any integer) - WHICH single level to increment. \\        \>           \>= -1 indicates multiple (nlevs) levels incremented, \\
62        \>           \> negative integer - the input data array is single-leveled \\        \>           \> but in reverse vertical order \\
63        \>           \> positive integer - the input data array is multi-leveled \\        \>           \> positive integer - WHICH single level to increment. \\
64        \>  nlevs    \>= indicates Number of levels to be filled (1 if levflg <> 0) \\        \>  nlevs    \>= indicates Number of levels to be filled (1 if levflg gt 0) \\
       \>           \> positive: fill in "nlevs" levels in the same order as \\  
       \>           \> the input array \\  
       \>           \> negative: fill in -nlevs levels in reverse order. \\  
65        \>  bibjflg  \>= Integer flag to indicate instructions for bi bj loop \\        \>  bibjflg  \>= Integer flag to indicate instructions for bi bj loop \\
66        \>           \> 0 indicates that the bi-bj loop must be done here \\        \>           \>= 0 indicates that the bi-bj loop must be done here \\
67        \>           \> 1 indicates that the bi-bj loop is done OUTSIDE \\        \>           \>= 1 indicates that the bi-bj loop is done OUTSIDE \\
68        \>           \> 2 indicates that the bi-bj loop is done OUTSIDE \\        \>           \>= 2 indicates that the bi-bj loop is done OUTSIDE \\
       \>           \>    AND that we have been sent a local array \\  
       \>           \> 3 indicates that the bi-bj loop is done OUTSIDE \\  
69        \>           \>    AND that we have been sent a local array \\        \>           \>    AND that we have been sent a local array \\
70        \>           \>    AND that the array has the shadow regions \\        \>           \>    AND that the array has the shadow regions \\
71          \>           \>= 3 indicates that the bi-bj loop is done OUTSIDE \\
72          \>           \>    AND that we have been sent a local array \\
73          \>           \>    AND that the array has no shadow regions \\
74        \>  bi       \>= X-direction process(or) number - used for bibjflg=1-3 \\        \>  bi       \>= X-direction process(or) number - used for bibjflg=1-3 \\
75        \>  bj       \>= Y-direction process(or) number - used for bibjflg=1-3 \\        \>  bj       \>= Y-direction process(or) number - used for bibjflg=1-3 \\
76        \>  arrayin  \>= Field to increment diagnostics array \\        \>  myThid   \>= Current Thread number \\
77  \end{tabbing}  \end{tabbing}
78    
79    \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    
84  \noindent  \noindent
85  {\bf setdiag}:  This subroutine enables a diagnostic from the Diagnostic Menu, meaning  \begin{tabbing}
86  that space is allocated for the diagnostic and the model routines will increment the  XXXXXXXXX\=XXXXXX\= \kill
87  diagnostic value during execution.  This routine is the underlying interface  \>        call diagnostics\_scale\_fill (arrayin, scalefactor, power, chardiag, \\
88  between the user and the desired diagnostic.  The diagnostic is referenced by its diagnostic  \>        levflg, nlevs, bibjflg, bi, bj, myThid) \\
89  number from the menu, and its calling sequence is given by:  \\
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    
114  \noindent  \noindent
115  \begin{tabbing}  \begin{tabbing}
116  XXXXXXXXX\=XXXXXX\= \kill  XXXXXXXXX\=XXXXXX\= \kill
117  \>        call setdiag (num) \\  \> call diagnostics\_get\_pointers( diagName, ipoint, jpoint, myThid )
118  \\  \\
119  where \>  num   \>= Diagnostic number from menu \\  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  \end{tabbing}  \end{tabbing}
124    
125  \noindent  \noindent
# Line 161  the diagnostic with its time-average.  T Line 133  the diagnostic with its time-average.  T
133  \noindent  \noindent
134  \begin{tabbing}  \begin{tabbing}
135  XXXXXXXXX\=XXXXXX\= \kill  XXXXXXXXX\=XXXXXX\= \kill
136  \>        call getdiag (lev,num,qtmp,undef) \\  \>        call getdiag (lev, undef, qtmp, ipoint, mate, bi, bj, myThid) \\
137  \\  \\
138  where \>  lev   \>= Model Level at which the diagnostic is desired \\  where \>  lev     \>= Model Level at which the diagnostic is desired \\
139        \>  num   \>= Diagnostic number from menu \\        \>  undef   \>= Fill value to be used when diagnostic is undefined \\
140        \>  qtmp  \>= Time-Averaged Diagnostic Output \\        \>  qtmp    \>= Time-Averaged Diagnostic Output \\
141        \>  undef \>= Fill value to be used when diagnostic is undefined \\        \>  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  \end{tabbing}  \end{tabbing}
147    
148  \noindent  \noindent
149  {\bf clrdiag}:  This subroutine initializes the values of model diagnostics to zero, and is  {\bf diagnostics\_add2list}:  This subroutine enables a diagnostic from the Diagnostic Menu, meaning
150  particularly useful when called from user output routines to re-initialize diagnostics  that space is allocated for the diagnostic and the model routines will increment the
151  during the run.  The calling sequence is:  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    
154  \noindent  \noindent
155  \begin{tabbing}  \begin{tabbing}
156  XXXXXXXXX\=XXXXXX\= \kill  XXXXXXXXX\=XXXXXX\= \kill
157  \>        call clrdiag (num) \\  \>        call diagnostics\_add2list( diagNum,diagName, diagCode, \\
158    \>        diagUnits, diagTitle, myThid ) \\
159  \\  \\
160  where \>  num   \>= Diagnostic number from menu \\  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  \end{tabbing}  \end{tabbing}
167    
168  \noindent  \noindent
169  {\bf zapdiag}:  This entry into subroutine SETDIAG disables model diagnostics, meaning  {\bf clrdiag}:  This subroutine initializes the values of model diagnostics to zero, and is
170  that the diagnostic is no longer available to the user.  The memory previously allocated  particularly useful when called from user output routines to re-initialize diagnostics
171  to the diagnostic is released when ZAPDIAG is invoked.  The calling sequence is given by:  during the run.  The calling sequence is:
172    
173  \noindent  \noindent
174  \begin{tabbing}  \begin{tabbing}
175  XXXXXXXXX\=XXXXXX\= \kill  XXXXXXXXX\=XXXXXX\= \kill
176  \>        call zapdiag (NUM) \\  \>        call diagnostics\_clrdiag (jpoint, ipoint, myThid) \\
177  \\  \\
178  where \>  num   \>= Diagnostic number from menu \\  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  \end{tabbing}  \end{tabbing}
182    
183    \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    
 \subsection{Usage Notes}  
 \label{sec:diagnostics:usersguide}  
223    
224  \noindent  \noindent
225  We begin this section with a discussion on the manner in which computer  As an example, consider a diagnostic whose associated GDIAG parameter is equal
226  memory is allocated for diagnostics. All GCM diagnostic quantities are stored in the  to ``UU  002''.  From GDIAG we can determine that this diagnostic is a
227  single diagnostic array QDIAG which is located in the file \\  U-vector component located at the C-grid U-point.
228  \filelink{pkg/diagnostics/diagnostics.h}{pkg-diagnostics-diagnostics.h}.  Its corresponding V-component diagnostic is located in Diagnostic \# 002.
 and has the form:  
   
 common /diagnostics/ qdiag(1-Olx,sNx+Olx,1-Olx,sNx+Olx,numdiags,Nsx,Nsy)  
229    
230  \noindent  \noindent
231  where numdiags is an Integer variable which should be set equal to the number of  In this way, each Diagnostic in the model has its attributes (ie. vector or scalar,
232  enabled diagnostics, and qdiag is a three-dimensional array.  The first two-dimensions  C-grid location, etc.) defined internally.  The Output routines use this information
233  of qdiag correspond to the horizontal dimension of a given diagnostic, while the third  in order to determine what type of transformations need to be performed.  Any
234  dimension of qdiag is used to identify diagnostic fields and levels combined. In order  interpolations are done at the time of output rather than during each model step.
235  to minimize the memory requirement of the model for diagnostics, the default GCM  In this way the User has flexibility in determining the type of gridded data which
236  executable is compiled with room for only one horizontal diagnostic array, or with  is output.
237  numdiags set to 1. In order for the User to enable more than 1 two-dimensional diagnostic,  
238  the size of the diagnostics common must be expanded to accomodate the desired diagnostics.  \subsection{Usage Notes}
239  This can be accomplished by manually changing the parameter numdiags in the  \label{sec:diagnostics:usersguide}
 file \filelink{pkg/diagnostics/diagnostics\_SIZE.h}{pkg-diagnostics-diagnostics_SIZE.h}.  
 numdiags should be set greater than or equal to the sum of all the diagnostics activated  
 for output each multiplied by the number of levels defined for that diagnostic quantity.  
 This is illustrated in the example below:  
240    
241  \noindent  \noindent
242  To use the diagnostics package, other than enabling it in packages.conf  To use the diagnostics package, other than enabling it in packages.conf
243  and turning the usediagnostics flag in data.pkg to .TRUE., a namelist  and turning the usediagnostics flag in data.pkg to .TRUE., there are two
244  must be supplied in the run directory called data.diagnostics. The namelist  further steps the user must take to enable the diagnostics package for
245  will activate a user-defined list of diagnostics quantities to be computed,  output of quantities that are already defined in the GCM under an experiment's
246  specify the frequency of output, the number of levels, and the name of  configuration of packages.  A namelist must be supplied in the run directory
247  up to 10 separate output files. A sample data.diagnostics namelist file:  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    
255  \noindent  \noindent
256  $\#$ Diagnostic Package Choices \\  $\#$ Diagnostic Package Choices \\
257   $\&$diagnostics\_list \\   $\&$diagnostics\_list \\
258    frequency(1) = 10, \ \\    frequency(1) = 86400., \ \\
259     levels(1,1) = 1.,2.,3.,4.,5., \ \\     levels(1,1) = 1., \ \\
260     fields(1,1) = 'UVEL    ','VVEL    ', \ \\     fields(1,1) = 'RSURF   ', \ \\
261     filename(1) = 'diagout1', \ \\     filename(1) = 'surface', \ \\
262    frequency(2) = 100, \ \\    frequency(2) = 86400., \ \\
263     levels(1,2) = 1.,2.,3.,4.,5., \ \\     levels(1,2) = 1.,2.,3.,4.,5., \ \\
264     fields(1,2) = 'THETA   ','SALT    ', \ \\     fields(1,2) = 'UVEL    ','VVEL    ', \ \\
265     filename(2) = 'diagout2', \ \\     filename(2) = 'diagout1', \ \\
266      frequency(3) = 3600., \ \\
267       fields(1,3) = 'UVEL    ','VVEL    ','PRESSURE', \ \\
268       filename(3) = 'diagout2', \ \\
269      fileflags(3) = ' P1     ', \ \\
270   $\&$end \ \\   $\&$end \ \\
271    
272  \noindent  \noindent
273  In this example, there are two output files that will be generated  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  for each tile and for each output time. The first set of output files
275  has the prefix diagout1, does time averaging every 10 time steps  has the prefix diagout1, does time averaging every 86400. seconds,
276  (frequency is 10), they will write fields which are multiple-level  (frequency is 86400.), and will write fields which are multiple-level
277  fields and output levels 1-5. The names of diagnostics quantities are  fields at output levels 1-5. The names of diagnostics quantities are
278  UVEL and VVEL.  The second set of output files  UVEL and VVEL.  The second set of output files
279  has the prefix diagout2, does time averaging every 100 time steps,  has the prefix diagout2, does time averaging every 3600. seconds,
280  they include fields which are multiple-level fields, levels output are 1-5,  includes fields which are multiple-level fields, levels output are 1-5,
281  and the names of diagnostics quantities are THETA and SALT.  and the names of diagnostics quantities are THETA and SALT.
282    
283  \noindent  \noindent
284    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  In order to define and include as part of the diagnostic output any field  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  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  first is to enable the ``User Diagnostic'' in data.diagnostics. This is
320  accomplished by setting one of the fields slots to either UDIAG1 through  accomplished by adding one of the ``User Diagnostic'' field names (UDIAG1 through
321  UDIAG10, for multi-level fields, or SDIAG1 through SDIAG10 for single level  UDIAG10, for multi-level fields, or SDIAG1 through SDIAG10 for single level
322  fields. These are listed in the diagnostics menu. The second step is to  fields) to the data.diagnostics namelist in one of the output streams. These
323  add a call to fill\_diagnostics from the subroutine in which the quantity  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  desired for diagnostic output is computed.  desired for diagnostic output is computed.
326    
327    \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  \newpage  \newpage
383    
384  \subsubsection{GCM Diagnostic Menu}  \subsubsection{GCM Diagnostic Menu}
385  \label{sec:diagnostics:menu}  \label{sec:diagnostics:menu}
386    
387  \begin{tabular}{lllll}  \begin{tabular}{llll}
388  \hline\hline  \hline\hline
389  N & NAME & UNITS & LEVELS & DESCRIPTION \\   NAME & UNITS & LEVELS & DESCRIPTION \\
390  \hline  \hline
391    
392  &\\  &\\
393  84 & SDIAG1   &             &    1     SDIAG1   &             &    1  
394           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
395            {User-Defined Surface Diagnostic-1}            {User-Defined Surface Diagnostic-1}
396           \end{minipage}\\           \end{minipage}\\
397  85 & SDIAG2   &             &    1     SDIAG2   &             &    1  
398           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
399            {User-Defined Surface Diagnostic-2}            {User-Defined Surface Diagnostic-2}
400           \end{minipage}\\           \end{minipage}\\
401  86 & UDIAG1   &             &    Nrphys   UDIAG1   &             &    Nrphys
402           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
403            {User-Defined Upper-Air Diagnostic-1}            {User-Defined Upper-Air Diagnostic-1}
404           \end{minipage}\\           \end{minipage}\\
405  87 & UDIAG2   &             &    Nrphys   UDIAG2   &             &    Nrphys
406           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
407            {User-Defined Upper-Air Diagnostic-2}            {User-Defined Upper-Air Diagnostic-2}
408           \end{minipage}\\           \end{minipage}\\
409  124& SDIAG3   &             &    1     SDIAG3   &             &    1  
410           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
411            {User-Defined Surface Diagnostic-3}            {User-Defined Surface Diagnostic-3}
412           \end{minipage}\\           \end{minipage}\\
413  125& SDIAG4   &             &    1     SDIAG4   &             &    1  
414           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
415            {User-Defined Surface Diagnostic-4}            {User-Defined Surface Diagnostic-4}
416           \end{minipage}\\           \end{minipage}\\
417  126& SDIAG5   &             &    1     SDIAG5   &             &    1  
418           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
419            {User-Defined Surface Diagnostic-5}            {User-Defined Surface Diagnostic-5}
420           \end{minipage}\\           \end{minipage}\\
421  127& SDIAG6   &             &    1     SDIAG6   &             &    1  
422           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
423            {User-Defined Surface Diagnostic-6}            {User-Defined Surface Diagnostic-6}
424           \end{minipage}\\           \end{minipage}\\
425  128& SDIAG7   &             &    1     SDIAG7   &             &    1  
426           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
427            {User-Defined Surface Diagnostic-7}            {User-Defined Surface Diagnostic-7}
428           \end{minipage}\\           \end{minipage}\\
429  129& SDIAG8   &             &    1     SDIAG8   &             &    1  
430           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
431            {User-Defined Surface Diagnostic-8}            {User-Defined Surface Diagnostic-8}
432           \end{minipage}\\           \end{minipage}\\
433  130& SDIAG9   &             &    1     SDIAG9   &             &    1  
434           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
435            {User-Defined Surface Diagnostic-9}            {User-Defined Surface Diagnostic-9}
436           \end{minipage}\\           \end{minipage}\\
437  131& SDIAG10  &             &    1     SDIAG10  &             &    1  
438           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
439            {User-Defined Surface Diagnostic-1-}            {User-Defined Surface Diagnostic-1-}
440           \end{minipage}\\           \end{minipage}\\
441  132& UDIAG3   &             &    Nrphys     UDIAG3   &             &    Nrphys  
442           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
443            {User-Defined Multi-Level Diagnostic-3}            {User-Defined Multi-Level Diagnostic-3}
444           \end{minipage}\\           \end{minipage}\\
445  133& UDIAG4   &             &    Nrphys     UDIAG4   &             &    Nrphys  
446           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
447            {User-Defined Multi-Level Diagnostic-4}            {User-Defined Multi-Level Diagnostic-4}
448           \end{minipage}\\           \end{minipage}\\
449  134& UDIAG5   &             &    Nrphys     UDIAG5   &             &    Nrphys  
450           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
451            {User-Defined Multi-Level Diagnostic-5}            {User-Defined Multi-Level Diagnostic-5}
452           \end{minipage}\\           \end{minipage}\\
453  135& UDIAG6   &             &    Nrphys     UDIAG6   &             &    Nrphys  
454           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
455            {User-Defined Multi-Level Diagnostic-6}            {User-Defined Multi-Level Diagnostic-6}
456           \end{minipage}\\           \end{minipage}\\
457  136& UDIAG7   &             &    Nrphys     UDIAG7   &             &    Nrphys  
458           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
459            {User-Defined Multi-Level Diagnostic-7}            {User-Defined Multi-Level Diagnostic-7}
460           \end{minipage}\\           \end{minipage}\\
461  137& UDIAG8   &             &    Nrphys     UDIAG8   &             &    Nrphys  
462           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
463            {User-Defined Multi-Level Diagnostic-8}            {User-Defined Multi-Level Diagnostic-8}
464           \end{minipage}\\           \end{minipage}\\
465  138& UDIAG9   &             &    Nrphys     UDIAG9   &             &    Nrphys  
466           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
467            {User-Defined Multi-Level Diagnostic-9}            {User-Defined Multi-Level Diagnostic-9}
468           \end{minipage}\\           \end{minipage}\\
469  139& UDIAG10  &             &    Nrphys     UDIAG10  &             &    Nrphys  
470           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
471            {User-Defined Multi-Level Diagnostic-10}            {User-Defined Multi-Level Diagnostic-10}
472           \end{minipage}\\           \end{minipage}\\
473     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  \end{tabular}  \end{tabular}
514  \vspace{1.5in}  \vspace{1.5in}
515  \vfill  \vfill
516    
517  \newpage  \newpage
518  \vspace*{\fill}  \vspace*{\fill}
519  \begin{tabular}{lllll}  \begin{tabular}{llll}
520  \hline\hline  \hline\hline
521  N & NAME & UNITS & LEVELS & DESCRIPTION \\   NAME & UNITS & LEVELS & DESCRIPTION \\
522  \hline  \hline
523    
524  &\\  &\\
525  238& ETAN     & $(hPa,m)$ &    1   UVEL     & $m/sec$ & Nr
          &\begin{minipage}[t]{3in}  
           {Perturbation of Surface (pressure, height)}  
          \end{minipage}\\  
 239& ETANSQ   & $(hPa^2,m^2)$ & 1  
          &\begin{minipage}[t]{3in}  
           {Square of Perturbation of Surface (pressure, height)}  
          \end{minipage}\\  
 240& THETA    & $deg K$ & Nr  
526           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
527            {Potential Temperature}            {U-Velocity}
528           \end{minipage}\\           \end{minipage}\\
529  241& SALT     & $g/kg$ & Nr   VVEL     & $m/sec$ & Nr
530           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
531            {Salt (or Water Vapor Mixing Ratio)}            {V-Velocity}
532           \end{minipage}\\           \end{minipage}\\
533  242& UVEL     & $m/sec$ & Nr   UVEL\_k2  & $m/sec$ & 1
534           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
535            {U-Velocity}            {U-Velocity}
536           \end{minipage}\\           \end{minipage}\\
537  243& VVEL     & $m/sec$ & Nr   VVEL\_k2  & $m/sec$ & 1
538           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
539            {V-Velocity}            {V-Velocity}
540           \end{minipage}\\           \end{minipage}\\
541  244& WVEL     & $m/sec$ & Nr   WVEL     & $m/sec$ & Nr
542           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
543            {Vertical-Velocity}            {Vertical-Velocity}
544           \end{minipage}\\           \end{minipage}\\
545  245& THETASQ  & $deg^2$ & Nr   THETASQ  & $deg^2$ & Nr
546           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
547            {Square of Potential Temperature}            {Square of Potential Temperature}
548           \end{minipage}\\           \end{minipage}\\
549  246& SALTSQ   & $g^2/{kg}^2$ & Nr   SALTSQ   & $g^2/{kg}^2$ & Nr
550           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
551            {Square of Salt (or Water Vapor Mixing Ratio)}            {Square of Salt (or Water Vapor Mixing Ratio)}
552           \end{minipage}\\           \end{minipage}\\
553  247& UVELSQ   & $m^2/sec^2$ & Nr   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           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
559            {Square of U-Velocity}            {Square of U-Velocity}
560           \end{minipage}\\           \end{minipage}\\
561  248& VVELSQ   & $m^2/sec^2$ & Nr   VVELSQ   & $m^2/sec^2$ & Nr
562           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
563            {Square of V-Velocity}            {Square of V-Velocity}
564           \end{minipage}\\           \end{minipage}\\
565  249& WVELSQ   & $m^2/sec^2$ & Nr   WVELSQ   & $m^2/sec^2$ & Nr
566           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
567            {Square of Vertical-Velocity}            {Square of Vertical-Velocity}
568           \end{minipage}\\           \end{minipage}\\
569  250& UVELVVEL & $m^2/sec^2$ & Nr   UV\_VEL\_C & $m^2/sec^2$ & Nr
570           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
571            {Meridional Transport of Zonal Momentum}            {Meridional Transport of Zonal Momentum (cell center)}
572           \end{minipage}\\           \end{minipage}\\
573  251& UVELMASS & $m/sec$ & Nr   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             &\begin{minipage}[t]{3in}
583              {Vertical Transport of Meridional Momentum (cell center)}
584             \end{minipage}\\
585     UVELMASS & $m/sec$ & Nr
586           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
587            {Zonal Mass-Weighted Component of Velocity}            {Zonal Mass-Weighted Component of Velocity}
588           \end{minipage}\\           \end{minipage}\\
589  252& VVELMASS & $m/sec$ & Nr   VVELMASS & $m/sec$ & Nr
590           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
591            {Meridional Mass-Weighted Component of Velocity}            {Meridional Mass-Weighted Component of Velocity}
592           \end{minipage}\\           \end{minipage}\\
593  253& WVELMASS & $m/sec$ & Nr   WVELMASS & $m/sec$ & Nr
594           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
595            {Vertical Mass-Weighted Component of Velocity}            {Vertical Mass-Weighted Component of Velocity}
596           \end{minipage}\\           \end{minipage}\\
597  254& UTHMASS  & $m-deg/sec$ & Nr   UTHMASS  & $m-deg/sec$ & Nr
598           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
599            {Zonal Mass-Weight Transp of Pot Temp}            {Zonal Mass-Weight Transp of Pot Temp}
600           \end{minipage}\\           \end{minipage}\\
601  255& VTHMASS  & $m-deg/sec$ & Nr   VTHMASS  & $m-deg/sec$ & Nr
602           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
603            {Meridional Mass-Weight Transp of Pot Temp}            {Meridional Mass-Weight Transp of Pot Temp}
604           \end{minipage}\\           \end{minipage}\\
605  256& WTHMASS  & $m-deg/sec$ & Nr   WTHMASS  & $m-deg/sec$ & Nr
606           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
607            {Vertical Mass-Weight Transp of Pot Temp}            {Vertical Mass-Weight Transp of Pot Temp}
608           \end{minipage}\\           \end{minipage}\\
609  257& USLTMASS & $m-kg/sec-kg$ & Nr   USLTMASS & $m-kg/sec-kg$ & Nr
610           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
611            {Zonal Mass-Weight Transp of Salt (or W.Vap Mix Rat.)}            {Zonal Mass-Weight Transp of Salt (or W.Vap Mix Rat.)}
612           \end{minipage}\\           \end{minipage}\\
613  258& VSLTMASS & $m-kg/sec-kg$ & Nr   VSLTMASS & $m-kg/sec-kg$ & Nr
614           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
615            {Meridional Mass-Weight Transp of Salt (or W.Vap Mix Rat.)}            {Meridional Mass-Weight Transp of Salt (or W.Vap Mix Rat.)}
616           \end{minipage}\\           \end{minipage}\\
617  259& WSLTMASS & $m-kg/sec-kg$ & Nr   WSLTMASS & $m-kg/sec-kg$ & Nr
618           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
619            {Vertical Mass-Weight Transp of Salt (or W.Vap Mix Rat.)}            {Vertical Mass-Weight Transp of Salt (or W.Vap Mix Rat.)}
620           \end{minipage}\\           \end{minipage}\\
621  260& UVELTH   & $m-deg/sec$ & Nr   UVELTH   & $m-deg/sec$ & Nr
622           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
623            {Zonal Transp of Pot Temp}            {Zonal Transp of Pot Temp}
624           \end{minipage}\\           \end{minipage}\\
625  261& VVELTH   & $m-deg/sec$ & Nr   VVELTH   & $m-deg/sec$ & Nr
626           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
627            {Meridional Transp of Pot Temp}            {Meridional Transp of Pot Temp}
628           \end{minipage}\\           \end{minipage}\\
629  262& WVELTH   & $m-deg/sec$ & Nr   WVELTH   & $m-deg/sec$ & Nr
630           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
631            {Vertical Transp of Pot Temp}            {Vertical Transp of Pot Temp}
632           \end{minipage}\\           \end{minipage}\\
633  263& UVELSLT  & $m-kg/sec-kg$ & Nr   UVELSLT  & $m-kg/sec-kg$ & Nr
634           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
635            {Zonal Transp of Salt (or W.Vap Mix Rat.)}            {Zonal Transp of Salt (or W.Vap Mix Rat.)}
636           \end{minipage}\\           \end{minipage}\\
637  264& VVELSLT  & $m-kg/sec-kg$ & Nr   VVELSLT  & $m-kg/sec-kg$ & Nr
638           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
639            {Meridional Transp of Salt (or W.Vap Mix Rat.)}            {Meridional Transp of Salt (or W.Vap Mix Rat.)}
640           \end{minipage}\\           \end{minipage}\\
641  265& WVELSLT  & $m-kg/sec-kg$ & Nr   WVELSLT  & $m-kg/sec-kg$ & Nr
642           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
643            {Vertical Transp of Salt (or W.Vap Mix Rat.)}            {Vertical Transp of Salt (or W.Vap Mix Rat.)}
644           \end{minipage}\\           \end{minipage}\\
645  275& WSLTMASS & $m-kg/sec-kg$ & Nr  \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}           &\begin{minipage}[t]{3in}
659            {Vertical Mass-Weight Transp of Salt (or W.Vap Mix Rat.)}            {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             &\begin{minipage}[t]{3in}
679              {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           \end{minipage}\\           \end{minipage}\\
697  298& VISCA4   & $m^4/sec$ & 1   VISCA4   & $m^4/sec$ & 1
698           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
699            {Biharmonic Viscosity Coefficient}            {Biharmonic Viscosity Coefficient}
700           \end{minipage}\\           \end{minipage}\\
701  299& VISCAH   & $m^2/sec$ & 1   VISCAH   & $m^2/sec$ & 1
702           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
703            {Harmonic Viscosity Coefficient}            {Harmonic Viscosity Coefficient}
704           \end{minipage}\\           \end{minipage}\\
705  300& DRHODR   & $kg/m^3/{r-unit}$ & Nr   TAUX     & $N/m^2        $ & 1
706           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
707            {Stratification: d.Sigma/dr}            {zonal surface wind stress, >0 increases uVel}
708           \end{minipage}\\           \end{minipage}\\
709  301& DETADT2  & ${r-unit}^2/s^2$ & 1   TAUY     & $N/m^2        $ & 1
710           &\begin{minipage}[t]{3in}           &\begin{minipage}[t]{3in}
711            {Square of Eta (Surf.P,SSH) Tendency}            {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             &\begin{minipage}[t]{3in}
775              {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             \end{minipage}\\
801     DFrI\_SLT & $g/kg.Pa.m^2/s$ & Nr
802             &\begin{minipage}[t]{3in}
803              {Vertical Diffusive Flux of Water-Vapor (Implicit part)}
804           \end{minipage}\\           \end{minipage}\\
805  \end{tabular}  \end{tabular}
806  \vspace{1.5in}  \vspace{1.5in}

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.22