Customizing the CLM configuration

The "Creating a Case" section of the CESM1.0.4 Scripts User's-Guide gives instructions on creating a case. What is of interest here is how to customize your use of CLM for the case that you created. In this section we discuss how to customize your case before the first step -- the "configure -case" step is done. In the next section we will discuss how to customize your CLM namelist after "configure -case" has already been done.

For CLM when "configure -case" is called there are two steps that take place:

  1. The CLM "configure" script is called to setup the build-time configuration for CLM (more information on configure is given in the Section called More information on the CLM configure script).

  2. The CLM "build-namelist" script is called to generate the initial run-time namelist for CLM (more information on build-namelist is given below in the Section called Definition of Namelist items and their default values.

When customizing your case at the configure step you are able to modify the process by effecting either one or both of these steps. The CLM "configure" and "build-namelist" scripts are both available in the "models/lnd/clm/bld" directory in the distribution. Both of these scripts have a "-help" option that is useful to examine to see what types of options you can give either of them.

There are five different types of customization for the configuration that we will discuss: CESM1.0 CLM configuration items, Configure time User Namelist, other noteworthy CESM configuration items, the CLM configure script options, and the CLM build-namelist script options.

Information on all of the script, configuration, build and run items is found under scripts/ccsm_utils/Case.template in the config_definition.xml file.

CLM Script configuration items

Below we list each of the CESM configuration items that are specific to CLM. All of these are available in your: env_conf.xml file.

CLM_CONFIG_OPTS
CLM_BLDNML_OPTS
CLM_NAMELIST_OPTS
CLM_FORCE_COLDSTART
CLM_NML_USE_CASE
CLM_PT1_NAME
CLM_USRDAT_NAME
CLM_CO2_TYPE

For the precedence of the different options to build-namelist see the section on precedence below.

The first item CLM_CONFIG_OPTS has to do with customizing the CLM configuration options for your case, the rest all have to do with generating the initial namelist.

CLM_CONFIG_OPTS

The option CLM_CONFIG_OPTS is all about passing command line arguments to the CLM configure script. It is important to note that some compsets, may already put a value into the CLM_CONFIG_OPTS variable. You can still add more options to your CLM_CONFIG_OPTS but make sure you add to what is already there rather than replacing it. Hence, we recommend using the "-append" option to the xmlchange script. In the Section called More information on the CLM configure script below we will go into more details on options that can be customized in the CLM "configure" script. It's also important to note that the CLM template may already invoke certain CLM configure options and as such those command line options are NOT going to be available to change at this step (nor would you want to change them). The options to configure are given with the "-help" option which is given in the Section called More information on the CLM configure script.

CLM_NML_USE_CASE

CLM_NML_USE_CASE is used to set a particular set of conditions that set multiple namelist items, all centering around a particular usage of the model. To list the valid options do the following:


> cd models/lnd/clm/doc
> ../bld/build-namelist -use_case list

The output of the above command is:


build-namelist - use cases: 1850-2100_rcp2.6_glacierMEC_transient 1850-2100_rcp2.6_transient  \ 
   1850-2100_rcp4.5_glacierMEC_transient 1850-2100_rcp4.5_transient  \ 
   1850-2100_rcp6_glacierMEC_transient 1850-2100_rcp6_transient  \ 
   1850-2100_rcp8.5_glacierMEC_transient 1850-2100_rcp8.5_transient 1850_control  \ 
   1850_glacierMEC_control 2000-2100_rcp8.5_transient 2000_control 2000_glacierMEC_control  \ 
   20thC_glacierMEC_transient 20thC_transient glacierMEC_pd pergro0_pd pergro_pd stdurbpt_pd
Use cases are:...

1850-2100_rcp2.6_glacierMEC_transient = Simulate transient land-use, and aerosol deposition changes  \ 
   with historical data from 1850 to 2005 and then with the RCP2.6 scenario from IMAGE

1850-2100_rcp2.6_transient = Simulate transient land-use, and aerosol deposition changes with  \ 
   historical data from 1850 to 2005 and then with the RCP2.6 scenario from IMAGE

1850-2100_rcp4.5_glacierMEC_transient = Simulate transient land-use, and aerosol deposition changes  \ 
   with historical data from 1850 to 2005 and then with the RCP4.5 scenario from MINICAM

1850-2100_rcp4.5_transient = Simulate transient land-use, and aerosol deposition changes with  \ 
   historical data from 1850 to 2005 and then with the RCP4.5 scenario from MINICAM

1850-2100_rcp6_glacierMEC_transient = Simulate transient land-use, and aerosol deposition changes  \ 
   with historical data from 1850 to 2005 and then with the RCP6 scenario from AIM

1850-2100_rcp6_transient = Simulate transient land-use, and aerosol deposition changes with  \ 
   historical data from 1850 to 2005 and then with the RCP6 scenario from AIM

1850-2100_rcp8.5_glacierMEC_transient = Simulate transient land-use, and aerosol deposition changes  \ 
   with historical data from 1850 to 2005 and then with the RCP8.5 scenario from MESSAGE

1850-2100_rcp8.5_transient = Simulate transient land-use, and aerosol deposition changes with  \ 
   historical data from 1850 to 2005 and then with the RCP8.5 scenario from MESSAGE

   1850_control = Conditions to simulate 1850 land-use
1850_glacierMEC_control = Running an IG case for 1850 conditions with the ice sheet model glimmer
2000-2100_rcp8.5_transient = Simulate transient land-use, and aerosol deposition changes with  \ 
   historical data from 2000 to 2005 and then with the RCP8.5 scenario from MESSAGE

   2000_control = Conditions to simulate 2000 land-use
2000_glacierMEC_control = Running an IG case for 2000 conditions with the ice sheet model glimmer
20thC_glacierMEC_transient = Simulate transient land-use, and aerosol deposition changes from 1850  \ 
   to 2005
20thC_transient = Simulate transient land-use, and aerosol deposition changes from 1850 to 2005
  glacierMEC_pd = Running an IG case with the ice sheet model glimmer
     pergro0_pd = Perturbation error growth test with unperturbed initial conditions
      pergro_pd = Perturbation error growth test with initial conditions perturbed by roundoff  \ 
   level
    stdurbpt_pd = Standard Urban Point Namelist Settings

Note: See the the Section called Precedence of Options section for the precedence of this option relative to the others.

CLM_BLDNML_OPTS

The option CLM_BLDNML_OPTS is for passing options to the CLM "build-namelist" script. As with the "configure" script the CLM template may already invoke certain options and as such those options will NOT be available to be set here. The best way to see what options can be sent to the "build-namelist" script is to do


> cd models/lnd/clm/bld
> ./build-namelist -help

Here is the output from the above.


./

The CLM template already sets the resolution and mask as well as the configure file, the start-type, the co2_ppmv, glc_grid, rtm_tstep, and rtm_res, and defines an input namelist and namelist input file, and it normally sets either "-ignore_ic_year" or "-ignore_ic_date". Also many of the options are designed solely for CLM stand-alone testing and hence should NOT be used (any of the options starting with a "datm_" or "drv_" prefix. Hence there are then only five different options that could be set:

  1. -irrig

  2. -lnd_res

  3. -sim_year

  4. -rcp

  5. -clm_demand

  6. -verbose

When "-irrig" is used build-namelist will try to find surface datasets that have the irrigation model enabled.

"-lnd_res" is used to run CLM in fine-mesh mode at a higher resolution than the atmospheric model. This can be useful to get higher resolution from the land model, but saving computer time by running the more expensive atmospheric model at a lower resolution. To get a list of valid resolutions to run at do the following:


> cd models/lnd/clm/doc
> ../bld/build-namelist -lnd_res list

Caution

The fine-mesh mode is considered experimental, and you may run into problems when you use it. Another option is to use the CESM level "tri-grid" capability to run the land model on a different grid than the atmospheric model. Read the CESM User's-Guide to learn how to do this.

Note: See the the Section called Precedence of Options section for the precedence of this option relative to the others.

"-clm_demand" asks the build-namelist step to require that the list of variables entered be set. Typically, this is used to require that optional filenames be used and ensure they are set before continuing. For example, you may want to require that fpftdyn be set to get dynamically changing vegetation types. To do this you would do the following.


> ./xmlchange -file env_conf.xml -id CLM_BLDNML_OPTS -val "-clm_demand fpftdyn"
To see a list of valid variables that you could set do this:

> cd models/lnd/clm/doc
> ../bld/build-namelist -clm_demand list

Note: Using a 20th-Century transient compset or the 20thC_transient use-case using CLM_NML_USE_CASE would set this as well, but would also use dynamic nitrogen and aerosol deposition files, so using -clm_demand would be a way to get just dynamic vegetation types and NOT the other files as well.

"-sim_year" is used to set the simulation year you want the data-sets to simulate conditions for in the input datasets. The simulation "year" can also be a range of years in order to do simulations with changes in the dataset values as the simulation progresses. To list the valid options do the following:


> cd models/lnd/clm/doc
> ../bld/build-namelist -sim_year list

"-rcp" is used to set the representative concentration pathway for the future scenarios you want the data-sets to simulate conditions for, in the input datasets. To list the valid options do the following:


> cd models/lnd/clm/doc
> ../bld/build-namelist -rcp list
CLM_NAMELIST_OPTS

The option CLM_NAMELIST_OPTS is for passing namelist items into the "clm_inparm" namelist. Any items that are set in CLM_NAMELIST_OPTS will be set in your namelist after "configure -case" is done.

Important: For character namelist items you need to use "'" as quotes for strings so that the scripts don't get confused with other quotes they use.

Example, you want to set hist_dov2xy to .false. so that you get vector output to your history files. To do so edit env_conf.xml and add a setting for hist_dov2xy. So do the following:


> ./xmlchange -file env_conf.xml -id CLM_NAMELIST_OPTS -val hist_dov2xy=.false.

Example, you want to set hist_fincl1 to add the variable 'HK' to your history files. To do so edit env_conf.xml and add a setting for hist_fincl1. So do the following:


> ./xmlchange -file env_conf.xml -id CLM_NAMELIST_OPTS -val "hist_fincl1='HK'"
For a list of the history fields available see CLM History Fields.

Note: See the the Section called Precedence of Options section for the precedence of this option relative to the others.

CLM_CO2_TYPE

CLM_CO2_TYPE sets the type of input CO2 for either "constant", "diagnostic" or prognostic". If "constant" the value from CCSM_CO2_PPMV will be used. If "diagnostic" or "prognostic" the values MUST be sent from the atmosphere model. For more information on how to send CO2 from the data atmosphere model see the Section called Running stand-alone CLM with transient historical CO2 concentration in Chapter 4.

CLM_FORCE_COLDSTART

CLM_FORCE_COLDSTART when set to on, requires that your simulation do a cold start from arbitrary initial conditions. If this is NOT set, it will use an initial condition file if it can find an appropriate one, and otherwise do a cold start. CLM_FORCE_COLDSTART is a good way to ensure that you are doing a cold start if that is what you want to do.

CLM_PT1_NAME

CLM_PT1_NAME is used ONLY for a pt1_pt1 resolution simulation to set the name of the single-point files to use. To see a list of the valid resolutions do this:


> cd models/lnd/clm/doc
> ../bld/build-namelist -res list

The output of the above command is:


build-namelist - valid values for res (Horizontal resolutions
Note: 0.5x0.5 and 0.33x0.33 are only used for CLM tools):
                  Values: default 512x1024 128x256 64x128 48x96 32x64 8x16 94x192 0.23x0.31  \ 
   0.47x0.63 0.9x1.25 1.9x2.5 2.5x3.33 4x5 10x15 5x5_amazon 1x1_tropicAtl 1x1_camdenNJ  \ 
   1x1_vancouverCAN 1x1_mexicocityMEX 1x1_asphaltjungleNJ 1x1_brazil 1x1_urbanc_alpha 1x1_numaIA  \ 
   1x1_smallvilleIA 0.5x0.5 0.33x0.33
                  Default = 1.9x2.5
                  (NOTE: resolution and mask and other settings may influence what the default is)

the valid resolutions that can be used with CLM_PT1_NAME are the ones that have city or nation names such as: 5x5_amazon, 1x1_vancouverCAN 1x1_mexicocityMEX, or 1x1_brazil. The "1x1_" prefix means the file is for a single-point, while "5x5_" prefix means it's for a region of five points in latitude by five points in longitude. Both regional and single point datasets can be used for CLM_PT1_NAME. If you create your own datasets you can also use CLM_PT1_NAME along with CLM_USRDAT_NAME (documented below), setting CLM_PT1_NAME to the value in CLM_USRDAT_NAME so that your datasets are used rather than the standard ones.o

CLM_USRDAT_NAME

CLM_USRDAT_NAME provides a way to enter your own datasets into the initial namelist setup at "configure -case". The files you create must be named with specific naming conventions outlined in: the Section called Creating your own single-point/regional surface datasets in Chapter 5. To see what the expected names of the files are, use the queryDefaultNamelist.pl to see what the names will need to be. For example if your CLM_USRDAT_NAME will be "1x1_boulderCO", with a "navy" land-mask, constant simulation year range, for 1850, the following will list what your filenames should be:


> cd models/lnd/clm/bld
> queryDefaultNamelist.pl -usrname "1x1_boulderCO" -options \
mask=navy,sim_year=1850,sim_year_range="constant"  -csmdata $CSMDATA
An example of using CLM_USRDAT_NAME for a simulation is given in Example 5-5.

Note: See the the Section called Precedence of Options section for the precedence of this option relative to the others.

Configure time User Namelist

CLM_NAMELIST_OPTS as described above allows you to set any extra namelist items you would like to appear in your namelist after first configured. However, it only allows you a single line to enter namelist items, and strings must be quoted with ' which is a bit awkward. If you have a long list of namelist items you want to set (such as a long list of history fields) a convenient way to do it is to create a user_nl_clm that contains just the list of namelist variables you want to add to your initial namelist. The user_nl_clm will only be used when configure is run, so if you change it after configure -- it won't change anything. The file needs to be in valid FORTRAN namelist format, and the configure step will abort if there are syntax errors. It merely needs to be named correctly user_nl_clm and placed in your case directory (where your other env_*.xml files are). The namelist name actually doesn't have to be valid, but all the variable names must be. Here's an example user_nl_clm namelist that sets a bunch of history file related items, to create output history files monthly, daily, every six and 1 hours.

Example 1-1. Example user_nl_clm namelist file


&clmexp
 hist_fincl2    = 'TG','TBOT','FIRE','FIRA','FLDS','FSDS',
                  'FSR','FSA','FGEV','FSH','FGR','TSOI',
                  'ERRSOI','BUILDHEAT','SABV','SABG',
                  'FSDSVD','FSDSND','FSDSVI','FSDSNI',
                  'FSRVD','FSRND','FSRVI','FSRNI',
                  'TSA','FCTR','FCEV','QBOT','RH2M','H2OSOI',
                  'H2OSNO','SOILLIQ','SOILICE', 
                  'TSA_U', 'TSA_R',
                  'TREFMNAV_U', 'TREFMNAV_R',
                  'TREFMXAV_U', 'TREFMXAV_R',
                  'TG_U', 'TG_R',
                  'RH2M_U', 'RH2M_R',
                  'QRUNOFF_U', 'QRUNOFF_R',
                  'SoilAlpha_U',
                  'Qanth', 'SWup', 'LWup', 'URBAN_AC', 'URBAN_HEAT'
  hist_fincl3 = 'TG:I', 'FSA:I', 'SWup:I', 'URBAN_AC:I', 'URBAN_HEAT:I',
                'TG_U:I', 'TG_R:I',
  hist_fincl4 = 'TG', 'FSA', 'SWup', 'URBAN_AC', 'URBAN_HEAT'
  hist_mfilt  = 1, 30,  28, 24
  hist_nhtfrq = 0, -24, -6, -1
/

Note: See the the Section called Precedence of Options section for the precedence of this option relative to the others.

Note: In the above example we use an invalid namelist name &clmexp -- but it works anyway because the CLM build-namelist knows the namelist that specific variable names belong to, and it puts them there.

Obviously, all of this would be difficult to put in the CLM_NAMELIST_OPTS variable, especially having to put ' around all the character strings. For more information on the namelist variables being set here and what they mean, see the section on CLM namelists below, as well as the namelist definition that gives details on each variable.

Precedence of Options

Note: The precedence for setting the values of namelist variables with the different env_conf options is (highest to lowest):

  1. Namelist values set by specific command-line options, like, -d, -sim_year (i.e. CLM_BLDNML_OPTS env_conf variable)

  2. Values set on the command-line using the -namelist option, (i.e. CLM_NAMELIST_OPTS env_conf variable)

  3. Values read from the file specified by -infile, (i.e. user_nl_clm file)

  4. Datasets from the -clm_usr_name option, (i.e. CLM_USRDAT_NAME env_conf variable)

  5. Values set from a use-case scenario, e.g., -use_case (i.e. CLM_NML_USE_CASEenv_conf variable)

  6. Values from the namelist defaults file.

Thus a setting in CLM_BLDNML_OPTS will override a setting for the same thing given in a use case with CLM_NML_USE_CASE. Likewise, a setting in CLM_NAMELIST_OPTS will override a setting in user_nl_clm.

Setting Your Initial Conditions File

Especially with CLMCN starting from initial conditions is very important. Even with CLMSP it takes many simulation years to get the model fully spunup. There are a couple different ways to provide an initial condition file.

the Section called Doing a hybrid simulation to provide initial conditions
the Section called Doing a branch simulation to provide initial conditions
the Section called Providing a finidat file in your user_nl_clm file
the Section called Adding a finidat file to the XML database

Note: Your initial condition file MUST agree with the surface dataset you are using to run the simulation. If the two files do NOT agree you will get a run-time about a mis-match in PFT weights, or in the number of PFT's or columns. To get around this you'll need to use the Section called Using interpinic to interpolate initial conditions to different resolutions in Chapter 2 to interpolate your initial condition dataset.

Doing a hybrid simulation to provide initial conditions

The first option is to setup a hybrid simulation and give a RUN_REFCASE and RUN_REFDATE to specify the reference case simulation name to use. When you setup most cases, at the standard resolutions of "f09" or "f19" it will already do this for you. For example, if you run an "I2000CN" compset at "f09_g16" resolution the following settings will already be done for you.


./xmlchange -file env_conf.xml -id RUN_TYPE    -val hybrid
./xmlchange -file env_conf.xml -id RUN_REFCASE -val I2000CN_f09_g16_c100503
./xmlchange -file env_conf.xml -id RUN_REFDATE -val 0001-01-01
./xmlchange -file env_conf.xml -id GET_REFCASE -val TRUE
Setting the GET_REFCASE option to TRUE means it will copy the files from the: $DIN_LOC_ROOT/ccsm4_init/I2000CN_f09_g16_c100503/0001-01-01 directory. Note, that the RUN_REFCASE and RUN_REFDATE variables are expanded to get the directory name above. If you do NOT set GET_REFCASE to TRUE then you will need to have placed the file in your run directory yourself. In either case, the file is expected to be named: $RUN_REFCASE.clm2.r.$RUN_REFDATE-00000.nc with the variables expanded of course.

Doing a branch simulation to provide initial conditions

The setup for running a branch simulation is essentially the same as for a hybrid. With the exception of setting RUN_TYPE to branch rather than hybrid. A branch simulation runs the case essentially as restarting from it's place before to exactly reproduce it. While a hybrid simulation allows you to change namelist items, and use a different code base that may have fewer fields on it than a full restart file. The GET_REFCASE works similarily for a branch case as for a hybrid.

Providing a finidat file in your user_nl_clm file

Setting up a branch or hybrid simulation requires the initial condition file to follow a standard naming convention, and a standard input directory if you use the GET_REFCASE option. If you want to name your file willy nilly and place it anywhere, you can set it in your user_nl_clm file as in this example.


&clm_inparm
 finidat    = '/glade/home/$USER/myinitdata/clmi_I1850CN_f09_g16_0182-01-01.c120329.nc'
/
Note, if you provide an initial condition file -- you can NOT set CLM_FORCE_COLDSTART to TRUE.

Adding a finidat file to the XML database

Like other datasets, if you want to use a given initial condition file to be used for all (or most of) your cases you'll want to put it in the XML database so it will be used by default. The initial condition files, are resolution dependent, and dependent on the number of PFT's and other variables such as GLC_NEC or if irrigation is on or off. See Chapter 3 for more information on this.

Other noteworthy configuration items

For running "I" cases there are several other noteworthy configuration items that you may want to work with. Most of these involve settings for the DATM, but one CCSM_CO2_PPMV applies to all models. If you are running an B, E, or F case that doesn't use the DATM obviously the DATM_* settings will not be used. All of the settings below are in your env_conf.xml file

CCSM_CO2_PPMV
CCSM_VOC
DATM_MODE
DATM_PRESAERO
DATM_CLMNCEP_YR_ALIGN
DATM_CLMNCEP_YR_START
DATM_CLMNCEP_YR_END
DATM_CPL_CASE
DATM_CPL_YR_ALIGN
DATM_CPL_YR_START
DATM_CPL_YR_END

CCSM_CO2_PPMV

CCSM_CO2_PPMV sets the mixing ratio of CO2 in parts per million by volume for ALL CESM components to use. Note that most compsets already set this value to something reasonable. Also note that some compsets may tell the atmosphere model to override this value with either historic or ramped values. If the CCSM_BGC variable is set to something other than "none" the atmosphere model will determine CO2, and CLM will listen and use what the atmosphere sends it. On the CLM side the namelist item co2_type tells CLM to use the value sent from the atmosphere rather than a value set on it's own namelist.

CCSM_VOC

CCSM_VOC enables passing of the Volatile Organic Compounds (VOC) from CLM to the atmospheric model. This of course is only important if the atmosphere model is a fully active model that can use these fields in it's chemistry calculations.

DATM_MODE

DATM_MODE sets the mode that the DATM model should run in this determines how data is handled as well as what the source of the data will be. Many of the modes are setup specifically to be used for ocean and/or sea-ice modeling. The modes that are designed for use by CLM are:

CLM_QIAN
CLM1PT
CPLHIST3HrWx

CLM_QIAN is for the standard mode of using global atmospheric data that was developed by Qian et. al. for CLM using NCEP data from 1948 to 2004. See the Section called CLM_QIAN mode and it's DATM settings for more information on the DATM settings for CLM_QIAN mode. CLM1PT is for the special cases where we have single-point tower data for particular sites. Right now we only have data for three urban locations: MexicoCity Mexico, Vancouver Canada, and the urban-c alpha site. See the Section called CLM1PT mode and it's DATM settings for more information on the DATM settings for CLM1PT mode. CPLHIST3HrWx is for running with atmospheric forcing from a previous CESM simulation. See the Section called CPLHIST3HrWx mode and it's DATM settings for more information on the DATM settings for CPLHIST3HrWx mode.

DATM_PRESAERO

DATM_PRESAERO sets the prescribed aerosol mode for the data atmosphere model. The list of valid options include:

clim_1850 = constant year 1850 conditions
clim_2000 = constant year 2000 conditions
trans_1850-2000 = transient 1850 to year 2000 conditions
rcp2.6 = transient conditions for the rcp=2.6 W/m2 future scenario
rcp4.5 = transient conditions for the rcp=4.5 W/m2 future scenario
rcp6.0 = transient conditions for the rcp=6.0 W/m2 future scenario
rcp8.5 = transient conditions for the rcp=8.5 W/m2 future scenario
pt1_pt1 = read in single-point or regional datasets

DATM_CLMNCEP_YR_START

DATM_CLMNCEP_YR_START sets the beginning year to cycle the atmospheric data over for the CLM_QIAN mode.

DATM_CLMNCEP_YR_END

DATM_CLMNCEP_YR_END sets the ending year to cycle the atmospheric data over for the CLM_QIAN mode.

DATM_CLMNCEP_YR_ALIGN

DATM_CLMNCEP_YR_START and DATM_CLMNCEP_YR_END determine the range of years to cycle the atmospheric data over, and DATM_CLMNCEP_YR_ALIGN determines which year in that range of years the simulation will start with.

DATM_CPL_CASE

DATM_CPL_CASE sets the casename to use for the CPLHIST3HrWx mode.

DATM_CPL_YR_START

DATM_CPL_YR_START sets the beginning year to cycle the atmospheric data over for the CPLHIST3HrWx mode.

DATM_CPL_YR_END

DATM_CPL_YR_END sets the ending year to cycle the atmospheric data over for the CPLHIST3HrWx mode.

DATM_CPL_YR_ALIGN

DATM_CPL_YR_START and DATM_CPL_YR_END determine the range of years to cycle the atmospheric data over, and DATM_CPL_YR_ALIGN determines which year in that range of years the simulation will start with.

Downloading DATM Forcing Data

In Chapter One of the CESM User's Guide there is a section on "Downloading input data". The normal process of setting up cases will use the "scripts/ccsm_utils/Tools/check_input_data" script to retrieve data from the CESM subversion inputdata repository. However, the DATM forcing data is unique -- because it is large compared to the rest of the input data (56 Gbytes). Most of the data is stored in the directory set by the env_run.xml variable DIN_LOC_ROOT_CSMDATA. The CLM_QIAN forcing data is in a (possibly) separate directory using the env_run.xml variable DIN_LOC_ROOT_CLMQIAN. In most cases this directory will be in the directory: atm/datm7/atm_forcing.datm7.Qian.T62.c080727 under DIN_LOC_ROOT_CSMDATA. On bluefire there is a separate path for the CLM_QIAN forcing data. We have the full set of data available on a few of the machines we use: bluefire, jaguarpf, and edinburgh. As of October, 18th, 2011 we've uploaded the entire set of forcing data into the input data repository so now it can be treated like other input datasets and the check_input_data script can retreive it for you. Previously only two years of data was available. You can also download the data from the Earth System Grid for other machines. See the Model Forcing Data link under the CLM Documentation Page

Customizing via the template files

The final thing that the user may wish to do before configure is run is to edit the template files which determine the configuration and initial namelist. The variables in env_conf.xml typically mean you will NOT have to edit the template. But, there are rare instances where it is useful to do so. Appendix A gives the details on how to do this. The template files are copied to your case directory and are available under Tools/Templates. The list of template files you might wish to edit are:

clm.cpl7.template
datm.cpl7.template
cpl.template

More information on the CLM configure script

The configure script defines the details of a clm configuration and summarizes it into a config_cache.xml file. The config_cache.xml will be placed in your case directory under Buildconf/clmconf. The config_definition.xml in models/lnd/clm/bld/config_files gives a definition of each CLM configuration item, it is viewable in a web-browser. Many of these items are things that you would NOT change, but looking through the list gives you the valid options, and a good description of each. Below we repeat the config_definition.xml files contents:

Help on CLM configure

Coupling this with looking at the options to configure with "-help" as below will enable you to understand how to set the different options.


> cd models/lnd/clm/bld
> configure -help

The output to the above command is as follows:



We've given details on how to use the options in env_conf.xml to interact with the CLM "configure" and "build-namelist" scripts, as well as giving a good understanding of how these scripts work and the options to them. In the next section we give further details on the CLM namelist. You could customize the namelist for these options after "configure -case" is run.