# 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)