The main purpose in any climate simulation is to produce atmospheric and other related statistics. The choice of these statistics is dependent on the scientific investigation being performed and may involve filtering or interpolation of the basic model data. In designing and implementing the diagnostics for COLA AGCM, it has been assumed that as full as possible a representation of the model state should be available, and that filtering or interpolation should only be done in a post-processing step. This allows the original information to be made available at all times and to be reprocessed in as many ways as deemed necessary to obtain any desired information. A number of choices have been built into the model to allow flexibility in sampling frequency and parameters saved.

The size of the model output limits the frequency with which it can be written. The model output are typically written every synoptic interval. For intensive process studies this is usually 24 hours, while for time extensive simulations this is one calendar month. In either case this results in a manageable data set for obtaining necessary statistics. The data are divided into prognostic variables and diagnostics variables. For ease in post-processing, the atmospheric prognostic variables are written in the following order: surface pressure, zonal and meridional winds, absolute temperature and specific humidity. All other surface data prognostic fields can follow in any order but must be written before any diagnostic field. Due to infrequent sampling intervals, the user may wish to have time averages of the above atmospheric prognostic fields, plus other surface data fields. They can be accumulated and written as diagnostic fields for each synoptic interval. For ease in post-processing, the atmospheric time mean fields are the first diagnostic fields written and are written in the same order as the instantaneous fields.

The post-processing system developed for model output evaluation requires each data set to have a directory indicating the fields in the output data set and their structure. The directory contains sufficient information for the post-processing system to interpolate, reformulate, and convert the data into the form desired by the user. Presently only vertical interpolation is typically done. The directory has been designed to accommodate most model resolutions and structures and can be changed as needed. Before any model output data is written, the directory is written to a separate data set. The writing of the directory is done in the subroutine WRDRCT which is called directly from the subroutine STEPON. Each line in the directory is written with formatted fixed 80 byte records. The first lines in the directory are used to document the general model output structure and experiment related information. The first record contains a 20 byte directory type. For the model prognostic and diagnostic synoptic file the type is:

COLA VERSION2 XFMT 1

This directory type does not change from experiment to experiment and is used to indicate to the post-processing system which of several directory types are being read in.

The second line contains the following:
Name Data Type Length Description
NEXP CHARACTER*4 1 Model experiment number
NENS CHARACTER*4 1 Ensemble member number
TRUNC CHARACTER*1 1 Spectral truncation type: 

R for rhomboidal

T for triangular

P for pentagonal

Z for trapezoidal

NWN INTEGER 1 Maximum meridional wave number
MEND1 INTEGER 1 For R or T = NWN + 1

For P or Z = cutoff index > NWN + 1

KMAX INTEGER 1 Number of vertical layers
IHR INTEGER 1 Model simulated hour when directory is written
IDAY INTEGER 1 Model simulated day of the month when directory is written
MON INTEGER 1 Model simulated month when directory is written
IYR INTEGER 1 Model simulated year (all digits) when directory is written
IDATE INTEGER 4 Initial starting date for NEXP/NENS
DFMT CHARACTER*4 1 Data format data is written in. Possible values are:

BNDN IEEE big endian

LNDN IEEE little endian

CRAY Native CRAY binary

 

The format used for the above is: (A4,1X,A4,1X,A4,1X,I4,4I3,I5,3I3,I5,1X,A4).

The third line contains two CHARACTER*40 fields. The first is the experiment title. The second is an optional special processing code indicator. The code is used to indicate to the post- processing system that special processing required for some or all of the data. The code used is user dependent.

The next lines in the directory are used to show the hybrid coordinate coefficients used for each layer. These are divided into four sets each indexed from bottom to top. The first set contains the surface pressure independent interface coefficients for each layer. Since each layer has a top and a bottom interface, but these interfaces are shared with adjacent layers, there are a total of KMAX+1 interface values. The second set contains the surface pressure independent hydrostatically consistent mid-point coefficients for each layer. The third set contains KMAX+1 surface pressure dependent interface coefficients. The fourth set contains the surface pressure dependent mid-point coefficients for each layer. The format 4F20.16 is used for each set of hybrid coordinate coefficients using as many directory lines as necessary per set. With these coefficients, the post-processing system can rebuild the entire vertical coordinate structure.

The remaining lines in the directory list the specific fields in the order they appear in the output data set. One line in the directory is used for each field.
 

Each line contains the following items:
Name Data type Description
FLDNAM CHARACTER*40 Field name
PRODIA CHARACTER*4 Prognostic/Diagnostic field indicator: 

PROG for prognostic

DIAG for diagnostic

NUMWDS INTEGER Number of words in each record. Currently all are Gaussian grids = number of longitudes × number of latitudes
LAYERS INTEGER Number of layers (also number of records) in the field (=1 for 2D fields)
IUNIT INTEGER Units code for the field
 

The format used for the above is (A40, 2X, A4, 2X, 15, 3X, 12, 4X, 13).

The units code corresponds to a units conversion table given in the appendix.

At the end of each synoptic period both the prognostic and diagnostic fields are written. It is assumed that all data are written with 4-byte words unless indicated with the special processing label. The writing of the prognostic variables is set up in the subroutine WRPROG. The first record has the time and hybrid coordinate information. See Model Files document for more details. The subroutine WRPROG determines the order the prognostic data are written, any final conversion factor for the data and the length of each record for each field. For each field the subroutine SCLOUT is called. In SCLOUT each level of the input field undergoes the following:
 

Similarly the subroutine WRIDIA writes the diagnostic fields. Just as for WRPROG, for each diagnostic field SCLOUT is called with appropriate arguments. The selection and order of the diagnostics fields is more complex. When Running GCM experiments if is often necessary to have specialized diagnostics to answer fundamental questions posed in conducting the experiments. Space limitations in both memory and storage media restrict the diagnostic calculation codes to conform to the requirements for a given experiment. Frequent time consuming and error prone revisions are often necessary to meet these needs. To take advantage of the existing post-processing system and to reduce the need for code revision, an extended diagnostics system has been included in the COLA AGCM which allows the user to select from a list of available diagnostics or to combine these to form new diagnostics. Version 2 of the system is the dynamic memory version. This means that the total space for all the diagnostic accumulators is set at execution time and that less space is used if a limited number of diagnostics is requested. This version forms a portion of version 2 of the COLA AGCM and replaces the static memory version 1 diagnostics system used in the version 1 COLA AGCM. This version of the diagnostics also helps to better meet the multitasking requirements of the version 2 AGCM. A different version will be needed for distributed memory environments. The extended diagnostics system requires two tables at execution time. Both tables must be present or an error is generated.

The first table contains the available diagnostics as currently computed in the model. This table lists the name, number of layers, units code (as computed internally), field type (formerly spectral or Gaussian, now Gaussian only), and the position or branch of the code (GPHYS, GWATER, both or outside of either branch) for each available diagnostic. Except for changing the names, the other columns should remain unchanged, particularly the order. Should additional diagnostics be added, they must be appended to the end of the file. The names of the time mean fields should not be changed since the post-processing system looks specifically for these names. This table is read from file unit 48.

The second table contains the diagnostics desired by the user. The order is important. The table is divided into two parts. The first part lists each diagnostic desired by the user: both those listed in the available diagnostics table and combined fields created by the user. These diagnostics may be listed in any order, however the user may find it more convenient to specify the combined fields after the directly available fields. The output order will be the directly requested available diagnostics in the order listed in the available diagnostics table followed by the user created combined fields in the order entered in the table. In addition to the field name, the other columns are the number of layers, the units code for the diagnostic as desired by the user and a calculation reference code which is always zero for the actual desired diagnostics. Note that the global diagnostics printed at every synoptic period use these diagnostics. Therefore, in order to print these diagnostics the individual diagnostics must be requested. The diagnostics will print in the units specified by the user. Also note that the units codes for the time mean diagnostics should not be different from the units codes in the available table. The second part of the desired diagnostics table contains the components used to form the user created combined fields specified earlier in the table. If no combined fields are listed, the second part is not needed and should not be specified. The columns for the combined field components remain the same as for the desired fields. The number of layers and units codes are presently ignored. The order for the combined field components is important. All combined field components for a previously specified combined field should be listed consecutively. The calculation reference code specified for each combined field component does two things: it refers to the combined field entry number of the previously listed combined field component and whether it is added if positive or subtracted if negative. The combined field components can be either available diagnostics, whether previously listed as desired diagnostics or not, or previously defined combined fields, i.e. those whose components have already been listed. The units code for the combined field must be the same group as each of its components if they are available diagnostics. Combined fields used as components must have exactly the same units code as the combined fields to which they refer. The file unit number for the desired diagnostics table is 49.

Following are some examples of desired diagnostic tables. The first example is a relatively simple case.

TIME MEAN SURFACE PRESSURE                  1  130    0    
TIME MEAN ZONAL WIND (U)                   18   60    0 
TIME MEAN MERIDIONAL WIND (V)              18   60    0 
TIME MEAN ABSOLUTE TEMPERATURE             18   40    0 
TIME MEAN SPECIFIC HUMIDITY                18    0    0 
TIME MEAN SURFACE TEMPERATURE               1   40    0
TOTAL PRECIPITATION                         1  121    0
CONVECTIVE PRECIPITATION                    1  121    0
RUNOFF                                      1  121    0
PRECIPITABLE WATER                          1  110    0
INTERCEPTION LOSS                           1  170    0
SENSIBLE HEAT FLUX FROM SURFACE             1  170    0
LATENT HEAT FLUX FROM SURFACE               1  170    0
SURFACE ZONAL WIND STRESS                   1  130    0
SURFACE MERIDIONAL WIND STRESS              1  130    0
CLOUD COVER                                 1    0    0
DOWNWARD LONG WAVE AT BOTTOM                1  170    0
OUTGOING LONG WAVE AT TOP                   1  170    0
INCIDENT SHORT WAVE FLUX                    1  170    0
DOWNWARD SHORT WAVE AT GROUND               1  170    0
SHORT WAVE ABSORBED BY EARTH/ATMOSPHERE     1  170    0
SHORT WAVE ABSORBED AT GROUND               1  170    0
NET LONG WAVE AT BOTTOM                     1  170    0
TOTAL DIABATIC HEATING                     18   71    0
LONG WAVE RADIATIVE HEATING                18   70   24
SHORT WAVE RADIATIVE HEATING               18   70   24
CONVECTIVE LATENT HEATING                  18   70   24
LARGE SCALE LATENT HEATING                 18   70   24
SHALLOW CONVECTIVE HEATING                 18   70   24
VERTICAL DIFFUSION HEATING                 18   70   24
 

The first 23 diagnostics are available directly. The 24th diagnostic is a combined field. Its components are the 6 heatings listed immediately below. Each component heating is added (as indicated by the positive 24) to form the total diabatic heating field. Each component is an available diagnostic and therefore does not need to have been previously listed. The number of layers and the units code shown for each component are not used but indicate what they are internal to the model code.

The next example is similar to the first, except that the components are also requested as diagnostics. Since the 6 heatings are now diagnostics, the total diabatic heating becomes the 30th field listed and the calculation reference code is accordingly changed.

TIME MEAN SURFACE PRESSURE                  1  130    0    
TIME MEAN ZONAL WIND (U)                   18   60    0 
TIME MEAN MERIDIONAL WIND (V)              18   60    0 
TIME MEAN ABSOLUTE TEMPERATURE             18   40    0 
TIME MEAN SPECIFIC HUMIDITY                18    0    0 
TIME MEAN SURFACE TEMPERATURE               1   40    0
TOTAL PRECIPITATION                         1  121    0
CONVECTIVE PRECIPITATION                    1  121    0
RUNOFF                                      1  121    0
PRECIPITABLE WATER                          1  110    0
INTERCEPTION LOSS                           1  170    0
SENSIBLE HEAT FLUX FROM SURFACE             1  170    0
LATENT HEAT FLUX FROM SURFACE               1  170    0
SURFACE ZONAL WIND STRESS                   1  130    0
SURFACE MERIDIONAL WIND STRESS              1  130    0
CLOUD COVER                                 1    0    0
DOWNWARD LONG WAVE AT BOTTOM                1  170    0
OUTGOING LONG WAVE AT TOP                   1  170    0
INCIDENT SHORT WAVE FLUX                    1  170    0
DOWNWARD SHORT WAVE AT GROUND               1  170    0
SHORT WAVE ABSORBED BY EARTH/ATMOSPHERE     1  170    0
SHORT WAVE ABSORBED AT GROUND               1  170    0
NET LONG WAVE AT BOTTOM                     1  170    0
LONG WAVE RADIATIVE HEATING                18   71    0
SHORT WAVE RADIATIVE HEATING               18   71    0
CONVECTIVE LATENT HEATING                  18   71    0
LARGE SCALE LATENT HEATING                 18   71    0
SHALLOW CONVECTIVE HEATING                 18   71    0
VERTICAL DIFFUSION HEATING                 18   71    0
TOTAL DIABATIC HEATING                     18   71    0
LONG WAVE RADIATIVE HEATING                18   70   30
SHORT WAVE RADIATIVE HEATING               18   70   30
CONVECTIVE LATENT HEATING                  18   70   30
LARGE SCALE LATENT HEATING                 18   70   30
SHALLOW CONVECTIVE HEATING                 18   70   30
VERTICAL DIFFUSION HEATING                 18   70   30
 

In the final example four combined fields are defined. The first two are straightforward, defined by the method previously shown. Note that the total heating components all precede the non-advective moistening components. The combined field of shallow convective precipitation is an example of a field formed by both subtracting as well as adding components. Again the components are grouped together with the large scale and convective being subtracted from the total precipitation. The last combined field is a meaningless example designed to show how the previously defined combined field of shallow convective precipitation can be used as a component for a new field.

TIME MEAN SURFACE PRESSURE                  1  130    0    
TIME MEAN ZONAL WIND (U)                   18   60    0 
TIME MEAN MERIDIONAL WIND (V)              18   60    0 
TIME MEAN ABSOLUTE TEMPERATURE             18   40    0 
TIME MEAN SPECIFIC HUMIDITY                18    0    0 
TIME MEAN SURFACE TEMPERATURE               1   40    0
TOTAL PRECIPITATION                         1  121    0
CONVECTIVE PRECIPITATION                    1  121    0
RUNOFF                                      1  121    0
PRECIPITABLE WATER                          1  110    0
INTERCEPTION LOSS                           1  170    0
SENSIBLE HEAT FLUX FROM SURFACE             1  170    0
LATENT HEAT FLUX FROM SURFACE               1  170    0
SURFACE ZONAL WIND STRESS                   1  130    0
SURFACE MERIDIONAL WIND STRESS              1  130    0
CLOUD COVER                                 1    0    0
DOWNWARD LONG WAVE AT BOTTOM                1  170    0
OUTGOING LONG WAVE AT TOP                   1  170    0
INCIDENT SHORT WAVE FLUX                    1  170    0
DOWNWARD SHORT WAVE AT GROUND               1  170    0
SHORT WAVE ABSORBED BY EARTH/ATMOSPHERE     1  170    0
SHORT WAVE ABSORBED AT GROUND               1  170    0
NET LONG WAVE AT BOTTOM                     1  170    0
TOTAL DIABATIC HEATING                     18   71    0
TOTAL NONADVECTIVE MOISTENING              18   52    0
SHALLOW CONVECTIVE PRECIPITATION            1  121    0
SILLY RESIDUAL                              1  121    0
LONG WAVE RADIATIVE HEATING                18   70   24
SHORT WAVE RADIATIVE HEATING               18   70   24
CONVECTIVE LATENT HEATING                  18   70   24
LARGE SCALE LATENT HEATING                 18   70   24
SHALLOW CONVECTIVE HEATING                 18   70   24
VERTICAL DIFFUSION HEATING                 18   70   24
CONVECTIVE MOISTURE SOURCE                 18   50   25
LARGE SCALE MOISTURE SOURCE                18   50   25
SHALLOW CONV. MOISTURE SOURCE              18   50   25
VERTICAL DIFF. MOISTURE SOURCE             18   50   25
TOTAL PRECIPITATION                         1  121   26
CONVECTIVE PRECIPITATION                    1  121  -26
LARGE SCALE PRECIPITATION                   1  121  -26
SHALLOW CONVECTIVE PRECIPITATION            1  121   27
CONVECTIVE PRECIPITATION                    1  121  -27
LARGE SCALE PRECIPITATION                   1  121  -27
 

The model prints out several tables with the extended diagnostics system. First, the available diagnostics table and the desired diagnostics table are echo printed to verify the input. Next the available diagnostics actually used in the current run are printed. Each diagnostic used is printed with its number of layers, units of code, type and position in the code in plain language. How the diagnostic is used in the current run is also indicated. The desired diagnostics table is then printed. Along with the number of layers and units code, a combined field code is printed. If negative, the field is a combined field whose number is the absolute value of the combined field code. If positive, it is a combined field component. The combined field code indicates to which combined field the component is added or subtracted as printed. The combined field table is then printed showing each combined field and how it is constructed. If the combined field is used as a component for one or more combined fields, a line referring to the combined field(s) is printed. Later the model output directory is printed for verification.

While some error checking is done, the user should be careful when entering the desired diagnostics table. At the beginning of the experiment, the print out should be checked to assure that the correct diagnostics are to be computed. Any detected error will stop processing. No attempts are made to assume what the user intended so that false runs can be avoided. Currently combined fields can only be formed by straight addition or subtraction of the available fields or previously defined combined fields. New fields cannot be created by multiplying by other fields or constants other than units conversion factors. Vertical integration or averaging cannot be done. Both of these features may be added at a later time. This means that the two tables are subject to change in design. New diagnostics can also expected to be added.

For many situations it is desirable to have both a large set of low frequency diagnostics (typically monthly means) and a smaller set of higher frequency diagnostics, usually daily values. To accommodate this need an optional set of subsampled diagnostics can also be produced. This set of data is similar to the synoptic file diagnostics, but the set of fields is currently fixed and only the writing frequency, ISAMP, can be set by the user. When ISAMP=0, no subsampled diagnostics are saved, otherwise ISAMP is the writing frequency per day the subsampled diagnostics are written. Since the fields are fixed, no directory file is generated. Instead a directory file can be assemble from the first 23 header lines of the synoptic file directory and the fixed field lines appended. The fixed fields have one option to contain the minimum and maximum of the canopy air space temperature (if NFMNMX<0) or not. The fixed fields, including the minimum and maximum canopy air space temperature are:

SURFACE PRESSURE                          PROG
ZONAL WIND (U)                            PROG
MERIDIONAL WIND (V)                       PROG
ABSOLUTE TEMPERATURE                      PROG
SPECIFIC HUMIDITY                         PROG
ROUGHNESS LENGTH                          PROG
SURFACE TEMPERATURE                       PROG
TEMPERATURE OF SURFACE ZONE               PROG
TEMPERATURE OF ROOT ZONE                  PROG
TEMPERATURE OF DRAINAGE ZONE              PROG
STORAGE ON CANOPY                         PROG
STORAGE ON GROUND                         PROG
SOIL WETNESS OF SURFACE                   PROG
SOIL WETNESS OF ROOT ZONE                 PROG
SOIL WETNESS OF DRAINAGE ZONE             PROG
TIME MEAN SURFACE PRESSURE                DIAG
TIME MEAN SURFACE TEMPERATURE             DIAG
TOTAL PRECIPITATION                       DIAG
SNOWFALL                                  DIAG
RUNOFF                                    DIAG
SENSIBLE HEAT FLUX FROM SURFACE           DIAG
LATENT HEAT FLUX FROM SURFACE             DIAG
SURFACE ZONAL WIND STRESS                 DIAG
SURFACE MERIDIONAL WIND STRESS            DIAG
UPWARD LONG WAVE AT BOTTOM                DIAG
UPWARD SHORT WAVE AT GROUND               DIAG
SHORT WAVE ABSORBED AT GROUND             DIAG
NET LONG WAVE AT BOTTOM                   DIAG
TEMPERATURE OF CANOPY AIR SPACE           DIAG
TEMPERATURE OF CANOPY AIR SPACE MINIMUM   DIAG
TEMPERATURE OF CANOPY AIR SPACE MAXIMUM   DIAG
SURFACE COVER TO GROUND HEAT FLUX         DIAG
SURFACE RUNOFF                            DIAG
SNOW MELT                                 DIAG
EVAPORATION PLUS SUBLIMATION              DIAG
The file thus contains all the model prognostic fields and the above listed diagnostic fields. With the constructed directory file, the subsampled data can be post-processed in the same manner as the synoptic data, but the user may wish to generate fewer pressure levels. Allowing for user selectable fields for the subsampled diagnostics may be added in later versions.