--- manual/s_phys_pkgs/diagnostics.tex 2004/10/14 15:28:53 1.3 +++ manual/s_phys_pkgs/diagnostics.tex 2004/10/28 22:41:16 1.8 @@ -6,13 +6,29 @@ \subsection{Introduction} -This section of the documentation describes the Diagnostics Utilities available within -the GCM. In addition to a description on how to set and extract diagnostic quantities, -this document also provides a comprehensive list of all available diagnostic quantities -and a short description of how they are computed. It should be noted that this document -is not intended to be a complete documentation of the various packages used in the GCM, -and the reader should refer to original publications and the appropriate sections of this -documentation for further insight. +\noindent +This section of the documentation describes the Diagnostics package available within +the GCM. A large selection of model diagnostics is available for output. +In addition to the diagnostic quantities pre-defined in the GCM, there exists +the option, in any experiment, to define a new diagnostic quantity and include it +as part of the diagnostic output with the addition of a single subroutine call in the +routine where the field is computed. As a matter of philosophy, no diagnostic is enabled +as default, thus each user must specify the exact diagnostic information required for an +experiment. This is accomplished by enabling the specific diagnostic of interest cataloged +in the Diagnostic Menu (see Section \ref{sec:diagnostics:menu}). Instructions for enabling +diagnostic output and defining new diagnostic quantities are found in Section +\ref{sec:diagnostics:usersguide} of this document. + +\noindent +The Diagnostic Menu is a hard-wired enumeration of diagnostic quantities available within +the GCM. Once a diagnostic is enabled, the GCM will continually increment an array +specifically allocated for that diagnostic whenever the appropriate quantity is computed. +A counter is defined which records how many times each diagnostic quantity has been +incremented. Several special diagnostics are included in the menu. Quantities refered to +as ``Counter Diagnostics'', are defined for selected diagnostics which record the +frequency at which a diagnostic is incremented separately for each model grid location. +Quantitied refered to as ``User Diagnostics'' are included in the menu to facilitate +defining new diagnostics for a particular experiment. \subsection{Equations} Not relevant. @@ -20,35 +36,16 @@ \subsection{Key Subroutines and Parameters} \label{sec:diagnostics:diagover} -A large selection of model diagnostics is available in the GCM. At the time of -this writing there are 280 different diagnostic quantities which can be enabled for an -experiment. As a matter of philosophy, no diagnostic is enabled as default, thus each user must -specify the exact diagnostic information required for an experiment. This is accomplished by -enabling the specific diagnostic of interest cataloged in the -Diagnostic Menu (see Section \ref{sec:diagnostics:menu}). -The Diagnostic Menu is a hard-wired enumeration of diagnostic quantities available within the -GCM. Diagnostics are internally referred to by their associated number in the Diagnostic -Menu. Once a diagnostic is enabled, the GCM will continually increment an array -specifically allocated for that diagnostic whenever the associated process for the diagnostic is -computed. Separate arrays are used both for the diagnostic quantity and its diagnostic counter -which records how many times each diagnostic quantity has been computed. In addition -special diagnostics, called -``Counter Diagnostics'', records the frequency of diagnostic updates separately for each -model grid location. - -The diagnostics are computed at various times and places within the GCM. -Some diagnostics are computed on the geophysical A-grid (such as -those within the Physics routines), while others are computed on the C-grid -(those computed during the dynamics time-stepping). Some diagnostics are -scalars, while others are vectors. Each of these possibilities requires -separate tasks for A-grid to C-grid transformations and coordinate transformations. Due -to this complexity, and since the specific diagnostics enabled are User determined at the -time of the run, -a diagnostic parameter has been developed and implemented into the GCM, defined as GDIAG, -which contains information concerning various grid attributes of each diagnostic. The GDIAG -array 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}. +\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} @@ -79,106 +76,154 @@ \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, -A-Grid or C-grid, etc.) defined internally. The Output routines -use this information in order to determine -what type of transformations need to be performed. Thus, all Diagnostic -interpolations are done at the time of output rather than during each model dynamic step. -In this way the User now has more flexibility -in determining the type of gridded data which is output. +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 There are several utilities within the GCM available to users to enable, disable, -clear, and retrieve model diagnostics, and may be called from any user-supplied application -and/or output routine. The available utilities and the CALL sequences are listed below. +clear, write and retrieve model diagnostics, and may be called from any routine. +The available utilities and the CALL sequences are listed below. -{\bf SETDIAG}: This subroutine enables a diagnostic from the Diagnostic Menu, meaning that -space is allocated for the diagnostic and the -model routines will increment the diagnostic value during execution. This routine is useful when -called from either user application routines or user output routines, and is the underlying interface -between the user and the desired diagnostic. The diagnostic is referenced by its diagnostic -number from the menu, and its calling sequence is given by: +\noindent +{\bf fill\_diagnostics}: This routine will increment the specified diagnostic +quantity with a field sent through the argument list. + +\noindent \begin{tabbing} XXXXXXXXX\=XXXXXX\= \kill -\> CALL SETDIAG (NUM) \\ +\> call fill\_diagnostics (myThid, chardiag, levflg, nlevs, \\ + bibjflg, bi, bj, arrayin) \\ \\ -where \> NUM \>= Diagnostic number from menu \\ +where \> myThid \>= Current Process(or) \\ + \> chardiag \>= Character *8 expression for diag to fill \\ + \> levflg \>= Integer flag for vertical levels: \\ + \> \> 0 indicates multiple levels incremented in qdiag \\ + \> \> non-0 (any integer) - WHICH single level to increment. \\ + \> \> negative integer - the input data array is single-leveled \\ + \> \> positive integer - the input data array is multi-leveled \\ + \> nlevs \>= indicates Number of levels to be filled (1 if levflg <> 0) \\ + \> \> positive: fill in "nlevs" levels in the same order as \\ + \> \> the input array \\ + \> \> negative: fill in -nlevs levels in reverse order. \\ + \> bibjflg \>= Integer flag to indicate instructions for bi bj loop \\ + \> \> 0 indicates that the bi-bj loop must be done here \\ + \> \> 1 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 \\ + \> \> AND that we have been sent a local array \\ + \> \> AND that the array has the shadow regions \\ + \> bi \>= X-direction process(or) number - used for bibjflg=1-3 \\ + \> bj \>= Y-direction process(or) number - used for bibjflg=1-3 \\ + \> arrayin \>= Field to increment diagnostics array \\ \end{tabbing} -{\bf GETDIAG}: This subroutine retrieves the value of a model diagnostic. This routine is -particulary useful when called from a user output routine, although it can be called from an -application routine as well. This routine returns the time-averaged value of the diagnostic by -dividing the current accumulated diagnostic value by its corresponding counter. This routine does -not change the value of the diagnostic itself, that is, it does not replace the diagnostic with its -time-average. The calling sequence for this routine is givin by: +\noindent +{\bf setdiag}: This subroutine enables a diagnostic from the Diagnostic Menu, meaning +that space is allocated for the diagnostic and the model routines will increment the +diagnostic value during execution. This routine is the underlying interface +between the user and the desired diagnostic. The diagnostic is referenced by its diagnostic +number from the menu, and its calling sequence is given by: +\noindent \begin{tabbing} XXXXXXXXX\=XXXXXX\= \kill -\> CALL GETDIAG (LEV,NUM,QTMP,UNDEF) \\ +\> call setdiag (num) \\ \\ -where \> LEV \>= Model Level at which the diagnostic is desired \\ - \> NUM \>= Diagnostic number from menu \\ - \> QTMP \>= Time-Averaged Diagnostic Output \\ - \> UNDEF \>= Fill value to be used when diagnostic is undefined \\ +where \> num \>= Diagnostic number from menu \\ \end{tabbing} -{\bf CLRDIAG}: This subroutine initializes the values of model diagnostics to zero, and is -particularly useful when called from user output routines to re-initialize diagnostics during the -run. The calling sequence is: - +\noindent +{\bf getdiag}: This subroutine retrieves the value of a model diagnostic. This routine +is particulary useful when called from a user output routine, although it can be called +from any routine. This routine returns the time-averaged value of the diagnostic by +dividing the current accumulated diagnostic value by its corresponding counter. This +routine does not change the value of the diagnostic itself, that is, it does not replace +the diagnostic with its time-average. The calling sequence for this routine is givin by: +\noindent \begin{tabbing} XXXXXXXXX\=XXXXXX\= \kill -\> CALL CLRDIAG (NUM) \\ +\> call getdiag (lev,num,qtmp,undef) \\ \\ -where \> NUM \>= Diagnostic number from menu \\ +where \> lev \>= Model Level at which the diagnostic is desired \\ + \> num \>= Diagnostic number from menu \\ + \> qtmp \>= Time-Averaged Diagnostic Output \\ + \> undef \>= Fill value to be used when diagnostic is undefined \\ \end{tabbing} +\noindent +{\bf clrdiag}: This subroutine initializes the values of model diagnostics to zero, and is +particularly useful when called from user output routines to re-initialize diagnostics +during the run. The calling sequence is: +\noindent +\begin{tabbing} +XXXXXXXXX\=XXXXXX\= \kill +\> call clrdiag (num) \\ +\\ +where \> num \>= Diagnostic number from menu \\ +\end{tabbing} -{\bf ZAPDIAG}: This entry into subroutine SETDIAG disables model diagnostics, meaning that the -diagnostic is no longer available to the user. The memory previously allocated to the diagnostic -is released when ZAPDIAG is invoked. The calling sequence is given by: - +\noindent +{\bf zapdiag}: This entry into subroutine SETDIAG disables model diagnostics, meaning +that the diagnostic is no longer available to the user. The memory previously allocated +to the diagnostic is released when ZAPDIAG is invoked. The calling sequence is given by: +\noindent \begin{tabbing} XXXXXXXXX\=XXXXXX\= \kill -\> CALL ZAPDIAG (NUM) \\ +\> call zapdiag (NUM) \\ \\ -where \> NUM \>= Diagnostic number from menu \\ +where \> num \>= Diagnostic number from menu \\ \end{tabbing} -{\bf DIAGSIZE}: We end this section with a discussion on the manner in which computer memory -is allocated for diagnostics. -All GCM diagnostic quantities are stored in the single -diagnostic array QDIAG which is located in diagnostics.h, and has the form: + +\subsection{Usage Notes} +\label{sec:diagnostics:usersguide} + +\noindent +We begin this section with a discussion on the manner in which computer +memory is allocated for diagnostics. All GCM diagnostic quantities are stored in the +single diagnostic array QDIAG which is located in the file \\ +\filelink{pkg/diagnostics/diagnostics.h}{pkg-diagnostics-diagnostics.h}. +and has the form: common /diagnostics/ qdiag(1-Olx,sNx+Olx,1-Olx,sNx+Olx,numdiags,Nsx,Nsy) -where numdiags is an Integer variable which should be -set equal to the number of enabled diagnostics, and QDIAG is a three-dimensional -array. The first two-dimensions of QDIAG correspond to the horizontal dimension -of a given diagnostic, while the third dimension of QDIAG is used to identify -specific diagnostic types. -In order to minimize the memory requirement of the model for diagnostics, -the default GCM executable is compiled with room for only one horizontal -diagnostic array, as shown in the above example. -In order for the User to enable more than 1 two-dimensional diagnostic, +\noindent +where numdiags is an Integer variable which should be set equal to the number of +enabled diagnostics, and qdiag is a three-dimensional array. The first two-dimensions +of qdiag correspond to the horizontal dimension of a given diagnostic, while the third +dimension of qdiag is used to identify diagnostic fields and levels combined. In order +to minimize the memory requirement of the model for diagnostics, the default GCM +executable is compiled with room for only one horizontal diagnostic array, or with +numdiags set to 1. In order for the User to enable more than 1 two-dimensional diagnostic, the size of the diagnostics common must be expanded to accomodate the desired diagnostics. This can be accomplished by manually changing the parameter numdiags in the -file \filelink{pkg/diagnostics/diagnostics\_SIZE.h}{pkg-diagnostics-diagnostics_SIZE.h}, or by allowing the -shell script (???????) to make this -change based on the choice of diagnostic output made in the namelist. +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: -\subsection{Usage Notes} -\label{sec:diagnostics:usersguide} +\noindent To use the diagnostics package, other than enabling it in packages.conf and turning the usediagnostics flag in data.pkg to .TRUE., a namelist must be supplied in the run directory called data.diagnostics. The namelist @@ -186,28 +231,40 @@ specify the frequency of output, the number of levels, and the name of up to 10 separate output files. A sample data.diagnostics namelist file: -\# Diagnostic Package Choices - \&diagnostics_list - frequency(1) = 10, \ - levels(1,1) = 1.,2.,3.,4.,5., \ - fields(1,1) = 'UVEL ','VVEL ', \ - filename(1) = 'diagout1', \ - frequency(2) = 100, \ - levels(1,2) = 1.,2.,3.,4.,5., \ - fields(1,2) = 'THETA ','SALT ', \ - filename(2) = 'diagout2', \ - \&end \ +\noindent +$\#$ Diagnostic Package Choices \\ + $\&$diagnostics\_list \\ + frequency(1) = 10, \ \\ + levels(1,1) = 1.,2.,3.,4.,5., \ \\ + fields(1,1) = 'UVEL ','VVEL ', \ \\ + filename(1) = 'diagout1', \ \\ + frequency(2) = 100, \ \\ + levels(1,2) = 1.,2.,3.,4.,5., \ \\ + fields(1,2) = 'THETA ','SALT ', \ \\ + filename(2) = 'diagout2', \ \\ + $\&$end \ \\ +\noindent In this example, there are two output files that will be generated for each tile and for each output time. The first set of output files -has the prefix diagout1, does time averaging every 10 time steps, -for fields which are multiple-level fields the levels output are 1-5, -and the names of diagnostics quantities are UVEL and VVEL. -The second set of output files +has the prefix diagout1, does time averaging every 10 time steps +(frequency is 10), they will write fields which are multiple-level +fields and output levels 1-5. The names of diagnostics quantities are +UVEL and VVEL. The second set of output files has the prefix diagout2, does time averaging every 100 time steps, -for fields which are multiple-level fields the levels output are 1-5, +they include fields which are multiple-level fields, levels output are 1-5, and the names of diagnostics quantities are THETA and SALT. +\noindent +In order to define and include as part of the diagnostic output any field +that is desired for a particular experiment, two steps must be taken. The +first is to enable the ``User Diagnostic'' in data.diagnostics. This is +accomplished by setting one of the fields slots to either UDIAG1 through +UDIAG10, for multi-level fields, or SDIAG1 through SDIAG10 for single level +fields. These are listed in the diagnostics menu. The second step is to +add a call to fill\_diagnostics from the subroutine in which the quantity +desired for diagnostic output is computed. + \newpage \subsubsection{GCM Diagnostic Menu} @@ -319,6 +376,16 @@ &\begin{minipage}[t]{3in} {Turbulent Flux of Sensible Heat} \end{minipage}\\ +\end{tabular} + +\newpage +\vspace*{\fill} +\begin{tabular}{lllll} +\hline\hline +N & NAME & UNITS & LEVELS & DESCRIPTION \\ +\hline + +&\\ 26 & TQFLUX & $Watts/m^2$ & Nrphys &\begin{minipage}[t]{3in} {Turbulent Flux of Latent Heat} @@ -348,16 +415,6 @@ {Ground temperature adjustment} \end{minipage}\\ -\end{tabular} - -\newpage -\vspace*{\fill} -\begin{tabular}{lllll} -\hline\hline -N & NAME & UNITS & LEVELS & DESCRIPTION \\ -\hline - -&\\ 33 & QG & $g/kg$ & 1 &\begin{minipage}[t]{3in} {Ground specific humidity} @@ -366,8 +423,6 @@ &\begin{minipage}[t]{3in} {Saturation surface specific humidity} \end{minipage}\\ - -&\\ 35 & TGRLW & $deg$ & 1 &\begin{minipage}[t]{3in} {Instantaneous ground temperature used as input to the @@ -418,23 +473,25 @@ {Total cloud fraction used in the Longwave and Shortwave radiation subroutines} \end{minipage}\\ -46 & RADSWT & $Watts/m^2$ & 1 +46 & LWGDOWN & $Watts/m^2$ & 1 &\begin{minipage}[t]{3in} - {Incident Shortwave radiation at the top of the atmosphere} + {Downwelling Longwave radiation at the ground} \end{minipage}\\ -47 & CLROSW & $0-1$ & Nrphys +47 & GWDT & $deg/day$ & Nrphys &\begin{minipage}[t]{3in} - {Random overlap cloud fraction used in the shortwave radiation - subroutine} + {Temperature tendency due to Gravity Wave Drag} \end{minipage}\\ -48 & CLMOSW & $0-1$ & Nrphys +48 & RADSWT & $Watts/m^2$ & 1 &\begin{minipage}[t]{3in} - {Maximum overlap cloud fraction used in the shortwave radiation - subroutine} + {Incident Shortwave radiation at the top of the atmosphere} \end{minipage}\\ -49 & EVAP & $mm/day$ & 1 +49 & TAUCLD & $per 100 mb$ & Nrphys &\begin{minipage}[t]{3in} - {Surface evaporation} + {Counted Cloud Optical Depth (non-dimensional) per 100 mb} + \end{minipage}\\ +50 & TAUCLDC & $Number$ & Nrphys + &\begin{minipage}[t]{3in} + {Cloud Optical Depth Counter} \end{minipage}\\ \end{tabular} \vfill @@ -447,115 +504,217 @@ \hline &\\ -50 & DUDT & $m/sec/day$ & Nrphys +51 & CLDLOW & $0-1$ & Nrphys + &\begin{minipage}[t]{3in} + {Low-Level ( 1000-700 hPa) Cloud Fraction (0-1)} + \end{minipage}\\ +52 & EVAP & $mm/day$ & 1 + &\begin{minipage}[t]{3in} + {Surface evaporation} + \end{minipage}\\ +53 & DPDT & $hPa/day$ & 1 + &\begin{minipage}[t]{3in} + {Surface Pressure tendency} + \end{minipage}\\ +54 & UAVE & $m/sec$ & Nrphys + &\begin{minipage}[t]{3in} + {Average U-Wind} + \end{minipage}\\ +55 & VAVE & $m/sec$ & Nrphys + &\begin{minipage}[t]{3in} + {Average V-Wind} + \end{minipage}\\ +56 & TAVE & $deg$ & Nrphys + &\begin{minipage}[t]{3in} + {Average Temperature} + \end{minipage}\\ +57 & QAVE & $g/kg$ & Nrphys + &\begin{minipage}[t]{3in} + {Average Specific Humidity} + \end{minipage}\\ +58 & OMEGA & $hPa/day$ & Nrphys + &\begin{minipage}[t]{3in} + {Vertical Velocity} + \end{minipage}\\ +59 & DUDT & $m/sec/day$ & Nrphys &\begin{minipage}[t]{3in} {Total U-Wind tendency} \end{minipage}\\ -51 & DVDT & $m/sec/day$ & Nrphys +60 & DVDT & $m/sec/day$ & Nrphys &\begin{minipage}[t]{3in} {Total V-Wind tendency} \end{minipage}\\ -52 & DTDT & $deg/day$ & Nrphys +61 & DTDT & $deg/day$ & Nrphys &\begin{minipage}[t]{3in} {Total Temperature tendency} \end{minipage}\\ -53 & DQDT & $g/kg/day$ & Nrphys +62 & DQDT & $g/kg/day$ & Nrphys &\begin{minipage}[t]{3in} {Total Specific Humidity tendency} \end{minipage}\\ -54 & USTAR & $m/sec$ & 1 +63 & VORT & $10^{-4}/sec$ & Nrphys + &\begin{minipage}[t]{3in} + {Relative Vorticity} + \end{minipage}\\ +64 & NOT USED & $$ & + &\begin{minipage}[t]{3in} + {} + \end{minipage}\\ +65 & DTLS & $deg/day$ & Nrphys + &\begin{minipage}[t]{3in} + {Temperature tendency due to Stratiform Cloud Formation} + \end{minipage}\\ +66 & DQLS & $g/kg/day$ & Nrphys + &\begin{minipage}[t]{3in} + {Specific Humidity tendency due to Stratiform Cloud Formation} + \end{minipage}\\ +67 & USTAR & $m/sec$ & 1 &\begin{minipage}[t]{3in} {Surface USTAR wind} \end{minipage}\\ -55 & Z0 & $m$ & 1 +68 & Z0 & $m$ & 1 &\begin{minipage}[t]{3in} {Surface roughness} \end{minipage}\\ -56 & FRQTRB & $0-1$ & Nrphys-1 +69 & FRQTRB & $0-1$ & Nrphys-1 &\begin{minipage}[t]{3in} {Frequency of Turbulence} \end{minipage}\\ -57 & PBL & $mb$ & 1 +70 & PBL & $mb$ & 1 &\begin{minipage}[t]{3in} {Planetary Boundary Layer depth} \end{minipage}\\ -58 & SWCLR & $deg/day$ & Nrphys +71 & SWCLR & $deg/day$ & Nrphys &\begin{minipage}[t]{3in} {Net clearsky Shortwave heating rate for each level} \end{minipage}\\ -59 & OSR & $Watts/m^2$ & 1 +72 & OSR & $Watts/m^2$ & 1 &\begin{minipage}[t]{3in} {Net downward Shortwave flux at the top of the model} \end{minipage}\\ -60 & OSRCLR & $Watts/m^2$ & 1 +73 & OSRCLR & $Watts/m^2$ & 1 &\begin{minipage}[t]{3in} {Net downward clearsky Shortwave flux at the top of the model} \end{minipage}\\ -61 & CLDMAS & $kg / m^2$ & Nrphys +74 & CLDMAS & $kg / m^2$ & Nrphys &\begin{minipage}[t]{3in} {Convective cloud mass flux} \end{minipage}\\ -62 & UAVE & $m/sec$ & Nrphys +75 & UAVE & $m/sec$ & Nrphys &\begin{minipage}[t]{3in} {Time-averaged $u-Wind$} \end{minipage}\\ -63 & VAVE & $m/sec$ & Nrphys +\end{tabular} +\vfill + +\newpage +\vspace*{\fill} +\begin{tabular}{lllll} +\hline\hline +N & NAME & UNITS & LEVELS & DESCRIPTION \\ +\hline + +&\\ +76 & VAVE & $m/sec$ & Nrphys &\begin{minipage}[t]{3in} {Time-averaged $v-Wind$} \end{minipage}\\ -64 & TAVE & $deg$ & Nrphys +77 & TAVE & $deg$ & Nrphys &\begin{minipage}[t]{3in} {Time-averaged $Temperature$} \end{minipage}\\ -65 & QAVE & $g/g$ & Nrphys +78 & QAVE & $g/g$ & Nrphys &\begin{minipage}[t]{3in} {Time-averaged $Specific \, \, Humidity$} \end{minipage}\\ -66 & PAVE & $mb$ & 1 +79 & RFT & $deg/day$ & Nrphys &\begin{minipage}[t]{3in} - {Time-averaged $p_{surf} - p_{top}$} + {Temperature tendency due Rayleigh Friction} \end{minipage}\\ -67 & QQAVE & $(m/sec)^2$ & Nrphys +80 & PS & $mb$ & 1 + &\begin{minipage}[t]{3in} + {Surface Pressure} + \end{minipage}\\ +81 & QQAVE & $(m/sec)^2$ & Nrphys &\begin{minipage}[t]{3in} {Time-averaged $Turbulent Kinetic Energy$} \end{minipage}\\ -68 & SWGCLR & $Watts/m^2$ & 1 +82 & SWGCLR & $Watts/m^2$ & 1 &\begin{minipage}[t]{3in} {Net downward clearsky Shortwave flux at the ground} \end{minipage}\\ -69 & SDIAG1 & & 1 +83 & PAVE & $mb$ & 1 + &\begin{minipage}[t]{3in} + {Time-averaged Surface Pressure} + \end{minipage}\\ +84 & SDIAG1 & & 1 &\begin{minipage}[t]{3in} {User-Defined Surface Diagnostic-1} \end{minipage}\\ -70 & SDIAG2 & & 1 +85 & SDIAG2 & & 1 &\begin{minipage}[t]{3in} {User-Defined Surface Diagnostic-2} \end{minipage}\\ -71 & UDIAG1 & & Nrphys +86 & UDIAG1 & & Nrphys &\begin{minipage}[t]{3in} {User-Defined Upper-Air Diagnostic-1} \end{minipage}\\ -72 & UDIAG2 & & Nrphys +87 & UDIAG2 & & Nrphys &\begin{minipage}[t]{3in} {User-Defined Upper-Air Diagnostic-2} \end{minipage}\\ -73 & DIABU & $m/sec/day$ & Nrphys +88 & DIABU & $m/sec/day$ & Nrphys &\begin{minipage}[t]{3in} {Total Diabatic forcing on $u-Wind$} \end{minipage}\\ -74 & DIABV & $m/sec/day$ & Nrphys +89 & DIABV & $m/sec/day$ & Nrphys &\begin{minipage}[t]{3in} {Total Diabatic forcing on $v-Wind$} \end{minipage}\\ -75 & DIABT & $deg/day$ & Nrphys +90 & DIABT & $deg/day$ & Nrphys &\begin{minipage}[t]{3in} {Total Diabatic forcing on $Temperature$} \end{minipage}\\ -76 & DIABQ & $g/kg/day$ & Nrphys +91 & DIABQ & $g/kg/day$ & Nrphys &\begin{minipage}[t]{3in} {Total Diabatic forcing on $Specific \, \, Humidity$} \end{minipage}\\ - +92 & RFU & $m/sec/day$ & Nrphys + &\begin{minipage}[t]{3in} + {U-Wind tendency due to Rayleigh Friction} + \end{minipage}\\ +93 & RFV & $m/sec/day$ & Nrphys + &\begin{minipage}[t]{3in} + {V-Wind tendency due to Rayleigh Friction} + \end{minipage}\\ +94 & GWDU & $m/sec/day$ & Nrphys + &\begin{minipage}[t]{3in} + {U-Wind tendency due to Gravity Wave Drag} + \end{minipage}\\ +95 & GWDU & $m/sec/day$ & Nrphys + &\begin{minipage}[t]{3in} + {V-Wind tendency due to Gravity Wave Drag} + \end{minipage}\\ +96 & GWDUS & $N/m^2$ & 1 + &\begin{minipage}[t]{3in} + {U-Wind Gravity Wave Drag Stress at Surface} + \end{minipage}\\ +97 & GWDVS & $N/m^2$ & 1 + &\begin{minipage}[t]{3in} + {V-Wind Gravity Wave Drag Stress at Surface} + \end{minipage}\\ +98 & GWDUT & $N/m^2$ & 1 + &\begin{minipage}[t]{3in} + {U-Wind Gravity Wave Drag Stress at Top} + \end{minipage}\\ +99 & GWDVT & $N/m^2$ & 1 + &\begin{minipage}[t]{3in} + {V-Wind Gravity Wave Drag Stress at Top} + \end{minipage}\\ +100& LZRAD & $mg/kg$ & Nrphys + &\begin{minipage}[t]{3in} + {Estimated Cloud Liquid Water used in Radiation} + \end{minipage}\\ \end{tabular} \vfill @@ -566,71 +725,483 @@ N & NAME & UNITS & LEVELS & DESCRIPTION \\ \hline -77 & VINTUQ & $m/sec \cdot g/kg$ & 1 +&\\ +101& SLP & $mb$ & 1 + &\begin{minipage}[t]{3in} + {Time-averaged Sea-level Pressure} + \end{minipage}\\ +102& NOT USED & $$ & &\begin{minipage}[t]{3in} - {Vertically integrated $u \, q$} + {} \end{minipage}\\ -78 & VINTVQ & $m/sec \cdot g/kg$ & 1 +103& NOT USED & $$ & &\begin{minipage}[t]{3in} - {Vertically integrated $v \, q$} + {} \end{minipage}\\ -79 & VINTUT & $m/sec \cdot deg$ & 1 +104& NOT USED & $$ & &\begin{minipage}[t]{3in} - {Vertically integrated $u \, T$} + {} \end{minipage}\\ -80 & VINTVT & $m/sec \cdot deg$ & 1 +105& NOT USED & $$ & &\begin{minipage}[t]{3in} - {Vertically integrated $v \, T$} + {} \end{minipage}\\ -81 & CLDFRC & $0-1$ & 1 +106& CLDFRC & $0-1$ & 1 &\begin{minipage}[t]{3in} {Total Cloud Fraction} \end{minipage}\\ -82 & QINT & $gm/cm^2$ & 1 +107& TPW & $gm/cm^2$ & 1 &\begin{minipage}[t]{3in} {Precipitable water} \end{minipage}\\ -83 & U2M & $m/sec$ & 1 +108& U2M & $m/sec$ & 1 &\begin{minipage}[t]{3in} {U-Wind at 2 meters} \end{minipage}\\ -84 & V2M & $m/sec$ & 1 +109& V2M & $m/sec$ & 1 &\begin{minipage}[t]{3in} {V-Wind at 2 meters} \end{minipage}\\ -85 & T2M & $deg$ & 1 +110& T2M & $deg$ & 1 &\begin{minipage}[t]{3in} {Temperature at 2 meters} \end{minipage}\\ -86 & Q2M & $g/kg$ & 1 +111& Q2M & $g/kg$ & 1 &\begin{minipage}[t]{3in} {Specific Humidity at 2 meters} \end{minipage}\\ -87 & U10M & $m/sec$ & 1 +112& U10M & $m/sec$ & 1 &\begin{minipage}[t]{3in} {U-Wind at 10 meters} \end{minipage}\\ -88 & V10M & $m/sec$ & 1 +113& V10M & $m/sec$ & 1 &\begin{minipage}[t]{3in} {V-Wind at 10 meters} \end{minipage}\\ -89 & T10M & $deg$ & 1 +114& T10M & $deg$ & 1 &\begin{minipage}[t]{3in} {Temperature at 10 meters} \end{minipage}\\ -90 & Q10M & $g/kg$ & 1 +115& Q10M & $g/kg$ & 1 &\begin{minipage}[t]{3in} {Specific Humidity at 10 meters} \end{minipage}\\ -91 & DTRAIN & $kg/m^2$ & Nrphys +116& DTRAIN & $kg/m^2$ & Nrphys &\begin{minipage}[t]{3in} {Detrainment Cloud Mass Flux} \end{minipage}\\ -92 & QFILL & $g/kg/day$ & Nrphys +117& QFILL & $g/kg/day$ & Nrphys &\begin{minipage}[t]{3in} {Filling of negative specific humidity} \end{minipage}\\ +118& NOT USED & $$ & + &\begin{minipage}[t]{3in} + {} + \end{minipage}\\ +119& NOT USED & $$ & + &\begin{minipage}[t]{3in} + {} + \end{minipage}\\ +120& SHAPU & $m/sec/day$ & Nrphys + &\begin{minipage}[t]{3in} + {U-Wind tendency due to Shapiro Filter} + \end{minipage}\\ +121& SHAPV & $m/sec/day$ & Nrphys + &\begin{minipage}[t]{3in} + {V-Wind tendency due to Shapiro Filter} + \end{minipage}\\ +122& SHAPT & $deg/day$ & Nrphys + &\begin{minipage}[t]{3in} + {Temperature tendency due Shapiro Filter} + \end{minipage}\\ +123& SHAPQ & $g/kg/day$ & Nrphys + &\begin{minipage}[t]{3in} + {Specific Humidity tendency due to Shapiro Filter} + \end{minipage}\\ +124& SDIAG3 & & 1 + &\begin{minipage}[t]{3in} + {User-Defined Surface Diagnostic-3} + \end{minipage}\\ +125& SDIAG4 & & 1 + &\begin{minipage}[t]{3in} + {User-Defined Surface Diagnostic-4} + \end{minipage}\\ +\end{tabular} +\vspace{1.5in} +\vfill + +\newpage +\vspace*{\fill} +\begin{tabular}{lllll} +\hline\hline +N & NAME & UNITS & LEVELS & DESCRIPTION \\ +\hline + +&\\ +126& SDIAG5 & & 1 + &\begin{minipage}[t]{3in} + {User-Defined Surface Diagnostic-5} + \end{minipage}\\ +127& SDIAG6 & & 1 + &\begin{minipage}[t]{3in} + {User-Defined Surface Diagnostic-6} + \end{minipage}\\ +128& SDIAG7 & & 1 + &\begin{minipage}[t]{3in} + {User-Defined Surface Diagnostic-7} + \end{minipage}\\ +129& SDIAG8 & & 1 + &\begin{minipage}[t]{3in} + {User-Defined Surface Diagnostic-8} + \end{minipage}\\ +130& SDIAG9 & & 1 + &\begin{minipage}[t]{3in} + {User-Defined Surface Diagnostic-9} + \end{minipage}\\ +131& SDIAG10 & & 1 + &\begin{minipage}[t]{3in} + {User-Defined Surface Diagnostic-1-} + \end{minipage}\\ +132& UDIAG3 & & Nrphys + &\begin{minipage}[t]{3in} + {User-Defined Multi-Level Diagnostic-3} + \end{minipage}\\ +133& UDIAG4 & & Nrphys + &\begin{minipage}[t]{3in} + {User-Defined Multi-Level Diagnostic-4} + \end{minipage}\\ +134& UDIAG5 & & Nrphys + &\begin{minipage}[t]{3in} + {User-Defined Multi-Level Diagnostic-5} + \end{minipage}\\ +135& UDIAG6 & & Nrphys + &\begin{minipage}[t]{3in} + {User-Defined Multi-Level Diagnostic-6} + \end{minipage}\\ +136& UDIAG7 & & Nrphys + &\begin{minipage}[t]{3in} + {User-Defined Multi-Level Diagnostic-7} + \end{minipage}\\ +137& UDIAG8 & & Nrphys + &\begin{minipage}[t]{3in} + {User-Defined Multi-Level Diagnostic-8} + \end{minipage}\\ +138& UDIAG9 & & Nrphys + &\begin{minipage}[t]{3in} + {User-Defined Multi-Level Diagnostic-9} + \end{minipage}\\ +139& UDIAG10 & & Nrphys + &\begin{minipage}[t]{3in} + {User-Defined Multi-Level Diagnostic-10} + \end{minipage}\\ +\end{tabular} +\vspace{1.5in} +\vfill +\newpage +\vspace*{\fill} +\begin{tabular}{lllll} +\hline\hline +N & NAME & UNITS & LEVELS & DESCRIPTION \\ +\hline + +&\\ +238& ETAN & $(hPa,m)$ & 1 + &\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 + &\begin{minipage}[t]{3in} + {Potential Temperature} + \end{minipage}\\ +241& SALT & $g/kg$ & Nr + &\begin{minipage}[t]{3in} + {Salt (or Water Vapor Mixing Ratio)} + \end{minipage}\\ +242& UVEL & $m/sec$ & Nr + &\begin{minipage}[t]{3in} + {U-Velocity} + \end{minipage}\\ +243& VVEL & $m/sec$ & Nr + &\begin{minipage}[t]{3in} + {V-Velocity} + \end{minipage}\\ +244& WVEL & $m/sec$ & Nr + &\begin{minipage}[t]{3in} + {Vertical-Velocity} + \end{minipage}\\ +245& THETASQ & $deg^2$ & Nr + &\begin{minipage}[t]{3in} + {Square of Potential Temperature} + \end{minipage}\\ +246& SALTSQ & $g^2/{kg}^2$ & Nr + &\begin{minipage}[t]{3in} + {Square of Salt (or Water Vapor Mixing Ratio)} + \end{minipage}\\ +247& UVELSQ & $m^2/sec^2$ & Nr + &\begin{minipage}[t]{3in} + {Square of U-Velocity} + \end{minipage}\\ +248& VVELSQ & $m^2/sec^2$ & Nr + &\begin{minipage}[t]{3in} + {Square of V-Velocity} + \end{minipage}\\ +249& WVELSQ & $m^2/sec^2$ & Nr + &\begin{minipage}[t]{3in} + {Square of Vertical-Velocity} + \end{minipage}\\ +250& UVELVVEL & $m^2/sec^2$ & Nr + &\begin{minipage}[t]{3in} + {Meridional Transport of Zonal Momentum} + \end{minipage}\\ +\end{tabular} +\vspace{1.5in} +\vfill + +\newpage +\vspace*{\fill} +\begin{tabular}{lllll} +\hline\hline +N & NAME & UNITS & LEVELS & DESCRIPTION \\ +\hline + +&\\ +251& UVELMASS & $m/sec$ & Nr + &\begin{minipage}[t]{3in} + {Zonal Mass-Weighted Component of Velocity} + \end{minipage}\\ +252& VVELMASS & $m/sec$ & Nr + &\begin{minipage}[t]{3in} + {Meridional Mass-Weighted Component of Velocity} + \end{minipage}\\ +253& WVELMASS & $m/sec$ & Nr + &\begin{minipage}[t]{3in} + {Vertical Mass-Weighted Component of Velocity} + \end{minipage}\\ +254& UTHMASS & $m-deg/sec$ & Nr + &\begin{minipage}[t]{3in} + {Zonal Mass-Weight Transp of Pot Temp} + \end{minipage}\\ +255& VTHMASS & $m-deg/sec$ & Nr + &\begin{minipage}[t]{3in} + {Meridional Mass-Weight Transp of Pot Temp} + \end{minipage}\\ +256& WTHMASS & $m-deg/sec$ & Nr + &\begin{minipage}[t]{3in} + {Vertical Mass-Weight Transp of Pot Temp} + \end{minipage}\\ +257& USLTMASS & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Zonal Mass-Weight Transp of Salt (or W.Vap Mix Rat.)} + \end{minipage}\\ +258& VSLTMASS & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Meridional Mass-Weight Transp of Salt (or W.Vap Mix Rat.)} + \end{minipage}\\ +259& WSLTMASS & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Vertical Mass-Weight Transp of Salt (or W.Vap Mix Rat.)} + \end{minipage}\\ +260& UVELTH & $m-deg/sec$ & Nr + &\begin{minipage}[t]{3in} + {Zonal Transp of Pot Temp} + \end{minipage}\\ +261& VVELTH & $m-deg/sec$ & Nr + &\begin{minipage}[t]{3in} + {Meridional Transp of Pot Temp} + \end{minipage}\\ +262& WVELTH & $m-deg/sec$ & Nr + &\begin{minipage}[t]{3in} + {Vertical Transp of Pot Temp} + \end{minipage}\\ +263& UVELSLT & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Zonal Transp of Salt (or W.Vap Mix Rat.)} + \end{minipage}\\ +264& VVELSLT & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Meridional Transp of Salt (or W.Vap Mix Rat.)} + \end{minipage}\\ +265& WVELSLT & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Vertical Transp of Salt (or W.Vap Mix Rat.)} + \end{minipage}\\ +266& UTRAC1 & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Zonal Transp of Tracer 1} + \end{minipage}\\ +267& VTRAC1 & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Meridional Transp of Tracer 1} + \end{minipage}\\ +268& WTRAC1 & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Vertical Transp of Tracer 1} + \end{minipage}\\ +269& UTRAC2 & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Zonal Transp of Tracer 2} + \end{minipage}\\ +270& VTRAC2 & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Meridional Transp of Tracer 2} + \end{minipage}\\ +271& WTRAC2 & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Vertical Transp of Tracer 2} + \end{minipage}\\ +272& UTRAC3 & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Zonal Transp of Tracer 3} + \end{minipage}\\ +273& VTRAC3 & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Meridional Transp of Tracer 3} + \end{minipage}\\ +274& WTRAC3 & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Vertical Transp of Tracer 3} + \end{minipage}\\ +275& WSLTMASS & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Vertical Mass-Weight Transp of Salt (or W.Vap Mix Rat.)} + \end{minipage}\\ +\end{tabular} +\vspace{1.5in} +\vfill + +\newpage +\vspace*{\fill} +\begin{tabular}{lllll} +\hline\hline +N & NAME & UNITS & LEVELS & DESCRIPTION \\ +\hline + +&\\ +275& UTRAC4 & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Zonal Transp of Tracer 4} + \end{minipage}\\ +276& VTRAC4 & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Meridional Transp of Tracer 4} + \end{minipage}\\ +277& WTRAC4 & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Vertical Transp of Tracer 4} + \end{minipage}\\ +278& UTRAC5 & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Zonal Transp of Tracer 5} + \end{minipage}\\ +279& VTRAC5 & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Meridional Transp of Tracer 5} + \end{minipage}\\ +280& WTRAC5 & $m-kg/sec-kg$ & Nr + &\begin{minipage}[t]{3in} + {Vertical Transp of Tracer 5} + \end{minipage}\\ +281& TRAC1 & $kg/kg$ & Nr + &\begin{minipage}[t]{3in} + {Mass-Weight Tracer 1} + \end{minipage}\\ +282& TRAC2 & $kg/kg$ & Nr + &\begin{minipage}[t]{3in} + {Mass-Weight Tracer 2} + \end{minipage}\\ +283& TRAC3 & $kg/kg$ & Nr + &\begin{minipage}[t]{3in} + {Mass-Weight Tracer 3} + \end{minipage}\\ +284& TRAC4 & $kg/kg$ & Nr + &\begin{minipage}[t]{3in} + {Mass-Weight Tracer 4} + \end{minipage}\\ +285& TRAC5 & $kg/kg$ & Nr + &\begin{minipage}[t]{3in} + {Mass-Weight Tracer 5} + \end{minipage}\\ +286& DICBIOA & $mol/m3/s$ & Nr + &\begin{minipage}[t]{3in} + {Biological Productivity} + \end{minipage}\\ +287& DICCARB & $mol eq/m3/s$ & Nr + &\begin{minipage}[t]{3in} + {Carbonate chg-biol prod and remin} + \end{minipage}\\ +288& DICTFLX & $mol/m3/s$ & 1 + &\begin{minipage}[t]{3in} + {Tendency of DIC due to air-sea exch} + \end{minipage}\\ +289& DICOFLX & $mol/m3/s$ & 1 + &\begin{minipage}[t]{3in} + {Tendency of O2 due to air-sea exch} + \end{minipage}\\ +290& DICCFLX & $mol/m2/s$ & 1 + &\begin{minipage}[t]{3in} + {Flux of CO2 - air-sea exch} + \end{minipage}\\ +291& DICPCO2 & $atm$ & 1 + &\begin{minipage}[t]{3in} + {Partial Pressure of CO2} + \end{minipage}\\ +292& DICPHAV & $dimensionless$ & 1 + &\begin{minipage}[t]{3in} + {Average pH} + \end{minipage}\\ +293& DTCONV & $deg/sec$ & Nr + &\begin{minipage}[t]{3in} + {Temp Change due to Convection} + \end{minipage}\\ +294& DQCONV & $g/kg/sec$ & Nr + &\begin{minipage}[t]{3in} + {Specific Humidity Change due to Convection} + \end{minipage}\\ +295& RELHUM & $percent$ & Nr + &\begin{minipage}[t]{3in} + {Relative Humidity} + \end{minipage}\\ +296& PRECLS & $g/m^2/sec$ & 1 + &\begin{minipage}[t]{3in} + {Large Scale Precipitation} + \end{minipage}\\ +297& ENPREC & $J/g$ & 1 + &\begin{minipage}[t]{3in} + {Energy of Precipitation (snow, rain Temp)} + \end{minipage}\\ +298& VISCA4 & $m^4/sec$ & 1 + &\begin{minipage}[t]{3in} + {Biharmonic Viscosity Coefficient} + \end{minipage}\\ +299& VISCAH & $m^2/sec$ & 1 + &\begin{minipage}[t]{3in} + {Harmonic Viscosity Coefficient} + \end{minipage}\\ +300& DRHODR & $kg/m^3/{r-unit}$ & Nr + &\begin{minipage}[t]{3in} + {Stratification: d.Sigma/dr} + \end{minipage}\\ +\end{tabular} +\vspace{1.5in} +\vfill + +\newpage +\vspace*{\fill} +\begin{tabular}{lllll} +\hline\hline +N & NAME & UNITS & LEVELS & DESCRIPTION \\ +\hline + +&\\ +301& DETADT2 & ${r-unit}^2/s^2$ & 1 + &\begin{minipage}[t]{3in} + {Square of Eta (Surf.P,SSH) Tendency} + \end{minipage}\\ \end{tabular} \vspace{1.5in} \vfill @@ -649,9 +1220,8 @@ {\bf DIAGNOSTIC} = {1 \over TTOT} \sum_{t=1}^{t=TTOT} diag(t) \] where $TTOT = {{\bf NQDIAG} \over \Delta t}$, {\bf NQDIAG} is the -output frequency of the diagnositc, and $\Delta t$ is -the timestep over which the diagnostic is updated. For further information on how -to set the diagnostic output frequency {\bf NQDIAG}, please see Part III, A User's Guide. +output frequency of the diagnostic, and $\Delta t$ is +the timestep over which the diagnostic is updated. {\bf 1) \underline {UFLUX} Surface Zonal Wind Stress on the Atmosphere ($Newton/m^2$) }