Cloning the repository

In case there is no default given load a git module, at least

module load git/2.31.1-gcc-11.2.0

You need a directory with enough space, for example on mistral you should change the directory to

cd /work/<project_name>/<user-id>

Now clone the repository

git clone --recursive git@gitlab.dkrz.de:icon/icon-mpim.git

This command creates a local copy of the latest repository version on your disk.

Change the directory

cd icon-mpim

You are now on icon-mpim:master, which is the main development branch.

The path to the repositories of the other working groups is analogous (icon-nwp, icon-cscs, icon-dkrz…). Only the “common” repository needs a slightly different path for cloning: git@gitlab.dkrz.de:icon/icon.git

Use the status command to check your status

git status

The result should look like

On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean

Switching branches

Most likely you will not use the default branch of an ICON repository but some feature or project branch. When you switch between branches it can happen that your local submodules (e.g. JSBACH, YAC) are out of sync with the ICON source. You can fix this by updating the local submodules after switching the branch

git checkout -b feature-<other-branch>
git submodule update

—- — Monika Esch 2022/11/09 10:10