---
# System prepended metadata

title: '[Greenline] Verification of global model'
tags: [cycle 18]

---

# [Greenline] Verification of global model

- Shaped by: Magdalena
- Appetite (FTEs, weeks): 1 person, ~1 week 
- Developers: <!-- Filled in at the betting table unless someone is specifically required here -->

## Problem
<!-- The raw idea, a use case, or something we’ve seen that motivates us to work on this -->
When porting components to greenline we have been validating against serialized data fo the MCH experiment `mch_ch_r04b09_dsl` which is a LAM model. However we also ported code paths that are specific to global model and those have never been verified.

## Appetite
<!-- Explain how much time we want to spend and how that constrains the solution -->
In the best case it is done within 1 day, worst case there are two time risky things:
- tracking of serialbox issues, there might be this wrong shape error that we do not really understand
- tackling bugs in icon4py

## Solution
<!-- The core elements we came up with, presented in a form that’s easy for people to immediately understand -->
### Add test verification runs for APE experiment and fix possible issues: 
- Generate serialized data for a global Exclaim experiment: `exclaim_ape_R02B04`
- make tests parametrizable for either of the experiments
- fix NonHydrostaticConfig: such that it uses ICON default values and there is a fixture for mch experiment.
- 
### Consolidate the handling of serialization branch

Since the serialized data is going to stick around for quite a while we want to consolidate the icon-dsl branch that we use for it and bring it up to date with icon-dsl whenever needed.

Most recent serialization branch for generating the serialized data is: 
    `icon-exclaim@ser_nh_solve_ml` it has been branched off `icon-exclaim@ser_nh_solve` and merged against `icon-dsl` 


clean up the branch: 
- only serialize needed data


- decide on a good name for that branch
- merge or rename icon-exclaim@ser_nh_solve_ml
- add some documentation in icon4py as to where the data comes from and how it needs to be generated.




## Rabbit holes
<!-- Details about the solution worth calling out to avoid problems -->
On a first try (a couple of month ago) serializing for the global case there were some issues with serialbox which made the run crash. Those issues have never been investigated, might still persist and might be difficult to tackle.

## 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] serialization branch 
    - [x] merge from icon-exclaim upstream
    - [x] rename branch to some sensible name [greenline_verification](https://github.com/C2SM/icon-exclaim/tree/greenline_verification)
    - [x] cleanup serialization statements
    - [x] serialize data for exclaim_ape_R04B02
 - [x] validate solve_nonhydro, diffusion for global model -> [PR](https://github.com/C2SM/icon4py/pull/315)
     - [x] add options in  diffusion: `l_zdiff_t == FALSE`, `itype_sher != 2
     - [x] set up data for experiment
- [ ] add `mo_solve_nonhydro_stencil_60 in corrector and validate `exner_dyn_incr` for last substep -> [branch](https://github.com/C2SM/icon4py/tree/corrector_stencil_60)
 
