Welcome to a hands-on, structured course designed to help you go from simply running the ICON-CLM climate model to confidently understanding, modifying, and extending it as a developer.
This course is especially useful for:
- Climate and atmospheric science researchers (e.g. ICON-CLM users)
- HPC and numerical modelers working with ICON-LAM or COSMO-CLM
- Postdocs and graduate students transitioning from user to developer roles
The course is divided into 8 chapters, each focusing on a core skill or concept relevant to ICON:
| Chapter | Title |
|---|---|
| 1️⃣ | What is ICON? – Model family, design, and philosophy |
| 2️⃣ | ICON Folder & File Structure – Where the code lives |
| 3️⃣ | Fortran Modules in ICON – Naming, navigation, and coding style |
| 4️⃣ | MPI & Parallelism in ICON – Patches, tiles, halo exchange |
| 5️⃣ | Physics Parameterizations – How ICON simulates the atmosphere |
| 6️⃣ | ICON I/O – NetCDF handling, outputs, and adding diagnostics |
| 7️⃣ | Running Experiments – Namelists, scripts, and experiment folders |
| 8️⃣ | Capstone Project – Custom diagnostics and a full simulation workflow |
📦 Each chapter will include:
- Explanations and visuals
- Hands-on exercises and code snippets
- Real paths and files from ICON
- Fortran 2008 (modern modular structure)
- MPI (parallelization inside ICON)
- ICON’s folder structure, source files, and runtime logs
- NetCDF, CDO/NCO tools
- SLURM job scripts
- Real experiments on HPC clusters
✅ Trace a variable from initialization → physics → output
✅ Add a diagnostic variable to NetCDF output
✅ Navigate mo_ modules and understand ICON logic
✅ Understand how MPI is used internally (patches, halo)
✅ Modify ICON namelists and conduct custom simulations
This repository is currently private as the course is being developed and tested. Eventually, it may be adapted for workshop use or shared with specific collaborators.
This course is based on the following ICON-CLM setup:
| Item | Details |
|---|---|
| Model | ICON-CLM – Climate & Land Modeling system |
| Version | 2025.04-2 (latest public release) |
| Branch | release-2025.04-public |
| Source Repo | gitlab.dkrz.de/icon/icon-model.git |
| Commit Hash | 289490d6c166f27c280df246c6df2da9446c8c9b |
| Environment | macOS (tested on MacBook), using Homebrew-installed toolchain |
| MPI Setup | MPICH + gfortran via mpif90 |
| Model Physics | Dry dynamics + basic ICON-CLM physics (no moist convection by default) |
✅ This matches the official public ICON release maintained by DKRZ and MPI-M.
This course is developed and maintained by M. M. Karadan, a researcher in Ocean and Atmospheric Sciences), with hands-on experience using ICON-CLM in research workflows.
Feel free to open an issue or start a private discussion if you’re collaborating on this repo.