Containerization of Revised NEMO-ERSEM Employing Singularity (CoRNErS)
The aim is to build a shippable container of a physical ocean model (NEMO) coupled with a biogeochemical model (ERSEM). Ideally, only input data (SeTTe) and output specification (XIOS) are needed to start a full-fledged ocean circulation model (preferably on any HPC you get your hands on).
- the basis for these scripts comes from NOC-MSM/CoNeS and pmlmodelling/NEMO-container
- changes for recent model versions from J Mak NEMO notes
- ERSEM PR version from myself; base version from pmlmodelling/ersem
Repo containing instructions for creating a singularity container for NEMO-ERSEM. The setup is based heavily on the CoNES repo.
To create a singularity container, please follow the steps below:
- Install Docker on host system and create
singularity
executable withalias singularity='docker run --privileged -it --rm --mount type=bind,source=${PWD},target=/home/singularity quay.io/singularity/singularity:v3.7.3-slim'
- I hard-coded the alias into the ~/.bashrc file on my WSL
- Clone and compress
NEMO-ERSEM
andXIOS
folders, this can be done viabash initial-clone-repo.sh
. - Run singularity build commands
- Run
singularity build /home/singularity/baseOS.sif /home/singularity/baseOS.def
- Run
singularity build /home/singularity/fabm.sif /home/singularity/fabm.def
- Run
singularity build /home/singularity/xios.sif /home/singularity/xios.def
- Run
singularity build /home/singularity/nemo.sif /home/singularity/nemo.def
- Run
- The next steps could include:
- ship containers to HPC
- get input data from SETTE
- look into XIOS settings to organize the desired model output
- run
NOTE
Make sure that when you build the sif
files, you have bound the correct folders to your container.