We are exploring the use of running singularity containers via the Skylab workflow for specific tasks. This page contains information on setting up and running containers on remote hosts, mounting directories, and launching at EWOK runtime.

Singularity Documentation: https://docs.sylabs.io/guides/latest/user-guide/

Initial account setup

  1. Create an account on sylabs (via google/ucar email)
  2. Generate access token - once logged in, got to the top right in the drop down menu under your user name and click "Access Tokens". Enter a label/alias, ie "Hercules", and click "Create Access Token". You will be prompted for this token when you first create a container using the --remote  option. 

Environment setup

Load the singularity module with: module load singularity

Building a singularity container

Singularity containers can be built using a .def  file. This allows for easy reproducibility and standardization. You can find more information on this file setup in the Singularity Documentation. Below is a simple .def  file used for a bare bones container that is used to run WeatherBenchX.

TODO: insert def from Hercules

In order to build a container on a remote host or HPC, you need to use the --remote  flag since we typically do not have admin privileges. An example build command using the definition file above on Hercules is: singularity build --remote wb_container.sif /work2/noaa/jcsda/agriffin/JEDI_WB/wb_container/wb_container.def 


Running a container

TODO