... | @@ -5,7 +5,7 @@ The project pulls the source from our own Nemo repository, called [NEMOGCM_V40]( |
... | @@ -5,7 +5,7 @@ The project pulls the source from our own Nemo repository, called [NEMOGCM_V40]( |
|
The sections below will give a short overview of:
|
|
The sections below will give a short overview of:
|
|
|
|
|
|
1) How to quickly build and test the Nemo standalone
|
|
1) How to quickly build and test the Nemo standalone
|
|
2) The different ways of running Nemo (e.g. interactive, GPU on/off, Reproducible, etc.)
|
|
2) The different ways of running Nemo (job vs interactively)
|
|
3) The workflow for making changes to the source code
|
|
3) The workflow for making changes to the source code
|
|
|
|
|
|
## 1. Build & Test
|
|
## 1. Build & Test
|
... | @@ -35,5 +35,20 @@ export NEMO_WITH_GPU=1 |
... | @@ -35,5 +35,20 @@ export NEMO_WITH_GPU=1 |
|
After the installation step, you have a folder called `sandbox`, which contains everything needed to run Nemo.
|
|
After the installation step, you have a folder called `sandbox`, which contains everything needed to run Nemo.
|
|
|
|
|
|
## 2. Ways of running
|
|
## 2. Ways of running
|
|
|
|
There are two ways of running Nemo, through a job with the `psubmit` program, or interactively through our own scripts.
|
|
|
|
|
|
|
|
### Psubmit
|
|
|
|
Psubmit is a program created by @amedvede to launch jobs. Clone [psubmit](`https://github.com/a-v-medvedev/psubmit`) and extend `$PATH` with the `./psubmit.sh` script. Then you can execute a job by running: `psubmit.sh -n1` where `-n1` specifies we want to run on 1 node.
|
|
|
|
|
|
|
|
### Interactive mode
|
|
|
|
Within the `sandbox` directory there is an interactive scripts for each platform. The scripts are meant to be executed from within an interactive node on the supercomputer. The scripts take 3 environment variables for controlling the execution: `NTH` for the number of threads, `BINARY` for specifying the binary to run, and `RESULT_FOLDER` for naming the results folder. When not set, their default values will be used.
|
|
|
|
|
|
|
|
An example execution could be:
|
|
|
|
```bash
|
|
|
|
NTH=1 BINARY=./nemo-g RESULT_FOLDER=gpu_version ./lumi-g-interactive-run.sh
|
|
|
|
```
|
|
|
|
|
|
|
|
### Using results
|
|
|
|
Whether you use `psubmit` or the interactive scripts, `sandbox` will contain a folder called `results.*` where `*` depends on your folder naming (default is SLURM_JOB_ID). This folder contains the results for Nemo. We are specifically interested in the `.yaml` file which contains the result variables `last_step`, `ssh_norm_max`, `U_norm_max`, `S_min`, `S_max`. The `.yaml` files of different `results.*` folders can be compared through the `compare.sh` script in the `sandbox` folder.
|
|
|
|
|
|
## 3. Workflow for making changes |
|
## 3. Workflow for making changes |
|
|
|
\ No newline at end of file |