Running Required Test Suites
After deploying a new or updated Spack environment, you must validate it by running the required test suite(s) for each supported machine, compiler, and MPI variant. This ensures that core E3SM components build and run correctly in the new environment.
MPAS-Ocean: Running the pr
Suite
For each machine, compiler, and MPI combination (for example, on Chrysalis with Intel and OpenMPI):
Start a Clean Environment
Open a fresh terminal or run
bash
to ensure a clean shell environment.Source the Load Script
source load_polaris_dev_0.3.0-alpha.1_chrysalis_intel_openmpi.sh
(Replace
chrysalis
,intel
, andopenmpi
with your machine, compiler, and MPI as appropriate. See the table in MPAS-Ocean and -Seaice Supported Machines.)Create a Worktree for E3SM
cd e3sm_submodules/E3SM-Project git worktree add ../e3sm_chrysalis_intel_openmpi cd ../e3sm_chrysalis_intel_openmpi/components/mpas-ocean git submodule update --init --recursive .
Build MPAS-Ocean
make ifort
(Use the correct make target for your machine and compiler. See the table in MPAS-Ocean and -Seaice Supported Machines.)
Set Up and Run the Test Suite
polaris suite -c ocean -t pr -p . -w /path/to/polaris_scratch/pr_intel_openmpi cd /path/to/polaris_scratch/pr_intel_openmpi sbatch job_script_pr.sh
Check Results
Wait for the job to complete. If all tests pass, check the box for this configuration in your PR. If not, file an issue (in the Polaris repo), note the problem, and link to the issue next to the (unchecked) checkbox in the PR description.
Omega: Running CTests
For each machine, compiler, and MPI combination (for example, on Chrysalis with Intel and OpenMPI):
Start a Clean Environment
Open a fresh terminal or run
bash
to ensure a clean shell environment.Source the Load Script
source load_polaris_dev_0.3.0-alpha.1_chrysalis_intel_openmpi.sh
(Replace as appropriate for your configuration.)
Run Omega CTests
./utils/omega/ctest/omega_ctest.py -c -s -o e3sm_submodules/Omega
Check Results
Wait for the tests to complete. If all tests pass, check the box for this configuration in your PR. If not, file an issue (in the Polaris or Omega repo), note the problem, and link to the issue next to the (unchecked) checkbox in the PR description.
Notes
Always use a clean environment to avoid contamination from previous runs.
Use the correct load script for the machine, compiler, and MPI variant being tested.
For each configuration, document the outcome in the PR checklist, linking to issues as needed.
Tip: If you are testing on a different machine or with a different compiler/MPI, simply substitute the appropriate names in the examples above. For a full list of supported combinations and the correct make targets, see the tables in MPAS-Ocean and -Seaice Supported Machines and Omega Supported Machines.