Create loader cardington.py invoking complete list of diagnostics - #2127
Simon Osborne (mo-sro) wants to merge 12 commits into
Conversation
… variable recipes from one toggle
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 106 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 200 8 74 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 115 7 50 2 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 1126 159 416 72 82% src/CSET/operators/power_spectrum.py 156 10 60 8 91% 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 440 24 186 15 94% src/CSET/operators/regrid.py 147 1 70 3 98% src/CSET/operators/scoreswrappers.py 217 22 66 5 88% 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 5138 301 1804 147 93% |
Suggest to re-title this PR something like "workflow changes to extend support for analyses using Cardington point observations". |
There was a problem hiding this comment.
🟡 Changes recommended
The new loader is not currently runnable as written (it references non-existent recipe YAMLs and is not wired into the loader execution path), so enabling the new Rose toggle will not produce the intended diagnostics.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR introduces a new Cardington-specific loader intended to generate a broader set of Cardington single-point time-series diagnostics under a single Rose toggle, and updates the Rose metadata/example config to reflect the new consolidated switch.
Changes:
- Added
src/CSET/loaders/cardington.pyto generate multiple Cardington single-point time-seriesRawRecipes from one configuration toggle. - Updated Rose metadata to replace the separate Cardington air-temperature / relative-humidity toggles with
CARDINGTON_SINGLE_POINT_TIME_SERIES. - Updated
rose-suite.conf.exampleto use the new consolidated Cardington toggle.
File summaries
| File | Description |
|---|---|
src/CSET/loaders/cardington.py |
New loader generating multiple Cardington single-point time-series recipes/variables. |
src/CSET/cset_workflow/rose-suite.conf.example |
Replaces old Cardington toggles with the new consolidated toggle in the example suite config. |
src/CSET/cset_workflow/meta/observations/rose-meta.conf |
Consolidates Cardington Rose UI toggles into a single CARDINGTON_SINGLE_POINT_TIME_SERIES option. |
Review details
- Files reviewed: 3/3 changed files
- Comments generated: 5
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| yield RawRecipe( | ||
| recipe="cardington_visibility_single_point_time_series.yaml", | ||
| variables={ |
| ( | ||
| "relative humidity", | ||
| "relative_humidity", | ||
| "relative_humidity", | ||
| [1.2, 10, 25, 50], |
6ba9669 to
1eaf0fc
Compare
… variable recipes from one toggle
Contribution checklist
Aim to have all relevant checks ticked off before merging. See the developer's guide for more detail.
rose-suite.conf.examplehas been updated if new diagnostic added.