---
# System prepended metadata

title: Deliver EXCLAIM GT4Py dycore to users
tags: [functional cycle 13]

---

# Deliver EXCLAIM GT4Py dycore to users

###### tags: `functional cycle 13`


Developers: Abishek, Jonas, Sam
Support: Christoph

Appetite: full cycle

## Goals

- Complete verification, clean up build process and ship `icon-exclaim/exclaim_gt4py_dycore` to first users

## Non-Goals

## Known Tasks

1. Verification of `exclaim_gt4py_dycore` (Abishek, Christian)
     - [x] Time step convergence tests to determine validity of probtest and in which regimes
         - Preliminary studies indicate we need to start after spin-up (restart) and use small enough timesteps (<60s for R02B05) to be able to probtest
    - [ ] Probtest aquaplanet runs starting from restart (time bound, can do without testing APE)
        - ~~Blocker: icon-nwp doesn't allow perturbations when reading from restart~~
    - [x] Assist Christian Zeman with applying [new method](https://gmd.copernicus.org/articles/15/3183/2022/) to verify experiments (low priority)
        - [x] Generated 120 ensembles with exclaim_ape_R0204 (init) for analysis purposes (60 cpu reference + 20 OpenACC + 20 DSL Dycore + 20 Wrong )
        - [ ] Need to repeat above from restart file

![](https://i.imgur.com/qdlEPky.png =400x)


2. Convert remaining stencils to GT4Py
    - [x] Few global stencils relevant to aquaplanet [Stencil 1](https://github.com/C2SM/icon-exclaim/blob/aa450d1778ef7c56a1f1d88f3ecf719a8294cdb1/src/atm_dyn_iconam/mo_solve_nonhydro.f90#L2319) [Stencil 2](https://github.com/C2SM/icon-exclaim/blob/aa450d1778ef7c56a1f1d88f3ecf719a8294cdb1/src/atm_dyn_iconam/mo_nh_diffusion.f90#L1205) (Jonas)

3. Improve build process and packaging

    - [x] Install Python3.10 on Daint (Jonas - via spack)
    - [x] Establish jenkins CI (non-spack) for Daint and Tsa
        - Only Tsa for now. Daint after spack is finished
        - No probtest for aquaplanet yet. 
    - [ ] Continue working on spack build process (Jonas, Sam, Abishek)
        - [x] Freeze versions of icon4py/gt4py
        - [x] Spack builds of icon4py + gt4py
        - [ ] Spack integration of icon-dsl
    - [ ] ~~Provide simplified build script for domain scientists (not a good idea)~~

4. Performance analysis and optimization (support: Matthias, Christoph)
    - [x] Benchmark `mch_ch_r04b09_dsl` against `icon-nwp`
     ![](https://i.imgur.com/X8MOBe0.png)

    - [x] Benchmark `exclaim_ape_r2b05` against `icon-nwp` on Tsa (4 nodes)
    ![](https://i.imgur.com/1242WOK.png)

    - [ ] Benchmark `exclaim_ape_r2b07` against `icon-nwp`
    - [ ] Run scaling tests for `exclaim_ape_r2b07`
    - [ ] For mch operational run `mch_opr_1e`, to compare with their previous benchmarks

5. Port icon-exclaim to new nvhpc toolchain


## Possible rabbit holes

- Code/Model verification can easily become a half-year project, if allowed to. 