Skip to content

Paper figures - #199

Draft
jonasbhend wants to merge 49 commits into
mainfrom
paper-figures
Draft

Paper figures#199
jonasbhend wants to merge 49 commits into
mainfrom
paper-figures

Conversation

@jonasbhend

Copy link
Copy Markdown
Contributor

WIP on figures used for Varda-Single publication

clairemerker and others added 24 commits June 11, 2026 11:34
AI-assisted implementation!

This PR adds meteograms for publication, centralises some ploting style
things, uses long names for variables and tries out some colors :)

Any feedback and changes welcome!

To run only plotting: 
```
evalml publication config/Varda-Single_paper.yaml -- \
  --allowed-rules publication_all publication_meteogram publication_figures \
                  data_download_eckit_geo_grids \
  --forcerun publication_meteogram publication_figures
``` 

Current version of the plots:

<img width="2957" height="1685" alt="image"
src="https://github.com/user-attachments/assets/218f849e-4bd3-41d2-b19d-124dfe156e50"
/>
<img width="2335" height="2056" alt="image"
src="https://github.com/user-attachments/assets/25d1d544-996a-4adf-869c-54ae054cfcf8"
/>

---------

Co-authored-by: Jonas Bhend <jonas.bhend@meteoswiss.ch>
Co-authored-by: Daniele Nerini <daniele.nerini@meteoswiss.ch>
Co-authored-by: Michele Cattaneo <44707621+MicheleCattaneo@users.noreply.github.com>
Co-authored-by: Jonas Bhend <jonasbhend@users.noreply.github.com>
)

AI assisted implementation!

- Derive the jretrievedwh obs marker from --station inside the script
instead of passing a separate --obs argument. The marker value contains
'=' (e.g. jretrievedwh:locations=KLO), which marimo's cli_args drops, so
obs silently fell back to the KLO default and any non-KLO station was
broken (also via the snakemake rule). The rule no longer passes --obs.
- Import `time` in the entry cell and thread it through: the timing log
lines used time.perf_counter() but `time` was never imported (NameError
at runtime).
jonasbhend and others added 5 commits June 26, 2026 11:06
AI assisted implementation! 

Changes the plotting workflow for publication
to be able to generate them from the snakemake workflow as well as
interactively rendering through a manifest .

A documentation is currently available in `docs/publication_figures.md`
@jonasbhend

Copy link
Copy Markdown
Contributor Author

d8409f9 provides a suggestion for an updated evaluation with the wind_speed and explicit aggregations from #203 . If you need to run before this is merged, please reset to previous stage.

clairemerker and others added 6 commits July 15, 2026 11:04
Switch the scoremap skill palette to ColorBrewer RdBu, reserving the
deep ends for out-of-range extremes and lighter tiers for in-range bins,
and extend the skill levels from ±0.35 to ±0.55 at 0.10 spacing.
This PR adds a standalone script that plots an areal-mean meteogram over
a region polygon, styled to match the paper figures. It masks the truth
points inside a region shapefile, averages over them at each valid time,
and plots the series, reusing `publication_style` (`line_style`,
`param_label`), `publication.mplstyle`, and the lead-time x-axis of
`publication_meteogram` so it reads consistently with the other paper
figures.

The script is standalone (not wired to snakemake) and truth-only: it
reads the analysis zarr directly, with no inference or verification. It
works for any region shapefile and parameter.

For the Valais precipitation case study it plots the areal-mean hourly
precipitation of the ICON-CH1 analysis over the Valais region. The
Valais shapefile is on store at
`/store_new/mch/msopr/ml/regions/cantons/valais.shp`. It can also be
generated with the included `make_region_shapefile.py`, which pulls the
canton boundary from GADM and reprojects it to EPSG:2056:

```
python workflow/scripts/make_region_shapefile.py --canton Valais --outfn valais.shp
```

## Output
With
```
python workflow/scripts/plot_meteogram_region.py \
  --truth /store_new/mch/msopr/ml/datasets/mch-ich1-1km-2024-2025-1h-pl13-v1.0.zarr \
  --truth_label "ICON-CH1 analysis" \
  --shapefile /store_new/mch/msopr/ml/regions/cantons/valais.shp \
  --date 202506271800 --steps 0/120/1 --param TOT_PREC --outfn output/results/valais.png
```
you get:

<img width="1560" height="585" alt="valais_final"
src="https://github.com/user-attachments/assets/779cef33-3894-473b-8d6f-890379f0659a"
/>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants