---
# System prepended metadata

title: '[Greenline] Microphysics'
tags: [cycle 23 - 07/24]

---

# [Greenline] Microphysics

<!-- Add the tag for the current cycle number in the top bar -->

- Shaped by: Magdalena, Chia Rui
- Appetite (FTEs, weeks):
- Developers: <!-- Filled in at the betting table unless someone is specifically required here --> Ong Chia Rui

## Problem
<!-- The raw idea, a use case, or something we’ve seen that motivates us to work on this -->
Some month ago the ICON microphysics (graupel) was ported to gt4py. It has never been merged into the main branch due to shift of attention and because some performance issues made it difficult to handle. (? are those resolved? Running compiled backends, embedded...)?

For the warm bubble experiment as a next atmospheric test case to run in greenline we need a microphysics component and we therefore want to integrate this into the main development line.

## Appetite
<!-- Explain how much time we want to spend and how that constrains the solution -->

## Solution
<!-- The core elements we came up with, presented in a form that’s easy for people to immediately understand -->
### technical/infrastructure
- set up a new namespace package for icon4py: this is the first physics parametrization in icon4py we need a new namespace package for that. 
    - decide the package structure for physics 
        - atmosphere/physics? (one namespace package for all physics packages)
        - atmosphere/microphysics? (essentially on namespace package for each granule)
        - atmosphere/physics/microphysics (as above but under a common parent)

- tests? (@Chia Rui: add whats needed), run the tests on CI
- (@Chia Rui) rework the code internally?

### model interface
- as we want to work towards a modular model infrastructure, the microphysics should become our first model component. 
    - design an interface based on  
    - decide the type of component and the coupling to the model (return tendencies, TBD with Chia Rui and Anurag)

## Rabbit holes
<!-- Details about the solution worth calling out to avoid problems -->

## No-gos
<!-- Anything specifically excluded from the concept: functionality or use cases we intentionally aren’t covering to fit the ## appetite or make the problem tractable -->

## Progress
<!-- Don't fill during shaping. This area is for collecting TODOs during building. As first task during building add a preliminary list of coarse-grained tasks for the project and refine them with finer-grained items when it makes sense as you work on them. -->

- [x] Task 1 ([PR#xxxx](https://github.com/GridTools/gt4py/pulls))
    - [x] Subtask A
    - [x] Subtask X
- [ ] Task 2
    - [x] Subtask H
    - [ ] Subtask J
- [ ] Discovered Task 3
    - [ ] Subtask L
    - [ ] Subtask S
- [ ] Task 4

