The following examples illustrate different namelist options that can be used to run CLM2.0 in offline mode.
When CLM2.0 is run in offline mode, the minimum namelist parameters are: CASEID, NSREST, NESTEP or NELAPSE, FSURDAT, FPFTCON, OFFLINE_ATMDIR, START_YMD, and DTIME. This assumes that a surface dataset exists. If FSURDAT is blank, then a surface dataset will be generated at run time and additional variables need to be specified to create that surface dataset (see Section 3.2 and Example 5). All other namelist parameters will be set to the default values. The following gives an example of such a namelist.
| &CLMEXP | ||
| CASEID | = | 'test01' |
| NSREST | = | 0 |
| NESTEP | = | -1 |
| FSURDAT | = | '$MODEL_DATADIR/srfdata/offline/surface-data.120x060.013002.nc' |
| FPFTCON | = | '$MODEL_DATADIR/pftdata/pft-physiology' |
| FRIVINP_RTM | = | '$MODEL_DATADIR/rtmdata/rdirc.05' |
| OFFLINE_ATMDIR | = | '$MODEL_DATADIR/NCEPDATA' |
| START_YMD | = | 19971231 |
| DTIME | = | 1800 |
| / |
CASEID = 'test01'
Distinguishes this particular simulation from another. The string in
CASEID shows up in the restart pointer file name (see Example
2), in the mass store path where history and restart files are placed
if mass store is used, and in the names of history, restart, and
initial files. In a branch run, the user must specify a new CASEID.
NSREST = 0
Requests an initial run as opposed to a restart or a branch run. An
initial run does not require the use of an initial input datafile
(FINIDAT), so if none is provided (as in this example), the
model uses the non spun-up initialization provided in the code (see
src/main/iniTimeVar.F90).
NESTEP = -1
Specifies the run's ending time to be at the end of day 1. NESTEP
overrides any value given to NELAPSE, so NELAPSE has been
omitted in this example.
FSURDAT =
'$MODEL_DATADIR/srfdata/surface-data.120x060.013002.nc'
Defines
the name of the surface data input file. This file can be created for
a global domain or any domain (even a point) at any resolution as
described in example 5. Model resolution (i.e. LSMLON, LSMLAT) is set
in the job script and should be compatible with the resolution of FSURDAT. The path shown in this example contains the environment
variable MODEL_DATADIR. The definition of environment variables
is explained in section 2.1.1. If the file name appeared without a
path specifying its exact location, the file would be expected in the
executable directory, defined with environment variable MODEL_EXEDIR.
FPFTCON = '$MODEL_DATADIR/pftdata/pft-physiology'
Specifies a file with PFT (Plant Functional Type) information. See
explanation for FSURDAT above to understand the use of MODEL_DATADIR or MODEL_EXEDIR.
FRIVINP_RTM
Specifies the input file required for the operation of RTM (the River
Transport Model of Branstetter et al). By default, RTM will operate at
half degree horizontal resolution and will be invoked every 3 hours,
where the RTM input fluxes are averaged over the 3 hour period. If
the user wants the RTM scheme to be invoked every timestep, RTM_NSTEPS should be set to 1. Otherwise, if the user wants the RTM
scheme to operate at a different frequency than once every 3 hours,
RTM_NSTEPS should be set to the desired value. Use of RTM is
activated in the job script with the C pre-processor (cpp) directive
#define RTM (see section 2.1.2).
OFFLINE_ATMDIR = '$MODEL_DATADIR/NCEPDATA'
Specifies the location of the atmospheric driver data set. Such a data
set is required for the model to run in offline mode.
START_YMD = 19971231
Is the base date of the simulation and must be compatible with the
atmospheric input data. For example, start_ymd = 19971231 corresponds
will use the atmospheric input file 1997-12.nc. In a restart or branch run,
START_YMD need not be changed, as long as it refers to a date
earlier than the date of restart or branch.
DTIME = 1800
Specifies the simulation's timestep in seconds. In offline mode, the
model can handle a timestep of up to 3600 seconds.
History and restart files will be produced in the executable directory and will be written every 24 hours by default. The frequency of history writes can be controlled as shown in examples 3 and 4.
| &CLMEXP | ||
| CASEID | = | 'test01' |
| NSREST | = | 1 |
| NELAPSE | = | -1 |
| FSURDAT | = | '$MODEL_DATADIR/srfdata/offline/surface-data.120x060.013002.nc' |
| FPFTCON | = | '$MODEL_DATADIR/pftdata/pft-physiology' |
| FRIVINP_RTM | = | '$MODEL_DATADIR/rtmdata/rdirc.05' |
| OFFLINE_ATMDIR | = | '$MODEL_DATADIR/NCEPDATA' |
| START_YMD | = | 19971231 |
| DTIME | = | 1800 |
| / |
NSREST = 1
Requests a restart run. A restart run finds the name of the
appropriate restart file automatically by reading the file, lnd.CASEID.rpointer. In this example, the pointer file will be
lnd.test.rpointer. Restart runs are meant to be 'seamless,' producing
the same output as runs which were not restarted.
NELAPSE = -1
Specifies the run's ending time to be one day after the point of
restart. This is equivalent to entering NESTEP = -2 instead,
since the previous run stopped at the end of day 1.
All other namelist variables remain the same to ensure a 'seamless'
restart (for information, see example 1). Also, for a seamless
restart, the user should generally execute the code with the same
executable used in the initial run (ie, without compiling the code
again).
| &CLMEXP | ||
| CASEID | = | 'branch_run' |
| NSREST | = | 3 |
| NELAPSE | = | -1 |
| FSURDAT | = | '$MODEL_DATADIR/srfdata/offline/surface-data.120x060.013002.nc' |
| FPFTCON | = | '$MODEL_DATADIR/pftdata/pft-physiology' |
| FRIVINP_RTM | = | '$MODEL_DATADIR/rtmdata/rdirc.05' |
| OFFLINE_ATMDIR | = | '$MODEL_DATADIR/NCEPDATA' |
| NREVSN | = | 'test01.clm2.r.1998-01-01-00000' |
| HIST_NHTFRQ | = | -3 |
| START_YMD | = | 19971231 |
| DTIME | = | 1800 |
| / |
See example 1 for explanations of namelist variables which remain
unchanged.
NSREST = 3
Requests a branch run.
NELAPSE = -1
Specifies the run's ending time to be one day after the
point of branching.
NREVSN = 'test.clm2.r.1998-01-01-00000'
Supplies the name of the restart file which will initialize this run.
(Note this file can be produced by running example 1 above).
HIST_NHTFRQ = -3
Changes the frequency of history writes to every 3 hours. This is an
example of a change which a user may wish to test in a branch run.
The user may branch a run with the same executable used in the initial
run (i.e., without compiling the code again), unless branching is used
to test changes in the code (for debugging or sensitivity purposes).
This example covers the addition of fields to a history file, the addition of an auxiliary history file, and the change of field type in a history file. A variety of other namelist options are discussed here, too.
| &CLMEXP | ||
| CASEID | = | 'rtm_run' |
| NSREST | = | 0 |
| NESTEP | = | -31 |
| FINIDAT | = | 'test01.clm2.i.1998-01-01-00000.nc' |
| FSURDAT | = | '$MODEL_DATADIR/srfdata/offline/surface-data.120x060.013002.nc' |
| FPFTCON | = | '$MODEL_DATADIR/pftdata/pft-physiology' |
| FRIVINP_RTM | = | '$MODEL_DATADIR/rtmdata/rdirc.05' |
| OFFLINE_ATMDIR | = | '$MODEL_DATADIR/NCEPDATA' |
| HIST_DOV2XY | = | .true.,.true. |
| HIST_NHTFRQ | = | -12,0 |
| HIST_MFILT | = | 4,1 |
| HIST_FLDADD | = | 'TLAKE','TSNOW' |
| HIST_CHNTYP | = | 'RSSUN','instant','RSSHA','maximum' |
| HIST_FLDAUX1 | = | 'TSA','ELAI' |
| START_YMD | = | 19980101 |
| DTIME | = | 1800 |
| WRTDIA | = | .true. |
| / |
For namelist variables which are repeated, please refer to Examples
1, 2, and 3.
FINIDAT
Specifies an initial file to be used instead of non spun-up
initialization. This results in a simulation that starts from a
spun-up state. As written, the initial file will be expected in the
executable directory. The initial dataset, test.clm2.i.1998-01-01-00000.nc can be obtained by running example 1
above.
HIST_DOV2XY = .true.,.true.
History output will appear in gridded 2d xy format (rather than 1d
subgrid format) in both the primary and auxiliary history files.
HIST_NHTFRQ = -12,0
History output will be directed to the primary history file every 12
model hours and to the auxiliary history file every month.
HIST_MFILT = 4,1
Each primary history file will contain 4 time slices of output, while
each auxiliary history file will contain 1 time slice of output.
HIST_FLDADD = 'TLAKE','TSNOW'
Specifies two fields to be added to the primary history output. This
is a temporary equivalent to changing the logical variable 'active' to
.true. for these two fields in routine src/main/histFileMod.F90.
HIST_CHNTYP = 'RSSUN','instant','RSSHA','maximum'
Changes the history output for these fields to "instantaneous" and to
"maximum." This information can also be hardwired in subroutine histlst.
HIST_FLDAUX1 = 'TSA','ELAI'
Places these two fields in the first (and only, in this case) set of
auxiliary history files. The code is written to allow for up to 2 sets
of auxiliary history files. These variables need to be 'active' in
subroutine histlst.
WRTDIA = .true.
A global average of surface air temperature as diagnostic will appear
in the standard output file of the simulation.
CLM2.0 can create a surface dataset necessary to run the model at any
horizontal resolution. This dataset, specified by the setting of FSURDAT, includes information about the land surface (eg, vegetation,
soils, inland water). A regular grid surface dataset can be generated
for a single gridcell or for several gridcells that comprise a
regional domain. To generate a surface dataset for a regional run, the
cpp tokens LSMLON and LSMLAT must be set to the desired
resolution (e.g., LSMLON=1, LSMLAT=1 for a single point
simulation) and the variables MKSRF_OFFLINE_EDGES, MKSRF_OFFLINE_EDGEN, MKSRF_OFFLINE_EDGEE, and MKSRF_OFFLINE_EDGEW and their values need to be added to the
namelist. A surface dataset will be created with the name
surface-data.LSMLONXLSMLAT.nc (e.g., for a single point simulation the
file name will be surface-data.001x001.nc). CLM2.0 can then be run for
the single point or regional domain by following Example 1 where FSURDAT is set to the new surface dataset.
The following namelist will result in the generation of a surface
dataset on a global regular grid.
| &CLMEXP | ||
| CASEID | = | 'create_surfdat' |
| NSREST | = | 0 |
| NESTEP | = | -1 |
| START_YMD | = | 19971231 |
| DTIME | = | 1800 |
| FSURDAT | = ' ' | |
| FRIVINP_RTM | = | '$MODEL_DATADIR/rtmdata/rdirc.05' |
| FPFTCON | = | '$MODEL_DATADIR/pftdata/pft-physiology' |
| OFFLINE_ATMDIR | = | '$MODEL_DATADIR/NCEPDATA' |
| MKSRF_OFFLINE_FNAVYORO | = | '$MODEL_DATADIR/rawdata/mksrf_navyoro_20min.nc' |
| MKSRF_FVEGTYP | = | '$MODEL_DATADIR/rawdata/mksrf_pft.nc' |
| MKSRF_FSOITEX | = | '$MODEL_DATADIR/rawdata/mksrf_soitex.10level.nc' |
| MKSRF_FSOICOL | = | '$MODEL_DATADIR/rawdata/mksrf_soicol_clm2.nc' |
| MKSRF_FLANWAT | = | '$MODEL_DATADIR/rawdata/mksrf_lanwat.nc' |
| MKSRF_FGLACIER | = | '$MODEL_DATADIR/rawdata/mksrf_glacier.nc' |
| MKSRF_FURBAN | = | '$MODEL_DATADIR/rawdata/mksrf_urban.nc' |
| MKSRF_FLAI | = | '$MODEL_DATADIR/rawdata/mksrf_lai.nc' |
| / |
FSURDAT = ' '
A surface dataset named surface-data.LSMLONXLSMLAT.nc will be created
in the model executable directory. LSMLON and LSMLAT are defined in
the jobscript (see section 2.1.2).
NESTEP = 1
No model output is produced from this run, other than a new surface
data file. The user could alternatively create the surface data file
and continue the simulation uninterupted.
MKSRF_OFFLINE_FNAVYORO = '$MODEL_DATADIR/rawdata/mksrf_navyoro_20min.nc'
Points to the orography dataset used to derive the model's land mask
in offline mode. The environment variable $MODEL_DATADIR is
explained in section 2.1.1.
MKSRF_FVEGTYP, MKSRF_FSOITEX, MKSRF_FSOICOL, MKSRF_FLANWAT, MKSRF_FGLACIER, MKSRF_FURBAN, and MKSRF_FLAI
specify the input datasets used to create the surface
dataset. The environment variable $MODEL_DATADIR is explained
in section 2.1.1.
MKSRF_OFFLINE_EDGES, MKSRF_OFFLINE_EDGEN, MKSRF_OFFLINE_EDGEE, and MKSRF_OFFLINE_EDGEW
must be
defined when the desired model domain is not global. The units are
degrees north for edges and edgen and degrees east for edgee and
edgew.
Only global surface datasets can be created on a non-regular grid,
such as a gaussian grid. To generate a surface dataset for on a
gaussian grid, the cpp tokens LSMLON and LSMLAT must be
set to the desired resolution (e.g., LSMLON=128, LSMLAT=64
for a T42 grid, and MKSRF_OFFLINE_FGRID must be set to the
appropriate dataset in $MODEL_DATADIR/rawdata which specifies the appropriate grid, land
mask and land fraction to use when creating the surface datset. A
surface dataset with the name, surface-data.LSMLONXLSMLAT.nc, will be
created in the executable directory. This dataset may be renamed by the
user to be more self-explanatory.
The following namelist will result in the generation of a surface
dataset on a global regular grid.
| &CLMEXP | ||
| CASEID | = | 'create_surfdat' |
| NSREST | = | 0 |
| NESTEP | = | -1 |
| START_YMD | = | 19971231 |
| DTIME | = | 1800 |
| FSURDAT | = ' ' | |
| FRIVINP_RTM | = | '$MODEL_DATADIR/rtmdata/rdirc.05' |
| FPFTCON | = | '$MODEL_DATADIR/pftdata/pft-physiology' |
| OFFLINE_ATMDIR | = | '$MODEL_DATADIR/NCEPDATA' |
| MKSRF_OFFLINE_FGRID | = | '$MODEL_DATADIR/rawdata/T42_clm2_camfgrid_040802.nc' |
| MKSRF_FVEGTYP | = | '$MODEL_DATADIR/rawdata/mksrf_pft.nc' |
| MKSRF_FSOITEX | = | '$MODEL_DATADIR/rawdata/mksrf_soitex.10level.nc' |
| MKSRF_FSOICOL | = | '$MODEL_DATADIR/rawdata/mksrf_soicol_clm2.nc' |
| MKSRF_FLANWAT | = | '$MODEL_DATADIR/rawdata/mksrf_lanwat.nc' |
| MKSRF_FGLACIER | = | '$MODEL_DATADIR/rawdata/mksrf_glacier.nc' |
| MKSRF_FURBAN | = | '$MODEL_DATADIR/rawdata/mksrf_urban.nc' |
| MKSRF_FLAI | = | '$MODEL_DATADIR/rawdata/mksrf_lai.nc' |
| / |
FSURDAT = ' '
A surface dataset named surface-data.LSMLONXLSMLAT.nc will be created
in the model executable directory. LSMLON and LSMLAT are defined in
the jobscript (see section 2.1.2).
NESTEP = 1
No model output is produced from this run, other than a new surface
data file. The user could alternatively create the surface data file
and continue the simulation uninterupted.
MKSRF_OFFLINE_FGRID = '$MODEL_DATADIR/rawdata/T42_clm2_camfgrid_040802.nc'
Points to the dataset containing the model grid, land mask and
fractional land for the surface dataset.
MKSRF_FVEGTYP, MKSRF_FSOITEX, MKSRF_FSOICOL, MKSRF_FLANWAT, MKSRF_FGLACIER, MKSRF_FURBAN, and MKSRF_FLAI
specify the input datasets used to create the surface
dataset. The environment variable $MODEL_DATADIR is explained
in section 2.1.1.