Skip to content

Adds a global model application for CURV - #2091

Draft
David Flack (daflack) wants to merge 24 commits into
mainfrom
2089_global_CURV
Draft

Adds a global model application for CURV#2091
David Flack (daflack) wants to merge 24 commits into
mainfrom
2089_global_CURV

Conversation

@daflack

Copy link
Copy Markdown
Contributor

Fixes #2089

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.
  • Ensure rose-suite.conf.example has been updated if new diagnostic added.
  • 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.

@daflack David Flack (daflack) self-assigned this Apr 30, 2026
@github-actions

github-actions Bot commented Apr 30, 2026

Copy link
Copy Markdown
Contributor
Total coverage: 92% (HTML report)
Name                                                              Stmts   Miss Branch BrPart  Cover
---------------------------------------------------------------------------------------------------
src/CSET/__init__.py                                                104      0     14      0   100%
src/CSET/_common.py                                                 150      0     52      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                                    261     13     76      5    94%
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/curvature.py                                      45     39      8      0    11%
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                                         1100    150    396     66    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                                          430     21    182     16    94%
src/CSET/operators/regrid.py                                        147      1     70      3    98%
src/CSET/operators/scoreswrappers.py                                160     22     40      7    82%
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%
---------------------------------------------------------------------------------------------------
TOTAL                                                              5022    331   1732    141    92%

@daflack

David Flack (daflack) commented May 13, 2026

Copy link
Copy Markdown
Contributor Author
image Mainly for my reference to show progress - a basic rudimentary version running with version2 in `curvature.py` and MSLP for comparison. The non-versioned number will be deleted as slow and not yet produced any results. Still plenty to do like fix the interpolation so it uses correct form of interpolation and to try across multiple scales to ensure results still consistent. Also need to run with 16 rather than 8 points too to make sure that agrees. Then can move onto documentation and tests. Also need to work on colourscale too.

@daflack
David Flack (daflack) force-pushed the 2089_global_CURV branch 2 times, most recently from b8455f3 to f73dfbc Compare June 18, 2026 08:31
Comment thread src/CSET/cset_workflow/meta/diagnostics/rose-meta.conf
@daflack

Copy link
Copy Markdown
Contributor Author

Handing over to Sylvia Bohnenstengel (@Sylviabohnenstengel) and Nigel Roberts (@NigelRoberts), due to other commitments.

Tests and documentation are required. Also further testing to work out default settings required and impact of these settings on different models.

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.

Global implementation of CURV

3 participants