Versions Compared

Key

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

...

Code Block
# Model running
alias run_scripts="cd /home/<username>/E3SM/scripts/"
alias simulations="cd /lcrc/group/e3sm/<username>/E3SM_simulations/"
alias post_processing="cd /home/<username>/E3SM/utils/post_v2/"

...

Configuring the Model Run – New Run Script

...

A simplified run script template can be found at https://github.com/E3SM-Project/SimulationScripts/blob/master/archive/v2/beta/coupled/run.20210205.v2_test02.piControl.ne30pg2_EC30to60E2r2.chrysalis.sh.

# Machine

  • readonly MACHINE=chrysalis: the name of the machine you’re running on.

# Simulation

  • readonly COMPSET="WCYCL1850"

  • readonly RESOLUTION="ne30pg2_EC30to60E2r2-1900_ICG":

    • ne30 is the number of spectral elements for the atmospheric grid.

    • EC30to60E2r2 is the ocean and sea-ice resolution.

    • ICG means initial conditions from a G-case. ICG can apply to either EC30to60E2r2 or RRM ocean (WC14). It specifies whether the ocean and ice is partially spun up or just from data (temperature and salinity, velocity is assumed zero): “G-case” indicates the ocean and sea-ice are active but the atmosphere, land, and river are from data.

    • rrm for regionally refined mesh is an option to replace other resolutions. RRM for the ocean/sea ice is 14km near the US coast and Arctic and identical to the 30to60E2r2 elsewhere. RRM for the atmosphere is 120km over North America and ne30 elsewhere.

  • readonly DESCRIPTOR="v2_test02.piControl.ne30pg2_EC30to60E2r2":

    • v2_test02 is a short custom description to help identify the simulation.

    • piControl is the type of simulation. Other options here include amip, F2010.

    • ne30pg2_EC30to60E2r2 is the resolution. This should be identical to the RESOLUTION above.

# Code and compilation

  • readonly CHECKOUT="20210205": date the code was checked out on in the form {year}{month}{day}.

  • readonly BRANCH="master": branch the code was checked out from.

  • readonly DEBUG_COMPILE=false

# Run options

For a short run, this section might look like:

Code Block
readonly MODEL_START_TYPE="initial"  # initial, continue
readonly START_DATE="0001-01-01"
readonly STOP_OPTION="nmonths" # Units will be number of months
readonly STOP_N="1"            # Stop after running 1 month (one `STOP_OPTION`)
readonly REST_OPTION="nmonths" # Units will be number of months
readonly REST_N="1"            # Write restart file after running 1 month (one `STOP_OPTION`)     
readonly RESUBMIT="0"          # Do not re-submit
readonly DO_SHORT_TERM_ARCHIVING=false

For a long run, this section might look like:

Code Block
readonly MODEL_START_TYPE="initial"  # initial, continue
readonly START_DATE="0001-01-01"
readonly STOP_OPTION="nyears"  # Units will be number of years
readonly STOP_N="20"           # Stop after running 20 years (20 `STOP_OPTION`s)
readonly REST_OPTION="nyears" # Units will be number of years
readonly REST_N="5"            # Write restart file after running 5 years (5 `REST_OPTION`s)     
readonly RESUBMIT="4"          # Submit 4 times after the initial submit (4+1 submits * 20 years/submit = 100 years)
readonly DO_SHORT_TERM_ARCHIVING=false

In the above configuration, the model is submitted 5 times (initially and then 4 times after). Each submission covers 20 simulated years, so this will run 100 simulated years. On each submission, restart files will be written every 5 years. Since each submission covers 20 simulated years, each one will have 4 restart files written.

Model runs need to return the same results whether they use restart or not. If that is not the case, then a non-bit-for-bit change has been introduced.

# Coupler history

  • readonly HIST_OPTION="nyears"

  • readonly HIST_N="5"

# Batch options

  • readonly PELAYOUT="L": 1=single processor, S=small, M=medium, L=large, X1=very large, X2=very very large. Use S for short tests. Full simulations should use L. The size determines how many nodes will be used. The exact number of nodes will differ amongst machines.

  • readonly WALLTIME="28:00:00"

  • readonly PROJECT="e3sm"

# Case name

  • readonly CASE_NAME=${CHECKOUT}.${DESCRIPTOR}.${MACHINE}: sets the case name. This will look like `20210205.v2_test02.piControl.ne30pg2_EC30to60E2r2.chrysalis using the values on this page.

    • If you are not comparing the same case on different machines, exclude the .${MACHINE} part.

# Set paths

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

  • readonly CASE_ROOT="/lcrc/group/e3sm/${USER}/E3SM_simulations/${CASE_NAME}": where the results will go. If you’re using the aliases defined in “Useful Aliases”, simulations will take you to the directory where ${CASE_NAME} will go.

# Sub-directories (leave unchanged)

This section should not be changed:

Code Block
readonly CASE_SCRIPTS_DIR=${CASE_ROOT}/case_scripts # Where files for your particular simulation will go.
readonly CASE_BUILD_DIR=${CASE_ROOT}/build          # All the stuff to compile. The executable will be there.
readonly CASE_RUN_DIR=${CASE_ROOT}/run              # Where all the output will be. Most components will have their own log files.
readonly CASE_ARCHIVE_DIR=${CASE_ROOT}/archive      # Where archives will go.

# Leave empty (unless you understand what it does)

  • readonly OLD_EXECUTABLE=""

Running the Model

Run the model by doing the following:

...