Downloading the sources¶
- Table of contents
- Downloading the sources
General information¶
The official remote repository for ICON-HAMMOZ is hosted on a GitLab server at ETHZ. It is more or less an empty container with HAMMOZ and ICON being embedded as submodules. This means the HAMMOZ and ICON code are not part of this repository but will be downloaded automatically upon installation.
The repository is based on the following 3 ingredients:- A pristine ICON tag (requires access to the official icon repository)
- HAMMOZ
- A patch that introduces some necessary ICON modifications so that it make calls to HAMMOZ
PLEASE NOTE: Downloading ICON requires access to its repository which in turn requires signing a license. There are institutional licenses issued by the German Weather Service (DWD) or personal non-commercial research licenses issued by Max-Planck-Institute for Meteorology in Hamburg (Germany). See this page for details:
https://code.mpimet.mpg.de/projects/iconpublic/wiki/How_to_obtain_the_model_code
Content of the repository:
* hammoz/ # <-- HAMMOZ code and utilities * icon/ # <-- Initially: pristine ICON only # After deployment: ICON + patch + HAMMOZ * patch_for_icon.diff * README.md * scripts
The repository is accessible via:
git@git.iac.ethz.ch:hammoz/icon-hammoz-distrib.git # <--- over ssh; fastest method; requires to generate a pair of pub/private keys
or
https://[your gitlab login]@git.iac.ethz.ch/hammoz/icon-hammoz-distrib.git # <--- over https; slower than ssh; no need to generate a pair of pub/private keys
Stable release¶
A stable release version is expected during the course of 2022, please watch out for the announcement of the ICON-HAM developers.
The current version is the pre-release icon-hammoz-distrib-prerelease_1.0.
Getting access to the repository¶
Getting access¶
The HAM module including the interface to ICON is released under the BSD-3-Clause-License.
GitLab account setup¶
In order to download the HAM and ICON submodules via the deploy-script (see below) from the repository, you will need to generate a pair of public/private keys on your computer, and then copy/paste the public key into your GitLab account settings. Instructions are provided here . This procedure has to be repeated for the ICON gitlab repository.
Please note: Access to the ICON repository is required in order to be able to download the code!
Remarks:
- Be careful with copying your public key into your clipboard: you may introduce spurious blanks or erroneous characters. Preferentially use a designed tool for copying into clipboard (as explained in https://git.iac.ethz.ch/help/ssh/README).
- If you want to access the repository from several computers, you may generate one pair of keys per machine, and upload each public key to your GitLab account settings.
First download¶
Before you start downloading the code, please, read the README.md in the gitlab repository carefully. It contains information about necessary pre-requisites.
1. Clone the repository
git clone https://[your gitlab login]@git.iac.ethz.ch/hammoz/icon-hammoz-distrib.git [name of your working copy] or git clone git@git.iac.ethz.ch:hammoz/icon-hammoz-distrib.git [name of your working copy] cd [name of your working copy]
Important remark: Do not use the option --recurse-submodules, as it would fail and leave your clone in an improper state.
The submodule initialization and update will be done by a script at the next stage.
2. Deploy the code
From the root of your clone, deploy the code with:
./scripts/deploy.sh
The script will apply the patch, initialize and update the submodules (recursively), and will add a symlink into icon/externals for hammoz.
In case something goes wrong with the deploy-script, e.g., due to non-existent ssh-keys etc., it is recommended to start over from the beginning, i.e. clone the repository. Rerunning the deploy-script may not yield the desired results.
Updates upon bug fixes¶
cd [name of your working copy] git checkout [name of the bug-fix branch] git pull
Next step: Build the model