Skip to content

[2304] Adjust eval for precipitations#2521

Draft
vhertel wants to merge 4 commits into
ecmwf:developfrom
vhertel:vhertel/develop/2304-eval-precip
Draft

[2304] Adjust eval for precipitations#2521
vhertel wants to merge 4 commits into
ecmwf:developfrom
vhertel:vhertel/develop/2304-eval-precip

Conversation

@vhertel

@vhertel vhertel commented Jun 18, 2026

Copy link
Copy Markdown

Description

Summary

Generalizes the eval/plotting pipeline with a focus on precipitation. Variable plotting options can now be matched by glob, colormaps can be discrete/custom, and per-stream/channel colorbar scaling supports log/symlog for skewed distributions.

Changes

  • Glob-based variable selection: plotting options can be keyed by exact channel name or a glob pattern (e.g. tp_*, v_*).
  • Custom/discrete colormaps: added a colors option that builds discrete colormaps to match references like RAINA precipitation.
  • Per-stream/channel colorbar scaling: replaced the boolean log_colorbar flag with a colorbar_scale option. linear is the default and fallback. log is for single-sign skewed distributions like tp, but requires vmin > 0, otherwise it warns and falls back to linear. symlog handles double-sign variables like v and u (if distribution is skewed) as well as non-linear bias plots.

Examples

(1) RAINA cmap and log bias

  IMERG_ANEMOI:
    "tp_*":
      colorbar_scale: "log"
      levels: [0.0001, 0.0005, 0.001, 0.002, 0.005, 0.01, 0.02]
      colors:
        - "none"
        - "#BEDAE5"
        - "#80B5CC"
        - "#5691B3"
        - "#4B6E9C"
        - "#424B83"
        - "#45596D"
        - "#5B9E4C"
Target
map_c2lonbt6_targets_1_2023-09-02T1200_IMERG_ANEMOI_global_tp_imerg_0_001
Bias
map_c2lonbt6_bias_ens_14_1_2023-09-02T1200_IMERG_ANEMOI_global_tp_imerg_0_001

(2) Continuous and log cmap

  IMERG_ANEMOI:
    "tp_*":
      colorbar_scale: "log"
      vmin: 1.0e-6
      colormap: "Blues"
Target
map_c2lonbt6_targets_1_2023-09-02T1200_IMERG_ANEMOI_global_tp_imerg_0_001

(3) ERA5 example with discrete cmap

  ERA5:
    "q_*":
      levels: [0.0001, 0.0005, 0.001, 0.002, 0.005, 0.015, 0.03]
Target
map_ryjwbxus_targets_0_2023-10-01T1200_ERA5_global_q_850_002

Issue Number

Closes #2304

Checklist before asking for review

  • I have performed a self-review of my code
  • My changes comply with basic sanity checks:
    • I have fixed formatting issues with ./scripts/actions.sh lint
    • I have run unit tests with ./scripts/actions.sh unit-test
    • I have documented my code and I have updated the docstrings.
    • I have added unit tests, if relevant
  • I have tried my changes with data and code:
    • I have run the integration tests with ./scripts/actions.sh integration-test
    • (bigger changes) I have run a full training and I have written in the comment the run_id(s): launch-slurm.py --time 60
    • (bigger changes and experiments) I have shared a hegdedoc in the github issue with all the configurations and runs for this experiments
  • I have informed and aligned with people impacted by my change:
    • for config changes: the MatterMost channels and/or a design doc
    • for changes of dependencies: the MatterMost software development channel

@vhertel vhertel marked this pull request as draft June 18, 2026 15:01
@github-actions github-actions Bot added the eval anything related to the model evaluation pipeline label Jun 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

eval anything related to the model evaluation pipeline

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

adjust eval for precipitations

1 participant