Versions Compared

Key

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

The E3SM model can be run within the E3SM Singularity container. This page describes how to install Singularity on your laptop/workstation, build or download the E3SM container, and run the E3SM model within the container.

Note: the container is limited to the resources of the single node or workstation it runs on so keep your case sizes in mind.

Install Singularity

Linux: Install Singularity as described at Singularity Installation.

...

Windows: https://singularity.lbl.gov/install-windows

Download the E3SM container

The latest version of the E3SM container can be downloaded from e3sm.sif.

Singularity on supported machines

...

Cooley (part of ALCF) https://www.alcf.anl.gov/support-center/cooley/singularity-cooley

Download the E3SM container

The latest version of the E3SM container can be downloaded from e3sm.sif.

...

Assume you are in your home directory and have already cloned the code into a directory call E3SM

Also do mkdir -p $HOME/projects/e3sm/cesm-inputdata (this directory is assumed to exist by the machine entry above. Input data will be downloaded here. (could get large, THE CONTAINER DOES NOT HAVE INPUT DATA)).

[lukasz@blueslogin4 ~]$ module load singularity

[lukasz@blueslogin4 ~]$ srun --pty -p acme-small -t 01:00:00 /bin/bash

(after hear you are on the interactive node)
[lukasz@b566]$ singularity shell --hostname singularity e3sm.sif

(after here you are inside the container)
Singularity> cd E3SM/cime/scripts/
Singularity> ./create_newcase --case singularity.A_WCYCL1850.ne4_oQU240.baseline --compset A_WCYCL1850 --res ne4_oQU240 --mach singularity
Singularity> cd singularity.A_WCYCL1850.ne4_oQU240.baseline/
Singularity> ./case.setup
Singularity> ./case.build
Singularity> ./case.submit

...

You can then cd to the rundir and look at the log files as they are made or do other things inside the container. If you exit the container, the job will not finish.

Advanced: Rebuilding the E3SM container

...

Code Block
languagexml
<compiler COMPILER="gnu" MACH="singularity">
  <HDF5_PATH> $ENV{HDF5_PATH}</HDF5_PATH>
  <NETCDF_PATH> $(NETCDF_PATH)</NETCDF_PATH>
  <PNETCDF_PATH> $(PNETCDF_PATH)</PNETCDF_PATH>
  <ADD_SLIBS> $(shell $(NETCDF_PATH)/bin/nf-config --flibs) -lblas -llapack</ADD_SLIBS>
</compiler>

OR you can create entries for the container in separate config files in the $HOME/.cime directory. See http://esmci.github.io/cime/versions/master/html/users_guide/cime-config.html#cime-user-config-directory

At this point you can run the container.

For more details on how to create a new case and run it, please refer to E3SM Quick Start