ICON can be downloaded and used under a [personal non-commercial research license](https://code.mpimet.mpg.de/projects/iconpublic/wiki/Instructions_to_obtain_the_ICON_model_code_with_a_personal_non-commercial_research_license). An account at <code.mpimet.mpg.de> is required. Instructions are available on the [public ICON page](https://code.mpimet.mpg.de/projects/iconpublic). Useful information can be found in the ICON [Tutorial](https://www.dwd.de/EN/ourservices/nwv_icon_tutorial/pdf_volume/icon_tutorial2023_en.pdf?__blob=publicationFile&v=3).
## How to set up and run ICON on jet
## How to set up ICON on jet
1. Load the necessary modules.
```
...
...
@@ -93,28 +93,27 @@ ICON can be downloaded and used under a [personal non-commercial research licens
This configure script does two things: i) loads a selection of environment modules; ii) runs the ICON configure scripts passing all the required compiler flags.
1. Prepare for an out-of-source build. Create a build directory in the source code root and move into it. In the build directory, link the `configure` file and then run `jet.ifort.sh` (the configuration script above)
Why the `srun --mem=20G`? Because this way the configuration script runs on the compute nodes of `jet` and has enough memory to run simple test programmes (actually, it could work with a lot less than 20G). This is necessary because the configuration script makes some tests to see if the MPI environment (in particular `mpirun`) works correctly; with the default settings on `jet`, this is the case only on the compute nodes.
According to MB, an alternative way to make it work is:
A side note: without specifying `FI_provider=tcp` in the configure script, it is still possible to run it as follows:
Why the `srun --mem=20G`? Because this way the configuration script runs on the compute nodes of `jet` (so the MPI environment, in particular `mpirun`, works correctly) and has enough memory to run simple test programmes (actually, it could work with a lot less than 20G).
1. Compile the code by running the following in the build directory (`-j8` is optional, it's only about running multiple compile jobs in parallel):
```sh
...
...
@@ -145,3 +144,4 @@ ICON can be downloaded and used under a [personal non-commercial research licens