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 - bashto 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, and- openmpiwith 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 - bashto 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.