Project

General

Profile

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:
  1. A pristine ICON tag (requires access to the official icon repository)
  2. HAMMOZ
  3. 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