Skip to content

Mint ESMValTool CMIP7 regression baselines#767

Merged
lewisjared merged 3 commits into
mainfrom
feat/mint-esmvaltool-cmip7-baselines
Jun 30, 2026
Merged

Mint ESMValTool CMIP7 regression baselines#767
lewisjared merged 3 commits into
mainfrom
feat/mint-esmvaltool-cmip7-baselines

Conversation

@lewisjared

@lewisjared lewisjared commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Description

Mints the canonical committed regression baselines for the ESMValTool CMIP7 test cases, mirroring the CMIP6 baselines added in #764. Each minted case commits its committed bundle (regression/), the input dataset catalog (catalog.yaml) and the manifest (manifest.json); native sets are empty ({}) pending a credentialed CI mint. Local file-path catalogs (catalog.paths.yaml) and the output/ work slots remain gitignored.

16 of 23 cmip7 cases are minted: climate-drivers-for-fire, cloud-scatterplots-{clivi-lwcre, clt-swcre, clwvi-pr}, global-mean-timeseries, ozone-{annual-cycle, lat-time, nh-mar, sh-oct}, regional-historical-{annual-cycle, timeseries, trend}, sea-ice-area-basic, sea-ice-sensitivity, transient-climate-response, transient-climate-response-emissions.

CMIP7 parser note

The CMIP7 path requires the complete dataset parser. ESMValTool's recipe builder maps the CMIP7 mip facet to realm (recipe.py FACETS["CMIP7"]), which is a finalisation-only attribute the drs parser does not populate — so the files must be opened to read it. These baselines were seeded with REF_CMIP7_PARSER=complete.

Intentionally omitted (7 cases do not yet produce a baseline)

  • cloud-radiative-effects, cloud-scatterplots-cli-ta, equilibrium-climate-sensitivity — ESMValTool recipe execution fails
  • enso-basic-climatology, enso-characteristics — diagnostic produces no matrix.csv output
  • ozone-zonal — solver finds no valid executions for the CMIP7 inputs
  • zero-emission-commitment — CMIP7 data could not be resolved (no datasets found)

These were re-tried after rebasing on the CMIP6 work (including the start_time parent-dataset fix) and still fail for the reasons above.

Checklist

Please confirm that this pull request has done the following:

  • Tests added (regression baselines are test fixtures)
  • Documentation added (where applicable)
  • Changelog item added to changelog/

Summary by CodeRabbit

  • New Features
    • Added canonical CMIP7 regression baselines for 16 ESMValTool diagnostics.
    • Introduced new CMIP7/observational test-data fixtures, catalogues, and integrity manifests across multiple climate workflows (e.g., regional time series, ozone analyses, sea-ice, cloud scatterplots, and fire).
  • Bug Fixes
    • Updated expected regression outputs and series data to align with the new baselines.
  • Documentation
    • Added a changelog entry describing the new regression baseline coverage.

@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds CMIP7 regression baselines and catalog metadata for 16 ESMValTool diagnostics, updates manifest hashes, and narrows one CMIP7 request list to match the committed fixtures.

Changes

CMIP7 Regression Test Data Fixtures

Layer / File(s) Summary
Regional historical request
packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/regional_historical_changes.py
The CMIP7 branded_variable request list in RegionalHistoricalTimeSeries.test_data_spec is reduced to areacella_ti-u-hxy-u, pr_tavg-u-hxy-u, and tas_tavg-h2m-hxy-u.
Catalog fixtures
packages/climate-ref-esmvaltool/tests/test-data/*/cmip7/catalog.yaml
New CMIP7 catalog YAML files define dataset selectors and dataset records for the committed regression cases.
Manifest hash records
packages/climate-ref-esmvaltool/tests/test-data/*/cmip7/manifest.json
Manifest files record the catalog hashes and committed content hashes for each regression fixture set.
Diagnostic fixtures
packages/climate-ref-esmvaltool/tests/test-data/*/cmip7/regression/diagnostic.json
Regression diagnostic JSON files define minimal schemas for most cases, with populated dimensions and results for the trend, sea-ice sensitivity, transient climate response, and emissions cases.
Output fixtures
packages/climate-ref-esmvaltool/tests/test-data/*/cmip7/regression/output.json
Regression output JSON files record expected data artefacts, HTML result pages, plot artefacts, and provenance for each diagnostic.
Series fixtures
packages/climate-ref-esmvaltool/tests/test-data/*/cmip7/regression/series.json
Regression series JSON files are empty arrays for most cases, with populated time-series records for the global mean, ozone, sea-ice, and transient climate response cases.
Changelog entry
changelog/767.trivial.md
The changelog records the addition of canonical CMIP7 regression baselines for 16 ESMValTool diagnostics.

Possibly related PRs

  • Climate-REF/climate-ref#764: Updates the same CMIP7 regional historical request and related regression fixture shape in regional_historical_changes.py.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly names the main change: minting CMIP7 regression baselines.
Description check ✅ Passed The description matches the template, covers the minting scope, and includes the required checklist sections.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/mint-esmvaltool-cmip7-baselines

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Jun 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Flag Coverage Δ
core 92.62% <ø> (ø)
providers 85.49% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...valtool/diagnostics/regional_historical_changes.py 85.15% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 4


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 96cc3bca-4ee1-4ba1-a890-bfdbf95ce79c

📥 Commits

Reviewing files that changed from the base of the PR and between a73f0a4 and 4d9e204.

📒 Files selected for processing (81)
  • changelog/767.trivial.md
  • packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip7/regression/series.json

Comment on lines +47 to +305
- activity_id: CMIP
branch_time_in_child: 0.0
branch_time_in_parent: 1223115.0
branded_variable: cVeg_tavg-u-hxy-lnd
branding_suffix: tavg-u-hxy-lnd
calendar: 365_day
end_time: '2014-12-16 12:00:00'
experiment_id: historical
external_variables: areacella
filename: cVeg_tavg-u-hxy-lnd_mon_glb_gn_CanESM5_historical_r1i1p1f1_185001-201412.nc
finalised: true
frequency: mon
grid_label: gn
instance_id: CMIP7.CMIP.CCCma.CanESM5.historical.r1i1p1f1.glb.mon.cVeg.tavg-u-hxy-lnd.gn.v0
institution_id: CCCma
license_id: CC-BY-4.0
long_name: Carbon Mass in Vegetation
mip_era: CMIP7
nominal_resolution: 500 km
parent_activity_id: CMIP
parent_experiment_id: piControl
parent_mip_era: CMIP6
parent_source_id: CanESM5
parent_time_units: days since 1850-01-01 0:0:0.0
parent_variant_label: r1i1p1f1
realm: land
region: glb
source_id: CanESM5
standard_name: vegetation_carbon_content
start_time: '1850-01-16 12:00:00'
time_range: 1850-01-16 12:00:00-2014-12-16 12:00:00
time_units: days since 1850-01-01
tracking_id: hdl:21.14107/d099c10d-2cd6-4de1-906a-99b9ac69c5d1
units: kg m-2
variable_id: cVeg
variant_label: r1i1p1f1
version: v0
- activity_id: CMIP
branch_time_in_child: 0.0
branch_time_in_parent: 1223115.0
branded_variable: hurs_tavg-h2m-hxy-u
branding_suffix: tavg-h2m-hxy-u
calendar: 365_day
end_time: '2014-12-16 12:00:00'
experiment_id: historical
external_variables: areacella
filename: hurs_tavg-h2m-hxy-u_mon_glb_gn_CanESM5_historical_r1i1p1f1_185001-201412.nc
finalised: true
frequency: mon
grid_label: gn
instance_id: CMIP7.CMIP.CCCma.CanESM5.historical.r1i1p1f1.glb.mon.hurs.tavg-h2m-hxy-u.gn.v0
institution_id: CCCma
license_id: CC-BY-4.0
long_name: Near-Surface Relative Humidity
mip_era: CMIP7
nominal_resolution: 500 km
parent_activity_id: CMIP
parent_experiment_id: piControl
parent_mip_era: CMIP6
parent_source_id: CanESM5
parent_time_units: days since 1850-01-01 0:0:0.0
parent_variant_label: r1i1p1f1
realm: atmos
region: glb
source_id: CanESM5
standard_name: relative_humidity
start_time: '1850-01-16 12:00:00'
time_range: 1850-01-16 12:00:00-2014-12-16 12:00:00
time_units: days since 1850-01-01
tracking_id: hdl:21.14107/2991c02d-9405-4b4a-a3fb-94342423589a
units: '%'
variable_id: hurs
variant_label: r1i1p1f1
version: v0
- activity_id: CMIP
branch_time_in_child: 0.0
branch_time_in_parent: 1223115.0
branded_variable: pr_tavg-u-hxy-u
branding_suffix: tavg-u-hxy-u
calendar: 365_day
end_time: '2014-12-16 12:00:00'
experiment_id: historical
external_variables: areacella
filename: pr_tavg-u-hxy-u_mon_glb_gn_CanESM5_historical_r1i1p1f1_185001-201412.nc
finalised: true
frequency: mon
grid_label: gn
instance_id: CMIP7.CMIP.CCCma.CanESM5.historical.r1i1p1f1.glb.mon.pr.tavg-u-hxy-u.gn.v0
institution_id: CCCma
license_id: CC-BY-4.0
long_name: Precipitation
mip_era: CMIP7
nominal_resolution: 500 km
parent_activity_id: CMIP
parent_experiment_id: piControl
parent_mip_era: CMIP6
parent_source_id: CanESM5
parent_time_units: days since 1850-01-01 0:0:0.0
parent_variant_label: r1i1p1f1
realm: atmos
region: glb
source_id: CanESM5
standard_name: precipitation_flux
start_time: '1850-01-16 12:00:00'
time_range: 1850-01-16 12:00:00-2014-12-16 12:00:00
time_units: days since 1850-01-01
tracking_id: hdl:21.14107/f8ed8043-a5d4-4d41-a798-cc7d01ef73e7
units: kg m-2 s-1
variable_id: pr
variant_label: r1i1p1f1
version: v0
- activity_id: CMIP
branch_time_in_child: 0.0
branch_time_in_parent: 1223115.0
branded_variable: tas_tavg-h2m-hxy-u
branding_suffix: tavg-h2m-hxy-u
calendar: 365_day
end_time: '2014-12-16 12:00:00'
experiment_id: historical
external_variables: areacella
filename: tas_tavg-h2m-hxy-u_mon_glb_gn_CanESM5_historical_r1i1p1f1_185001-201412.nc
finalised: true
frequency: mon
grid_label: gn
instance_id: CMIP7.CMIP.CCCma.CanESM5.historical.r1i1p1f1.glb.mon.tas.tavg-h2m-hxy-u.gn.v0
institution_id: CCCma
license_id: CC-BY-4.0
long_name: Near-Surface Air Temperature
mip_era: CMIP7
nominal_resolution: 500 km
parent_activity_id: CMIP
parent_experiment_id: piControl
parent_mip_era: CMIP6
parent_source_id: CanESM5
parent_time_units: days since 1850-01-01 0:0:0.0
parent_variant_label: r1i1p1f1
realm: atmos
region: glb
source_id: CanESM5
standard_name: air_temperature
start_time: '1850-01-16 12:00:00'
time_range: 1850-01-16 12:00:00-2014-12-16 12:00:00
time_units: days since 1850-01-01
tracking_id: hdl:21.14107/29fd6a7f-a383-46d5-9ca1-17b215ccbaf3
units: K
variable_id: tas
variant_label: r1i1p1f1
version: v0
- activity_id: CMIP
branch_time_in_child: 0.0
branch_time_in_parent: 1223115.0
branded_variable: tas_tmaxavg-h2m-hxy-u
branding_suffix: tmaxavg-h2m-hxy-u
calendar: 365_day
end_time: '2014-12-16 12:00:00'
experiment_id: historical
external_variables: areacella
filename: tas_tmaxavg-h2m-hxy-u_mon_glb_gn_CanESM5_historical_r1i1p1f1_185001-201412.nc
finalised: true
frequency: mon
grid_label: gn
instance_id: CMIP7.CMIP.CCCma.CanESM5.historical.r1i1p1f1.glb.mon.tas.tmaxavg-h2m-hxy-u.gn.v0
institution_id: CCCma
license_id: CC-BY-4.0
long_name: Daily Maximum Near-Surface Air Temperature
mip_era: CMIP7
nominal_resolution: 500 km
parent_activity_id: CMIP
parent_experiment_id: piControl
parent_mip_era: CMIP6
parent_source_id: CanESM5
parent_time_units: days since 1850-01-01 0:0:0.0
parent_variant_label: r1i1p1f1
realm: atmos
region: glb
source_id: CanESM5
standard_name: air_temperature
start_time: '1850-01-16 12:00:00'
time_range: 1850-01-16 12:00:00-2014-12-16 12:00:00
time_units: days since 1850-01-01
tracking_id: hdl:21.14107/008f5a8c-a53d-4dfe-9e53-0f00474bcedc
units: K
variable_id: tas
variant_label: r1i1p1f1
version: v0
- activity_id: CMIP
branch_time_in_child: 0.0
branch_time_in_parent: 1223115.0
branded_variable: treeFrac_tavg-u-hxy-u
branding_suffix: tavg-u-hxy-u
calendar: 365_day
end_time: '2014-12-16 12:00:00'
experiment_id: historical
external_variables: areacella
filename: treeFrac_tavg-u-hxy-u_mon_glb_gn_CanESM5_historical_r1i1p1f1_185001-201412.nc
finalised: true
frequency: mon
grid_label: gn
instance_id: CMIP7.CMIP.CCCma.CanESM5.historical.r1i1p1f1.glb.mon.treeFrac.tavg-u-hxy-u.gn.v0
institution_id: CCCma
license_id: CC-BY-4.0
long_name: Tree Cover Percentage
mip_era: CMIP7
nominal_resolution: 500 km
parent_activity_id: CMIP
parent_experiment_id: piControl
parent_mip_era: CMIP6
parent_source_id: CanESM5
parent_time_units: days since 1850-01-01 0:0:0.0
parent_variant_label: r1i1p1f1
realm: land
region: glb
source_id: CanESM5
standard_name: area_fraction
start_time: '1850-01-16 12:00:00'
time_range: 1850-01-16 12:00:00-2014-12-16 12:00:00
time_units: days since 1850-01-01
tracking_id: hdl:21.14107/94383bfb-9df2-4833-a7a2-5ef82ec840b3
units: '%'
variable_id: treeFrac
variant_label: r1i1p1f1
version: v0
- activity_id: CMIP
branch_time_in_child: 0.0
branch_time_in_parent: 1223115.0
branded_variable: vegFrac_tavg-u-hxy-u
branding_suffix: tavg-u-hxy-u
calendar: 365_day
end_time: '2014-12-16 12:00:00'
experiment_id: historical
external_variables: areacella
filename: vegFrac_tavg-u-hxy-u_mon_glb_gn_CanESM5_historical_r1i1p1f1_185001-201412.nc
finalised: true
frequency: mon
grid_label: gn
instance_id: CMIP7.CMIP.CCCma.CanESM5.historical.r1i1p1f1.glb.mon.vegFrac.tavg-u-hxy-u.gn.v0
institution_id: CCCma
license_id: CC-BY-4.0
long_name: Total Vegetated Percentage Cover
mip_era: CMIP7
nominal_resolution: 500 km
parent_activity_id: CMIP
parent_experiment_id: piControl
parent_mip_era: CMIP6
parent_source_id: CanESM5
parent_time_units: days since 1850-01-01 0:0:0.0
parent_variant_label: r1i1p1f1
realm: land
region: glb
source_id: CanESM5
standard_name: area_fraction
start_time: '1850-01-16 12:00:00'
time_range: 1850-01-16 12:00:00-2014-12-16 12:00:00
time_units: days since 1850-01-01
tracking_id: hdl:21.14107/135a2423-5f8c-4a79-a267-1e86132b4d82
units: '%'
variable_id: vegFrac
variant_label: r1i1p1f1
version: v0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Add the missing areacella catalogue record.

These datasets all declare external_variables: areacella, but this bundle never commits an areacella entry — only sftlf is present. That makes the regression case depend on ambient catalogue state instead of the committed fixture set, and can break consumers that load this YAML as the full dataset contract.

Comment on lines +5 to +10
selector:
experiment_id: historical
grid_label: gn
source_id: CanESM5
variable_id: tas
variant_label: r1i1p1f1

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Add frequency: mon to this selector.

Without it, the selector at Lines 5-10 is broader than the committed tas_..._mon_... dataset at Lines 36-46. That makes future remints less deterministic than the sibling CMIP7 catalogues in this PR, which already pin monthly diagnostics with frequency: mon.

Suggested fix
 selector:
   experiment_id: historical
+  frequency: mon
   grid_label: gn
   source_id: CanESM5
   variable_id: tas
   variant_label: r1i1p1f1
📝 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.

Suggested change
selector:
experiment_id: historical
grid_label: gn
source_id: CanESM5
variable_id: tas
variant_label: r1i1p1f1
selector:
experiment_id: historical
frequency: mon
grid_label: gn
source_id: CanESM5
variable_id: tas
variant_label: r1i1p1f1

Comment on lines +3 to +83
cmip7:
slug_column: instance_id
selector:
grid_label: gn
source_id: CanESM5
variant_label: r1i1p1f1
datasets:
- activity_id: CMIP
branch_time_in_child: 0.0
branch_time_in_parent: 1223115.0
branded_variable: areacello_ti-u-hxy-u
branding_suffix: ti-u-hxy-u
calendar: null
end_time: null
experiment_id: historical
external_variables: null
filename: areacello_ti-u-hxy-u_fx_glb_gn_CanESM5_historical_r1i1p1f1.nc
finalised: true
frequency: fx
grid_label: gn
instance_id: CMIP7.CMIP.CCCma.CanESM5.historical.r1i1p1f1.glb.fx.areacello.ti-u-hxy-u.gn.v0
institution_id: CCCma
license_id: CC-BY-4.0
long_name: Grid-Cell Area for Ocean Variables
mip_era: CMIP7
nominal_resolution: 100 km
parent_activity_id: CMIP
parent_experiment_id: piControl
parent_mip_era: CMIP6
parent_source_id: CanESM5
parent_time_units: days since 1850-01-01 0:0:0.0
parent_variant_label: r1i1p1f1
realm: ocean
region: glb
source_id: CanESM5
standard_name: cell_area
start_time: null
time_range: null
time_units: null
tracking_id: hdl:21.14107/f1ffaa8e-f80e-46e5-b2e9-b1a212b0372e
units: m2
variable_id: areacello
variant_label: r1i1p1f1
version: v0
- activity_id: CMIP
branch_time_in_child: 0.0
branch_time_in_parent: 1223115.0
branded_variable: siconc_tavg-u-hxy-u
branding_suffix: tavg-u-hxy-u
calendar: 365_day
end_time: '2014-12-16 12:00:00'
experiment_id: historical
external_variables: areacello
filename: siconc_tavg-u-hxy-u_mon_glb_gn_CanESM5_historical_r1i1p1f1_185001-201412.nc
finalised: true
frequency: mon
grid_label: gn
instance_id: CMIP7.CMIP.CCCma.CanESM5.historical.r1i1p1f1.glb.mon.siconc.tavg-u-hxy-u.gn.v0
institution_id: CCCma
license_id: CC-BY-4.0
long_name: Sea-ice Area Percentage (Ocean Grid)
mip_era: CMIP7
nominal_resolution: 100 km
parent_activity_id: CMIP
parent_experiment_id: piControl
parent_mip_era: CMIP6
parent_source_id: CanESM5
parent_time_units: days since 1850-01-01 0:0:0.0
parent_variant_label: r1i1p1f1
realm: seaIce
region: glb
source_id: CanESM5
standard_name: sea_ice_area_fraction
start_time: '1850-01-16 12:00:00'
time_range: 1850-01-16 12:00:00-2014-12-16 12:00:00
time_units: days since 1850-01-01
tracking_id: hdl:21.14107/e27188f7-4611-4001-98a3-f96edff2fc50
units: '%'
variable_id: siconc
variant_label: r1i1p1f1
version: v0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Add the missing obs4mips input to this catalogue.

The committed outputs for sea-ice-area-basic compare CanESM5 against OSI-450, but this file only declares cmip7 datasets. Replaying the case from the committed inputs therefore cannot reconstruct the same model-vs-observation bundle captured in packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/regression/output.json (for example Lines 10, 19, 28, 37, 59, 68, 77 and 86), so the fixture set is incomplete as committed.

…variables

The cmip7 regression test request used the full variable set while the cmip6
request was already cut down to ``test_variables`` (pr, tas). Combined with the
58 AR6 regions, the committed cmip7 series.json reached ~11 MB. Use the same
``test_variables`` subset (and the existing region reduction in
reduce_recipe_for_regression_fixture, which is project-agnostic) so the cmip7
fixture matches cmip6 and stays small. Production data_requirements are
untouched and still process the full variable set.

Constraint: committed series.json must stay small enough for git history
Confidence: high
Scope-risk: narrow
Mint the canonical committed bundles for the 16 ESMValTool CMIP7 test cases
that execute cleanly. Each commits the committed bundle (regression/), the
dataset catalog (catalog.yaml) and the manifest (manifest.json); native sets
are empty ({}) pending a credentialed CI mint. Local file-path catalogs
(catalog.paths.yaml) and the output/ work slots remain gitignored.

The CMIP7 path requires the `complete` dataset parser: the `realm` facet
(ESMValTool's `mip` for CMIP7) is a finalisation-only attribute that the `drs`
parser does not populate, so the recipe builder needs files opened to read it.
These baselines were seeded with REF_CMIP7_PARSER=complete.

Seven cases do not yet produce a baseline and are intentionally omitted:
- cloud-radiative-effects, cloud-scatterplots-cli-ta,
  equilibrium-climate-sensitivity: ESMValTool recipe execution fails
- enso-basic-climatology, enso-characteristics: diagnostic produces no
  matrix.csv output
- ozone-zonal: solver finds no valid executions for the CMIP7 inputs
- zero-emission-commitment: CMIP7 data could not be resolved (no datasets found)

Confidence: high
Scope-risk: narrow
Not-tested: the seven omitted cases above
@lewisjared lewisjared force-pushed the feat/mint-esmvaltool-cmip7-baselines branch from 4d9e204 to 98b6e81 Compare June 29, 2026 22:34

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/regional_historical_changes.py (1)

529-536: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Keep the CMIP7 test subset in one place.

Line 531 now follows test_variables, but Lines 532-536 still duplicate the same subset manually. The next edit to test_variables can leave variable_id and branded_variable out of sync.


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 7f855a09-61d5-4cbd-a77a-011d2d10e421

📥 Commits

Reviewing files that changed from the base of the PR and between 4d9e204 and 98b6e81.

📒 Files selected for processing (82)
  • changelog/767.trivial.md
  • packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/regional_historical_changes.py
  • packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip7/regression/series.json
✅ Files skipped from review due to trivial changes (67)
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/regression/diagnostic.json
  • changelog/767.trivial.md
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-timeseries/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-nh-mar/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-lat-time/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-annual-cycle/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-sensitivity/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip7/regression/series.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-sh-oct/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/regression/series.json
🚧 Files skipped from review as they are similar to previous changes (9)
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clivi-lwcre/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clwvi-pr/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/global-mean-timeseries/cmip7/regression/output.json
  • packages/climate-ref-esmvaltool/tests/test-data/ozone-annual-cycle/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/cloud-scatterplots-clt-swcre/cmip7/regression/diagnostic.json
  • packages/climate-ref-esmvaltool/tests/test-data/sea-ice-area-basic/cmip7/manifest.json
  • packages/climate-ref-esmvaltool/tests/test-data/regional-historical-trend/cmip7/catalog.yaml
  • packages/climate-ref-esmvaltool/tests/test-data/climate-drivers-for-fire/cmip7/catalog.yaml

@lewisjared lewisjared merged commit d5dc936 into main Jun 30, 2026
24 checks passed
@lewisjared lewisjared deleted the feat/mint-esmvaltool-cmip7-baselines branch June 30, 2026 00:34
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.

1 participant