CORAL - simulation manager for NEMO - is a collaborative job submission script manager for NEMO

Pierre-Yves Barriat 296953dcf4 Fix lemaitre3 skeleton 6 anos atrás
archive 6a8837f120 Initial commit 8 anos atrás
nemo 58adced26d Update lemaitre3 arch 6 anos atrás
templates 296953dcf4 Fix lemaitre3 skeleton 6 anos atrás
utils 6a8837f120 Initial commit 8 anos atrás
zone 6a8837f120 Initial commit 8 anos atrás
.gitignore 6a8837f120 Initial commit 8 anos atrás
AUTHORS 6a8837f120 Initial commit 8 anos atrás
BUGS 6a8837f120 Initial commit 8 anos atrás
LICENSE 6fb1416ef8 Initial commit 8 anos atrás
NEWS 6a8837f120 Initial commit 8 anos atrás
README.md 4737545ee9 Update 'README.md' 6 anos atrás
TODO 6a8837f120 Initial commit 8 anos atrás
coral 6a8837f120 Initial commit 8 anos atrás
gener_perturb_nemo_restart.bash f1da60f28c Add bash script to generate perturbed initial conditions from NEMO restart 7 anos atrás
setup-coral.sh 6a8837f120 Initial commit 8 anos atrás

README.md

Coral - simulation manager for NEMO

Purpose

Coral is a collaborative job submission script manager for the NEMO (Nucleus for European Modelling of the Ocean) modeling framework Documentation. With Coral, you can use and re-use job submission scripts designed and tested by your colleagues. You can ammend them in an easy way, and generate a submission script tailored to your needs. Then, you can share your script with your colleages.

Overview

  • Run 'coral -h' to get a list of Coral commands, and 'coral <command> -h' to get help for a specific <command>
  • Please see the Documentation for common usages and change log.
  • Having trouble? Get help with Troubleshooting

Features

Once Nemo and Coral are properly installed, you can create a working submission script in three commands:

  • coral init: initiate a set of configuration files (with working default values on the cluster) for the experiment features, data location, restart options, etc.
  • coral build: create a submission script from the configuration files
  • coral submit: submit the job, with options to run tests locally, ignore automatic job resubmission, restart from scratch, etc.

At each stage, you can act manually to adapt the workflow to your liking.

Once the job is submitted, you can simply run 'coral status' in the run directory to get an overview of what is happening. No need to look for job ids, or output files.

Requirements

NEMO & XIOS source code: see How to get NEMO from scratch

Install

Clone the Coral repository (for instance in the EXTERNAL directory of your NEMO install)

cd $HOME/modeles/nemo/3.6/EXTERNAL
git clone ssh://egit/TECLIM/Coral.git coral

and update your shell startup script to source the 'setup-coral.sh' file to add 'coral' to your PATH variable.

configure_nemo()
{
  [...]
  source $HOME/modeles/nemo/3.6/EXTERNAL/coral/setup-coral.sh
}

Getting started

NEMO & XIOS must be compiled: see How to compile NEMO

Create a NEMO config experiment

cd $HOME/modeles/nemo/3.6/CONFIG
# Create new experiment
./makenemo -n ORCA1_LIM3_REF -d "OPA_SRC LIM_SRC_3" -m myARCHfile -j0
# Check your CPP keys
vi ORCA1_LIM3_REF/cpp_ORCA1_LIM3_REF.fcm
# Compile
./makenemo -n ORCA1_LIM3_REF -m myARCHfile -j4

Create a Coral instance

cd ORCA1_LIM3_REF
mkdir CORAL00
cd CORAL00
coral -h
coral init -h
coral list
coral init elic_gnu

Benchmarks

Lemaitre3

Blocking Switch = 576 cores

XIOS NEMO WTIME per YEAR #CORES MEM/CPU
2 140 142 3072
2 260 262 3072
4 260 43 min 264 4096
4 520 36 min 524 3072
8 520 36 min 528 4096
8 520 37 min 528 3072
12 1040 35 min 1052 3072
16 1040 35 min 1056 3072
16 1856 32 min 1872 3072

Acknowledgments

  • Thanks @dfr for initializing this project.

Contributors

License

This project is under the Creative Commons CC0 1.0 Universal License. See the LICENSE file for the full license text.