Make ECS diagnostic compatible with CMIP7 data#671
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests.
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
|
2 questions:
|
Using a feature branch is fine for testing, but the commit should be in ESMValTool's |
|
Will mark this as "ready for review" once corresponding ESMValTool PR has been merged. |
|
This is ready for review now. |
|
I'm currently reworking how we track regression outputs from new diagnostics and I'm keen to try these PRs with the new system so... just a bit longer... |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThe ECS diagnostic now uses a new ref recipe and unified dataset construction for CMIP6 and CMIP7. Package metadata, fixtures, and CMIP7 test data were updated, and the changelog records CMIP7 support. ChangesECS CMIP7 Diagnostics Support
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Pin ESMValTool to 12cb5309 so the shared recipe.py pin matches the TCRE CMIP7 branch and does not conflict at merge, and bump the ECS diagnostic version to 2 because the CMIP7 changes alter results and must trigger recomputation.
| name = "Equilibrium Climate Sensitivity" | ||
| slug = "equilibrium-climate-sensitivity" | ||
| base_recipe = "recipe_ecs.yml" | ||
| version = 2 |
There was a problem hiding this comment.
@schlunma @bouweandela Diagnostic.version is an integer field that can be used to mark a diagnostic to being rerun from scratch on the next solve.
The old executions are still present in the database if needed, but the API only serves results from the latest diagnostic version.
Mint native baselines for the equilibrium-climate-sensitivity test cases against ESMValTool 12cb5309. CMIP6 gains a native baseline and bumps to test_case_version 2; CMIP7 is seeded at version 1. Both replay and match the committed bundle.
* origin/main: docs: simplify gate comments and regression docs fix(test-cases): migrate-manifests preserves recorded diagnostic_version fix: backfill diagnostic_version for baselines merged from main docs: rename changelog entry to PR number 770 feat(regression): couple Diagnostic.version into the CI coupling gate feat(example): extract model/reference/bias time series as CMEC series refactor(example): rename diagnostic to global-sst-bias and drop version guard test: close NetCDF datasets in surface-temperature end-to-end tests feat(example): use ocean SST (tos) and add comparison figures test(example): mint regression baselines for surface-temperature-bias fix: address review feedback on surface temperature diagnostic test: update solver regression snapshots for new example diagnostic feat(example): add model-vs-obs surface temperature diagnostic and 5-minute quickstart fix: address review feedback chore: add changelog for config CLI uplift feat: expand config CLI management commands # Conflicts: # packages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/manifest.json
After merging main (which added the diagnostic_version gate and backfilled manifests to schema 2), migrate the ECS baselines to record diagnostic_version 2, matching the in-code Diagnostic.version. Both test cases replay-match the committed bundle and the CI gate selects replay.
Description
Addresses #647.
Checklist
Please confirm that this pull request has done the following:
changelog/Summary by CodeRabbit