Skip to content

Adds directional windshear across a MAUL#2146

Open
David Flack (daflack) wants to merge 17 commits into
mainfrom
MAUL_directional_windshear_properties_1962
Open

Adds directional windshear across a MAUL#2146
David Flack (daflack) wants to merge 17 commits into
mainfrom
MAUL_directional_windshear_properties_1962

Conversation

@daflack

@daflack David Flack (daflack) commented May 19, 2026

Copy link
Copy Markdown
Contributor

Fixes #1962

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 May 19, 2026
@daflack David Flack (daflack) linked an issue May 19, 2026 that may be closed by this pull request
@github-actions

github-actions Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor
Total coverage: 92% (HTML report)
Name                                                              Stmts   Miss Branch BrPart  Cover
---------------------------------------------------------------------------------------------------
src/CSET/__init__.py                                                 93      2     12      0    98%
src/CSET/_common.py                                                 149      0     52      0   100%
src/CSET/cset_workflow/app/fetch_fcst/bin/fetch_data.py             116     28     26      0    77%
src/CSET/cset_workflow/app/finish_website/bin/finish_website.py      70      0      4      0   100%
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                                         47      0     16      0   100%
src/CSET/graph.py                                                    43      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                                    230      1     62      2    99%
src/CSET/operators/_stash_to_lfric.py                                 3      0      0      0   100%
src/CSET/operators/_utils.py                                        193      8     76      6    95%
src/CSET/operators/ageofair.py                                      141      7     64      5    94%
src/CSET/operators/aggregate.py                                      76      1     22      1    98%
src/CSET/operators/aviation.py                                       60      0     18      0   100%
src/CSET/operators/collapse.py                                      154      8     72      3    93%
src/CSET/operators/constraints.py                                   111      7     48      2    93%
src/CSET/operators/convection.py                                     37      4     10      2    87%
src/CSET/operators/ensembles.py                                      27      0     14      0   100%
src/CSET/operators/feature.py                                        41      0     10      0   100%
src/CSET/operators/filters.py                                        66      2     30      0    98%
src/CSET/operators/fluxes.py                                         41      0     10      0   100%
src/CSET/operators/humidity.py                                      139      0     56      0   100%
src/CSET/operators/imageprocessing.py                                56      0     16      0   100%
src/CSET/operators/mesoscale.py                                      17      0      2      0   100%
src/CSET/operators/misc.py                                          158      1     66      4    98%
src/CSET/operators/plot.py                                          999    156    340     62    81%
src/CSET/operators/power_spectrum.py                                 97      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                                          422     41    184     14    89%
src/CSET/operators/regrid.py                                        122     18     64      1    83%
src/CSET/operators/scoreswrappers.py                                 72      6     20      3    90%
src/CSET/operators/temperature.py                                   121      0     32      0   100%
src/CSET/operators/transect.py                                       62      0     24      0   100%
src/CSET/operators/wind.py                                           45      3     10      2    91%
src/CSET/operators/write.py                                          15      0      6      0   100%
src/CSET/recipes/__init__.py                                        101      0     28      0   100%
---------------------------------------------------------------------------------------------------
TOTAL                                                              4538    298   1586    112    92%

@daflack

Copy link
Copy Markdown
Contributor Author

Note comment on #2140 about refactoring and optimization being made in #2114 - like #2140 have not run in workflow, but code produces sensible results when testing.

@jwarner8 James Warner (jwarner8) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks good, and methods look scientifically grounded. I haven't run the diagnostic myself, as don't have any appropriate data to test with.
Most comments minor, mostly just increasing explainability of tests/some bits of the code, so its easier for those not familiar to be able to understand.

Comment thread src/CSET/operators/precipitation.py
Comment thread tests/operators/test_precipitation.py
Comment thread tests/conftest.py Outdated
Comment thread tests/conftest.py Outdated
Comment thread tests/conftest.py Outdated
Comment thread tests/conftest.py Outdated
Comment thread tests/conftest.py Outdated
@daflack
David Flack (daflack) force-pushed the MAUL_windspeed_properties branch from b0e00e8 to 21e1d41 Compare July 3, 2026 13:50
Base automatically changed from MAUL_windspeed_properties to main July 14, 2026 08:34
@daflack
David Flack (daflack) force-pushed the MAUL_directional_windshear_properties_1962 branch from 545cb63 to b5044c7 Compare July 14, 2026 08:48
@daflack

Copy link
Copy Markdown
Contributor Author

James Warner (@jwarner8) comments addressed and ready for review.

@daflack
David Flack (daflack) force-pushed the MAUL_directional_windshear_properties_1962 branch from 6a4385d to 0d5f036 Compare July 16, 2026 13:13
@daflack
David Flack (daflack) force-pushed the MAUL_directional_windshear_properties_1962 branch from 5147ecd to f742a34 Compare July 16, 2026 13:36
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.

MAUL properties: windshear

3 participants