Skip to content

2229 scores rmse vertical profile pressure levels add ensemble capability#2252

Draft
Sylvia Bohnenstengel (Sylviabohnenstengel) wants to merge 19 commits into
mainfrom
2229_scores_rmse_vertical_profile_pressure_levels_add_ensemble_capability
Draft

2229 scores rmse vertical profile pressure levels add ensemble capability#2252
Sylvia Bohnenstengel (Sylviabohnenstengel) wants to merge 19 commits into
mainfrom
2229_scores_rmse_vertical_profile_pressure_levels_add_ensemble_capability

Conversation

@Sylviabohnenstengel

@Sylviabohnenstengel Sylvia Bohnenstengel (Sylviabohnenstengel) commented Jul 6, 2026

Copy link
Copy Markdown
Member

expanding on PR #2229 to include ensemble capability for vertical profiles of RMSE.
For the calculation the ensemble mean of the variable is calculated first for all ensembles and then the scores package is used to

  • calculate an RMSE for each timepoint in a case study as a sequence
  • calculate the total RMSE profile for each case study.

As the CRSP is more useful for analysing ensembles we only use the RMSE based on the ensemble mean here at the moment,.

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.

…otting of vertical profiles without sequence_coordinate for 1D cubes.
…tial field and preserve time as sequence coordinate to slide over. This required an addition to scoreswrappers.py that maps the xarray time dimensions with iris auxilliary time dimension requirements. The scoreswrapper was developed with help of Github copilot.
…or rmse_scores_profile when aggregating over an entire case study's time coordinate resulting in a single rmse profile.
…teps in a case study and in additional rmse profile for evevry single time step.
… (sequence) and vertical profile RMSE over whole case. In addition identifying base_model at start of loader.
@Sylviabohnenstengel
Sylvia Bohnenstengel (Sylviabohnenstengel) force-pushed the 2229_scores_rmse_vertical_profile_pressure_levels_add_ensemble_capability branch from 1a8d04e to b443918 Compare July 16, 2026 14:37
@Sylviabohnenstengel

Sylvia Bohnenstengel (Sylviabohnenstengel) commented Jul 16, 2026

Copy link
Copy Markdown
Member Author

adding ensemble capability breaks the pytests. Specifically it gives
=========================== short test summary info ============================
FAILED tests/operators/test_scoreswrappers.py::test_scores_rmse_ensemble_mean - iris.exceptions.ConstraintMismatchError: Got 2 cubes for constraint AttributeConstraint({'cset_comparison_base': 1}), expecting 1.
============ 1 failed, 861 passed, 139 warnings in 64.21s (0:01:04) ============
make: *** [Makefile:45: test-fast] Error 1
Error: Process completed with exit code 2.

It seams that collapsing the ensemble down to a mean causes the problem. I end up with 2 cubes marked as cset_comparison_base=1 as an attribute as the collapsed cube that gives the ensemble mean also has the cet_comparison_base=1 . It looks like _sort_cubes_for_verification.py in scoreswrappers.py requires modification to allow handling of collapsed cubes alongside the original cubes?

James Ross (@james-a-f-ross) James Frost (@Fraetor) Do any of you have an idea to solve this as the indicator for base vs other model is still required here.

@Fraetor

Copy link
Copy Markdown
Contributor

James Frost (@jfrost-mo) ping for you to look at in work hours.

@james-a-f-ross

Copy link
Copy Markdown
Contributor

how will this be used outside of the tests? can we not just sneak in a del mean_cube.attributes["cset_comparison_base"] somewhere?

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 SCORES RMSE functionality to profiles.

3 participants