Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Start with an example of a run script for a low-resolution coupled simulation: https://github.com/E3SM-Project/SimulationScripts/blob/master/archive/v2/run.20210409v2.v2beta4LR.piControl.ne30pg2_EC30to60E2r2.chrysalis.sh . Create a new run script or copy an existing one. The path to it should be <run_scripts_dir>/run.<case_name>.sh

...

  • readonly COMPSET="WCYCL1850" : compset (configuration)

  • readonly RESOLUTION="ne30pg2_EC30to60E2r2": resolution (low-resolution coupled simulation in this case)

    • ne30 is the number of spectral elements for the atmospheric dynamics grid, while pg2 refers to the physics grid option. This mesh grid spacing is approximately 110 km.

    • EC30to60E2r2 is the ocean and sea-ice resolution. The grid spacing varies between 30 and 60 km.

    • For simulations with regionally refined meshes such as the N American atmosphere grid coupled to the WC14 ocean and sea-ice, replace with northamericax4v1pg2_WC14to60E2r3.

  • readonly DESCRIPTORCASE_NAME="v2beta4v2.LR.piControl":

    • v2beta4 v2.LR is a short custom description to help identify the simulation.

    • piControl is the type of simulation. Other options here include , but are not limited to: amip, F2010.

  • readonly CASE_GROUP="v2beta4v2.piControlLR":

    • This will let you mark multiple cases as part of the same group for later processing (e.g., with PACE).

# Code and compilation

  • readonly CHECKOUT="2021040920210702": date the code was checked out on in the form {year}{month}{day}. The source code will be checked out in sub-directory named {year}{month}{day} under <code_source_dir>.

  • readonly BRANCH="master": branch the code was checked out from. Valid options include “master”, a branch name, or a git hash. For provenance purposes, it is best to specify the git hash.

  • readonly DEBUG_COMPILE=false : option to compile with DEBUG flag (leave set to false)

...

  • readonly MODEL_START_TYPE="initialhybrid" : specify how the model should start – use initial conditions or , continue from existing restart files, branch, or hybrid.

  • readonly START_DATE="0001-01-01" : model start date. Typically year 1 for simulations with perpetual (time invariant) forcing or a real year for simulation for transient forcings.

# Case name

  • readonly CASE_NAME=${CHECKOUT}.${DESCRIPTOR}.${RESOLUTION}.${MACHINE} : the case name is a unique identifier for the simulation. It is constructed from variables defined above. If there is no risk of ambiguity, the machine name can be dropped: CASE_NAME=${CHECKOUT}.${DESCRIPTOR}.${RESOLUTION}.

# Set paths

  • readonly CODE_ROOT="${HOME}/E3SME3SMv2/code/${CHECKOUT}": where the E3SM code will be checked out.

  • readonly CASE_ROOT="/lcrc/group/e3sm/${USER}/E3SM_simulationsE3SMv2/${CASE_NAME}": where the results will go. The directory ${CASE_NAME} will be in <simulations_dir>.

# Sub-directories (leave unchanged)

  • readonly CASE_BUILD_DIR=${CASE_ROOT}/build : all the compilation files, including the executable.

  • readonly CASE_ARCHIVE_DIR=${CASE_ROOT}/archive : where short-term archived files will reside.

...

This section controls what operations the script should perform. The run-e3sm script can be invoked multiple times with the user having the option to bypass certain steps by toggling true / false

  • do_fetch_code=truefalse : fetch the source code from Github.

  • do_create_newcase=true : create new case.

  • do_case_setup=true : case setup.

  • do_case_build=truefalse : compile.

  • do_case_submit=true : submit simulation.

...