Get Simulation Package via GIT🔗
Getting a Simulation Package with git is as easy as pushing it to a remote git server, in particular if your NEMO root installation is under Subversion (no interference between svn and git).
(A) NEMO root NOT under git control🔗
If your NEMO installation is not under git control, you can clone a configuration using the URL specified on the repository's web page:
Go into the configurations directory in your local NEMO installation (
CONFIG/ for NEMO version 3,
cfgs/ for version 4) and clone this project (see the "Clone" link or button on the git webinterface to get the URL).
In this example, NEMO (version 4) has been installed on a separate scratch-disk (
$WORK) and the simulation repository was hosted on github under the namespace "mscheinert":
git clone https://github.com/mscheinert/ORCA2_ICE.git
cat ORCA2_ICE/exp_cfg.txt >> ./work_cfgs.txt
Instead of the default branch you can also specify it when cloning (e.g.
release-4.0 if it exists):
git clone -b release-4.0 https://github.com/mscheinert/ORCA2_ICE.git
This wil create a new configuration folder, which can be used as a reference case for makenemo -r. Make sure, you add this configuration to the local registry file
cfg.txt (NEMO version 3) or
work_cfgs.txt (NEMO version 4) before invoking makenemo.
In the case you have already a configuration with the same name, you can specify a new name for the clone you are pulling from remote. Just add another argument with the new name:
git clone -b release-4.0 https://github.com/mscheinert/ORCA2_ICE.git ORCA2_ICE__release4
(B) NEMOGCM already under git control🔗
If your NEMOGCM installation is already under git control you cannot clone a different repository into the existing working copy. Instead, you can use git subtree to inject files from another remote repository into a particular sub-folder of your existing working tree.
Within NEMO root directory:
git remote add -f remote_ORCA2_ICE-mscheinert https://github.com/mscheinert/ORCA2_ICE.git # add remote
git subtree add --prefix cfgs/ORCA2_ICE remote_ORCA2_ICE-scheinert release-4.0 --squash # donwload master branch into sub-folder
cat cfgs/ORCA2_ICE/exp_cfg.txt >> cfgs/work_cfgs.txt
In this case, you keep the information from where you have downloaded the reference configuration (see
git remote -v).
Or even shorter, without keeping remote source information (not recommended):
git subtree add --prefix cfgs/ORCA2_ICE-REF email@example.com:immerse-project/ORCA2_ICE-REF.git release-4.0 --squash
cat cfgs/ORCA2_ICE-REF/exp_cfg.txt >> cfgs/work_cfgs.txt
The revision that will be installed, is the most recent one from the master branch. If you're seeking another branch/revision of this configuration (e.g. an older one), you can browse available branches/tags via the web-interface or list alternative branches on the command line and swap available branches/tags easily with
git branches -r
git checkout otherBranch
Note: origin/HEAD in the output listing is not a branch in its own but points to the default branch (master branch in most cases).