-
Notifications
You must be signed in to change notification settings - Fork 212
Input Data
All active and data components use input datasets. A local disk needs $DIN_LOC_ROOT
to be populated with input data in order to run CESMwith these components. For all machines, input data is provided as part of the release via data from the CESM subversion input data server. However, on supported machines (and some non-supported machines), data already exists in the default local filesystem input data area as specified by $DIN_LOC_ROOT
(see below).
Input data is handled by the build process as follows:
- The buildnml scripts in
Buildconf/i
create listings of required component input datasets in theBuildconf/$component.input_data_list
files. -
$CASE.build
checks for the presence of the required input data files in the root directory$DIN_LOC_ROOT
. If all required data sets are found on local disk, then the build can proceed. - If any of the required input data sets are not found, the build script will abort and the files that are missing will be listed. At this point, you must obtain the required data from the input data server using check_input_data with the -export option.
The env_run.xml
variables DIN_LOC_ROOT
and DIN_LOC_ROOT_CLMFORC
determine where you should expect input data to reside on local disk. See the input data variables.
If you want to use new user-created dataset(s) and give these dataset(s) names that are different than the names in $DIN_LOC_ROOT
, we recommend using the script link_dirtree in the directory $CCSMROOT/scripts
. link_dirtree creates a virtual copy of the input data directory by linking one directory tree to another. The full directory structure of the original directory is duplicated and the files are linked. To use this script, use the -h optiion for usage.
> cd $CCSMROOT/scripts
> ./link_dirtree -h
$DIN_LOC_ROOT
which can then be populated with user-specified input datasets. For example, you can first generate a virtual copy of $DIN_LOC_ROOT
in /user/home/newdata with the following command:
> link_dirtree $DIN_LOC_ROOT /user/home/newdata
The script $CASEROOT/check_input_data
determines if the required data files for the case exist on local disk in the appropriate subdirectory of $DIN_LOC_ROOT
. If any of the required datasets do not exist locally, check_input_data provides the capability for downloading them to the $DIN_LOC_ROOT
directory hierarchy via interaction with the input data server. You can independently verify that the required data is present locally by using the following commands:
> cd $CASEROOT
> check_input_data -help
> check_input_data -inputdata $DIN_LOC_ROOT -check
`
> cd $CASEROOT
> check_input_data -inputdata $DIN_LOC_ROOT -export
``
Required data files not on local disk will be downloaded through interaction with the Subversion input data server. These will be placed in the appropriate subdirectory of ``$DIN_LOC_ROOT
. For what to expect when interacting with a Subversion repository, see downloading input data.