Skip to content

New docs gallery global spatial plot example - #2406

Merged
ukmo-huw-lewis merged 5 commits into
mainfrom
2405-add-global-spatial-plot-gallery
Aug 25, 2026
Merged

New docs gallery global spatial plot example#2406
ukmo-huw-lewis merged 5 commits into
mainfrom
2405-add-global-spatial-plot-gallery

Conversation

@ukmo-huw-lewis

@ukmo-huw-lewis ukmo-huw-lewis commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Fixes #2405

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.
  • Attributed any Generative AI, such as GitHub Copilot, used in this PR.
  • Marked the PR as ready to review.

MS CoPilot used in initial development of cset gallery functionality via #2353.

@ukmo-huw-lewis ukmo-huw-lewis self-assigned this Aug 20, 2026
@ukmo-huw-lewis ukmo-huw-lewis linked an issue Aug 20, 2026 that may be closed by this pull request
@github-actions

github-actions Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor
Total coverage: 93% (HTML report)
Name                                                              Stmts   Miss Branch BrPart  Cover
---------------------------------------------------------------------------------------------------
src/CSET/__init__.py                                                105      0     14      0   100%
src/CSET/_common.py                                                 156      0     54      0   100%
src/CSET/cset_workflow/app/fetch_fcst/bin/fetch_data.py             117     28     26      0    78%
src/CSET/cset_workflow/app/fetch_nimrod/bin/fetch_nimrod.py          81      8     28     11    83%
src/CSET/cset_workflow/app/finish_website/bin/finish_website.py      79      2      8      2    95%
src/CSET/cset_workflow/app/parbake_recipes/bin/parbake.py            29      0      8      0   100%
src/CSET/cset_workflow/app/send_email/bin/send_email.py              25      0      4      0   100%
src/CSET/cset_workflow/lib/python/jinja_utils.py                     17      0      6      0   100%
src/CSET/extract_workflow.py                                        103      1     26      1    98%
src/CSET/graph.py                                                    44      0     14      0   100%
src/CSET/operators/__init__.py                                       89      0     26      0   100%
src/CSET/operators/_atmospheric_constants.py                          9      0      0      0   100%
src/CSET/operators/_colormaps.py                                    249      3     72      4    98%
src/CSET/operators/_stash_to_lfric.py                                 3      0      0      0   100%
src/CSET/operators/_utils.py                                        190      8     72      6    95%
src/CSET/operators/ageofair.py                                      142      7     64      5    94%
src/CSET/operators/aggregate.py                                      77      1     22      1    98%
src/CSET/operators/aviation.py                                       61      0     18      0   100%
src/CSET/operators/collapse.py                                      155      8     72      3    93%
src/CSET/operators/constraints.py                                   113      7     50      3    93%
src/CSET/operators/convection.py                                     38      4     10      2    88%
src/CSET/operators/ensembles.py                                      27      0     14      0   100%
src/CSET/operators/feature.py                                        44      0     10      0   100%
src/CSET/operators/filters.py                                        67      2     30      0    98%
src/CSET/operators/fluxes.py                                         41      0     10      0   100%
src/CSET/operators/humidity.py                                      135      0     52      0   100%
src/CSET/operators/imageprocessing.py                                57      0     16      0   100%
src/CSET/operators/mesoscale.py                                      18      0      2      0   100%
src/CSET/operators/misc.py                                          172      1     72      3    98%
src/CSET/operators/plot.py                                         1117    155    412     71    83%
src/CSET/operators/power_spectrum.py                                 98      3     30      3    95%
src/CSET/operators/precipitation.py                                 204      2     92      2    99%
src/CSET/operators/pressure.py                                       41      0     12      0   100%
src/CSET/operators/read.py                                          439     22    190     17    94%
src/CSET/operators/regrid.py                                        147      1     70      3    98%
src/CSET/operators/scoreswrappers.py                                323     23    106      2    93%
src/CSET/operators/temperature.py                                   121      0     32      0   100%
src/CSET/operators/transect.py                                       63      0     24      0   100%
src/CSET/operators/wind.py                                           46      3     10      2    91%
src/CSET/operators/write.py                                          15      0      6      0   100%
src/CSET/recipes/__init__.py                                        104      0     28      0   100%
src/CSET/sample_data/__init__.py                                      0      0      0      0   100%
---------------------------------------------------------------------------------------------------
TOTAL                                                              5161    289   1812    141    93%

@ukmo-huw-lewis

Copy link
Copy Markdown
Contributor Author

Global plot example builds on regional model spatial plot example previously reviewed under #2361.

Changes here

  • introduce new spatial gallery doc page plot_surface_spatial_global.py
  • add new sample_data file air_temperature_global.nc (copy from test_data file into distro sample_data path).

Example output in built html accessible in: plot_surface_spatial_global.html

Marking as ready for review.

@mo-nmakryg mo-nmakryg left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This works as expected. I only needed to "pip install simple-track" as I was getting

Traceback (most recent call last):
File "/home/users/nefeli.makrygianni/repos/CSET/CSET/docs/source/reference/gallery/examples/spatial/plot_surface_spatial_global.py", line 47, in
from CSET.operators import plot, read
File "/home/users/nefeli.makrygianni/repos/CSET/CSET/src/CSET/operators/init.py", line 28, in
from CSET.operators import (
...<25 lines>...
)
File "/home/users/nefeli.makrygianni/repos/CSET/CSET/src/CSET/operators/feature.py", line 24, in
from simpletrack.track import Tracker
ModuleNotFoundError: No module named 'simpletrack'

meaning that my cset-dev environment didn't include the simpletrack. Not sure if it was something that was added after the training.

@jfrost-mo

Copy link
Copy Markdown
Member

mo-nmakryg simple-track was added to the developer environment fairly recently. You can recreate your developer environment per these instructions: https://metoffice.github.io/CSET/contributing/getting-started.html#updating-tooling

@ukmo-huw-lewis
ukmo-huw-lewis merged commit d3ed37c into main Aug 25, 2026
8 checks passed
@ukmo-huw-lewis
ukmo-huw-lewis deleted the 2405-add-global-spatial-plot-gallery branch August 25, 2026 07:37
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.

Add global spatial plot gallery

3 participants