CCSM3 Output Filename Requirements

This document presents the naming conventions for CCSM3 output files. The first section lists filename requirements for output files generated by all of the CCSM3 components, while the second section addresses filename requirements for all CCSM3 processed datasets, that is, all datasets that result from operations, such as concatenation, averaging, etc, on CCSM3 model output files.

1. CCSM3 Output Filename Requirements

The general format for CCSM3 output files is

/$LOG/$CASE/$gcomp/subdir/$CASE.$scomp.$type.yyyy-mm-dd-sssss[.$ending]
[loc]/$CASE/$gcomp/subdir/$CASE.$scomp.$type.yyyy-mm-dd-sssss[.$ending]
....................[loc]/$CASE.$scomp.$type.yyyy-mm-dd-sssss[.$ending]

gcomp = [atm,lnd,ocn,ice,cpl]
subdir = [rest,init,hist]
scomp = [cam2,clm2,pop,csim,cpl,dice5]
type = r(restart), i(initial), h(history), d(diagnostic), rh(restart history), rd(restart diagnostic) followed by [a-z,0-9] optional
ending = "", .nc, .hdr

What this does is as follows, all restarts start with r in type. All histories start with h in type. All initials start with i in type. All restart versions of history files use the history type with an r in front. Some models have multiple restarts, some have multiple histories, etc. It's up to the liason to choose whether to attach an optional char to the r, h or i and what that char would be. Also, all restarts will be $CASE.$scomp.r*.yyyy-mm-dd-sssss. All monthly average files will look like $CASE.$scomp.h*.yyyy-mm. A minor problem is that the "type" will not indicate a monthly average, only the date will.

REPO:

The * below represents an "optional" character.

/$LOG/$CASE/atm/rest/$CASE.cam2.r*.yyyy-mm-dd-sssss
.............../rest/$CASE.cam2.r*.yyyy-mm-dd-sssss
.............../rest/$CASE.cam2.rh*.yyyy-mm-dd-sssss
.............../rest/$CASE.cam2.rh*.yyyy-mm-dd-sssss
.............../hist/$CASE.cam2.h*.yyyy-mm.nc
.............../hist/$CASE.cam2.h*.yyyy-mm-dd-sssss.nc
.............../init/$CASE.cam2.i.yyyy-mm-dd-sssss.nc
............lnd/rest/$CASE.clm2.r.yyyy-mm-dd-sssss
.............../hist/$CASE.clm2.h*.yyyy-mm.nc
.............../hist/$CASE.clm2.h*.yyyy-mm-dd-sssss.nc
.............../init/$CASE.clm2.i.yyyy-mm-dd-sssss.nc
............ocn/rest/$CASE.pop.r.yyyy-mm-dd-sssss
.............../rest/$CASE.pop.rh*.yyyy-mm-dd-sssss
.............../hist/$CASE.pop.h*.yyyy-mm.nc
.............../hist/$CASE.pop.h*.yyyy-mm-dd-sssss.nc (movie stream)
............ice/rest/$CASE.csim.r.yyyy-mm-dd-sssss
.............../rest/$CASE.csim.r*.yyyy-mm-dd-sssss
.............../hist/$CASE.csim.h.yyyy-mm.nc
.............../init/$CASE.csim.i.yyyy-mm-dd-sssss.nc
............cpl/rest/$CASE.cpl.r.yyyy-mm-dd-sssss
.............../rest/$CASE.cpl.rh*.yyyy-mm-dd-sssss
.............../hist/$CASE.cpl.h*.yyyy.nc
.............../hist/$CASE.cpl.h*.yyyy-mm.nc
.............../hist/$CASE.cpl.h*.yyyy-mm-dd.nc
.............../hist/$CASE.cpl.h*.yyyy-mm-dd-sssss.nc

REPO:

A specific example might be

/$LOG/$CASE/atm/rest/$CASE.cam2.rp.yyyy-mm-dd-sssss
.............../rest/$CASE.cam2.re.yyyy-mm-dd-sssss
.............../rest/$CASE.cam2.rhp.yyyy-mm-dd-sssss
.............../rest/$CASE.cam2.rh1.yyyy-mm-dd-sssss
.............../hist/$CASE.cam2.hp.yyyy-mm.nc
.............../hist/$CASE.cam2.h1.yyyy-mm-dd-sssss.nc
.............../init/$CASE.cam2.i.yyyy-mm-dd-sssss.nc
............lnd/rest/$CASE.clm2.r.yyyy-mm-dd-sssss
.............../hist/$CASE.clm2.hm.yyyy-mm.nc
.............../hist/$CASE.clm2.h1.yyyy-mm-dd-sssss.nc
.............../init/$CASE.clm2.i.yyyy-mm-dd-sssss.nc
............ocn/rest/$CASE.pop.r.yyyy-mm-dd-sssss
.............../rest/$CASE.pop.rh.yyyy-mm-dd-sssss
.............../hist/$CASE.pop.h.yyyy-mm.nc
.............../hist/$CASE.pop.hm.yyyy-mm-dd-sssss.nc (movie)
............ice/rest/$CASE.csim.r.yyyy-mm-dd-sssss
.............../rest/$CASE.csim.rhm.yyyy-mm-dd-sssss
.............../hist/$CASE.csim.hm.yyyy-mm.nc
.............../init/$CASE.csim.i.yyyy-mm-dd-sssss.nc
............cpl/rest/$CASE.cpl.r.yyyy-mm-dd-sssss
.............../rest/$CASE.cpl.rhy.yyyy-mm-dd-sssss
.............../rest/$CASE.cpl.rhm.yyyy-mm-dd-sssss
.............../rest/$CASE.cpl.rhd.yyyy-mm-dd-sssss
.............../rest/$CASE.cpl.rh1.yyyy-mm-dd-sssss
.............../hist/$CASE.cpl.hy.yyyy.nc
.............../hist/$CASE.cpl.hm.yyyy-mm.nc
.............../hist/$CASE.cpl.hd.yyyy-mm-dd.nc
.............../hist/$CASE.cpl.hs.yyyy-mm-dd-sssss.nc
.............../hist/$CASE.cpl.h1.yyyy-mm-dd-sssss.nc

2. Filenames for Processed CCSM3 Datasets

In the preceding section, naming conventions were established for output data files generated by the CCSM3 model as it executes ("model output data"); in this section, the conventions are extended in order to define rules for data files that result from the post-processing of CCSM3 model output data.

Post-processed data files may include temporal averages (eg, seasonal, annual, or decadal), spatial averages (eg, zonal, meridional, global), timeseries, or other diagnosed quantities (eg, meridional overturning streamfunction, barotropic streamfunction). The following rules are intended to provide a consistent structure for naming each of these types of files.

The development of these naming conventions was guided by the desire to:

Users are free to use their own naming conventions in their own personal directories, but filenames of all data files that are written to /CCSM/csm/ directories must follow the conventions described in this document.

If there are particular post-processing circumstances that are not addressed in this document, it is important to discuss them with CSEG first, prior to creating non-standard filenames. Only after the issues have been resolved and the documentation updated should the files be created with new naming conventions.

2.1 Filename Requirements for Post-Processed CCSM Data

Data files which result from the post-processing of /CCSM/csm model output may be stored in the /CCSM/csm directory on the NCAR mass-storage system only if the filenames conform to the following general format:

$DIRNAME/$FILENAME

where

$DIRNAME = /CCSM/csm/$CASE/$gcomp/$subdir/$tdir/$tperiod

$FILENAME = $CASE.$scomp.$type.$SSTRING.[$TPREFIX.]$TSTRING[.$ending]

quantities within square brackets [] are optional, and $CASE, $gcomp, $scomp, and $type are as defined in Section 1.

The following are definitions of the various components of $DIRNAME and $FILENAME; note that several examples follow below, to illustrate the use of these options.

Both $SSTRING and $TSTRING have additional rules that are intended to allow for the creation of a unique filename that helps to unambiguously identify the contents of the file:

$SSTRING Format: substring1[_substring2[_substring3...]]

$SSTRING Rules:

  1. The complete absence of $SSTRING has a particular meaning: there have been no spatial operations done on the original model history-file contents, and all of the original history-file variables are contained within the post-processed data file
  2. $SSTRING may contain one or more "descriptors," each of which is denoted by substring${N}, ${N}=1,2,... in the format above. A descriptor identifies important aspects of the file contents, such as the names of fields that have been extracted from the original history files, or spatial operations that have been performed. Certain standard descriptor names have been established and are cataloged below
  3. If there are multiple descriptors in $SSTRING, each is separated from the other by the underscore character ("_")
  4. $SSTRING may contain field information. For netCDF files, use the short_name value(s), such as such as UU, VVEL, or UVEL_VVEL
  5. The absence of a field name in $SSTRING indicates that all fields from the original history file are included in the processed file
  6. Naming conventions for some spatial operators have been established:
    • zavg -- zonally averaged data
    • gavg -- globally averaged data
    • nh -- northern-hemisphere averaged data
    • sh -- southern-hemisphere averaged data
    All datasets created with any of these spatial operations must use the appropriate operator listed above in $SSTRING.

The format and rules for $TSTRING, which is intended to indicate the time or time periods of the original data files which were processed in order to create this file, are as follows:

$TSTRING Format: datestring1[_operator_datestring2]

$TSTRING Rules:

  1. $TSTRING datestrings must follow the conventions for model output files, eg
    • yyyy-mm-dd-sssss
    -- instantaneous
    • yyyy-mm-dd
    -- daily average
    • yyyy-mm
    -- monthly average
    • yyyy
    -- annual average
  2. $TSTRING datestrings may be separated by an operator which describes the temporal operations that were performed on the original data file(s) in order to produce this file
  3. The following temporal operators are defined
    • tavg -- time average between consecutive time slices
    • cat -- concatenation of all consecutive time slices contained within a series of history files, which creates a timeseries
  4. If present, the $TSTRING temporal operator is separated from datestring1 and datastring2 by the underscore character ("_")

2.1.1 Standard Filename String Names

Several descriptive names have been identified as "standard" CCSM analysis string names and are therefore restricted to the meaning defined below. Presently, standard names have been established only for post-processed ocean files. Users of other CCSM components are encouraged to submit additional candidates for standard string names, and should be free to develop suitable descriptive string names to suit their own applications, as long as they do not conflict the the reserved strings listed below.

In the event that more than one, but not all, of the original component output fields are extracted into a processed file, the user must decide how to describe the file contents. For a small number of fields, the user may decide that it is best to combine the individual field names, such as UVEL_VVEL_WVEL. For a large number of fields, the user may instead decide to define a meaningful string which describes the collection of fields. The user who decides to define such a string must register that string name with the CSEG prior to storing the files in the official proc or ipcc directories.

2.1.2 Examples

Combinations of the various string names are intended to provide sufficient flexibility to describe the file contents. The following examples are used to illustrate standard practices: