Mint ESMValTool CMIP6 regression baselines#764
Conversation
|
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 (3)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughWalkthroughFixes string handling in ChangesString child_start fix and CMIP6 test data baselines
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Confidence: high Scope-risk: narrow
Codecov Report❌ Patch coverage is
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 7 files with indirect coverage changes 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: dc0f10f7-50bf-4d83-b37c-7efdcf37c7aa
📒 Files selected for processing (130)
changelog/764.fix.mdchangelog/764.trivial.mdpackages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.pypackages/climate-ref-esmvaltool/tests/test-data/climate-at-global-warming-levels/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/climate-at-global-warming-levels/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/climate-at-global-warming-levels/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/climate-at-global-warming-levels/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/climate-at-global-warming-levels/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-radiative-effects/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/cloud-radiative-effects/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-radiative-effects/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-radiative-effects/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-radiative-effects/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-cli-ta/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-cli-ta/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-cli-ta/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-cli-ta/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-cli-ta/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-basic-climatology/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/enso-basic-climatology/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-basic-climatology/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-basic-climatology/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-basic-climatology/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-characteristics/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/enso-characteristics/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-characteristics/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-characteristics/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-characteristics/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-zonal/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/ozone-zonal/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-zonal/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-zonal/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-zonal/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-1pctCO2-parent/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-1pctCO2-parent/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-1pctCO2-parent/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-1pctCO2-parent/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-1pctCO2-parent/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-esm-1pctCO2-parent/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-esm-1pctCO2-parent/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-esm-1pctCO2-parent/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-esm-1pctCO2-parent/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-esm-1pctCO2-parent/regression/series.jsonpackages/climate-ref-esmvaltool/tests/unit/test_recipe.pystubs/cftime/__init__.pyi
| "executions/recipe/work/diagnostic_metrics/plot_script/GPCP-V2.3_eq_pr_bias.nc": { | ||
| "description": "", | ||
| "dimensions": { | ||
| "reference_source_id": "GPCP-V2.3", | ||
| "statistic": "zonal bias in the time-mean pr structure across the equatorial Pacific" | ||
| }, | ||
| "filename": "executions/recipe/work/diagnostic_metrics/plot_script/GPCP-V2.3_eq_pr_bias.nc", | ||
| "long_name": "Zonal bias in the time-mean precipitation structure across the equatorial Pacific (averaged between 5°S-5°N), illustrating the increased precipitation in the eastern Pacific and decreased precipitation in the western Pacific." | ||
| }, | ||
| "executions/recipe/work/diagnostic_metrics/plot_script/GPCP-V2.3_eq_pr_seacycle.nc": { | ||
| "description": "", | ||
| "dimensions": {}, | ||
| "filename": "executions/recipe/work/diagnostic_metrics/plot_script/GPCP-V2.3_eq_pr_seacycle.nc", | ||
| "long_name": "Zonal bias in the amplitude of the mean seasonal cycle of precipitation in the equatorial Pacific (averaged between 5°S-5°N)." | ||
| }, | ||
| "executions/recipe/work/diagnostic_metrics/plot_script/GPCP-V2.3_pr_double.nc": { | ||
| "description": "", | ||
| "dimensions": {}, | ||
| "filename": "executions/recipe/work/diagnostic_metrics/plot_script/GPCP-V2.3_pr_double.nc", | ||
| "long_name": "Meridional bias in the time-mean precipitation structure across the eastern Pacific (averaged between 150-90°W), primarily illustrating the double intertropical convergence zone (ITCZ) bias." | ||
| }, | ||
| "executions/recipe/work/diagnostic_metrics/plot_script/GPCP-V2.3_pr_double_seacycle.nc": { | ||
| "description": "", | ||
| "dimensions": { | ||
| "statistic": "meridional bias in the amplitude of the mean seasonal pr cycle in the eastern Pacific" | ||
| }, | ||
| "filename": "executions/recipe/work/diagnostic_metrics/plot_script/GPCP-V2.3_pr_double_seacycle.nc", | ||
| "long_name": "Meridional bias in the amplitude of the mean seasonal precipitation cycle in the eastern Pacific (averaged between 150-90°W). " | ||
| }, | ||
| "executions/recipe/work/diagnostic_metrics/plot_script/TROPFLUX_eq_sst_bias.nc": { | ||
| "description": "", | ||
| "dimensions": { | ||
| "reference_source_id": "TROPFLUX", | ||
| "statistic": "zonal bias in the time-mean sst structure across the equatorial Pacific" | ||
| }, | ||
| "filename": "executions/recipe/work/diagnostic_metrics/plot_script/TROPFLUX_eq_sst_bias.nc", | ||
| "long_name": "Zonal bias in the sea surface temperature structure across the equatorial Pacific (averaged between 5°S-5°N), primarily illustrating the cold tongue bias (typically warmer near South America and cooler further west)." | ||
| }, | ||
| "executions/recipe/work/diagnostic_metrics/plot_script/TROPFLUX_eq_sst_seacycle.nc": { | ||
| "description": "", | ||
| "dimensions": {}, | ||
| "filename": "executions/recipe/work/diagnostic_metrics/plot_script/TROPFLUX_eq_sst_seacycle.nc", | ||
| "long_name": "Zonal bias in the amplitude of the mean seasonal cycle of sea surface temperature in the equatorial Pacific (averaged between 5°S-5°N)." | ||
| }, | ||
| "executions/recipe/work/diagnostic_metrics/plot_script/TROPFLUX_eq_tauu_bias.nc": { | ||
| "description": "", | ||
| "dimensions": { | ||
| "reference_source_id": "TROPFLUX", | ||
| "statistic": "zonal bias in the time-mean tauu structure across the equatorial Pacific" | ||
| }, | ||
| "filename": "executions/recipe/work/diagnostic_metrics/plot_script/TROPFLUX_eq_tauu_bias.nc", | ||
| "long_name": "Zonal bias in the structure of zonal wind stress across the equatorial Pacific (averaged between 5°S-5°N), primarily highlighting the trade winds bias (typically weaker circulation in the central Pacific and stronger in the western Pacific)." | ||
| }, | ||
| "executions/recipe/work/diagnostic_metrics/plot_script/TROPFLUX_eq_tauu_seacycle.nc": { | ||
| "description": "", | ||
| "dimensions": {}, | ||
| "filename": "executions/recipe/work/diagnostic_metrics/plot_script/TROPFLUX_eq_tauu_seacycle.nc", | ||
| "long_name": "Zonal bias in the amplitude of the mean seasonal cycle of zonal wind stress in the equatorial Pacific (averaged between 5°S-5°N)." |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Normalise dimensions for the reference NetCDF artefacts.
These rows commit three different metadata shapes for the same reference-output family: some entries carry both reference_source_id and statistic, one carries only statistic, and several are {} even though the filename/long_name still identify the same dimensions. Because output.json is the canonical regression contract, baking this in will mask metadata regressions and make dimension-based lookups unreliable for those artefacts.
Catalogs serialised to YAML store start_time as an ISO-like string because cftime datetimes are not natively YAML-serialisable. Loading a committed catalog (mint/replay/build) therefore yields a str where a fresh in-memory dataframe yields a cftime datetime, so `child_start + (branch_time_in_parent - branch_time_in_child)` raised "can only concatenate str (not datetime.timedelta) to str". This broke minting for every diagnostic that derives a parent timerange from branch times: ECS, TCR, TCRE and ZEC. Parse the string back to a calendar-aware cftime datetime when needed. The existing tests only exercised the cftime-object path, so the regression was invisible; add a string-start_time test mirroring the cftime case, and declare cftime.datetime.strptime in the vendored stub. Constraint: catalog.yaml cannot store cftime datetimes natively, so the string round-trip must be handled at read time Confidence: high Scope-risk: narrow Not-tested: start_time strings with sub-second precision or years < 1
…xture The committed series.json for this diagnostic has one entry per (variable, region, statistic); with all 5 variables over the 58 AR6 regions it was ~12 MB, too large to carry in git history. Reduce the cmip6 regression fixture on two axes that do not affect production: - variables: the cmip6 test request now uses a representative subset (``test_variables`` = pr, tas) instead of the full set. - regions: a new ``reduce_recipe_for_regression_fixture`` hook (no-op in the base class) restricts the recipe's extract_shape regions to ``test_regions`` (3 AR6 regions) for fixture runs only, detected via the ``test-`` execution key. Production runs are untouched and still process all regions. This brings the committed series.json from ~12 MB to ~240 KB. Constraint: production must still process all variables and AR6 regions, so the reduction is gated on the regression-fixture execution key Rejected: shorten the test time_span | recipe hardcodes the period, so it has no effect on a local-catalog test run Confidence: high Scope-risk: narrow
Mint the canonical native baselines for all 25 ESMValTool CMIP6 test cases (23 literal `cmip6` cases plus the two zero-emission-commitment cmip6 parent cases). Native snapshots are uploaded to the ref-baselines-public store; this commit tracks the committed bundle (regression/), the dataset catalog (catalog.yaml) and the manifest (manifest.json) per case. Local file-path catalogs and the output/ work slots remain gitignored. ECS, TCR, TCRE and ZEC depend on the start_time parsing fix, and regional-historical-timeseries on the fixture reduction, in the preceding commits. Confidence: high Scope-risk: narrow
Confidence: high Scope-risk: narrow
995454a to
8b936be
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 9a4490da-7845-4485-b901-c84628635e71
📒 Files selected for processing (133)
changelog/764.fix.mdchangelog/764.trivial.mdpackages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/base.pypackages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/regional_historical_changes.pypackages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.pypackages/climate-ref-esmvaltool/tests/test-data/climate-at-global-warming-levels/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/climate-at-global-warming-levels/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/climate-at-global-warming-levels/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/climate-at-global-warming-levels/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/climate-at-global-warming-levels/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-radiative-effects/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/cloud-radiative-effects/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-radiative-effects/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-radiative-effects/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-radiative-effects/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-cli-ta/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-cli-ta/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-cli-ta/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-cli-ta/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-cli-ta/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-basic-climatology/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/enso-basic-climatology/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-basic-climatology/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-basic-climatology/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-basic-climatology/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-characteristics/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/enso-characteristics/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-characteristics/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-characteristics/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/enso-characteristics/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-zonal/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/ozone-zonal/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-zonal/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-zonal/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/ozone-zonal/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip6/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip6/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip6/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip6/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip6/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-1pctCO2-parent/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-1pctCO2-parent/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-1pctCO2-parent/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-1pctCO2-parent/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-1pctCO2-parent/regression/series.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-esm-1pctCO2-parent/catalog.yamlpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-esm-1pctCO2-parent/manifest.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-esm-1pctCO2-parent/regression/diagnostic.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-esm-1pctCO2-parent/regression/output.jsonpackages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-esm-1pctCO2-parent/regression/series.jsonpackages/climate-ref-esmvaltool/tests/unit/diagnostics/test_base.pypackages/climate-ref-esmvaltool/tests/unit/test_recipe.pystubs/cftime/__init__.pyi
✅ Files skipped from review due to trivial changes (99)
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-zonal/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-cli-ta/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/climate-at-global-warming-levels/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-radiative-effects/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/enso-characteristics/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/climate-at-global-warming-levels/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-zonal/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-esm-1pctCO2-parent/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-cli-ta/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/enso-basic-climatology/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-radiative-effects/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-1pctCO2-parent/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-zonal/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/unit/test_recipe.py
- packages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/regression/series.json
- changelog/764.trivial.md
- packages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-1pctCO2-parent/regression/output.json
- changelog/764.fix.md
- packages/climate-ref-esmvaltool/tests/test-data/ozone-zonal/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/enso-characteristics/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-zonal/cmip6/manifest.json
- stubs/cftime/init.pyi
- packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-1pctCO2-parent/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-esm-1pctCO2-parent/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-esm-1pctCO2-parent/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/enso-characteristics/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/enso-basic-climatology/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/enso-basic-climatology/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/enso-characteristics/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-cli-ta/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-1pctCO2-parent/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/climate-at-global-warming-levels/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/cloud-radiative-effects/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-esm-1pctCO2-parent/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip6/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/enso-basic-climatology/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/climate-at-global-warming-levels/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip6/regression/diagnostic.json
🚧 Files skipped from review as they are similar to previous changes (23)
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-cli-ta/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/enso-characteristics/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-1pctCO2-parent/regression/diagnostic.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-cli-ta/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py
- packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip6/manifest.json
- packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip6/regression/series.json
- packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/climate-at-global-warming-levels/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip6/regression/output.json
- packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/equilibrium-climate-sensitivity/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/zero-emission-commitment/cmip6-esm-1pctCO2-parent/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/cloud-radiative-effects/cmip6/catalog.yaml
- packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip6/catalog.yaml
| for preprocessor in recipe.get("preprocessors", {}).values(): | ||
| if not isinstance(preprocessor, dict): | ||
| continue | ||
| extract_shape = preprocessor.get("extract_shape") | ||
| if isinstance(extract_shape, dict) and isinstance(extract_shape.get("ids"), dict): | ||
| extract_shape["ids"]["Name"] = keep |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Only rewrite AR6 shape filters here.
This currently rewrites every extract_shape.ids.Name block in the recipe, not just AR6 ones. If another shape preprocessor is added later, this will silently change its selector as well.
Suggested fix
keep = list(self.test_regions)
for preprocessor in recipe.get("preprocessors", {}).values():
if not isinstance(preprocessor, dict):
continue
extract_shape = preprocessor.get("extract_shape")
- if isinstance(extract_shape, dict) and isinstance(extract_shape.get("ids"), dict):
+ if (
+ isinstance(extract_shape, dict)
+ and extract_shape.get("shapefile") == "ar6"
+ and isinstance(extract_shape.get("ids"), dict)
+ and "Name" in extract_shape["ids"]
+ ):
extract_shape["ids"]["Name"] = keep📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| for preprocessor in recipe.get("preprocessors", {}).values(): | |
| if not isinstance(preprocessor, dict): | |
| continue | |
| extract_shape = preprocessor.get("extract_shape") | |
| if isinstance(extract_shape, dict) and isinstance(extract_shape.get("ids"), dict): | |
| extract_shape["ids"]["Name"] = keep | |
| for preprocessor in recipe.get("preprocessors", {}).values(): | |
| if not isinstance(preprocessor, dict): | |
| continue | |
| extract_shape = preprocessor.get("extract_shape") | |
| if ( | |
| isinstance(extract_shape, dict) | |
| and extract_shape.get("shapefile") == "ar6" | |
| and isinstance(extract_shape.get("ids"), dict) | |
| and "Name" in extract_shape["ids"] | |
| ): | |
| extract_shape["ids"]["Name"] = keep |
Description
Establishes the canonical native regression baselines for all 25 ESMValTool CMIP6 test cases (23 literal
cmip6cases plus the twozero-emission-commitmentcmip6 parent cases). Native snapshots are uploaded to theref-baselines-publicstore; this branch tracks the committed bundle (regression/), the dataset catalog (catalog.yaml) and the manifest (manifest.json) per case. Local file-path catalogs andoutput/work slots remain gitignored.While minting, ECS, TCR, TCRE and ZEC failed with
can only concatenate str (not "datetime.timedelta") to str. Root cause: catalogs serialised to YAML storestart_timeas an ISO-like string (cftime datetimes are not natively YAML-serialisable), so loading a committed catalog yields astrwhere a fresh in-memory dataframe yields a cftime datetime.get_child_and_parent_datasetthen didchild_start + (branch_time_in_parent - branch_time_in_child), mixingstrandtimedelta. The existing tests only exercised the cftime-object path, so the regression was invisible.Changes
start_timeback to a calendar-aware cftime datetime inget_child_and_parent_dataset; add a regression test for the string path; declarecftime.datetime.strptimein the vendored stub.Checklist
Please confirm that this pull request has done the following:
changelog/Summary by CodeRabbit