Skip to content

Create FastNetUK utils script - #2370

Open
James Warner (jwarner8) wants to merge 31 commits into
mainfrom
util_fastnetuk
Open

Create FastNetUK utils script#2370
James Warner (jwarner8) wants to merge 31 commits into
mainfrom
util_fastnetuk

Conversation

@jwarner8

@jwarner8 James Warner (jwarner8) commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

This will also make the code transportable for inclusion as a postprocessing task in the FastNetUK inference.

This is largely a rehash of #2106 but retaining that branch as is given it is being used for FastNetUK evaluation.

Note we are not regridding the data in this util, just reshaping to the UKV grid.

Microsoft CoPilot was used to help generate the tests and documentation.

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.

@jwarner8 James Warner (jwarner8) added the enhancement New feature or request label Aug 7, 2026
@github-actions

github-actions Bot commented Aug 7, 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                                         1120    157    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                                          432     21    184     16    94%
src/CSET/operators/regrid.py                                        147      1     70      3    98%
src/CSET/operators/scoreswrappers.py                                208     16     58      6    91%
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                                                              5042    283   1758    144    93%

@jwarner8

Copy link
Copy Markdown
Contributor Author

Produces well formatted iris cubes

image

@jwarner8

James Warner (jwarner8) commented Aug 13, 2026

Copy link
Copy Markdown
Contributor Author

Additional requirements;

  • Regrid to the specific UKV grid, which is the target of the inference. To be supplied this grid (might only require a reshape).

@jwarner8

Copy link
Copy Markdown
Contributor Author
image Data fixing working nicely now for CSET ingestion...

@jwarner8
James Warner (jwarner8) marked this pull request as ready for review August 14, 2026 09:57
Comment thread utils/proc_fastnetuk/proc_fastnetuk.py Outdated
Comment thread utils/proc_fastnetuk/proc_fastnetuk.py Outdated
Comment thread utils/proc_fastnetuk/proc_fastnetuk.py Outdated
Comment thread utils/proc_fastnetuk/proc_fastnetuk.py Outdated
Comment thread utils/proc_fastnetuk/proc_fastnetuk.py Outdated
Comment thread utils/proc_fastnetuk/proc_fastnetuk.py Outdated
Comment thread utils/proc_fastnetuk/proc_fastnetuk.py Outdated
Comment thread utils/proc_fastnetuk/proc_fastnetuk.py Outdated
Comment thread utils/proc_fastnetuk/proc_fastnetuk.py
Comment thread utils/proc_fastnetuk/proc_fastnetuk.py
Comment thread utils/proc_fastnetuk/test_proc_fastnetuk.py
@cehalliwell

Copy link
Copy Markdown
Contributor

This all looks good and the README file is very informative. There are a few comments and (small) suggested code changes. The files in utils are not covered by the coverage report so not totally clear that every part of the code is covered by a test (although tests look sensible). Happy for it to be merged into main after suggestions/comments addressed.

@jwarner8

Copy link
Copy Markdown
Contributor Author

Now ready for final review Carol Halliwell (@cehalliwell), thanks

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.

2 participants