next up previous contents
Next: 4 Output Data Up: users_guide Previous: 2 Running the Coupler   Contents

Subsections

3 Input Namelist Parameters

To some extent, the behavior of the Coupler can be specified or modified at run
time.  This is done almost exclusively through the use of an F90 namelist.  This
section contains a list and description of available namelist input parameters.
The Coupler reads an input namelist, called inparm, from stdin, at runtime.

3.1 List of Parameters

Coupler input variables follow a naming convention in which the first few 
letters of the variable identify a basic functionality group:

   * case_xxx  selects options with respect to specifying a case name and
               description
   * rest_xxx  selects options with respect to the creation or retrieval of 
               restart files and to specify related initial conditions.
   * stop_xxx  selects options with respect to when a simulation will stop
   * hist_xxx  selects options with respect to when and what type of
               history data is created
   * diag_xxx  selects options with respect to run-time diagnostics of the
               physical simulation,
   * flx_xxx   selects options with respect to flux calculation specifics
   * orb_xxx   selects options with respect to solar orbit calculations
   * mss_xxx   selects options with respect to data file archival (in the past 
               this meant using NCAR's Mass Storage System, the "MSS")
   * info_xxx  selects options with respect to monitoring the progress or
               computational performance of the model

The following list of input namelist parameters includes this information:

   * Type: the variable's data type.  
     Notes: 
     o some character strings have length = CLONG.  "CLONG" is a single global 
       constant used throughout the Coupler to define a "long" character string.
       The CLONG is hardcoded to be 256.
     o "integer boolean" means an integer such that a value of zero is
       interpreted as "false", and any non-zero value is interpreted as "true".
   * Default: the default value of the variable. While reasonable default values
     are selected when possible, users might want to alter these values 
     according to their application.
   * Required: tells if and when the variable is required input.  Very few 
     input parameters are required. In a few cases, changing one default value 
     will cause other input parameters to become required.
   * Description: a brief description of the purpose and effect of the 
     parameter.
   * Example: a reference to an example namelist which uses the variable 
     (examples follow this list).

case_name
     Type: character(len=CLONG)
     Default: "null"
     Required: no, but highly recommended
     Description: This is the case name text string which is used to create 
     output file names and is also included in output files to help identify the
     model run.  Generally this should be a short string (eg. 8 chars) and 
     contain only those characters that are valid in unix file names.
     See Example: 1, 2, 3, 4

case_desc
     Type: character(len=CLONG)
     Default: "null"
     Required: no, but highly recommended
     Description: This is a short text string (typically less than 80 chars) 
     which is included in output files to help identify the model run.
     See Example: 1, 2, 3, 4

rest_type
     Type: character(len=32)
     Default: "startup"
     Required: no (but default is of limited usefulness)
     Description: This selects the run type.  
     Valid choices are: "startup", "hybrid", "continue", or "branch".  
     Selecting "branch" makes rest_bfile a required input.
     See Example: 1, 2, 3, 4

rest_pfile
     Type: character(len=CLONG)
     Default: "null"
     Required: yes
     Description: This is the complete path and name of the restart "pointer
     file."  This must include an existing, NFS mounted directory. All run
     types will update this file (and create it, if necessary), but only a
     continuation runs requires that this file exists prior to the start of
     the run.
     See Example: 1, 2, 3, 4

rest_bfile
     Type: character(len=CLONG)
     Default: "null"
     Required: required if rest_type = "branch", ignored otherwise.
     Description: This is the file name of the "branch file" (the IC data file).
     Note that a prefix like "mss:" is used to indicate a file archival device,
     Valid prefix options are: 
     * "cp:" or no-prefix indicates a normal unix file copy from an NFS mounted
        file system.
     * "mss:" indicates a file on NCAR's MSS 
     * "null:" indicates no archival -- the file name, stripped of any directory
        information, indicates a file in the current working directory.
     See Example: 4

rest_date
     Type: integer
     Default: 00000101 (year 0, month 1, day 1, encoded yyyymmdd)
     Required: no (ignored for "continuation" runs, optional for others).
     Description: This is the restart date.
     * On startup and hybrid runs, rest_date is the initial date of the 
       simulation.
     * On branch runs, if rest_date > 0, it will over-ride the date contained
       in the rest_bfile IC restart file. Otherwise the date from the
       rest_bfile data file is used.
     * On continuation runs rest_date is not used (the date contained in the IC
       file is used).
     See Example: 1, 2

rest_freq
     Type: character(len=32)
     Default: "monthly"
     Required: no
     Description: This is the restart frequency which selects how often restart
     data files are created.  Options are:
     * "yearly"    => restart files on every January 1st
     * "halfyear   => restart files on every January 1st and July 1st
     * "quarterly" => restart files on every January, April, July, & October 1st
     * "monthly"   => restart files on the 1st of every month
     * "ndays"     => restart files every n days
     If rest_freq = "ndays", then namelist parameters rest_n and rest_odate are
     involved (see below).
     See Example: 4

rest_n
     Type: integer
     Default: 10
     Required: no (only used if rest_freq = "ndays")
     Description: If rest_freq = "ndays", restart files will be created
     every n days.  More specifically, whenever mod(d-p;n) = 0, where
     d = the simulation day (1 Jan, year 1 <=> d = 365)
     p = an offset such that mod(d-p;n) = 0 on the date specified by rest_odate
     n = rest_n
     See Example: 4

rest_odate
     Type: integer
     Default: 0
     Required: no
     Description: Selects restart file offset calendar date, used in
     conjunction with rest_n when rest_freq = "ndays." If rest_odate > 0, it
     must be a valid calendar date (encoded: yyyymmdd).  Restart data is then
     created every n days relative to (and including) either
     * the initial date of the run (if rest_odate < 1)
     * the date rest_odate (if rest_odate > 0)

stop_option
     Type: character(len=16)
     Default: "newyear"
     Required: no
     Description: Selects when to stop the simulation.
     * "newdecade" => stop on the January 1st at the start of the next decade
     * "newyear"   => stop on the next January 1st
     * "halfyear   => stop on the next January 1st or July 1st
     * "newmonth"  => stop on the 1st of the next month
     * "nmonths"   => stop on day 1, n months from this month, where n=stop_n
     * "ndays"     => stop after advancing n days, where n=stop_n
     * "date"      => stop when stop_date is reached. This makes stop_date a
                      required input.
     See Example: 1, 2, 3, 4

stop_n
     Type: integer
     Default: 0
     Required: only if stop_option = "ndays" or "nmonths"
     Description: If stop_option = "ndays", stop after advancing stop_n days.
     If stop_option = "nmonths", stop on day 1, n months from this month.
     See Example: 4

stop_date
     Type: integer
     Default: 00010101 (year 1, month 1, day 1)
     Required: no (required if stop_option = "date", ignored otherwise)
     Description: If stop_option = "date", stop on this date.
     See Example: 2

hist_freq
     Type: character(len=16)
     Default: "never"
     Required: no
     Description: selects how often instantaneous history data is created:
     * "yearly"    => data is created on the 1st of each January
     * "quarterly" => data is created on the 1st of January,April,July,October
     * "monthly"   => data is created on the 1st of each month
     * "biweekly"  => data is created on the 1st and 15th of each month
     * "weekly"    => data is created on the 1st, 8th, 15th, and 22nd of each
                      month
     * "daily"     => data is created every day
     * "ndays"     => history data is created every n days relative to a history
                      offset date specified by hist_odate.
     * "nstep"     => history data is created every n time steps relative to and
                      including the first time step of each day. 
     Note: history data is never created on a simulation stopping date, but 
     history data can be created on a simulation starting date.
     See Example: 3

hist_n
     Type: integer
     Default: 1
     Required: no (only used if hist_freq = "ndays" or "nstep")
     Description: If hist_freq = "ndays" > 0, history files will be created
     every n days. More specifically, whenever mod(d-p;n) = 0, where
     d = the simulation day (1 Jan, year 1 <=> d = 365 )
     n = hist_n
     p = an offset such that mod(d-p;n) = 0 on the date specified by hist_odate
     If hist_freq = "nstep" and hist_n > 0, history files will be created every
     n time steps including the first time step of each day.
     See Example: 3

hist_odate
     Type: integer
     Default: 1
     Required: no (only used if hist_freq = "ndays")
     Description: Selects history file offset calendar date, used in
     conjunction with hist_n when hist_freq = "ndays". If hist_odate > 1, it
     must be a valid calendar date (encoded: yyyymmdd). See hist_freq for usage.
     History data is created every n days relative to (and including) either
     * the initial date of the run, if hist_odate < 1
     * the 1st of the every month , if hist_odate = 1
     * the date hist_odate        , if hist_odate > 1
     See Example: 3

hist_bundle
     Type: character(len=16)
     Default: "null" (no bundling)
     Required: no
     Description: If hist_bundle is "daily", "monthly", "quarterly", or 
     "yearly", then instantaneous history data files will accumulate multiple 
     time samples until the next day, month, quarter, or year (respectively) is 
     encountered, then the data file will be closed and archived, and a new 
     history file will be created, and subsequent data will accumulate into this
     new file. A history file's name indicates the date of the first time sample
     in that file.

hist_tavg
     Type: integer
     Default: 1 (true)
     Required: no
     Description: If hist_tavg is true (non-zero), the Coupler will create
     monthly average history data files and component models will be requested 
     to do the same.  Time averaged data is not bundled (i.e. there is always 
     one set of monthly average fields per file).

diag_freq
     Type: character(len=16)
     Default: "never"
     Required: no
     Description: selects how often instantaneous diagnostic data is created:
     * "never"     => data is never created
     * "yearly"    => data is created on the 1st day of each year
     * "quarterly" => data is created on the 1st day of each quarter
     * "monthly"   => data is created on the 1st of each month
     * "biweekly"  => data is created on the 1st and 15th of each month
     * "weekly"    => data is created on the 1st, 8th, 15th, and 22nd of each
                      month
     * "ndays"     => data is created every n days relative to an offset date
                      specified by diag_odate. See diag_n.
     * "nstep"     => data is created every n time steps, including the first 
                      time step of each day. See diag_n.
     Note: if diagnostics are being printed out on a given day, they are always
     printed out when seconds = 0, 21600, 43200, and 64800 (ie. every six 
     hours).  Seconds = 0 will always occur, but depending on what model
     communication intervals are used, it may be that seconds never equals 
     21600, 43200, or 64800, and hence there may be as few as one printout per 
     day.
     See Example: 3

diag_n
     Type: integer
     Default: 10
     Required: no (only used if diag_freq = "ndays" or "nstep")
     Description: If diag_freq = "ndays", diagnostic data will be created 
     every n days. More specifically, whenever mod(d-p;n) = 0, where
     d = the simulation day (1 Jan, year 1 <=> d = 365 )
     n = diag_n
     p = an offset such that mod(d-p;n) = 0 on the date specified by diag_odate.
     If diag_freq = "nstep", diagnostic data will be created every n time steps
     including the first time step of each day.

diag_odate
     Type: integer
     Default: 1
     Required: no (only used if diag_freq = "ndays")
     Description: Selects diagnostic data offset calendar date, used in
     conjunction with diag_n when diag_freq = "ndays". If diag_odate > 1, it
     is a valid calendar date (encoded: yyyymmdd). See diag_freq for usage.
     Diagnostic data is created every n days relative to (and including) either
     * the initial date of the run (if hist_odate < 1)
     * the 1st of the month (if hist_odate = 1)
     * the date hist_odate (if hist_odate > 1)

flx_albav
     Type: integer boolean
     Default: 0 (false)
     Required: no
     Description: The Coupler computes ocean albedos and sometimes modifies
     ice albedos.  
     * if flx_albav = true (non-zero), the ocean albedos are computed such that 
       they have no zenith angle dependence and ice albedos, which are computed
       by the ice model, are unaltered.  
     * if flx_albav = false (zero), the ocean albedos are computed with a zenith
       angle dependence and ice albedos are set to unity on the dark side of the
       earth.
     Typically flx_albav ("daily average albedos") is only turned on when the 
     atm component is a climatological data atm model that is sending daily 
     average data to the coupler, and thus "daily average albedos" are an
     appropriate complement to the daily average solar fluxes sent by the
     atm component.

flx_epbal
     Type: character(len=16)
     Default: "off"
     Required: no
     Description: Non-default values can be used to conserve globally integrated
     salinity in ocn & ice components that are coupled to a climatological data 
     atm model.  The conservation takes place by multiplying precipitation, P, 
     and runoff, R, by a single scalar (spatially constant) factor f to balance 
     evaporation, E: <E> + f<P> + f<R> = 0, where <x> denotes a globally 
     averaged value.  There are three valid values for flx_epbal:
     * "off"  => no factor is applied to P + R 
     * "inst" => the Coupler computes a factor f so that <E> + f<P> + f<R> = 0
                 at each time step ("instantaneously").
     * "ocn"  => the ocn component provides the Coupler with a factor f and the
                 Coupler applies this factor to P and R.  Typically this factor
                 is chosen, by the ocn component, so that <E> + f<P> + f<R> = ,
                 but perhaps not instantaneously, maybe as an annual average.
                 This can be used to allow some fluctuation in the global 
                 average of salinity on shorter time scales while enforcing a
                 constant global average of salinity on longer time scales.
                 The ocn component is responsible for providing an appropriate
                 factor to the Coupler.
orb_year
     Type: integer
     Default: <none>
     Required: yes
     Description: This is the calendar year which is used to determine the
     solar orbit and resulting solar angles. This is necessary, for example,
     to compute ocn surface albedo, which may be zenith angle dependent.
     Valid values are in the range [-1000000, +1000000].  
     A typical value might be 1990.
     See Example: 1, 2, 3, 4

mss_dir
     Type: character(len=CLONG)
     Default: "null"
     Required: yes
     Description: This is a file archival directory name including the 
     specification of an archival device.  Restart and history files go into 
     this directory.  For continuation runs, the initial condition restart file
     must also be in this directory.  A "prefix" is all the characters up to
     and including the first occurrence of ":".  The prefix of the file 
     indicates a storage device.  Valid prefix options are: 
     * "cp:"   or no-prefix indicates a normal unix file copy to an NFS mounted
               file system.
     * "mss:"  indicates archival onto NCAR's MSS 
     * "null:" indicates no archival of any sort.
     Some of the following mss_xxx options are only meaningful when the
     archival device is NCAR's MSS.  With code modification, more archival
     devices could be implemented (eg. "hpss:").
     See Example: 1, 2, 3, 4

mss_opts
     Type: character(len=64)
     Default: "nowait, nomail"
     Required: no
     Description: Options used when data files are sent to NCAR's MSS.
     This default request uses asynchronous data file transfer.  
     See the msrcp man pages at NCAR for more details.
     See Example: 2

mss_pass
     Type: character(len=16)
     Default: " "  (no password)
     Required: no
     Description: Mswrite write password string for files sent to the MSS. 
     Read passwords are not an option with the Coupler.
     See the mswrite man pages at NCAR for more details. 
     See Example: 2

mss_rtpd
     Type: integer
     Default: 365
     Required: no
     Description: Retention period, in days, for data files sent to the MSS.
     See the mswrite man pages at NCAR for more details.
     See Example: 2

mss_rmlf
     Type: integer boolean
     Default: 0 (false)
     Required: no
     Description: "remove local file" after archival.  True means local files 
     will be removed after they are archived.  Note that the most recently 
     created file is never removed, but older files are.  
     WARNING: successful archival is not verified prior to removal.
     WARNING: using a "null:" prefix for mss_dir and mss_rmlf = TRUE will 
     result in files being deleted but not archived.
     See Example: 2

info_dbug
     Type: integer
     Default: 1
     Required: no
     Description: Debugging information level: 0, 1, 2, or 3.
     * 0 => do not write any extra debugging information to stdout
     * 1 => write a small amount of extra debugging information to stdout
     * 2 => write a medium amount of extra debugging information to stdout
     * 3 => write a large amount of extra debugging information to stdout
     See Example: 3

info_time
     Type: integer
     Default: 0 (false)
     Required: no (normally not recommended)
     Description: If true (non-zero), write message passing timing info to
     stdout.

nx_a,ny_a
nx_i,ny_i
nx_l,ny_l
nx_o,ny_o
     Type: integer
     Default: <none>
     Required: yes 
     Description: the "i" and "j" 2d-resolution of the atmosphere, ice, land, 
     and ocean components, respectively.  This is with respect to the data 
     fields that are sent and received from the Coupler.
     See Example: 1, 2, 3, 4

3.2 Example Input Namelists

Example 1: a "startup" run

    $inparm
    case_name   = "test.01"
    case_desc   = "testing a startup run "
    rest_type   = "startup"
    rest_pfile  = "$HOME:/cpl.test.01.rpointer"
    rest_date   = 19800101
    stop_option = "date"
    stop_date   = 19800701
    orb_year    = 1990
    mss_dir     = "null:/whatever"
    nx_a = 128, ny_a = 64,  nx_i = 192, ny_i = 94
    nx_l = 128, ny_l = 64,  nx_o = 192, ny_o = 94   
    /

Here the inputs specify a "startup" run starting on 1980 Jan 1st and stopping
on 1980 Jul 1st.  No initial condition data is needed.  A restart pointer file, 
rest_pfile, will be created in the user's home directory.  The restart pointer
file will contain the name of the most recently created restart file.  
Restart and history files will not be archived in any way -- they will remain 
in the current working directory.  
History data files and restart files will be created at the default frequencies.
Solar orbit calculations will be based on the year 1990. 
The "null:" prefix on mss_dir specifies that there will be no archival of
history and restart files -- the files will simply remain in the current
working directory.  Presumably the output files will be archived later in some
post-processing phase.

Example 2: a "hybrid" run

    $inparm
    case_name   = "test.01"
    case_desc   = "testing a hybrid run"
    rest_type   = "hybrid"
    rest_pfile  = "$HOME/cpl.test.01.rpointer"
    rest_date   = 19800101
    stop_option = "date"
    stop_date   = 19800701
    orb_year    = 1990
    mss_dir     = "mss:/DOE/csm/test.01/cpl/ "
    mss_rtpd    = 730
    mss_pass    = "rosebud"
    mss_opts    = "nowait"
    mss_rmlf    = 1
    nx_a = 128, ny_a = 64,  nx_i = 192, ny_i = 94
    nx_l = 128, ny_l = 64,  nx_o = 192, ny_o = 94   
    /

As far as the Coupler is concerned, a "hybrid" run is the same as an
"initial" run.  The distinction is for the benefit of other component models.
The stop options will cause the simulation to stop on a particular date, 1981 
Aug 1st.  The "mss:" prefix on mss_dir selects NCAR's MSS as the archival device
for output files.  The mass store file retention period (2 years) and write 
password ("rosebud") have been selected here.  Files will be deleted after being
archived to the MSS (except that the most recently created file is always left
in the current working directory).
The resolution of the atm and lnd grids is 128x64.
The resolution of the ice and ocn grids is 192x94.

Example 3: a "continuation" run

    $inparm
    case_name   = "test.01"
    case_desc   = "testing a continuation run "
    rest_type   = "continue"
    rest_pfile  = "$HOME/cpl.test.01.rpointer"
    stop_option = "newyear"
    hist_freq   = "ndays"
    hist_n      = 10
    hist_odate  = 1
    diag_freq   = "monthly"
    orb_year    = 1990
    mss_dir     = "cp:~/test.01/cpl/ "
    info_dbug   = 0
    nx_a = 128, ny_a = 64,  nx_i = 192, ny_i = 94
    nx_l = 128, ny_l = 64,  nx_o = 192, ny_o = 94   
    /

Here the inputs specify a continuation run. Assuming this run continues from
where example 1 finished, this run will start on 1980 Jul 1st and stop on 1981
Jan 1st. Exactly where this run continues from is specified by the restart
file, and the restart file which will be used is specified by the restart
pointer file.  Restart files will be created according to the default setting
of rest_freq.  History data will be created every 10 days relative to the
1st day of each month, i.e. on the 1st, 11th, 21st, and 31st of every month.
Setting diag_freq = "monthly" signals the coupler to calculate some global 
diagnostic information on the 1st of each month and write it to stdout.  New 
restart and history files will be archived by copying them into a subdirectory
of the user's home directory (~/test.01/cpl/).  Setting info_dbug = 0 will 
minimize the amount of debugging information written to stdout.

Example 4: a "branch" run

    $inparm
    case_name   = "test.02"
    case_desc   = "testing a branch run "
    rest_type   = "branch"
    rest_pfile  = "$HOME/cpl.test.02.rpointer"
    rest_bfile  = "mss:/DOE/csm/test.01/cpl/test.01.cpl5.r.1981-01-01-00000 "
    rest_freq   = "ndays"
    rest_n      = 10
    stop_option = "ndays"
    stop_n      = 31
    orb_year    = 1990
    mss_dir     = "~/test.01/cpl/ "
    nx_a = 128, ny_a = 64,  nx_i = 192, ny_i = 94
    nx_l = 128, ny_l = 64,  nx_o = 192, ny_o = 94   
    /

Here the input parameter rest_type specifies a branch run. The branch file
(/DOE/.../r1981-01-01) must be specified.  Its prefix, "mss:", indicates that
it is found on NCAR's MSS.  This initial condition file was created by a 
previous simulation.  The date from the branch file will be used (apparently
1981 Jan 1).  The simulation will stop after advancing 31 days (1981 Feb 1). 
Restart files will be created every 10 days relative to the start of the run.
The absence of a archival device prefix on mss_dir results in the same 
behavior as a "cp:" prefix, i.e. history and restart files will be archived
by being copied to the NFS mounted directory specified by mss_dir.



csm@ucar.edu