---
# System prepended metadata

title: Last dycore stencils and restructuring ICON4Py
tags: [functional cycle 11]

---

# Last dycore stencils and restructuring ICON4Py

###### tags: `functional cycle 11`

Appetite: full cycle

Developer: Hannes/Abishek/Nikki, Christoph, Matthias

## Integrate remaining stencils

- [ ] `solve_nonhydro_stencil_52/53` depend on merge of gt4py scan feature
- [ ] `solve_nonhydro_stencil_20/21` and `nh_diffusion_stencil_15` depend on gt4py features (vertical indirection, ..)

## Dusk worarounds (Christoph)

- [x] Change double masks and other workarounds to proper types and remove if possible

## Fusion (Christoph)

Start creating bigger field operators (only possible between halo exchanges and if all output fields are on the domain).
Do not integrate all fused stencils, too much manual work.
Maybe test integration with 1-2 fused stencils, for general solution wait for DSL preprocessor.

- [ ] fused diffusion stencil 01
- [ ] fused diffusion stencil 02
- [ ] fused diffusion stencil 03
- [ ] fused diffusion stencil 04
- [ ] fused velocity advection
- [ ] fused solve nonhydro predictor stencil 01
- [ ] fused solve nonhydro predictor stencil 02
- [ ] fused solve nonhydro corrector stencil 01
- [ ] fused solve nonhydro corrector stencil 02
- [ ] fused solve nonhydro corrector stencil 03
 
## Performance Comparison (Matthias)

- [x] Redo perforance comparison between dusk/dawn and gt4py for the full set of stencils

## Preparation of the scientific restructuring of ICON4Py (with domain scientist)

- [x] Sit down with Anurag (domain scientist?) and give an overview of the current structure of the icon4py stencils.
- [ ] Move stencils of module into one single Python module (postponed until next cycle)
