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 53 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 53 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                                   107      7     46      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                                          929    169    318     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                                          409     38    178     14    89%
src/CSET/operators/regrid.py                                        122     18     64      1    83%
src/CSET/operators/scoreswrappers.py                                 75      6     20      3    91%
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                                                              4135    309   1440    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
Comment thread src/CSET/loaders/verification.py Outdated
@BernardClaxton

Copy link
Copy Markdown
Contributor Author

New tests have been added to tests/operators/test_scoreswrappers.py and now coverage for the operator scoreswrappers.py is 91%. Both ~CSET/src/CSET/tests/test_scoreswrappers.py and ~CSET/src/CSET/tests/test_verification.py have been deleted.

@BernardClaxton

Copy link
Copy Markdown
Contributor Author

Test cylc workflow output for this branch can be found in https://wwwspice/~bernie.claxton/CSET_rmse10 . Plots relating to the new scores metrics can be found by filtering on scores.

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