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

Contents of /manual/s_phys_pkgs/diagnostics.tex

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


Revision 1.12 - (show annotations) (download) (as text)
Mon Jul 18 20:45:27 2005 UTC (20 years 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 \section{Diagnostics--A Flexible Infrastructure}
2 \label{sec:pkg:diagnostics}
3 \begin{rawhtml}
4 <!-- CMIREDIR:package_diagnostics: -->
5 \end{rawhtml}
6
7 \subsection{Introduction}
8
9 \noindent
10 This section of the documentation describes the Diagnostics package available within
11 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 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 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
35 \subsection{Equations}
36 Not relevant.
37
38 \subsection{Key Subroutines and Parameters}
39 \label{sec:diagnostics:diagover}
40
41 \noindent
42 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.
44 The available utilities and the CALL sequences are listed below.
45
46 \noindent
47 {\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
51 \noindent
52 \begin{tabbing}
53 XXXXXXXXX\=XXXXXX\= \kill
54 \> call diagnostics\_fill (arrayin, chardiag, levflg, nlevs, \\
55 \> bibjflg, bi, bj, myThid) \\
56 \\
57 where \> arrayin \>= Field to increment diagnostics array \\
58 \> chardiag \>= Character *8 expression for diag to fill \\
59 \> levflg \>= Integer flag for vertical levels: \\
60 \> \>= 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 \> bibjflg \>= Integer flag to indicate instructions for bi bj loop \\
66 \> \>= 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 \> \> AND that we have been sent a local array \\
70 \> \> 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 \\
75 \> bj \>= Y-direction process(or) number - used for bibjflg=1-3 \\
76 \> myThid \>= Current Thread number \\
77 \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
85 \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
114 \noindent
115 \begin{tabbing}
116 XXXXXXXXX\=XXXXXX\= \kill
117 \> call diagnostics\_get\_pointers( diagName, ipoint, jpoint, myThid )
118 \\
119 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}
124
125 \noindent
126 {\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
133 \noindent
134 \begin{tabbing}
135 XXXXXXXXX\=XXXXXX\= \kill
136 \> call getdiag (lev, undef, qtmp, ipoint, mate, bi, bj, myThid) \\
137 \\
138 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 \end{tabbing}
147
148 \noindent
149 {\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
154 \noindent
155 \begin{tabbing}
156 XXXXXXXXX\=XXXXXX\= \kill
157 \> call diagnostics\_add2list( diagNum,diagName, diagCode, \\
158 \> diagUnits, diagTitle, myThid ) \\
159 \\
160 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}
167
168 \noindent
169 {\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
173 \noindent
174 \begin{tabbing}
175 XXXXXXXXX\=XXXXXX\= \kill
176 \> call diagnostics\_clrdiag (jpoint, ipoint, myThid) \\
177 \\
178 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}
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
223
224 \noindent
225 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
230 \noindent
231 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
241 \noindent
242 To use the diagnostics package, other than enabling it in packages.conf
243 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
255 \noindent
256 $\#$ Diagnostic Package Choices \\
257 $\&$diagnostics\_list \\
258 frequency(1) = 86400., \ \\
259 levels(1,1) = 1., \ \\
260 fields(1,1) = 'RSURF ', \ \\
261 filename(1) = 'surface', \ \\
262 frequency(2) = 86400., \ \\
263 levels(1,2) = 1.,2.,3.,4.,5., \ \\
264 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 $\&$end \ \\
271
272 \noindent
273 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 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 UVEL and VVEL. The second set of output files
279 has the prefix diagout2, does time averaging every 3600. seconds,
280 includes fields which are multiple-level fields, levels output are 1-5,
281 and the names of diagnostics quantities are THETA and SALT.
282
283 \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
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 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
322 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 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
383
384 \subsubsection{GCM Diagnostic Menu}
385 \label{sec:diagnostics:menu}
386
387 \begin{tabular}{llll}
388 \hline\hline
389 NAME & UNITS & LEVELS & DESCRIPTION \\
390 \hline
391
392 &\\
393 SDIAG1 & & 1
394 &\begin{minipage}[t]{3in}
395 {User-Defined Surface Diagnostic-1}
396 \end{minipage}\\
397 SDIAG2 & & 1
398 &\begin{minipage}[t]{3in}
399 {User-Defined Surface Diagnostic-2}
400 \end{minipage}\\
401 UDIAG1 & & Nrphys
402 &\begin{minipage}[t]{3in}
403 {User-Defined Upper-Air Diagnostic-1}
404 \end{minipage}\\
405 UDIAG2 & & Nrphys
406 &\begin{minipage}[t]{3in}
407 {User-Defined Upper-Air Diagnostic-2}
408 \end{minipage}\\
409 SDIAG3 & & 1
410 &\begin{minipage}[t]{3in}
411 {User-Defined Surface Diagnostic-3}
412 \end{minipage}\\
413 SDIAG4 & & 1
414 &\begin{minipage}[t]{3in}
415 {User-Defined Surface Diagnostic-4}
416 \end{minipage}\\
417 SDIAG5 & & 1
418 &\begin{minipage}[t]{3in}
419 {User-Defined Surface Diagnostic-5}
420 \end{minipage}\\
421 SDIAG6 & & 1
422 &\begin{minipage}[t]{3in}
423 {User-Defined Surface Diagnostic-6}
424 \end{minipage}\\
425 SDIAG7 & & 1
426 &\begin{minipage}[t]{3in}
427 {User-Defined Surface Diagnostic-7}
428 \end{minipage}\\
429 SDIAG8 & & 1
430 &\begin{minipage}[t]{3in}
431 {User-Defined Surface Diagnostic-8}
432 \end{minipage}\\
433 SDIAG9 & & 1
434 &\begin{minipage}[t]{3in}
435 {User-Defined Surface Diagnostic-9}
436 \end{minipage}\\
437 SDIAG10 & & 1
438 &\begin{minipage}[t]{3in}
439 {User-Defined Surface Diagnostic-1-}
440 \end{minipage}\\
441 UDIAG3 & & Nrphys
442 &\begin{minipage}[t]{3in}
443 {User-Defined Multi-Level Diagnostic-3}
444 \end{minipage}\\
445 UDIAG4 & & Nrphys
446 &\begin{minipage}[t]{3in}
447 {User-Defined Multi-Level Diagnostic-4}
448 \end{minipage}\\
449 UDIAG5 & & Nrphys
450 &\begin{minipage}[t]{3in}
451 {User-Defined Multi-Level Diagnostic-5}
452 \end{minipage}\\
453 UDIAG6 & & Nrphys
454 &\begin{minipage}[t]{3in}
455 {User-Defined Multi-Level Diagnostic-6}
456 \end{minipage}\\
457 UDIAG7 & & Nrphys
458 &\begin{minipage}[t]{3in}
459 {User-Defined Multi-Level Diagnostic-7}
460 \end{minipage}\\
461 UDIAG8 & & Nrphys
462 &\begin{minipage}[t]{3in}
463 {User-Defined Multi-Level Diagnostic-8}
464 \end{minipage}\\
465 UDIAG9 & & Nrphys
466 &\begin{minipage}[t]{3in}
467 {User-Defined Multi-Level Diagnostic-9}
468 \end{minipage}\\
469 UDIAG10 & & Nrphys
470 &\begin{minipage}[t]{3in}
471 {User-Defined Multi-Level Diagnostic-10}
472 \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}
514 \vspace{1.5in}
515 \vfill
516
517 \newpage
518 \vspace*{\fill}
519 \begin{tabular}{llll}
520 \hline\hline
521 NAME & UNITS & LEVELS & DESCRIPTION \\
522 \hline
523
524 &\\
525 UVEL & $m/sec$ & Nr
526 &\begin{minipage}[t]{3in}
527 {U-Velocity}
528 \end{minipage}\\
529 VVEL & $m/sec$ & Nr
530 &\begin{minipage}[t]{3in}
531 {V-Velocity}
532 \end{minipage}\\
533 UVEL\_k2 & $m/sec$ & 1
534 &\begin{minipage}[t]{3in}
535 {U-Velocity}
536 \end{minipage}\\
537 VVEL\_k2 & $m/sec$ & 1
538 &\begin{minipage}[t]{3in}
539 {V-Velocity}
540 \end{minipage}\\
541 WVEL & $m/sec$ & Nr
542 &\begin{minipage}[t]{3in}
543 {Vertical-Velocity}
544 \end{minipage}\\
545 THETASQ & $deg^2$ & Nr
546 &\begin{minipage}[t]{3in}
547 {Square of Potential Temperature}
548 \end{minipage}\\
549 SALTSQ & $g^2/{kg}^2$ & Nr
550 &\begin{minipage}[t]{3in}
551 {Square of Salt (or Water Vapor Mixing Ratio)}
552 \end{minipage}\\
553 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}
559 {Square of U-Velocity}
560 \end{minipage}\\
561 VVELSQ & $m^2/sec^2$ & Nr
562 &\begin{minipage}[t]{3in}
563 {Square of V-Velocity}
564 \end{minipage}\\
565 WVELSQ & $m^2/sec^2$ & Nr
566 &\begin{minipage}[t]{3in}
567 {Square of Vertical-Velocity}
568 \end{minipage}\\
569 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 &\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}
587 {Zonal Mass-Weighted Component of Velocity}
588 \end{minipage}\\
589 VVELMASS & $m/sec$ & Nr
590 &\begin{minipage}[t]{3in}
591 {Meridional Mass-Weighted Component of Velocity}
592 \end{minipage}\\
593 WVELMASS & $m/sec$ & Nr
594 &\begin{minipage}[t]{3in}
595 {Vertical Mass-Weighted Component of Velocity}
596 \end{minipage}\\
597 UTHMASS & $m-deg/sec$ & Nr
598 &\begin{minipage}[t]{3in}
599 {Zonal Mass-Weight Transp of Pot Temp}
600 \end{minipage}\\
601 VTHMASS & $m-deg/sec$ & Nr
602 &\begin{minipage}[t]{3in}
603 {Meridional Mass-Weight Transp of Pot Temp}
604 \end{minipage}\\
605 WTHMASS & $m-deg/sec$ & Nr
606 &\begin{minipage}[t]{3in}
607 {Vertical Mass-Weight Transp of Pot Temp}
608 \end{minipage}\\
609 USLTMASS & $m-kg/sec-kg$ & Nr
610 &\begin{minipage}[t]{3in}
611 {Zonal Mass-Weight Transp of Salt (or W.Vap Mix Rat.)}
612 \end{minipage}\\
613 VSLTMASS & $m-kg/sec-kg$ & Nr
614 &\begin{minipage}[t]{3in}
615 {Meridional Mass-Weight Transp of Salt (or W.Vap Mix Rat.)}
616 \end{minipage}\\
617 WSLTMASS & $m-kg/sec-kg$ & Nr
618 &\begin{minipage}[t]{3in}
619 {Vertical Mass-Weight Transp of Salt (or W.Vap Mix Rat.)}
620 \end{minipage}\\
621 UVELTH & $m-deg/sec$ & Nr
622 &\begin{minipage}[t]{3in}
623 {Zonal Transp of Pot Temp}
624 \end{minipage}\\
625 VVELTH & $m-deg/sec$ & Nr
626 &\begin{minipage}[t]{3in}
627 {Meridional Transp of Pot Temp}
628 \end{minipage}\\
629 WVELTH & $m-deg/sec$ & Nr
630 &\begin{minipage}[t]{3in}
631 {Vertical Transp of Pot Temp}
632 \end{minipage}\\
633 UVELSLT & $m-kg/sec-kg$ & Nr
634 &\begin{minipage}[t]{3in}
635 {Zonal Transp of Salt (or W.Vap Mix Rat.)}
636 \end{minipage}\\
637 VVELSLT & $m-kg/sec-kg$ & Nr
638 &\begin{minipage}[t]{3in}
639 {Meridional Transp of Salt (or W.Vap Mix Rat.)}
640 \end{minipage}\\
641 WVELSLT & $m-kg/sec-kg$ & Nr
642 &\begin{minipage}[t]{3in}
643 {Vertical Transp of Salt (or W.Vap Mix Rat.)}
644 \end{minipage}\\
645 \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 &\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}\\
697 VISCA4 & $m^4/sec$ & 1
698 &\begin{minipage}[t]{3in}
699 {Biharmonic Viscosity Coefficient}
700 \end{minipage}\\
701 VISCAH & $m^2/sec$ & 1
702 &\begin{minipage}[t]{3in}
703 {Harmonic Viscosity Coefficient}
704 \end{minipage}\\
705 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 &\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}\\
805 \end{tabular}
806 \vspace{1.5in}
807 \vfill
808
809 \newpage
810
811 \subsubsection{Diagnostic Description}
812
813 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
819 \[
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
826 \subsection{Dos and Donts}
827
828 \subsection{Diagnostics Reference}
829

  ViewVC Help
Powered by ViewVC 1.1.22