Skip to content

CUG 6.11 BASICS What are the directories and files in my case directory

Robert Jacob edited this page Dec 22, 2016 · 1 revision

The following describes many of the files and directories in the $CASEROOT directory.

Buildconf/
is the directory where the buildnml and buildexe component scripts reside and where the input_data_list files are generated by the buildnml scripts.
CaseDocs/
is the directory where copies of the latest namelist/text input files from invoking preview_namelists are placed. These files should not be edited and exist only to help document the case setup and run.
SourceMods/
contains directories for each component where case specific source code modifications can be included. The source files in these directories will always be used in preference to the source code in $CCSMROOT. This feature allows users to modify CESM source code on a case by case basis if that is preferable to making modifications in the $CCSMROOT sandbox.
LockedFiles/
is the directory that holds copies of the locked files.
Macros
is the Makefile Macros file for the current configuration. The Makefile is located in the Tools directory and is identical on all machines. The Macros file is a machine and compiler dependent file. This file is locked during the build step.
README.case
provides a summary of the commands used to generate this case.
$CASE.build
is the script that is run interactively to build the CESM model.
$CASE.clean_build
is the script that cleans the CESM build.
$CASE.l_archive
is the script that is submitted to the batch queue to archive CESM data to the long-term archive storage system, like an hpss or mass storage system.
$CASE.run
is the script that is submitted to the batch queue to run a CESM job. This script could also be run interactively if resources allow.
$CASE.submit
is the script that will submit the job to the system's particular batch queuing system.
check_input_data
is a tool that checks for missing input datasets and provides a capability for exporting them to local disk.
cesm_setup
is the script that is run to generate the $CASE.run script for the target env_mach_pes.xml file and if they have not already been created, the user_nl_xxx files for the target components.
create_production_test
is a tool that generates an exact restart test in a separate directory based on the current case.
env_*.xml files
contain variables used to set up, build, and run CESM.
logs/
is the directory that contains a copy of the component log files from successful case runs.
timing/
is the directory that contains timing output from each successful case run.
xmlchange
is a utility that supports changing xml variables in the $CASEROOT xml files.
$CASEROOT/Tools/

a directory containing many scripts that are used to set up the CESM model as well as run it. Some of particular note are

  • Makefile is the Makefile that will be used for the build.
  • cesm_buildexe is invoked by $CASEROOT/$CASE.build to generate the model executable. This script calls the component buildexe scripts in Buildconf.
  • cesm_buildnml is invoked by $CASEROOT/$CASE.build to generate the component namelists in $RUNDIR. This script calls the component buildnml scripts in Buildconf.
  • ccsm_check_lockedfiles checks that any files in the $CASEROOT/LockedFiles/ directory match those in the $CASEROOT directory. This helps protect users from overwriting variables that should not be changed.
  • ccsm_getenv converts the xml variables in $CASEROOT to csh environmental variables.
  • getTiming.csh generates the timing information.
  • getTiming2.pl generates timing information and is used by getTiming.csh.
  • mkDepends generates Makefile dependencies in a form suitable for inclusion into a Makefile.
  • st_archive.sh is the short-term archive script. It moves model output out of run directory to the short-term archive directory. Associated with DOUT_S and DOUT_S_ROOT env variables in env_run.xml.
  • taskmaker.pl derives pe counts and task and thread geometry info based on env var values set in the env_mach_pes file.
  • xml2env converts env_*xml files to shell environment variable files that are then sourced for inclusion in the model environment. Used by the ccsm_getenv script.
Clone this wiki locally