[toc]
- Patience
- Access to an HPC
- Miniconda / Miniforge
- ESM-Tools (GitHub account is recommended, but not required)
- Access to gitlab.dkrz.de, git.geomar.de
Get ESM-Tools (https://github.com/esm-tools/esm_tools/)
You'll need to load a module with git LFS support. Typically (glogin, levante etc) you can do
module load gitOn nesh you will need
module load oneapi2023-env
module load git-lfsOn olaf you will need
module load git-lfsThen get ESM-Tools
mkdir esm
cd esm
git clone https://github.com/esm-tools/esm_toolscd esm_tools/utils/
./install_perl.shFirst load an anaconda environment (on most machines):
module load anaconda3or similar.
Run python --version to check that python is not newer than 3.10.
NESH does not have an anaconda environment, so you'll need to install your own (see Miniconda further down).
Then install ESM-Tools
cd ../
./install.shIf you get an issue with LC_ALL being unset, then just set it in your .bashrc file.
See also "INSTALLING" on the ESM-Tools git page.
If it complains about the python version, then you can install your own Miniconda environment and build ESM-Tools that way. First install Miniconda:
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -o Miniconda3.sh
bash Miniconda3.sh -b -p ${HOME}/miniconda3
${HOME}/miniconda3/bin/conda init bashLog out and log in again for the changes to take effect.
Make sure you have an older Python
conda install python=3.10Then install ESM-Tools
cd esm/esm
./install.shSwitch to GEOMAR branch
cd
cd esm/esm_tools/
git checkout geomar_devGithub:
- Log into github.com.
- Profile picture upper right corner -> Settings -> Developer settings -> Personal access tokens -> Generate new token (classic)
- Click "repo" box. Name it after the machine, e.g.
olafornesh. Click Generate token. - Copy code
Gitlab (DKRZ, GEOMAR, etc)
- Log into gitlab e.g. gitlab.dkrz.de or git.geomar.de
- Click your profile logo near the
+sign in the top left. - Choose "Preferences" -> "Access Tokens" -> "Add new token".
- Name it after the machine, e.g.
olafornesh, empty the "expiration date" box, click "read_repository" and "write_repository", "Create personal access token". - Copy code
Make a ${HOME}/.netrc file on the HPC (glogin, levante, olaf etc) with contents
machine github.com login <github_username> password <token_code_from_github>
machine gitlab.dkrz.de login <dkrz_username> password <token_code_from_dkrz>
machine git.geomar.de login <geomar_email> password <token_code_from_geomar> Save and close the file.
Your experiments should run and be stored on the WORK, PROJ, or SCRATCH directory, depending on the machine used.
So we need to create that directory.
To make life easier, we will make a link in our HOME directory to that directory.
On olaf:
ESM_DIR=/proj/internal_group/iccp/$USER/esm-experiments/On glogin or blogin:
ESM_DIR=/scratch/usr/$USER/esm-experiments/On nesh:
ESM_DIR=$WORK/esm-experiments/Then do
cd
cd esm
mkdir -vp $ESM_DIR
ln -sfv $ESM_DIR esm-experimentsGet the code
cd esm
mkdir models
cd models
esm_master get-focioifs-4.0 Compile
esm_master comp-focioifs-4.0Here we make a new experiment my_first_exp. You can set the experiment name with the -e flag.
cd
cd esm/esm_tools/runscripts/focioifs/
esm_runscripts focioifs4-piCtrl-initial-olaf.yaml -e my_first_exp The runscript for FOCI-OpenIFS 4.0 on NESH (Kiel University machine) explains the parameters set for a coupled experiment: runscripts/focioifs/focioifs4-piCtl-initial-nesh.yaml.
For examples on how to change namelist parameters for OpenIFS, see runscript for OpenIFS on NESH: runscripts/oifs/oifs-43r3-climMEMODEL-nesh.yaml.
These examples should be enough to get an idea on how to change scenario (piControl, historical, 4xCO2 etc), model resolution, time step.
Documentation for the model components are here:
User forums you should join: