ICON

ICON (Icosahedral Nonhydrostatic Weather and Climate Model) is a global model suitable for climate and weather prediction at regional and global domains. It is a joint project of DWD, MPI-M and KIT.

To stay informed about what is going on in the ICON world and to get to know other ICON users, please attend our quarterly ICON meeting.

Support status

C2SM facilitates the utilisation of ICON on the Piz Daint and Euler computing platforms for the CPU and GPU architectures.

Supported release

The latest release distributed by C2SM, currently 2024.01, is continuously being tested on both Piz Daint and Euler and receives patches when necessary.

Mailing list

If you use ICON, please follow these instructions to subscribe to our mailing list.

Access

The ICON repository is hosted on the C2SM GitHub organisation. If you do not have access, please follow the instructions under How to get Access.

Once you have access, clone the repository from GitHub using the SSH protocol:

  git clone --recurse-submodules git@github.com:C2SM/icon.git

If you do not already have an SSH key set up for GitHub, but would like to do so, follow the instructions.

Configure and compile

The ICON build process varies between Piz Daint and Euler. The CSCS platform Piz Daint uses Spack, whereas the ETHZ machine Euler requires manual build configuration for ICON. Instructions for both platforms are provided below.

Piz Daint

Refer to the official spack-c2sm documentation for installing ICON using Spack. To set up a Spack instance, ensure that you clone the repository using the Spack tag provided in the ICON repository at config/cscs/SPACK_TAG_DAINT.

Euler

Before compiling ICON, it is essential to configure it using the respective script in the config folder. The configuration process using these files remains consistent across different machines and compilers.

Configure ICON with GCC using -O2 and CPU-specific optimizations:

./config/ethz/euler.cpu.gcc.O2

Load required modules:

source modules.env

Compile ICON:

make -j 8

Run test case with ICON

In the run folder, you find many prepared test cases, which you can convert into run scripts. To generate the runscript of one of the experiment files, e.g. mch_ch_lowres, you can use the make_runscripts function.

./make_runscripts mch_ch_lowres

To run the created runscript, navigate to the run subdirectory and submit the runscript.

cd run && sbatch ./exp.mch_ch_lowres.run

You may need to adjust the account in the runscript to match your permissions. Alternatively, you can include --account <my_account_id> in the sbatch command.

Input data

ICON input data are stored at the following locations:

  • Piz Daint (CSCS): /users/icontest/pool/data/ICON
  • Euler: /cluster/work/climate/icon_input

Toolset

In the Tools section, you will find relevant tools for working with ICON:

  • Extpar: External parameters for the ICON grid (preprocessing)
  • Processing Chain: Python workflow tool for ICON
  • SPICE: Starter package for ICON-CLM experiments
  • icon-vis: Python scripts to visualise ICON data

Projects

Learn more about ongoing projects involving ETHZ in the development of ICON:

Documentation

ICON documentation is available at:

External Software

The following external software is useful for working with ICON data: