MeteoSwiss / MeteoSwiss/probtest

Fix ambiguous interface for creating perturbed ensembles

Open
#65 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1
Forks
9
Avg merge
3d 17h
Merged PRs (30d)
3

Description

To run a perturbed ensemble in ICON, one can:

a. Give values to `pinit_seed`/`pinit_amp` when calling `run-ensemble` command (ICON builtin perturb functionality). If `pinit_seed` is not equal to 0, this will trigger the functions `add_random_noise_*` in [icon/src/drivers/mo_atmo_nonhydrostatic.f90](https://gitlab.dkrz.de/icon/icon-nwp/-/blob/master/src/drivers/mo_atmo_nonhydrostatic.f90?ref_type=heads) and makes use of `pinit_amp` to pertub the prognostic variables `w`, `vn`, `theta_v`, `exner` and `rho`. Depending on other namelist switches, additional variables may be perturbed.
b. Make several copies of a first "ref" netcdf file and perturb them via `perturb` command (non-icon runs without a builtin perturbation functionality like the granules need this option)

This interface is ambiguous, and should be clarified/fixed.

Extra 1: make fields necessary for creating the ensemble file directories "required"
Extra 2: add error checks in case files/directories are not created/copied

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the run-ensemble and perturb command interfaces, then read the linked ICON driver file to understand the built-in perturbation path. Clarify which inputs are required for ensemble-file directories and define error checks for files or directories that are not created or copied. Done means the two perturbation workflows are unambiguous and these validation failures are reported.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.