---
# System prepended metadata

title: BRAINSTORMING - Cycle 15
tags: [cycle 15]

---

# BRAINSTORMING - Cycle 15

###### tags: `cycle 15`

Names indicate
- before pre-betting table: who proposed it (if required for asking for more context).
- after pre-betting table: who takes care that the project will be shaped (doesn't mean it's already the person who shapes)

Betting table: probably Monday 15th, 1-3

## Not categorized

- identify components that can give some speed if ported with gt4py targetting the 1km APE next year and start porting them
    - Components:
        - ECRAD
        - 3D Smagorinsky
    - How to decide
        - size of the component
        - how much expected performance gain
    - Who:
        - Anurag (who knows the setup/components)
        - Someone with performance / GT4Py background
    - Goal:
        - For cycle 16+ know where to continue


# both blue and green

- refactor ICON4Py repository: [shaping here](https://hackmd.io/svJ7ZSRRRrWK075RIKfvxg) (Sam, Magdalena)

## Blue line
- Complete tracer advection (Liskov, cleanup), so it can be merged ([shaping](https://hackmd.io/RtTAKDZWTOG_pFp21K2_cg))
- Graupel (Anurag)

### Optimization
- Optimize dycore (try to make 1.4x) (Christoph)
    - Fused stencils called by Liskov (continuation)  (see Liskov shaping)
    - Writing fused stencils (continuation) [shaping](https://hackmd.io/cvFkXLdfTMCZdeR8CJNGcw)
    - CI: performance measurement (Maybe Sam and Christopher?) [shaping](https://hackmd.io/doZ9l59LTYejEuUWig4yfw)
    - see also: GT4Py optimizations/temporaries
- Liskov completion [shaping](https://hackmd.io/G5Ii5EgMQkCh1U4mwLAMhQ)

### Spack + CI ([shaping](https://hackmd.io/0-yiWyJoTsCWOHql-7SkLw))
- include use cases in our testing framework (Jenkins) and in buildbot (Christoph, Abishek, Jonas)
    - APE
    - global un-/coupled
    - MCH setup 

### Model verification ([shaping](https://hackmd.io/TY4qDI6LQ0eB-Zo9gEdygg))
- make aquaplanet (APE) pass the probtest and/or Zemans test (Abishek, Anurag)
    - would require Abishek


## Green line

- finish dry dycore:  [shaping here](https://hackmd.io/rFrdjYCzTgqUC827lV_Yyw) (how much is that) (Magdalena)
    - finish left overs in diffusion(offset stencil, non limited area stencil), verification
    - verification for solve_nonhydro
    - integrate in driver code, existing dummy driver or new dycore driver

- integrate manual halo exchanges in Python diffusion: [shaping here](https://hackmd.io/nFjkZ_fQS_aOr9txGl_9PA) (Magdalena)
    - from serialized decomposed grid
- GridManager: [shaping here](https://hackmd.io/k5F79UozR72FBjIxDIsUPg) (Magdalena, Anurag, Will)
    - cool-down: document current grid tricks
    - decide on how deal with ICON/grid file post processing. Magdalena
    - use in driver code. (so far only diffusion test code) 
    - Create Python/C interfaces to Florian Prill's Grid manager, call from Python driver (Will)

## GT4Py

- Field IR: as a preparation for embedded execution we want to improve the design of a Field IR, this is important because it's the last cycle with Felix who has a lot of knowledge there (Enrique, Hannes) [shaping here](https://hackmd.io/fCXnShnFR96kFau7lw36ew)
- optimizations: work on a non-naive heuristic for temporaries (including how we handle conditionals) (Till, Christoph?) [shaping here](https://hackmd.io/oJR7phI8S0yUOfnmz2lTug)
    - transformation: pow of small power optimization
- GPU execution from Python (Enrique, Rico) [shaping here](https://hackmd.io/zzW6_SqvRE-jrHUmjUG8Pg)
    - storages properly usable as Fields in gt4py.next
    - integration of the gpu parameter in codegen/compilation
- Implement cleanup tasks that were decided in the previous cycle (Rico, Enrique) [shaping here](https://hackmd.io/-OGkeMJeQT-CqXPQTzlUCw)
    - roll-out feature test structure to all feature tests
    - ...
- DaCe (Linus) [shaping here](https://hackmd.io/3RWz9hycQUeiviKygugz0g)
    - What is not done in cool down: review+merge, reductions, scans
    - Testing on icon4py / FVM nabla test case?
    - open further steps (next cycle or not): Orchestration, Optimization, Bindings
    - temporaries
- Setup a paper about gt4py.next (Mauro, Enrique)
- How to write a model support framework? (Enrique, Mauro)
    - Architecture
    - Tools
    - Should we have a workshop with GT4Py model implementers?
        - ICON
        - FVM
        - FV3
        - Tasmania
    - Let's formulate a concrete scope


## under the radar

- Till will need to allocate some time for FVM work
- Linus leaving: Handover to new trainees, cartesian work?

## Remarks

- we think we should not make the Python driver of tracer advection (TODO Mauro: talk with Will and Andreas)