Repository navigation
Add side-by-side map comparisons of runs and baselines to the showcase - #272
Conversation
|
Hi Daniele, |
|
Thanks @dnerini, this is indeed a very cool feature. I have tested the PR and here are some initial comments I have
|
|
Hi Daniele, Test setup
What works
Bugs1. 2. Case mismatch in the committed config ( Probable issues (from reading the code, not tested)3. Accumulations shorter than the window. Even with the base name fixed, 4. Default Smaller points and suggestions
|
thanks @lclanzi for your inputs! While I agree that both ideas could be useful, I'd suggest to implement them separately once we encounter the concrete need. This PR implements the plot I actually needed for a presentation and nothing more and I believe the code could be easily extended when needed. |
|
thanks @Louis-Frey for running this PR through Claude! I did my best to include the feedback, although some inputs were out of scope I think. See f0788cd |
Frame plotting now decomposes aggregated params like the comparison maps do, and resolve_leadtimes only requests frames whose aggregation window is available. Importing data_input in common.smk loads earthkit.data, which exports ECCODES_ECKIT_GEO=1; unset it before running inference.
|
Hi @dnerini, thanks for implementing the changes. I discussed the PR in its current state with Claude and we still have the following feedback:
|
One comparison figure per init time, lead time, parameter and domain, with a panel for the truth, every candidate run and each selected baseline (up to 4 per row, shared colorbar, max value in each panel title), instead of one figure per run and baseline pair. - comparisons.truth (default true) adds the truth panel; ignored for station truth, which cannot be drawn as a map. Baselines become optional; truth or baselines are required. - Outputs move to results/<showcase>/<init>/compare/.
|
Would be nice to have this! There is a small issue with the max value in the plots - it is computed from the entire field, so it could be outside of the the region plotted. |
|
@copilot resolve the merge conflicts in this pull request |
…-maps # Conflicts: # tests/unit/test_config.py # workflow/rules/common.smk # workflow/scripts/plot_forecast_frame.py Co-authored-by: frazane <62377868+frazane@users.noreply.github.com>
|
I tested this minimal config |
frazane
left a comment
There was a problem hiding this comment.
Good to go from my side. Thanks for addressing the comments!
PR #272 (#272) moved resolve_leadtimes() and PARAMS_WITHOUT_STEP_ZERO_VALUE out of workflow/rules/common.smk into a new evalml.leadtimes module, replacing the local definition with `from evalml.leadtimes import resolve_leadtimes` -- but the new module file was never added to the commit. main's HEAD is currently broken: any Snakemake invocation fails with `ModuleNotFoundError: No module named 'evalml.leadtimes'`.


Add side-by-side map comparisons of runs and baselines to the showcase
New
showcase.comparisonsconfig section andplot_compare_mapsrule thatplot each ML run next to selected baselines at the same valid time, with a
shared colour scale. Defaults: disabled,
alpsdomain, SP_10M, and the leadtimes produced by both the run and every selected baseline.
Move get_style() and preprocess_field() from plot_forecast_frame.py to
src/plotting/styles.py so both scripts share them.
Example output:
