Skip to content

Introduce multi-variable map plotting#1828

Merged
ukmo-huw-lewis merged 12 commits intomainfrom
1580-multi-layer-plotting
Mar 27, 2026
Merged

Introduce multi-variable map plotting#1828
ukmo-huw-lewis merged 12 commits intomainfrom
1580-multi-layer-plotting

Conversation

@ukmo-huw-lewis
Copy link
Copy Markdown
Contributor

@ukmo-huw-lewis ukmo-huw-lewis commented Nov 28, 2025

Addresses #1580.

Contribution checklist

Aim to have all relevant checks ticked off before merging. See the developer's guide for more detail.

  • Documentation has been updated to reflect change.
  • New code has tests, and affected old tests have been updated.
  • All tests and CI checks pass.
  • Ensured the pull request title is descriptive.
  • Conda lock files have been updated if dependencies have changed.
  • Attributed any Generative AI, such as GitHub Copilot, used in this PR.
  • Marked the PR as ready to review.

@ukmo-huw-lewis ukmo-huw-lewis added the enhancement New feature or request label Nov 28, 2025
@ukmo-huw-lewis ukmo-huw-lewis linked an issue Nov 28, 2025 that may be closed by this pull request
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Nov 28, 2025

Coverage

@ukmo-huw-lewis ukmo-huw-lewis self-assigned this Mar 20, 2026
@ukmo-huw-lewis
Copy link
Copy Markdown
Contributor Author

Updates include support for calling from workflow, and command-line testing after merge with latest main.

To do:

  • add tests
  • resolve issues / inefficiency with ambition to collapse required cubes (may need to be deferred to future issue/PR).

Example output (filename lfric_multi-variable_grid_surface_temperature_seq_20241005230000.png):
image

@ukmo-huw-lewis
Copy link
Copy Markdown
Contributor Author

Changeset updated to
a) remove time-averaging elements from this PR (note the workflow 'plumbing' are still in this PR, but will have no impact).
b) add test of new routine.

On the time-averaging aspects, will setup new issue/PR to cover these elements, as think might have benefits/implications across other supported recipes for general capability rather than only specific to this recipe.

Ready for review.

@ukmo-huw-lewis ukmo-huw-lewis marked this pull request as ready for review March 23, 2026 13:50
@jwarner8
Copy link
Copy Markdown
Contributor

Testing over SAfrica shows this overlay working nicely. Will finish review shortly

image

Copy link
Copy Markdown
Contributor

@jwarner8 James Warner (jwarner8) left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, few minor suggestions. Highly useful functionality that will need broadening in future (e.g. transects, or aggregation), but advantageous to get this on trunk now.

Comment thread src/CSET/cset_workflow/meta/diagnostics/rose-meta.conf Outdated
Comment thread src/CSET/cset_workflow/meta/diagnostics/rose-meta.conf Outdated
Comment thread src/CSET/cset_workflow/meta/diagnostics/rose-meta.conf
Comment thread src/CSET/cset_workflow/meta/diagnostics/rose-meta.conf Outdated
Comment thread src/CSET/operators/_utils.py Outdated
Comment thread src/CSET/operators/plot.py
Comment thread src/CSET/operators/plot.py
Comment thread tests/operators/test_utils.py Outdated
ukmo-huw-lewis and others added 2 commits March 24, 2026 19:43
Co-authored-by: James W <62252918+jwarner8@users.noreply.github.com>
@ukmo-huw-lewis
Copy link
Copy Markdown
Contributor Author

Thanks for review comments. See responses above.
Main changes now implemented:

a) Adopted proposed approach for slice_over_maybe, and seems to preserve required behaviour.
b) Implemented suggested change to add contour labelling. Worthwhile to add quantitative information.
c) Implemented suggested change to add cbar for the overlay variable. Avoided doing this initially to preserve focus on map plot rather than proliferate cbars, but think worthwhile for clarity of what is being plotted (and more publication-ready default). Have checked that no impact on regular (1-variable) spatial plotting.

Example updated output following revisions:
image

@jwarner8
Copy link
Copy Markdown
Contributor

Latest branch run; image

@ukmo-huw-lewis
Copy link
Copy Markdown
Contributor Author

Ahead of merge to main, I ran a ensemble workflow as struggled testing with ensembles on command-line cset bake.
Unfortunately tasks failed on reading, linked to #1972. Will update the relevant issue.

As per discussion above, proposal is to merge this PR to main, with unit testing covering ensemble use-case. Previous testing in development of this change illustrated ensemble multi-variable outputs working correctly. Can review again following improvement to ensemble read reliability.

Will merge this PR as-is.

@ukmo-huw-lewis ukmo-huw-lewis merged commit b13a626 into main Mar 27, 2026
8 checks passed
@ukmo-huw-lewis ukmo-huw-lewis deleted the 1580-multi-layer-plotting branch March 27, 2026 09:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multi-layer plotting

2 participants