Log In | Users | Register
Edit | Attach | New | Raw | Diff | Print | | Tools
You are here: MODELS » ICONIconModel


The ICON modelling framework is a joint project between the German Weather Service and the Max Planck Institute for Meteorology for developing a unified next-generation global numerical weather prediction and climate modelling system.

Table of content


In order to get access to the ICON repository hosted on the C2SM-ICON GitHub organization, please write an e-mail to the administrator of ICON:


Once you have access, clone the repository the following:

  1. Clone the repository and all submodules from github using the web protocol: (git clone --recursive https://github.com/C2SM-ICON/icon.git) or the ssh protocol: (git clone --recursive git@github.com:C2SM-ICON/icon.git). If you don't already have an ssh key set up for Github, but would like to do so, follow the instructions
  2. Execute "git submodule update"

Configure and compile

ICON needs to be configured before compilation. There is a configure-script for each compiler and/or machines located in config. The general procedure is independent of machines or compiler, it is the following:

  1.  ./config/[machine_you_want_to_compute_on]/[configuration_filename] 
    For example, if you are on Daint, and want to compile with pgi and run on CPU, type:
  2. Load the required modules (Euler only)
     source modules.env 
  3. Compile with
     make -j8 
    The executable will be located in /bin

Remark: ICON offers the possibility to have different icon executables (for example with different compilers) compiled from the one working copy simultaneously. The section 'Out-of-source configuration (building)' in Readme.md file gives more information.


The mechanism of the automatic runscript-generation in ICON is describe with the the AMIP case, a standard experiment with the Echam physics.
In principal the same procedure is applicable for all experiments.

  • Modify the machine-independent running script located in the run directory (for example run/exp.atm_amip, or create a new one by copying run/exp.atm_amip into run/exp.my_exp). The latter script is not the running script, the running script "run/exp.my_exp.run" will be created by the command make_runscripts.
        cd run
        edit and adapt exp.atm_amip 

Example: You can change the output frequency of the files to 1 month : checkpoint_interval="P1M", restart_interval="P1M", file_interval="P1M". For 6h output data in the file: output_interval="PT6H" The time format is following the ISO-8601 duration string standard, for more info about the time stamp format, please consult the document Namelist_overview.pdf located in the doc folder of your icon distribution.

  • Construct the runscript for your experiment using the command make_runscripts. The output is the running script run/exp.my_exp.run :
        cd ..
        ./make_runscripts -s my_exp 

Note: The command make_runscripts uses the machine-independent setting file located in the run folder run/exp.my_exp (the one edited in point 1),
and write a running script for the specific machine which includes machine-specific parts (for example paths to input files, or the right call to batch system).
The command make_runscripts calls the functions in run/create_target_header to write the machine-specific parts of the runscript.

  • Adjust your runscript
        cd run
        edit exp.my_exp.run 

If you want to use more than one node, change both #SBATCH --nodes=XX and the variable no_of_nodes in the runscript.

If you want to change the machine-specific settings more permanently to use the same number of nodes or same account for every runscript you create, you can modify run/create_target_header (for changing number of node, change the variable use_nodes).

  • submit the job
    On daint.cscs.ch
       sbatch --time=01:30:00 exp.my_exp.run 
    On euler.ethz.ch
       bsub -W [minutes requested or time requested in format HH:MM] exp.my_exp.run

Input files

Will Sawyer/Colombe Siegenthaler/Jonas Jucker downloaded a lot of data directly from mistral.dkrz.de.

On daint.cscs.ch

All the data should be readable by anyone, please contact jonas.jucker@env.ethz.ch if you have trouble to read the data.

  • You can find the data on store :

Some of the folder are links to files located on the scratch :


  • Cases from the DWD tutorial (in 2017) can be found also on store:

On euler.ethz.ch

  • A preliminary version of the input files can be found here:

  • Cases from the DWD tutorial (in 2017):

Recommended Compilers and Setup

For every new release C2SM performs a testing procedure to ensure correct results for all our supported machines and compilers. A scaling analysis is performed as well to assess the most efficient model configuration in terms of number of processes. We only support and test the most recent release of ICON.

Latest release

Previous releases

Echam and ICON results compared

Altough the Echam physics are contained in ICON, the result may differ between ECHAM and ICON. MPI as well as C2SM did some studies to assess the differences between those to models. For more detailed information please visit EchamvsICON.


Documentation can be found at several places: spacer
This site is managed by the Center for Climate Systems Modeling (C2SM).
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors. Ideas, requests, problems? Send feedback!