Skip to content

Add Scores diagnostics for spatial and timeseries RMSE, Additive Bias, MAE, and Pearson’s Correlation Coefficient#2232

Open
BernardClaxton (BernardClaxton) wants to merge 46 commits into
mainfrom
2214_adding_scores
Open

Add Scores diagnostics for spatial and timeseries RMSE, Additive Bias, MAE, and Pearson’s Correlation Coefficient#2232
BernardClaxton (BernardClaxton) wants to merge 46 commits into
mainfrom
2214_adding_scores

Conversation

@BernardClaxton

@BernardClaxton BernardClaxton (BernardClaxton) commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

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

@BernardClaxton BernardClaxton (BernardClaxton) linked an issue Jun 25, 2026 that may be closed by this pull request
@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor
Total coverage: 91% (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             115     27     24      0    79%
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                                    205      4     54      4    97%
src/CSET/operators/_stash_to_lfric.py                                 3      0      0      0   100%
src/CSET/operators/_utils.py                                        183      9     74      7    94%
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     12     72      5    91%
src/CSET/operators/constraints.py                                   105      7     44      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/filters.py                                        66      2     30      0    98%
src/CSET/operators/humidity.py                                       89      0     32      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                                          146      0     54      1    99%
src/CSET/operators/plot.py                                          927    167    316     59    78%
src/CSET/operators/power_spectrum.py                                 97      3     30      3    95%
src/CSET/operators/precipitation.py                                  93      0     50      0   100%
src/CSET/operators/pressure.py                                       41      0     12      0   100%
src/CSET/operators/read.py                                          403     33    174     14    91%
src/CSET/operators/regrid.py                                        122     18     64      1    83%
src/CSET/operators/scoreswrappers.py                                 75     18     20      3    69%
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                                           17      0      4      0   100%
src/CSET/operators/write.py                                          15      0      6      0   100%
src/CSET/recipes/__init__.py                                        101      0     28      0   100%
---------------------------------------------------------------------------------------------------
TOTAL                                                              4125    314   1432    107    91%

@BernardClaxton

Copy link
Copy Markdown
Contributor Author

The test scripts test_scoreswrappers.py and test_verification.py were written with the aid of Copilot.

@BernardClaxton

Copy link
Copy Markdown
Contributor Author

Output from testing the scores utility can be found at https://wwwspice/~bernie.claxton/CSET_rmse8/?q=scores . The scores plots all have "Scores" in the title.

@jfrost-mo James Frost (jfrost-mo) changed the title 2214_adding_scores_pr Add Scores diagnostics for spatial and timeseries RMSE, additive_bias, MAE, and Pearson's Correlation Jun 26, 2026
@jfrost-mo James Frost (jfrost-mo) changed the title Add Scores diagnostics for spatial and timeseries RMSE, additive_bias, MAE, and Pearson's Correlation Add Scores diagnostics for spatial and timeseries RMSE, additive_bias, MAE, and Pearson’s Correlation Coefficient Jun 26, 2026

@jfrost-mo James Frost (jfrost-mo) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

A couple more comments.

Comment thread src/CSET/recipes/verification/surface_difference_scores.yaml

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We don't currently test loaders, but we probably should. I've put some initial design ideas in #1739, and I don't see an issue getting started in this PR.

@daflack

Copy link
Copy Markdown
Collaborator

Also worth flagging #2222 - feels like there is a bit of duplication of effort going on here, don't know if things have changed though when I was at meetings.

Applying suggestion from James F

Co-authored-by: James Frost <james.frost@metoffice.gov.uk>
Apply stylistic suggestion from James F

Co-authored-by: James Frost <james.frost@metoffice.gov.uk>
Apply stylistic suggestion from James F

Co-authored-by: James Frost <james.frost@metoffice.gov.uk>
Apply stylistic suggestion from James F

Co-authored-by: James Frost <james.frost@metoffice.gov.uk>
Applying comment change suggested by James F

Co-authored-by: James Frost <james.frost@metoffice.gov.uk>
Apply comment suggestion from James F

Co-authored-by: James Frost <james.frost@metoffice.gov.uk>
Apply comment suggestion from James F

Co-authored-by: James Frost <james.frost@metoffice.gov.uk>
Comment thread src/CSET/loaders/verification.py Outdated
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.

Adding more Scores diagnostics

3 participants