From bc3e87f5e63635c9cdc457f54c3fe135883a2987 Mon Sep 17 00:00:00 2001 From: Manuel Schlund Date: Fri, 29 May 2026 15:15:10 +0200 Subject: [PATCH 01/17] Update ESMValTool commit hash and recipe --- .../climate_ref_esmvaltool/diagnostics/tcr.py | 47 ++++++------------- .../src/climate_ref_esmvaltool/recipe.py | 2 +- .../src/climate_ref_esmvaltool/recipes.txt | 2 +- 3 files changed, 16 insertions(+), 35 deletions(-) diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcr.py b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcr.py index a7bd3e3e8..22e678886 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcr.py +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcr.py @@ -7,7 +7,6 @@ AddParentDataset, AddSupplementaryDataset, RequireContiguousTimerange, - RequireFacets, ) from climate_ref_core.datasets import ExecutionDatasetCollection, FacetFilter, SourceDatasetType from climate_ref_core.diagnostics import DataRequirement @@ -32,7 +31,7 @@ class TransientClimateResponse(ESMValToolDiagnostic): name = "Transient Climate Response" slug = "transient-climate-response" - base_recipe = "recipe_tcr.yml" + base_recipe = "ref/recipe_ref_tcr.yml" experiments = ( "1pctCO2", @@ -67,7 +66,7 @@ class TransientClimateResponse(ESMValToolDiagnostic): FacetFilter( facets={ "branded_variable": "tas_tavg-h2m-hxy-u", - "experiment_id": experiments, + "experiment_id": "1pctCO2", "frequency": "mon", "region": "glb", }, @@ -75,8 +74,8 @@ class TransientClimateResponse(ESMValToolDiagnostic): ), group_by=("source_id", "variant_label", "grid_label"), constraints=( + AddParentDataset.from_defaults(SourceDatasetType.CMIP7), RequireContiguousTimerange(group_by=("instance_id",)), - RequireFacets("experiment_id", experiments), AddSupplementaryDataset.from_defaults("areacella", SourceDatasetType.CMIP7), ), ), @@ -156,27 +155,8 @@ def update_recipe( input_files: dict[SourceDatasetType, pandas.DataFrame], ) -> None: """Update the recipe.""" - # Only run the diagnostic that computes TCR for a single model. - recipe["diagnostics"] = { - "tcr": { - "description": "Calculate TCR.", - "variables": { - "tas": { - "preprocessor": "spatial_mean", - }, - }, - "scripts": { - "calculate": { - "script": "climate_metrics/tcr.py", - "calculate_mmm": False, - }, - }, - }, - } - - # Prepare updated datasets section in recipe. It contains two - # datasets, one for the "1pctCO2" and one for the "piControl" - # experiment. + # Prepare updated datasets section in recipe. It contains two datasets, + # one for the "1pctCO2" and one for the "piControl" experiment. cmip_source = get_cmip_source_type(input_files) df = input_files[cmip_source] recipe["datasets"] = get_child_and_parent_dataset( @@ -187,14 +167,15 @@ def update_recipe( parent_duration_in_years=140, ) - # Remove keys from the recipe that are only used for YAML anchors - keys_to_remove = [ - "TCR", - "SCATTERPLOT", - "VAR_SETTING", - ] - for key in keys_to_remove: - recipe.pop(key, None) + # Delete branding suffixes from dataset entries because they are + # variable-specific + for dataset in recipe["datasets"]: + dataset.pop("branding_suffix", None) + + # For CMIP6, delete all appearances of branding suffixes + if cmip_source == SourceDatasetType.CMIP6: + for variable in recipe["diagnostics"]["tcr"]["variables"].values(): + variable.pop("branding_suffix", None) @staticmethod def format_result( diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py index 9a03162c3..2e09370ff 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py @@ -296,7 +296,7 @@ def get_child_and_parent_dataset( return [child_dataset, parent_dataset] -_ESMVALTOOL_COMMIT = "dead90ca848d3892ed90785b3940909d58d27780" +_ESMVALTOOL_COMMIT = "26d114a716e113b43a77b2663595edc60f08f173" _ESMVALTOOL_VERSION = f"2.14.0.dev65+g{_ESMVALTOOL_COMMIT[:9]}" _ESMVALTOOL_URL = f"git+https://github.com/ESMValGroup/ESMValTool.git@{_ESMVALTOOL_COMMIT}" diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt index 54ac7b692..c65ef2beb 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt @@ -3,7 +3,6 @@ recipe_calculate_gwl_exceedance_stats.yml 9f28304b85f7043fb76eb29ee84da46e0849 recipe_ecs.yml 0cc57034fcb64e32015b4ff949ece5df8cdb8c6f493618b50ceded119fb37918 recipe_seaice_sensitivity.yml 07270818ebf04a58713dc989720cc9ace77f28d42b1ea189c3bdaf22f5d64577 recipe_tcr.yml 35f9ef035a4e71aff5cac5dd26c49da2162fc00291bf3b0bd16b661b7b2f606b -recipe_tcre.yml 48fc9e3baf541bbcef7491853ea3a774053771dca33352b41466425faeaa38af recipe_zec.yml b0af7f789b7610ab3f29a6617124aa40c40866ead958204fc199eaf82863de51 ref/recipe_enso_basicclimatology.yml 9ea7deb7ee668e39ac44618b96496d898bd82285c22dcee4fce4695e0c9fa82b ref/recipe_enso_characteristics.yml 34c2518b138068ac96d212910b979d54a8fcedee2c0089b5acd56a42c41dc3e4 @@ -13,5 +12,6 @@ ref/recipe_ref_fire.yml 2ad82effaca4e742d8abe6a0aa07bb46e1e9 ref/recipe_ref_ozone.yml 388aaf01721c0856ab7143b47b9d2f1efeaaae4ef57e11572c1e133b49aad0a6 ref/recipe_ref_sea_ice_area_basic.yml 7d01a8527880663ca28284772f83a8356d9972fb4f022a4000e50a56ce044b09 ref/recipe_ref_scatterplot.yml b99d1736e16256d161847b025811d7088ad9f892d4887fb009fa99c4079135a0 +ref/recipe_ref_tcre.yml 13ae406bbb96fa31e137f62fa44e455927902b9e50765da56a247cd82e4cbe5a ref/recipe_ref_timeseries_region.yml deee4403ea25867401e163f6c9d7fcc4fee09d3088009007fcad6a29d01247a8 ref/recipe_ref_trend_regions.yml 18fe246a51474bd12172ab1ba141efac999a247de7774822f77ae6ef144645fe From db3185c36ad133a469cca14600b6f03bdfcfae7d Mon Sep 17 00:00:00 2001 From: Manuel Schlund Date: Fri, 29 May 2026 15:15:40 +0200 Subject: [PATCH 02/17] Revert tcr.py --- .../climate_ref_esmvaltool/diagnostics/tcr.py | 47 +++++++++++++------ 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcr.py b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcr.py index 22e678886..a7bd3e3e8 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcr.py +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcr.py @@ -7,6 +7,7 @@ AddParentDataset, AddSupplementaryDataset, RequireContiguousTimerange, + RequireFacets, ) from climate_ref_core.datasets import ExecutionDatasetCollection, FacetFilter, SourceDatasetType from climate_ref_core.diagnostics import DataRequirement @@ -31,7 +32,7 @@ class TransientClimateResponse(ESMValToolDiagnostic): name = "Transient Climate Response" slug = "transient-climate-response" - base_recipe = "ref/recipe_ref_tcr.yml" + base_recipe = "recipe_tcr.yml" experiments = ( "1pctCO2", @@ -66,7 +67,7 @@ class TransientClimateResponse(ESMValToolDiagnostic): FacetFilter( facets={ "branded_variable": "tas_tavg-h2m-hxy-u", - "experiment_id": "1pctCO2", + "experiment_id": experiments, "frequency": "mon", "region": "glb", }, @@ -74,8 +75,8 @@ class TransientClimateResponse(ESMValToolDiagnostic): ), group_by=("source_id", "variant_label", "grid_label"), constraints=( - AddParentDataset.from_defaults(SourceDatasetType.CMIP7), RequireContiguousTimerange(group_by=("instance_id",)), + RequireFacets("experiment_id", experiments), AddSupplementaryDataset.from_defaults("areacella", SourceDatasetType.CMIP7), ), ), @@ -155,8 +156,27 @@ def update_recipe( input_files: dict[SourceDatasetType, pandas.DataFrame], ) -> None: """Update the recipe.""" - # Prepare updated datasets section in recipe. It contains two datasets, - # one for the "1pctCO2" and one for the "piControl" experiment. + # Only run the diagnostic that computes TCR for a single model. + recipe["diagnostics"] = { + "tcr": { + "description": "Calculate TCR.", + "variables": { + "tas": { + "preprocessor": "spatial_mean", + }, + }, + "scripts": { + "calculate": { + "script": "climate_metrics/tcr.py", + "calculate_mmm": False, + }, + }, + }, + } + + # Prepare updated datasets section in recipe. It contains two + # datasets, one for the "1pctCO2" and one for the "piControl" + # experiment. cmip_source = get_cmip_source_type(input_files) df = input_files[cmip_source] recipe["datasets"] = get_child_and_parent_dataset( @@ -167,15 +187,14 @@ def update_recipe( parent_duration_in_years=140, ) - # Delete branding suffixes from dataset entries because they are - # variable-specific - for dataset in recipe["datasets"]: - dataset.pop("branding_suffix", None) - - # For CMIP6, delete all appearances of branding suffixes - if cmip_source == SourceDatasetType.CMIP6: - for variable in recipe["diagnostics"]["tcr"]["variables"].values(): - variable.pop("branding_suffix", None) + # Remove keys from the recipe that are only used for YAML anchors + keys_to_remove = [ + "TCR", + "SCATTERPLOT", + "VAR_SETTING", + ] + for key in keys_to_remove: + recipe.pop(key, None) @staticmethod def format_result( From ea75fa59c18f62c21ca01f83f8218e5872931931 Mon Sep 17 00:00:00 2001 From: Manuel Schlund Date: Fri, 29 May 2026 15:16:00 +0200 Subject: [PATCH 03/17] Update recipe in TCRE diagnostic --- .../src/climate_ref_esmvaltool/diagnostics/tcre.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py index dfff19d2d..c5f8cf961 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py @@ -32,7 +32,7 @@ class TransientClimateResponseEmissions(ESMValToolDiagnostic): name = "Transient Climate Response to Cumulative CO2 Emissions" slug = "transient-climate-response-emissions" - base_recipe = "recipe_tcre.yml" + base_recipe = "ref/recipe_ref_tcre.yml" variables = ( "tas", From f6b8e7f04bedef04d1e69e2b462e91ba7283b09b Mon Sep 17 00:00:00 2001 From: Manuel Schlund Date: Fri, 29 May 2026 16:29:35 +0200 Subject: [PATCH 04/17] Use latest ESMValTool main commit --- .../climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py index 2e09370ff..3336bd95f 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py @@ -296,7 +296,7 @@ def get_child_and_parent_dataset( return [child_dataset, parent_dataset] -_ESMVALTOOL_COMMIT = "26d114a716e113b43a77b2663595edc60f08f173" +_ESMVALTOOL_COMMIT = "0a9a986bd598f6d9334d8f480e03d57e456c3bb4" _ESMVALTOOL_VERSION = f"2.14.0.dev65+g{_ESMVALTOOL_COMMIT[:9]}" _ESMVALTOOL_URL = f"git+https://github.com/ESMValGroup/ESMValTool.git@{_ESMVALTOOL_COMMIT}" From 2824c87026dae02aedb8fed2c23dc321ec49e33e Mon Sep 17 00:00:00 2001 From: Manuel Schlund Date: Fri, 29 May 2026 16:48:20 +0200 Subject: [PATCH 05/17] Update ozone recipe hash --- .../src/climate_ref_esmvaltool/recipes.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt index c65ef2beb..11342a8c6 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt @@ -9,7 +9,7 @@ ref/recipe_enso_characteristics.yml 34c2518b138068ac96d212910b979d54a8fc ref/recipe_ref_annual_cycle_region.yml 88e0c2f07a76c4de4276547badcc74091516e03840eddb1f0e62469c67a0a86d ref/recipe_ref_cre.yml 4375f262479c3b3e1b348b71080a6d758e195bda76516a591182045a3a29aa32 ref/recipe_ref_fire.yml 2ad82effaca4e742d8abe6a0aa07bb46e1e92ef0d2d240760f7623b0ba045926 -ref/recipe_ref_ozone.yml 388aaf01721c0856ab7143b47b9d2f1efeaaae4ef57e11572c1e133b49aad0a6 +ref/recipe_ref_ozone.yml 09ded4946ecd762ba000916c9f8618120a2e6269930427ae5129da466165f3e5. ref/recipe_ref_sea_ice_area_basic.yml 7d01a8527880663ca28284772f83a8356d9972fb4f022a4000e50a56ce044b09 ref/recipe_ref_scatterplot.yml b99d1736e16256d161847b025811d7088ad9f892d4887fb009fa99c4079135a0 ref/recipe_ref_tcre.yml 13ae406bbb96fa31e137f62fa44e455927902b9e50765da56a247cd82e4cbe5a From 620ee1ce7a07a7d568953541e43aff488cb897c1 Mon Sep 17 00:00:00 2001 From: Manuel Schlund Date: Fri, 29 May 2026 16:48:49 +0200 Subject: [PATCH 06/17] Use esm-flat10 experiment to calculate TCRE for CMIP7 models --- .../diagnostics/tcre.py | 47 +++++++++---------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py index c5f8cf961..71d40f501 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py @@ -84,7 +84,7 @@ class TransientClimateResponseEmissions(ESMValToolDiagnostic): "fco2antt_tavg-u-hxy-u", "tas_tavg-h2m-hxy-u", ), - "experiment_id": "esm-1pctCO2", + "experiment_id": "esm-flat10", "frequency": "mon", "region": "glb", }, @@ -101,7 +101,7 @@ class TransientClimateResponseEmissions(ESMValToolDiagnostic): group_by=("source_id", "variant_label", "grid_label"), constraints=( RequireContiguousTimerange(group_by=("instance_id",)), - RequireFacets("experiment_id", ("esm-1pctCO2", "esm-piControl")), + RequireFacets("experiment_id", ("esm-flat10", "esm-piControl")), RequireFacets("variable_id", variables), AddSupplementaryDataset.from_defaults("areacella", SourceDatasetType.CMIP7), ), @@ -147,7 +147,7 @@ class TransientClimateResponseEmissions(ESMValToolDiagnostic): CMIP7Request( slug="cmip7", facets={ - "experiment_id": ["esm-1pctCO2", "esm-piControl"], + "experiment_id": ["esm-flat10", "esm-piControl"], "source_id": "MPI-ESM1-2-LR", "variable_id": ["areacella", "fco2antt", "tas"], "branded_variable": [ @@ -173,31 +173,35 @@ def update_recipe( ) -> None: """Update the recipe.""" # Prepare updated datasets section in recipe. It contains three - # datasets, "tas" and "fco2antt" for the "esm-1pctCO2" and just "tas" - # for the "esm-piControl" experiment. + # datasets, "tas" and "fco2antt" for a scenario with steady CO2 + # increase (i.e., "esm-flat10" for CMIP7 and "esm-1pctCO2" for CMIP6) + # and just "tas" for the "esm-piControl" experiment. cmip_source = get_cmip_source_type(input_files) df = input_files[cmip_source] - tas_esm_1pctCO2, tas_esm_piControl = get_child_and_parent_dataset( + if cmip_source == SourceDatasetType.CMIP6: + exp_duration_in_years = 65 + else: + exp_duration_in_years = 110 + tas_co2_increase, tas_esm_piControl = get_child_and_parent_dataset( df[df.variable_id == "tas"], parent_experiment="esm-piControl", - child_duration_in_years=65, + child_duration_in_years=exp_duration_in_years, parent_offset_in_years=0, - parent_duration_in_years=65, + parent_duration_in_years=exp_duration_in_years, ) recipe_variables = dataframe_to_recipe(df[df.variable_id == "fco2antt"]) fco2antt_esm_1pctCO2 = next( ds for ds in recipe_variables["fco2antt"]["additional_datasets"] if ds["exp"] == "esm-1pctCO2" ) - fco2antt_esm_1pctCO2["timerange"] = tas_esm_1pctCO2["timerange"] + fco2antt_esm_1pctCO2["timerange"] = tas_co2_increase["timerange"] recipe["diagnostics"]["tcre"]["variables"] = { - "tas_esm-1pctCO2": { - "short_name": "tas", + "tas": { "preprocessor": "global_annual_mean_anomaly", - "additional_datasets": [tas_esm_1pctCO2], + "additional_datasets": [tas_co2_increase], }, - "tas_esm-piControl": { + "tas_control": { "short_name": "tas", "preprocessor": "global_annual_mean_anomaly", "additional_datasets": [tas_esm_piControl], @@ -207,18 +211,13 @@ def update_recipe( "additional_datasets": [fco2antt_esm_1pctCO2], }, } - recipe["diagnostics"].pop("barplot") - # Update descriptions. - dataset = tas_esm_1pctCO2["dataset"] - ensemble = tas_esm_1pctCO2["ensemble"] - settings = recipe["diagnostics"]["tcre"]["scripts"]["calculate_tcre"] - settings["caption"] = ( - settings["caption"].replace("MPI-ESM1-2-LR", dataset).replace("r1i1p1f1", ensemble) - ) - settings["pyplot_kwargs"]["title"] = ( - settings["pyplot_kwargs"]["title"].replace("MPI-ESM1-2-LR", dataset).replace("r1i1p1f1", ensemble) - ) + # For CMIP6, some special settings are necessary because the esm-flat10 + # experiment did not experiment yet + if cmip_source == SourceDatasetType.CMIP6: + diag_settings = recipe["diagnostics"]["tcre"]["scripts"]["calculate_tcre"] + diag_settings["calc_tcre_period"] = [45, 65] + diag_settings["exp_target"] = "esm-1pctCO2" @staticmethod def format_result( From f0e9c2add5445e70c4b37a22a93d7cd17af31b82 Mon Sep 17 00:00:00 2001 From: Manuel Schlund Date: Fri, 29 May 2026 16:52:59 +0200 Subject: [PATCH 07/17] Fixed typo in recipes.txt --- .../src/climate_ref_esmvaltool/recipes.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt index 11342a8c6..a32a83a33 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt @@ -9,7 +9,7 @@ ref/recipe_enso_characteristics.yml 34c2518b138068ac96d212910b979d54a8fc ref/recipe_ref_annual_cycle_region.yml 88e0c2f07a76c4de4276547badcc74091516e03840eddb1f0e62469c67a0a86d ref/recipe_ref_cre.yml 4375f262479c3b3e1b348b71080a6d758e195bda76516a591182045a3a29aa32 ref/recipe_ref_fire.yml 2ad82effaca4e742d8abe6a0aa07bb46e1e92ef0d2d240760f7623b0ba045926 -ref/recipe_ref_ozone.yml 09ded4946ecd762ba000916c9f8618120a2e6269930427ae5129da466165f3e5. +ref/recipe_ref_ozone.yml 09ded4946ecd762ba000916c9f8618120a2e6269930427ae5129da466165f3e5 ref/recipe_ref_sea_ice_area_basic.yml 7d01a8527880663ca28284772f83a8356d9972fb4f022a4000e50a56ce044b09 ref/recipe_ref_scatterplot.yml b99d1736e16256d161847b025811d7088ad9f892d4887fb009fa99c4079135a0 ref/recipe_ref_tcre.yml 13ae406bbb96fa31e137f62fa44e455927902b9e50765da56a247cd82e4cbe5a From 8c01419f3e5bde56aef5419d87596d2f483e6d3e Mon Sep 17 00:00:00 2001 From: Manuel Schlund Date: Mon, 1 Jun 2026 10:31:22 +0200 Subject: [PATCH 08/17] Adapt TCRE caption for CMIP6 and update expected test recipe --- .../diagnostics/tcre.py | 8 ++++ ...sient_climate_response_emissions_cmip6.yml | 44 +++++-------------- 2 files changed, 19 insertions(+), 33 deletions(-) diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py index 71d40f501..f725f9a6e 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py @@ -217,6 +217,14 @@ def update_recipe( if cmip_source == SourceDatasetType.CMIP6: diag_settings = recipe["diagnostics"]["tcre"]["scripts"]["calculate_tcre"] diag_settings["calc_tcre_period"] = [45, 65] + diag_settings["caption"] = ( + "Global annual mean near-surface air temperature anomaly ΔT vs. " + "global annual cumulative CO2 emissions E of the emission-driven " + "1% CO2 increase per year experiment. The transient climate " + "response to cumulative CO2 Emissions (TCRE) is defined as the " + "20-year average ΔT centered at the time where cumulative CO2 " + "emissions E reach 1000 PgC (i.e., after 55 years)." + ) diag_settings["exp_target"] = "esm-1pctCO2" @staticmethod diff --git a/packages/climate-ref-esmvaltool/tests/unit/diagnostics/recipes/recipe_transient_climate_response_emissions_cmip6.yml b/packages/climate-ref-esmvaltool/tests/unit/diagnostics/recipes/recipe_transient_climate_response_emissions_cmip6.yml index f9017c0ad..dc5c68541 100644 --- a/packages/climate-ref-esmvaltool/tests/unit/diagnostics/recipes/recipe_transient_climate_response_emissions_cmip6.yml +++ b/packages/climate-ref-esmvaltool/tests/unit/diagnostics/recipes/recipe_transient_climate_response_emissions_cmip6.yml @@ -11,25 +11,6 @@ documentation: - schlund_manuel references: - sanderson24gmd - domains: - - global - realms: - - atmos - themes: - - carbon - - bgphys -datasets_target_exp: -- project: CMIP6 - dataset: MPI-ESM1-2-LR - ensemble: r1i1p1f1 - grid: gn - timerange: 1850/1914 -datasets_control_exp: -- project: CMIP6 - dataset: MPI-ESM1-2-LR - ensemble: r1i1p1f1 - grid: gn - timerange: 1850/1914 preprocessors: global_annual_mean_anomaly: custom_order: true @@ -53,8 +34,7 @@ preprocessors: diagnostics: tcre: variables: - tas_esm-1pctCO2: - short_name: tas + tas: preprocessor: global_annual_mean_anomaly additional_datasets: - project: CMIP6 @@ -66,7 +46,7 @@ diagnostics: grid: gn mip: Amon timerange: 1850/1914 - tas_esm-piControl: + tas_control: short_name: tas preprocessor: global_annual_mean_anomaly additional_datasets: @@ -94,18 +74,16 @@ diagnostics: scripts: calculate_tcre: script: climate_metrics/tcre.py - calc_tcre_period: - - 45 - - 65 caption: "Global annual mean near-surface air temperature anomaly \u0394T\ - \ vs.\nglobal annual cumulative CO2 emissions E of the emission-driven 1%\n\ - CO2 increase per year experiment for model MPI-ESM1-2-LR (ensemble\nmember\ - \ r1i1p1f1). The transient climate response to cumulative CO2\nEmissions\ - \ (TCRE) is defined as the 20-year average \u0394T centered at\nthe time\ - \ where cumulative CO2 emissions E reach 1000 PgC.\n" - exp_target: esm-1pctCO2 - legend_kwargs: false + \ vs. global annual cumulative CO2 emissions E of the emission-driven 1%\ + \ CO2 increase per year experiment. The transient climate response to cumulative\ + \ CO2 Emissions (TCRE) is defined as the 20-year average \u0394T centered\ + \ at the time where cumulative CO2 emissions E reach 1000 PgC (i.e., after\ + \ 55 years)." pyplot_kwargs: - title: MPI-ESM1-2-LR (ensemble member r1i1p1f1) xlabel: E [PgC] ylabel: "\u0394T [K]" + calc_tcre_period: + - 45 + - 65 + exp_target: esm-1pctCO2 From 67332c69943c17c6f03e10f3c1d4191919cf5739 Mon Sep 17 00:00:00 2001 From: Manuel Schlund Date: Mon, 1 Jun 2026 11:52:01 +0200 Subject: [PATCH 09/17] Add correct parent datasets for CMIP7 data in TCRE diagnostic --- .../diagnostics/tcre.py | 29 ++++++++++--------- ..._transient_climate_response_emissions_.yml | 6 ---- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py index f725f9a6e..ada20de41 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py @@ -80,29 +80,32 @@ class TransientClimateResponseEmissions(ESMValToolDiagnostic): filters=( FacetFilter( facets={ - "branded_variable": ( - "fco2antt_tavg-u-hxy-u", - "tas_tavg-h2m-hxy-u", - ), + "branded_variable": "tas_tavg-h2m-hxy-u", "experiment_id": "esm-flat10", "frequency": "mon", "region": "glb", }, ), - FacetFilter( - facets={ - "branded_variable": "tas_tavg-h2m-hxy-u", - "experiment_id": "esm-piControl", + ), + group_by=("source_id", "variant_label", "grid_label"), + constraints=( + AddParentDataset.from_defaults(SourceDatasetType.CMIP7), + AddSupplementaryDataset( + supplementary_facets={ + "branded_variable": "fco2antt_tavg-u-hxy-u", + "experiment_id": "esm-flat10", "frequency": "mon", "region": "glb", }, + matching_facets=( + "source_id", + "variant_label", + "grid_label", + ), + optional_matching_facets=("version",), ), - ), - group_by=("source_id", "variant_label", "grid_label"), - constraints=( RequireContiguousTimerange(group_by=("instance_id",)), - RequireFacets("experiment_id", ("esm-flat10", "esm-piControl")), - RequireFacets("variable_id", variables), + RequireFacets("variable_id", ("tas", "fco2antt")), AddSupplementaryDataset.from_defaults("areacella", SourceDatasetType.CMIP7), ), ), diff --git a/packages/climate-ref-esmvaltool/tests/unit/test_solve_regression/test_solve_regression_transient_climate_response_emissions_.yml b/packages/climate-ref-esmvaltool/tests/unit/test_solve_regression/test_solve_regression_transient_climate_response_emissions_.yml index f27cb98a1..bb79809a0 100644 --- a/packages/climate-ref-esmvaltool/tests/unit/test_solve_regression/test_solve_regression_transient_climate_response_emissions_.yml +++ b/packages/climate-ref-esmvaltool/tests/unit/test_solve_regression/test_solve_regression_transient_climate_response_emissions_.yml @@ -4,9 +4,3 @@ cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR: - CMIP6.C4MIP CDRMIP.MPI-M.MPI-ESM1-2-LR.esm-1pctCO2.r1i1p1f1.Amon.tas.gn.v20190815 - CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.1pctCO2.r1i1p1f1.fx.areacella.gn.v20190710 - CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.esm-piControl.r1i1p1f1.Amon.tas.gn.v20190815 -cmip7_gn_MPI-ESM1-2-LR_r1i1p1f1: - cmip7: - - CMIP7.C4MIP CDRMIP.MPI-M.MPI-ESM1-2-LR.esm-1pctCO2.r1i1p1f1.glb.mon.fco2antt.tavg-u-hxy-u.gn.v20190815 - - CMIP7.C4MIP CDRMIP.MPI-M.MPI-ESM1-2-LR.esm-1pctCO2.r1i1p1f1.glb.mon.tas.tavg-h2m-hxy-u.gn.v20190815 - - CMIP7.CMIP.MPI-M.MPI-ESM1-2-LR.1pctCO2.r1i1p1f1.glb.fx.areacella.ti-u-hxy-u.gn.v20190710 - - CMIP7.CMIP.MPI-M.MPI-ESM1-2-LR.esm-piControl.r1i1p1f1.glb.mon.tas.tavg-h2m-hxy-u.gn.v20190815 From c7ebc587dae149e9ef1de9db445c67656fcf74b8 Mon Sep 17 00:00:00 2001 From: Manuel Schlund Date: Mon, 1 Jun 2026 15:08:49 +0200 Subject: [PATCH 10/17] Use latest ESMValTool commit to main --- .../src/climate_ref_esmvaltool/diagnostics/tcre.py | 8 ++++---- .../src/climate_ref_esmvaltool/recipe.py | 2 +- .../src/climate_ref_esmvaltool/recipes.txt | 2 +- .../recipe_transient_climate_response_emissions_cmip6.yml | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py index ada20de41..4a864a593 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py @@ -116,11 +116,11 @@ class TransientClimateResponseEmissions(ESMValToolDiagnostic): series = tuple() files = ( FileDefinition( - file_pattern="plots/tcre/calculate_tcre/*.png", + file_pattern="plots/tcre/calculate/*.png", dimensions={"statistic": "tcre"}, ), FileDefinition( - file_pattern="work/tcre/calculate_tcre/tcre.nc", + file_pattern="work/tcre/calculate/tcre.nc", dimensions={"metric": "tcre"}, ), ) @@ -218,7 +218,7 @@ def update_recipe( # For CMIP6, some special settings are necessary because the esm-flat10 # experiment did not experiment yet if cmip_source == SourceDatasetType.CMIP6: - diag_settings = recipe["diagnostics"]["tcre"]["scripts"]["calculate_tcre"] + diag_settings = recipe["diagnostics"]["tcre"]["scripts"]["calculate"] diag_settings["calc_tcre_period"] = [45, 65] diag_settings["caption"] = ( "Global annual mean near-surface air temperature anomaly ΔT vs. " @@ -238,7 +238,7 @@ def format_result( output_args: OutputBundleArgs, ) -> tuple[CMECMetric, CMECOutput]: """Format the result.""" - tcre_ds = xarray.open_dataset(result_dir / "work" / "tcre" / "calculate_tcre" / "tcre.nc") + tcre_ds = xarray.open_dataset(result_dir / "work" / "tcre" / "calculate" / "tcre.nc") tcre = float(fillvalues_to_nan(tcre_ds["tcre"].values)[0]) # Update the diagnostic bundle arguments with the computed diagnostics. diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py index 3336bd95f..2b5bb3af6 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py @@ -296,7 +296,7 @@ def get_child_and_parent_dataset( return [child_dataset, parent_dataset] -_ESMVALTOOL_COMMIT = "0a9a986bd598f6d9334d8f480e03d57e456c3bb4" +_ESMVALTOOL_COMMIT = "12cb5309bd64ca4189bc0ef63bcf25e82664e45f" _ESMVALTOOL_VERSION = f"2.14.0.dev65+g{_ESMVALTOOL_COMMIT[:9]}" _ESMVALTOOL_URL = f"git+https://github.com/ESMValGroup/ESMValTool.git@{_ESMVALTOOL_COMMIT}" diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt index a32a83a33..6b666a400 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt @@ -12,6 +12,6 @@ ref/recipe_ref_fire.yml 2ad82effaca4e742d8abe6a0aa07bb46e1e9 ref/recipe_ref_ozone.yml 09ded4946ecd762ba000916c9f8618120a2e6269930427ae5129da466165f3e5 ref/recipe_ref_sea_ice_area_basic.yml 7d01a8527880663ca28284772f83a8356d9972fb4f022a4000e50a56ce044b09 ref/recipe_ref_scatterplot.yml b99d1736e16256d161847b025811d7088ad9f892d4887fb009fa99c4079135a0 -ref/recipe_ref_tcre.yml 13ae406bbb96fa31e137f62fa44e455927902b9e50765da56a247cd82e4cbe5a +ref/recipe_ref_tcre.yml 85bd9ffc42a4eb70dc7e3d984f0f7c1085232ac8dd977d04d58b27a982254ebd ref/recipe_ref_timeseries_region.yml deee4403ea25867401e163f6c9d7fcc4fee09d3088009007fcad6a29d01247a8 ref/recipe_ref_trend_regions.yml 18fe246a51474bd12172ab1ba141efac999a247de7774822f77ae6ef144645fe diff --git a/packages/climate-ref-esmvaltool/tests/unit/diagnostics/recipes/recipe_transient_climate_response_emissions_cmip6.yml b/packages/climate-ref-esmvaltool/tests/unit/diagnostics/recipes/recipe_transient_climate_response_emissions_cmip6.yml index dc5c68541..b612ef04d 100644 --- a/packages/climate-ref-esmvaltool/tests/unit/diagnostics/recipes/recipe_transient_climate_response_emissions_cmip6.yml +++ b/packages/climate-ref-esmvaltool/tests/unit/diagnostics/recipes/recipe_transient_climate_response_emissions_cmip6.yml @@ -72,7 +72,7 @@ diagnostics: mip: Amon timerange: 1850/1914 scripts: - calculate_tcre: + calculate: script: climate_metrics/tcre.py caption: "Global annual mean near-surface air temperature anomaly \u0394T\ \ vs. global annual cumulative CO2 emissions E of the emission-driven 1%\ From 90fd12b6f05c1da9ae8a685c63618463838f4e04 Mon Sep 17 00:00:00 2001 From: Manuel Schlund Date: Mon, 1 Jun 2026 16:14:11 +0200 Subject: [PATCH 11/17] Add series to TCRE diagnostic --- .../climate_ref_esmvaltool/diagnostics/tcre.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py index 4a864a593..7051e82e7 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py @@ -12,7 +12,7 @@ from climate_ref_core.datasets import ExecutionDatasetCollection, FacetFilter, SourceDatasetType from climate_ref_core.diagnostics import DataRequirement from climate_ref_core.esgf import CMIP6Request, CMIP7Request -from climate_ref_core.metric_values.typing import FileDefinition +from climate_ref_core.metric_values.typing import FileDefinition, SeriesDefinition from climate_ref_core.pycmec.metric import CMECMetric, MetricCV from climate_ref_core.pycmec.output import CMECOutput from climate_ref_core.testing import TestCase, TestDataSpecification @@ -112,8 +112,17 @@ class TransientClimateResponseEmissions(ESMValToolDiagnostic): ), ) facets = ("grid_label", "member_id", "variant_label", "source_id", "region", "metric") - # TODO: the ESMValTool diagnostic script does not save the data for the timeseries. - series = tuple() + series = ( + SeriesDefinition( + file_pattern="tcre/calculate/{source_id}.nc", + dimensions={ + "statistic": "global annual mean anomaly of tas vs cumulative fco2antt", + }, + values_name="tas", + index_name="cumulative_fco2antt", + attributes=[], + ), + ) files = ( FileDefinition( file_pattern="plots/tcre/calculate/*.png", From cf5eab9dbb401b23e83fb6e6ee144789e3cabf3d Mon Sep 17 00:00:00 2001 From: Manuel Schlund Date: Mon, 1 Jun 2026 16:47:42 +0200 Subject: [PATCH 12/17] Fix diagnostic test --- .../work/tcre/{calculate_tcre => calculate}/tcre.nc | Bin .../tcre_citation.bibtex | 0 .../tcre_data_citation_info.txt | 0 .../tcre_provenance.xml | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/{calculate_tcre => calculate}/tcre.nc (100%) rename tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/{calculate_tcre => calculate}/tcre_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/{calculate_tcre => calculate}/tcre_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/{calculate_tcre => calculate}/tcre_provenance.xml (100%) diff --git a/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate_tcre/tcre.nc b/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre.nc similarity index 100% rename from tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate_tcre/tcre.nc rename to tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre.nc diff --git a/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate_tcre/tcre_citation.bibtex b/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_citation.bibtex similarity index 100% rename from tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate_tcre/tcre_citation.bibtex rename to tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_citation.bibtex diff --git a/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate_tcre/tcre_data_citation_info.txt b/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_data_citation_info.txt similarity index 100% rename from tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate_tcre/tcre_data_citation_info.txt rename to tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_data_citation_info.txt diff --git a/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate_tcre/tcre_provenance.xml b/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_provenance.xml similarity index 100% rename from tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate_tcre/tcre_provenance.xml rename to tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_provenance.xml From dfc9a84fd1d2aa386259890a92c1fb7ea0a63cf4 Mon Sep 17 00:00:00 2001 From: Manuel Schlund Date: Mon, 1 Jun 2026 16:48:57 +0200 Subject: [PATCH 13/17] Typo --- .../src/climate_ref_esmvaltool/diagnostics/tcre.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py index 7051e82e7..4ff5e5af3 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py @@ -225,7 +225,7 @@ def update_recipe( } # For CMIP6, some special settings are necessary because the esm-flat10 - # experiment did not experiment yet + # experiment does not exist if cmip_source == SourceDatasetType.CMIP6: diag_settings = recipe["diagnostics"]["tcre"]["scripts"]["calculate"] diag_settings["calc_tcre_period"] = [45, 65] From 25c57573bc62319382119476b1d23cd553e3539f Mon Sep 17 00:00:00 2001 From: Jared Lewis Date: Tue, 30 Jun 2026 19:08:43 +1000 Subject: [PATCH 14/17] chore(esmvaltool): bump TCRE diagnostic version to 2 Bump the transient-climate-response-emissions diagnostic version to 2 because the CMIP7 changes alter results and must trigger recomputation. --- .../src/climate_ref_esmvaltool/diagnostics/tcre.py | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py index 4ff5e5af3..809796830 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/tcre.py @@ -32,6 +32,7 @@ class TransientClimateResponseEmissions(ESMValToolDiagnostic): name = "Transient Climate Response to Cumulative CO2 Emissions" slug = "transient-climate-response-emissions" + version = 2 base_recipe = "ref/recipe_ref_tcre.yml" variables = ( From dfb84d3e0bfaee9ac1e6ebc6f331f04e49943289 Mon Sep 17 00:00:00 2001 From: Jared Lewis Date: Tue, 30 Jun 2026 19:12:25 +1000 Subject: [PATCH 15/17] test(esmvaltool): mint TCRE CMIP6 regression baseline Mint the native baseline for the transient-climate-response-emissions CMIP6 test case against ESMValTool 12cb5309 and bump to test_case_version 2. Replay matches the committed bundle. The CMIP7 test case is not minted: its esm-flat10 (flat10MIP) input data is not yet available to fetch. --- .../cmip6/manifest.json | 38 +++-- .../cmip6/regression/output.json | 18 +- .../cmip6/regression/series.json | 156 +++++++++++++++++- 3 files changed, 189 insertions(+), 23 deletions(-) diff --git a/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/manifest.json b/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/manifest.json index 594529a10..c1cccf79e 100644 --- a/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/manifest.json +++ b/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/manifest.json @@ -2,8 +2,8 @@ "catalog_hash": "b613fa1005fc988c79aa0fbf950bc77cdabfa48c", "committed": { "diagnostic.json": "7ab48ab04e69764ede371f1fccc138b0fbda081bb7c8467d5bd1f0e290751a98", - "output.json": "666d10cf64bf489e34d726b6cad954dbd05b92cff0cb61b054b3a06d036c7558", - "series.json": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570" + "output.json": "e1dd1235434cecfbafce398569bcea49ca13bd12a1e91f27b2bddf05dbcfd33c", + "series.json": "b9fa8c422920a79713d7099109895ff0517132ce69e744ce50fa90da13a1a195" }, "native": { "diagnostic.json": { @@ -11,30 +11,34 @@ "size": 604 }, "executions/recipe/index.html": { - "sha256": "7e07bcb94c7b63c199def3235aa68d52387b190c62c9473a7a88f1bc42e0c343", - "size": 13707 + "sha256": "1c62c1b064cda409351eed28c4aaf19a5df536f3582742b3890931566c3c0621", + "size": 14390 }, - "executions/recipe/plots/tcre/calculate_tcre/tcre.png": { - "sha256": "d50c684a93bc6b05eaa2dfe174010cb5d0a0fa1338ac4f08b604197772a9236e", - "size": 118352 + "executions/recipe/plots/tcre/calculate/tcre.png": { + "sha256": "6145f02a740c3e1ac90cf2f809cc701a5d0e173e06ca982e3e7953b8f8ce0f40", + "size": 111737 }, - "executions/recipe/run/tcre/calculate_tcre/diagnostic_provenance.yml": { - "sha256": "bf24ddd1df4e219cfd58a0c7bb28bfc4bf84a7f438e71034465725b2dc769c5a", - "size": 1749 + "executions/recipe/run/tcre/calculate/diagnostic_provenance.yml": { + "sha256": "343266f6eb2f8fce3fa2a1c8e356e51c49338faeb2f0d7ffc6e75dda67b0b0b7", + "size": 2645 }, - "executions/recipe/work/tcre/calculate_tcre/tcre.nc": { - "sha256": "d277f87e14cb5450049be9a6d51b2634ca5f0082d3cd16cd590747777a9c8c61", + "executions/recipe/work/tcre/calculate/MPI-ESM1-2-LR.nc": { + "sha256": "5072c7ef38ca520f9dbe290d016dfb5fba0a8cc457e64d0b880017d2123cf685", + "size": 28705 + }, + "executions/recipe/work/tcre/calculate/tcre.nc": { + "sha256": "83b852855e229a0982207e72fc19ffa80c58e3140e3b7be3eebb6ff0b4d614d5", "size": 9232 }, "output.json": { - "sha256": "28f6049b2890b0e7826f54f21c1dc3df7ca6611e0f62235fee89feeb89cf6fe6", - "size": 1527 + "sha256": "e391a64ec1d0a7099b9301f77d465012027c26eb28425482799d4c6abb13843e", + "size": 2138 }, "series.json": { - "sha256": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945", - "size": 2 + "sha256": "46dfb1c1dd0dfb16ece7e53ffcb15257509093519fa76aec8d1a3fce7bca87c3", + "size": 4257 } }, "schema": 1, - "test_case_version": 1 + "test_case_version": 2 } diff --git a/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/output.json b/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/output.json index a0abaa3db..ff6be599a 100644 --- a/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/output.json +++ b/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/output.json @@ -1,11 +1,19 @@ { "data": { - "executions/recipe/work/tcre/calculate_tcre/tcre.nc": { + "executions/recipe/work/tcre/calculate/MPI-ESM1-2-LR.nc": { + "description": "", + "dimensions": { + "statistic": "global annual mean anomaly of tas vs cumulative fco2antt" + }, + "filename": "executions/recipe/work/tcre/calculate/MPI-ESM1-2-LR.nc", + "long_name": "Global annual mean near-surface air temperature anomaly ΔT vs. global annual cumulative CO2 emissions E of the emission-driven 1% CO2 increase per year experiment. The transient climate response to cumulative CO2 Emissions (TCRE) is defined as the 20-year average ΔT centered at the time where cumulative CO2 emissions E reach 1000 PgC (i.e., after 55 years)." + }, + "executions/recipe/work/tcre/calculate/tcre.nc": { "description": "", "dimensions": { "metric": "tcre" }, - "filename": "executions/recipe/work/tcre/calculate_tcre/tcre.nc", + "filename": "executions/recipe/work/tcre/calculate/tcre.nc", "long_name": "Transient Climate Response to Cumulative CO2 Emissions (TCRE) for multiple datasets." } }, @@ -21,13 +29,13 @@ "index": "/executions/recipe/index.html", "metrics": null, "plots": { - "executions/recipe/plots/tcre/calculate_tcre/tcre.png": { + "executions/recipe/plots/tcre/calculate/tcre.png": { "description": "", "dimensions": { "statistic": "tcre" }, - "filename": "executions/recipe/plots/tcre/calculate_tcre/tcre.png", - "long_name": "Global annual mean near-surface air temperature anomaly ΔT vs.\nglobal annual cumulative CO2 emissions E of the emission-driven 1%\nCO2 increase per year experiment for model MPI-ESM1-2-LR (ensemble\nmember r1i1p1f1). The transient climate response to cumulative CO2\nEmissions (TCRE) is defined as the 20-year average ΔT centered at\nthe time where cumulative CO2 emissions E reach 1000 PgC.\n" + "filename": "executions/recipe/plots/tcre/calculate/tcre.png", + "long_name": "Global annual mean near-surface air temperature anomaly ΔT vs. global annual cumulative CO2 emissions E of the emission-driven 1% CO2 increase per year experiment. The transient climate response to cumulative CO2 Emissions (TCRE) is defined as the 20-year average ΔT centered at the time where cumulative CO2 emissions E reach 1000 PgC (i.e., after 55 years)." } }, "provenance": { diff --git a/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/series.json b/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/series.json index fe51488c7..5541c08ee 100644 --- a/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/series.json +++ b/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/regression/series.json @@ -1 +1,155 @@ -[] +[ + { + "attributes": { + "caption": "Global annual mean near-surface air temperature anomaly ΔT vs. global annual cumulative CO2 emissions E of the emission-driven 1% CO2 increase per year experiment. The transient climate response to cumulative CO2 Emissions (TCRE) is defined as the 20-year average ΔT centered at the time where cumulative CO2 emissions E reach 1000 PgC (i.e., after 55 years).", + "index_long_name": "Cumulative Carbon Mass Flux into Atmosphere Due to All Anthropogenic Emissions of CO2 [kgC m-2 s-1]", + "index_name": "cumulative_fco2antt", + "index_units": "Pg", + "value_long_name": "Near-Surface Air Temperature Anomaly", + "value_standard_name": "air_temperature", + "value_units": "K", + "values_name": "tas" + }, + "dimensions": { + "grid_label": "gn", + "member_id": "r1i1p1f1", + "source_id": "MPI-ESM1-2-LR", + "statistic": "global annual mean anomaly of tas vs cumulative fco2antt" + }, + "index": [ + 0.2013377, + 1.416652, + 8.688466, + 13.34004, + 19.39229, + 28.83159, + 38.76964, + 50.23255, + 62.42121, + 74.87341, + 86.36916, + 95.46938, + 106.5819, + 118.5027, + 129.4877, + 140.9191, + 153.5482, + 167.7635, + 182.6074, + 195.4021, + 206.9933, + 220.594, + 237.5355, + 252.3148, + 267.6204, + 282.0691, + 296.196, + 312.1739, + 327.7825, + 345.357, + 363.0674, + 379.027, + 394.491, + 411.1049, + 427.8766, + 447.8357, + 466.2372, + 483.77, + 499.2878, + 517.2466, + 536.5285, + 552.5174, + 572.2668, + 593.4716, + 612.8889, + 631.8699, + 652.6718, + 670.7904, + 691.1319, + 711.4244, + 730.6212, + 747.7416, + 764.6149, + 786.1887, + 807.3903, + 829.3917, + 849.1311, + 869.6793, + 889.6285, + 911.2205, + 932.4928, + 952.1559, + 972.6133, + 993.9204, + 1015.761 + ], + "index_name": "cumulative_fco2antt", + "values": [ + -0.1372375, + -0.1194153, + 0.008575439, + 0.01486206, + -0.1615601, + -0.1539307, + -0.05749512, + 0.1296082, + 0.1743774, + 0.0428772, + -0.002929688, + 0.03637695, + 0.1427307, + 0.3305054, + 0.365387, + 0.1690063, + 0.1687622, + 0.3038635, + 0.2469177, + 0.5115051, + 0.4413757, + 0.3639221, + 0.3919983, + 0.3261108, + 0.2859802, + 0.3563232, + 0.3682251, + 0.5244141, + 0.4899597, + 0.5166931, + 0.6110229, + 0.6600342, + 0.6838379, + 0.6711426, + 0.5995178, + 0.7131042, + 0.8457031, + 0.8269653, + 0.7090454, + 0.7571106, + 0.9005127, + 0.7940674, + 0.7283325, + 0.770752, + 1.023102, + 1.164825, + 1.177582, + 1.037781, + 1.047028, + 1.138031, + 1.022766, + 1.098419, + 1.275391, + 1.301025, + 1.273773, + 1.429718, + 1.435089, + 1.291748, + 1.362518, + 1.467987, + 1.479584, + 1.651123, + 1.533112, + 1.559814, + 1.664368 + ] + } +] From fc2b564033b86e05095dee352b90d159b1497361 Mon Sep 17 00:00:00 2001 From: Jared Lewis Date: Tue, 30 Jun 2026 20:54:27 +1000 Subject: [PATCH 16/17] test(esmvaltool): rebump TCRE manifests to diagnostic_version 2 After merging main (diagnostic_version gate + schema 2 backfill), migrate the TCRE baselines to record diagnostic_version 2, matching the in-code Diagnostic.version. CMIP6 replay-matches the committed bundle; CMIP7 has no native baseline yet (its esm-flat10 input data is not available to mint), so the gate selects skip on its committed bundle. --- .../transient-climate-response-emissions/cmip6/manifest.json | 3 ++- .../transient-climate-response-emissions/cmip7/manifest.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/manifest.json b/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/manifest.json index c1cccf79e..33455b26a 100644 --- a/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/manifest.json +++ b/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip6/manifest.json @@ -5,6 +5,7 @@ "output.json": "e1dd1235434cecfbafce398569bcea49ca13bd12a1e91f27b2bddf05dbcfd33c", "series.json": "b9fa8c422920a79713d7099109895ff0517132ce69e744ce50fa90da13a1a195" }, + "diagnostic_version": 2, "native": { "diagnostic.json": { "sha256": "0afbce145a1ba1dfe5fba69d3c49102d63d9b859722644a449accd7ea4f57fb6", @@ -39,6 +40,6 @@ "size": 4257 } }, - "schema": 1, + "schema": 2, "test_case_version": 2 } diff --git a/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/manifest.json b/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/manifest.json index f89855f77..22431df23 100644 --- a/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/manifest.json +++ b/packages/climate-ref-esmvaltool/tests/test-data/transient-climate-response-emissions/cmip7/manifest.json @@ -5,7 +5,8 @@ "output.json": "666d10cf64bf489e34d726b6cad954dbd05b92cff0cb61b054b3a06d036c7558", "series.json": "37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570" }, + "diagnostic_version": 2, "native": {}, - "schema": 1, + "schema": 2, "test_case_version": 1 } From d7cc73011afc4db78cdd4c99634b6fee0c19bc0b Mon Sep 17 00:00:00 2001 From: Jared Lewis Date: Tue, 30 Jun 2026 20:59:29 +1000 Subject: [PATCH 17/17] chore(esmvaltool): remove stray Framework-A TCRE artifacts and add changelog Drop the four regression artifacts under tests/test-data/regression that were committed by accident; the central Framework-A regression set was removed from main. Add the news fragment for the CMIP7 compatibility work. --- changelog/702.fix.md | 1 + .../work/tcre/calculate/tcre.nc | Bin 9352 -> 0 bytes .../work/tcre/calculate/tcre_citation.bibtex | 33 - .../calculate/tcre_data_citation_info.txt | 3 - .../work/tcre/calculate/tcre_provenance.xml | 1004 ----------------- 5 files changed, 1 insertion(+), 1040 deletions(-) create mode 100644 changelog/702.fix.md delete mode 100644 tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre.nc delete mode 100644 tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_data_citation_info.txt delete mode 100644 tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_provenance.xml diff --git a/changelog/702.fix.md b/changelog/702.fix.md new file mode 100644 index 000000000..f15e8e499 --- /dev/null +++ b/changelog/702.fix.md @@ -0,0 +1 @@ +Made the transient climate response to cumulative CO2 emissions (TCRE) diagnostic compatible with CMIP7 data. diff --git a/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre.nc b/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre.nc deleted file mode 100644 index fd98d858741fecc0ba9041d0c5017de410bfd246..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9352 zcmeHNU1%It6uz6u&$>)&)JkkE=C)Q%+wAPl?q-v!0pn)#W0Oru(mqJ(ax;5389F<& z%uJF73iZXGibC<{Nk#CzPbz}=>{|tW>w_p1L5iRv`lRSNbMM_v(xkSaFJ&&-xik0Y zoO8c(&K)w}y*xEOu_tvP)sajRRsNRcwIiY>D?5H2yLoPIYJ9#!|D@w^)TVXHE;VI) zo$4S79Map1*U2ut5;7qwBKl-!SC42dZ|!{eAVDRdX}fIoEM)(viFpfZx~^_iZ8;yG zjm+OOl1S{s){X=e*{y1AA6oUmq5eoMA(ZqbN#7+H)fKHpOQAlEydcf}NX}PwcI|4X zejJBtq?;sBc4=m8VSzjZO^8hg{Klte%aw)cxk`1RG&WNv`iqE=M!Lj=%Ghi<8vmRe zzqn!t6#f`>c~}~spf$U}-N5!-y0jWn*9+TSYs|OVlEV$Eib>F*4v@c>=x9*2!b7W8 zFO1s_yGD8;9)x#kWE|*(^0rf%6BzdWJBD-z3{!}%c1%eA<)ZN2?=miWr4tmEJ-cH$ zhSq3gAD9lVRHm0a&#&1o3wf}00XsMv1?V#Z;rqb{Ag1krndyZ^vL8mEZ~EYe*|Af& zL>9}`5!RpnsXsqgnmU<$5T+05GuUOg8`6?vHz3*QJP(?l8*mzWw6xk-by#Sxaax+o(Q?BMFqi^5uvnTe zAJzLs_{&{z)wM$re24=|Kba{n>lQ}121Z1YYIzOV*uuyNe0Sim@`a|)gMinl&!sw0 z-e5sMy*jm+zXaRh0PcZc#nC}(8{8PAkvhtJPEk$C06Evcf3Jz+>=UX43+_SAH`yfAB~bLp9RIsh+K-hh{9ssR;D z^iA7rnsxK2K^H++*vbb><^x1#D<8Jnn%bTZ_yVu-y6r+FvmmlPmrX~eG1!OMGLJB@ zz(DTfm@tLw3&CW%z5-2jtAf_b16qdEVAcvXv)L>?1<{_8&V;IWhmEY=8{fqU#0bO) z#0bO)#0bO)#0bO)#0bO)#0cDL2wa?a`uQ#Y?cQq(jMoz*5F-#H5F-#H5F>C40&VJJ zSW+JqIYxgq0nD>T?h_nL-FA4339{j7l#o_{_Q z0ymMdm}4P-#;egIUJTbF`KNn~`8+r=I@VgZ$Q zEE*-~%9o|rfe4R^qF%M#sdvdD-v#xqxG7bmCbR+BMm*qf=k&Xhpz3HPl6yjmYV)(8 zrau4c=C>H+-N@ntg@;!xoj|B(6}zQBB@EF;td~3&IHSm65q8}$9yOLG(xx%|#kK2` zo5?=%2+C8GJgjPfz!?t>P9{k5vVA529f9XYP?)3;-@Q^jzFAtQl%_nYKZ(ONvLhqA zP1c_`-k90E)(8!>45LUfggVf;C{X5g;MK!*AVi~u0yirb3dB(eWYfAGu23Mt&M;>Y za*(d&3^Q+J^=ZN3CgA`B9AU6n6R{%uAsmrL#Gg=|-0{pr#0g5LAy0Vnn@`{W2j(US AivR!s diff --git a/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_citation.bibtex b/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_citation.bibtex deleted file mode 100644 index 4d0de10b8..000000000 --- a/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_citation.bibtex +++ /dev/null @@ -1,33 +0,0 @@ -@article{righi20gmd, - doi = {10.5194/gmd-13-1179-2020}, - url = {https://doi.org/10.5194/gmd-13-1179-2020}, - year = {2020}, - month = mar, - publisher = {Copernicus {GmbH}}, - volume = {13}, - number = {3}, - pages = {1179--1199}, - author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, - title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, - journal = {Geoscientific Model Development} -} - -@article{sanderson24gmd, - author = {Sanderson, B. M. and Brovkin, V. and Fisher, R. and Hohn, D. and Ilyina, T. and Jones, C. and Koenigk, T. and Koven, C. and Li, H. and Lawrence, D. and Lawrence, P. and Liddicoat, S. and Macdougall, A. and Mengis, N. and Nicholls, Z. and O'Rourke, E. and Romanou, A. and Sandstad, M. and Schwinger, J. and Seferian, R. and Sentman, L. and Simpson, I. and Smith, C. and Steinert, N. and Swann, A. and Tjiputra, J. and Ziehn, T.}, - title = {flat10MIP: An emissions-driven experiment to diagnose the climate response to positive, zero, and negative CO2 emissions}, - journal = {EGUsphere}, - volume = {2024}, - year = {2024}, - pages = {1--39}, - url = {https://egusphere.copernicus.org/preprints/2024/egusphere-2024-3356/}, - doi = {10.5194/egusphere-2024-3356}, -} - -@misc{https://doi.org/10.22033/ESGF/CMIP6.6553, - url = {https://doi.org/10.22033/ESGF/CMIP6.6553}, - title = {MPI-M MPI-ESM1.2-LR model output prepared for CMIP6 CMIP esm-piControl}, - publisher = {Earth System Grid Federation}, - year = 2019, - author = {Wieners, Karl-Hermann and Giorgetta, Marco and Jungclaus, Johann and Reick, Christian and Esch, Monika and Bittner, Matthias and Legutke, Stephanie and Schupfner, Martin and Wachsmann, Fabian and Gayler, Veronika and Haak, Helmuth and de Vrese, Philipp and Raddatz, Thomas and Mauritsen, Thorsten and von Storch, Jin-Song and Behrens, Jörg and Brovkin, Victor and Claussen, Martin and Crueger, Traute and Fast, Irina and Fiedler, Stephanie and Hagemann, Stefan and Hohenegger, Cathy and Jahns, Thomas and Kloster, Silvia and Kinne, Stefan and Lasslop, Gitta and Kornblueh, Luis and Marotzke, Jochem and Matei, Daniela and Meraner, Katharina and Mikolajewicz, Uwe and Modali, Kameswarrao and Müller, Wolfgang and Nabel, Julia and Notz, Dirk and Peters-von Gehlen, Karsten and Pincus, Robert and Pohlmann, Holger and Pongratz, Julia and Rast, Sebastian and Schmidt, Hauke and Schnur, Reiner and Schulzweida, Uwe and Six, Katharina and Stevens, Bjorn and Voigt, Aiko and Roeckner, Erich}, - doi = {10.22033/ESGF/CMIP6.6553}, -} diff --git a/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_data_citation_info.txt b/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_data_citation_info.txt deleted file mode 100644 index 86754121d..000000000 --- a/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_data_citation_info.txt +++ /dev/null @@ -1,3 +0,0 @@ -Follow the links below to find more information about CMIP6 data: -- https://cera-www.dkrz.de/WDCC/ui/cerasearch/cmip6?input=CMIP6.C4MIP CDRMIP.MPI-M.MPI-ESM1-2-LR.esm-1pctCO2 -- https://cera-www.dkrz.de/WDCC/ui/cerasearch/cmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.esm-piControl diff --git a/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_provenance.xml b/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_provenance.xml deleted file mode 100644 index a92169796..000000000 --- a/tests/test-data/regression/esmvaltool/transient-climate-response-emissions/cmip6_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20260130_163954/work/tcre/calculate/tcre_provenance.xml +++ /dev/null @@ -1,1004 +0,0 @@ - - - - CF-1.7 CMIP-6.2 - C4MIP CDRMIP - standard - 0.0 - 0.0 - 3.5.0 - cmip6-mpi-esm@dkrz.de - 2020-03-10T13:47:49Z - 01.00.30 - emissions driven 1% run - esm-1pctCO2 - areacella - 1 - mon - https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.esm-1pctCO2.none.r1i1p1f1 - gn - gn - 2020-03-10T13:47:49Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. - 1 - Max Planck Institute for Meteorology, Hamburg 20146, Germany - MPI-M - CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. - CMIP6 - 250 km - CMIP - esm-piControl - CMIP6 - MPI-ESM1-2-LR - days since 1850-1-1 00:00:00 - r1i1p1f1 - 1 - model-output - CMIP6 - 1 - atmos - MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, -Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 - MPI-ESM1.2-LR (2017): -aerosol: none, prescribed MACv2-SP -atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) -atmosChem: none -land: JSBACH3.20 -landIce: none/prescribed -ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) -ocnBgchem: HAMOCC6 -seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) - MPI-ESM1-2-LR - AOGCM BGC - none - none - Amon - Creation Date:(09 May 2019) MD5:dff4d5e7b285678699ef52ab1a3cca43 - MPI-ESM1-2-LR output prepared for CMIP6 - hdl:21.14100/676f6a58-fd39-4eb5-917b-52c7e21ce07e - tas - r1i1p1f1 - - - - manuel.schlund@dlr.de - schlunma - DLR, Germany - https://orcid.org/0000-0001-5251-0158 - - - - C4MIP CDRMIP - C4MIP CDRMIP - MPI-ESM1-2-LR - tcre - 1914 - r1i1p1f1 - esm-1pctCO2 - /executions/recipe_20260130_163954/preproc/tcre/fco2antt/CMIP6_MPI-ESM1-2-LR_Amon_esm-1pctCO2_r1i1p1f1_fco2antt_gn_18500116T120000-19141216T120000.nc - mon - gn - MPI-M - Carbon Mass Flux into Atmosphere Due to All Anthropogenic Emissions of CO2 [kgC m-2 s-1] - Amon - ['atmos'] - fco2antt - global_cumulative_sum - CMIP6 - 0 - fco2antt - tendency_of_atmosphere_mass_content_of_carbon_dioxide_expressed_as_carbon_due_to_anthropogenic_emission - 1850 - 18500116T120000/19141216T120000 - kg m-2 s-1 - fco2antt - v20190815 - {'operator': 'mean'} - {'operator': 'sum'} - {'units': 'Pg'} - {'coord': 'time', 'weights': True} - {} - {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20260130_163954/preproc/tcre/fco2antt/CMIP6_MPI-ESM1-2-LR_Amon_esm-1pctCO2_r1i1p1f1_fco2antt_gn_18500116T120000-19141216T120000.nc')} - - - - - - - - - - - - - CF-1.7 CMIP-6.2 - CMIP - standard - 0.0 - 146097.0 - 3.5.0 - cmip6-mpi-esm@dkrz.de - 2020-02-21T21:44:45Z - 01.00.30 - pre-industrial control simulation with CO2 concentration calculated - esm-piControl - areacella - 1 - mon - https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.esm-piControl.none.r1i1p1f1 - gn - gn - 2020-02-21T21:44:45Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. - 1 - Max Planck Institute for Meteorology, Hamburg 20146, Germany - MPI-M - CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. - CMIP6 - 250 km - CMIP - esm-piControl-spinup - CMIP6 - MPI-ESM1-2-LR - days since 1850-1-1 00:00:00 - r1i1p1f1 - 1 - model-output - CMIP6 - 1 - atmos - MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, -Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 - MPI-ESM1.2-LR (2017): -aerosol: none, prescribed MACv2-SP -atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) -atmosChem: none -land: JSBACH3.20 -landIce: none/prescribed -ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) -ocnBgchem: HAMOCC6 -seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) - MPI-ESM1-2-LR - AOGCM BGC - none - none - Amon - Creation Date:(09 May 2019) MD5:dff4d5e7b285678699ef52ab1a3cca43 - MPI-ESM1-2-LR output prepared for CMIP6 - hdl:21.14100/4b31321d-35a9-48c9-b79a-78ba9045f873 - tas - r1i1p1f1 - - - - - - - - - CF-1.7 CMIP-6.2 - C4MIP CDRMIP - standard - 0.0 - 0.0 - 3.5.0 - cmip6-mpi-esm@dkrz.de - 2020-03-10T13:59:18Z - 01.00.30 - emissions driven 1% run - esm-1pctCO2 - areacella - 1 - mon - https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.esm-1pctCO2.none.r1i1p1f1 - gn - gn - 2020-03-10T13:59:18Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. - 1 - Max Planck Institute for Meteorology, Hamburg 20146, Germany - MPI-M - CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. - CMIP6 - 250 km - CMIP - esm-piControl - CMIP6 - MPI-ESM1-2-LR - days since 1850-1-1 00:00:00 - r1i1p1f1 - 1 - model-output - CMIP6 - 1 - atmos - MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, -Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 - MPI-ESM1.2-LR (2017): -aerosol: none, prescribed MACv2-SP -atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) -atmosChem: none -land: JSBACH3.20 -landIce: none/prescribed -ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) -ocnBgchem: HAMOCC6 -seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) - MPI-ESM1-2-LR - AOGCM BGC - none - none - Amon - Creation Date:(09 May 2019) MD5:dff4d5e7b285678699ef52ab1a3cca43 - MPI-ESM1-2-LR output prepared for CMIP6 - hdl:21.14100/a101a31d-9596-4e1b-8e1b-9e72a140878e - fco2antt - r1i1p1f1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - CF-1.7 CMIP-6.2 - C4MIP CDRMIP - standard - 0.0 - 0.0 - 3.5.0 - cmip6-mpi-esm@dkrz.de - 2020-03-10T13:57:19Z - 01.00.30 - emissions driven 1% run - esm-1pctCO2 - areacella - 1 - mon - https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.esm-1pctCO2.none.r1i1p1f1 - gn - gn - 2020-03-10T13:57:19Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. - 1 - Max Planck Institute for Meteorology, Hamburg 20146, Germany - MPI-M - CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. - CMIP6 - 250 km - CMIP - esm-piControl - CMIP6 - MPI-ESM1-2-LR - days since 1850-1-1 00:00:00 - r1i1p1f1 - 1 - model-output - CMIP6 - 1 - atmos - MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, -Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 - MPI-ESM1.2-LR (2017): -aerosol: none, prescribed MACv2-SP -atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) -atmosChem: none -land: JSBACH3.20 -landIce: none/prescribed -ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) -ocnBgchem: HAMOCC6 -seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) - MPI-ESM1-2-LR - AOGCM BGC - none - none - Amon - Creation Date:(09 May 2019) MD5:dff4d5e7b285678699ef52ab1a3cca43 - MPI-ESM1-2-LR output prepared for CMIP6 - hdl:21.14100/e9c7480b-aeba-4341-b9b8-4617bf7bfc35 - fco2antt - r1i1p1f1 - - - - - - - - Calculate Transient Climate Response to Cumulative CO2 Emissions (TCRE). - - ['sanderson24gmd'] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [45, 65] - Global annual mean near-surface air temperature anomaly ΔT vs. -global annual cumulative CO2 emissions E of the emission-driven 1% -CO2 increase per year experiment for model MPI-ESM1-2-LR (ensemble -member r1i1p1f1). The transient climate response to cumulative CO2 -Emissions (TCRE) is defined as the 20-year average ΔT centered at -the time where cumulative CO2 emissions E reach 1000 PgC. - - esm-1pctCO2 - False - {'title': 'MPI-ESM1-2-LR (ensemble member r1i1p1f1)', 'xlabel': 'E [PgC]', 'ylabel': 'ΔT [K]'} - ('atmosphere',) - ['sanderson24gmd'] - tcp://127.0.0.1:33825 - calculate_tcre - climate_metrics/tcre.py - ('carbon cycle', 'biogeophysics') - - - - - - - - CF-1.7 CMIP-6.2 - CMIP - standard - 0.0 - 146097.0 - 3.5.0 - cmip6-mpi-esm@dkrz.de - 2020-02-21T21:44:45Z - 01.00.30 - pre-industrial control simulation with CO2 concentration calculated - esm-piControl - areacella - 1 - mon - https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.esm-piControl.none.r1i1p1f1 - gn - gn - 2020-02-21T21:44:45Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. - 1 - Max Planck Institute for Meteorology, Hamburg 20146, Germany - MPI-M - CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. - CMIP6 - 250 km - CMIP - esm-piControl-spinup - CMIP6 - MPI-ESM1-2-LR - days since 1850-1-1 00:00:00 - r1i1p1f1 - 1 - model-output - CMIP6 - 1 - atmos - MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, -Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 - MPI-ESM1.2-LR (2017): -aerosol: none, prescribed MACv2-SP -atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) -atmosChem: none -land: JSBACH3.20 -landIce: none/prescribed -ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) -ocnBgchem: HAMOCC6 -seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) - MPI-ESM1-2-LR - AOGCM BGC - none - none - Amon - Creation Date:(09 May 2019) MD5:dff4d5e7b285678699ef52ab1a3cca43 - MPI-ESM1-2-LR output prepared for CMIP6 - hdl:21.14100/0f2265b4-0ff5-4cb8-97e3-23a4745e0889 - tas - r1i1p1f1 - - - - - - - - - - - - - - - - - C4MIP CDRMIP - C4MIP CDRMIP - MPI-ESM1-2-LR - tcre - 1914 - r1i1p1f1 - esm-1pctCO2 - /executions/recipe_20260130_163954/preproc/tcre/tas_esm-1pctCO2/CMIP6_MPI-ESM1-2-LR_Amon_esm-1pctCO2_r1i1p1f1_tas_gn_18500116T120000-19141216T120000.nc - mon - gn - MPI-M - Near-Surface Air Temperature - Amon - ['atmos'] - tas - global_annual_mean_anomaly - CMIP6 - 0 - tas - air_temperature - 1850 - 18500116T120000/19141216T120000 - K - tas_esm-1pctCO2 - v20190815 - {'operator': 'mean'} - {'operator': 'mean'} - {} - {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20260130_163954/preproc/tcre/tas_esm-1pctCO2/CMIP6_MPI-ESM1-2-LR_Amon_esm-1pctCO2_r1i1p1f1_tas_gn_18500116T120000-19141216T120000.nc')} - - - - - - - - CF-1.7 CMIP-6.2 - C4MIP CDRMIP - standard - 0.0 - 0.0 - 3.5.0 - cmip6-mpi-esm@dkrz.de - 2020-03-10T13:57:19Z - 01.00.30 - emissions driven 1% run - esm-1pctCO2 - areacella - 1 - mon - https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.esm-1pctCO2.none.r1i1p1f1 - gn - gn - 2020-03-10T13:57:19Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. - 1 - Max Planck Institute for Meteorology, Hamburg 20146, Germany - MPI-M - CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. - CMIP6 - 250 km - CMIP - esm-piControl - CMIP6 - MPI-ESM1-2-LR - days since 1850-1-1 00:00:00 - r1i1p1f1 - 1 - model-output - CMIP6 - 1 - atmos - MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, -Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 - MPI-ESM1.2-LR (2017): -aerosol: none, prescribed MACv2-SP -atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) -atmosChem: none -land: JSBACH3.20 -landIce: none/prescribed -ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) -ocnBgchem: HAMOCC6 -seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) - MPI-ESM1-2-LR - AOGCM BGC - none - none - Amon - Creation Date:(09 May 2019) MD5:dff4d5e7b285678699ef52ab1a3cca43 - MPI-ESM1-2-LR output prepared for CMIP6 - hdl:21.14100/a90871bf-38ab-4321-be3a-83a0757002cc - tas - r1i1p1f1 - - - CMIP - CMIP - MPI-ESM1-2-LR - tcre - 1914 - r1i1p1f1 - esm-piControl - /executions/recipe_20260130_163954/preproc/tcre/tas_esm-piControl/CMIP6_MPI-ESM1-2-LR_Amon_esm-piControl_r1i1p1f1_tas_gn_18500116T120000-19141216T120000.nc - mon - gn - MPI-M - Near-Surface Air Temperature - Amon - ['atmos'] - tas - global_annual_mean_anomaly - CMIP6 - 0 - tas - air_temperature - 1850 - 18500116T120000/19141216T120000 - K - tas_esm-piControl - v20190815 - {'operator': 'mean'} - {'operator': 'mean'} - {} - {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20260130_163954/preproc/tcre/tas_esm-piControl/CMIP6_MPI-ESM1-2-LR_Amon_esm-piControl_r1i1p1f1_tas_gn_18500116T120000-19141216T120000.nc')} - - - - - - - - - - - - - - - - - CF-1.7 CMIP-6.2 - C4MIP CDRMIP - standard - 0.0 - 0.0 - 3.5.0 - cmip6-mpi-esm@dkrz.de - 2020-03-10T13:49:42Z - 01.00.30 - emissions driven 1% run - esm-1pctCO2 - areacella - 1 - mon - https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.esm-1pctCO2.none.r1i1p1f1 - gn - gn - 2020-03-10T13:49:42Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. - 1 - Max Planck Institute for Meteorology, Hamburg 20146, Germany - MPI-M - CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. - CMIP6 - 250 km - CMIP - esm-piControl - CMIP6 - MPI-ESM1-2-LR - days since 1850-1-1 00:00:00 - r1i1p1f1 - 1 - model-output - CMIP6 - 1 - atmos - MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, -Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 - MPI-ESM1.2-LR (2017): -aerosol: none, prescribed MACv2-SP -atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) -atmosChem: none -land: JSBACH3.20 -landIce: none/prescribed -ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) -ocnBgchem: HAMOCC6 -seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) - MPI-ESM1-2-LR - AOGCM BGC - none - none - Amon - Creation Date:(09 May 2019) MD5:dff4d5e7b285678699ef52ab1a3cca43 - MPI-ESM1-2-LR output prepared for CMIP6 - hdl:21.14100/b151d7d5-67d5-44d9-a93a-d31804cc98c5 - tas - r1i1p1f1 - - - CF-1.7 CMIP-6.2 - C4MIP CDRMIP - standard - 0.0 - 0.0 - 3.5.0 - cmip6-mpi-esm@dkrz.de - 2020-03-10T13:59:18Z - 01.00.30 - emissions driven 1% run - esm-1pctCO2 - areacella - 1 - mon - https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.esm-1pctCO2.none.r1i1p1f1 - gn - gn - 2020-03-10T13:59:18Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. - 1 - Max Planck Institute for Meteorology, Hamburg 20146, Germany - MPI-M - CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. - CMIP6 - 250 km - CMIP - esm-piControl - CMIP6 - MPI-ESM1-2-LR - days since 1850-1-1 00:00:00 - r1i1p1f1 - 1 - model-output - CMIP6 - 1 - atmos - MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, -Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 - MPI-ESM1.2-LR (2017): -aerosol: none, prescribed MACv2-SP -atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) -atmosChem: none -land: JSBACH3.20 -landIce: none/prescribed -ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) -ocnBgchem: HAMOCC6 -seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) - MPI-ESM1-2-LR - AOGCM BGC - none - none - Amon - Creation Date:(09 May 2019) MD5:dff4d5e7b285678699ef52ab1a3cca43 - MPI-ESM1-2-LR output prepared for CMIP6 - hdl:21.14100/a3132fed-eef0-41eb-83e6-177da484582e - tas - r1i1p1f1 - - - CF-1.7 CMIP-6.2 - C4MIP CDRMIP - standard - 0.0 - 0.0 - 3.5.0 - cmip6-mpi-esm@dkrz.de - 2020-03-10T13:49:42Z - 01.00.30 - emissions driven 1% run - esm-1pctCO2 - areacella - 1 - mon - https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.esm-1pctCO2.none.r1i1p1f1 - gn - gn - 2020-03-10T13:49:42Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. - 1 - Max Planck Institute for Meteorology, Hamburg 20146, Germany - MPI-M - CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. - CMIP6 - 250 km - CMIP - esm-piControl - CMIP6 - MPI-ESM1-2-LR - days since 1850-1-1 00:00:00 - r1i1p1f1 - 1 - model-output - CMIP6 - 1 - atmos - MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, -Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 - MPI-ESM1.2-LR (2017): -aerosol: none, prescribed MACv2-SP -atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) -atmosChem: none -land: JSBACH3.20 -landIce: none/prescribed -ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) -ocnBgchem: HAMOCC6 -seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) - MPI-ESM1-2-LR - AOGCM BGC - none - none - Amon - Creation Date:(09 May 2019) MD5:dff4d5e7b285678699ef52ab1a3cca43 - MPI-ESM1-2-LR output prepared for CMIP6 - hdl:21.14100/04d2e5e4-e36d-4d02-b131-b493cf935552 - fco2antt - r1i1p1f1 - - - CF-1.7 CMIP-6.2 - CMIP - standard - 0.0 - 146097.0 - 3.5.0 - cmip6-mpi-esm@dkrz.de - 2020-02-21T21:00:23Z - 01.00.30 - pre-industrial control simulation with CO2 concentration calculated - esm-piControl - areacella - 1 - mon - https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.esm-piControl.none.r1i1p1f1 - gn - gn - 2020-02-21T21:00:23Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. - 1 - Max Planck Institute for Meteorology, Hamburg 20146, Germany - MPI-M - CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. - CMIP6 - 250 km - CMIP - esm-piControl-spinup - CMIP6 - MPI-ESM1-2-LR - days since 1850-1-1 00:00:00 - r1i1p1f1 - 1 - model-output - CMIP6 - 1 - atmos - MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, -Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 - MPI-ESM1.2-LR (2017): -aerosol: none, prescribed MACv2-SP -atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) -atmosChem: none -land: JSBACH3.20 -landIce: none/prescribed -ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) -ocnBgchem: HAMOCC6 -seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) - MPI-ESM1-2-LR - AOGCM BGC - none - none - Amon - Creation Date:(09 May 2019) MD5:dff4d5e7b285678699ef52ab1a3cca43 - MPI-ESM1-2-LR output prepared for CMIP6 - hdl:21.14100/ac61423e-de61-419f-9e95-6b5325cc1d2c - tas - r1i1p1f1 - - - CF-1.7 CMIP-6.2 - C4MIP CDRMIP - standard - 0.0 - 0.0 - 3.5.0 - cmip6-mpi-esm@dkrz.de - 2020-03-10T13:47:49Z - 01.00.30 - emissions driven 1% run - esm-1pctCO2 - areacella - 1 - mon - https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.esm-1pctCO2.none.r1i1p1f1 - gn - gn - 2020-03-10T13:47:49Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. - 1 - Max Planck Institute for Meteorology, Hamburg 20146, Germany - MPI-M - CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. - CMIP6 - 250 km - CMIP - esm-piControl - CMIP6 - MPI-ESM1-2-LR - days since 1850-1-1 00:00:00 - r1i1p1f1 - 1 - model-output - CMIP6 - 1 - atmos - MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, -Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 - MPI-ESM1.2-LR (2017): -aerosol: none, prescribed MACv2-SP -atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) -atmosChem: none -land: JSBACH3.20 -landIce: none/prescribed -ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) -ocnBgchem: HAMOCC6 -seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) - MPI-ESM1-2-LR - AOGCM BGC - none - none - Amon - Creation Date:(09 May 2019) MD5:dff4d5e7b285678699ef52ab1a3cca43 - MPI-ESM1-2-LR output prepared for CMIP6 - hdl:21.14100/832aac4d-dc99-40f6-98b2-51164517c801 - fco2antt - r1i1p1f1 - - - CF-1.7 CMIP-6.2 - CMIP - standard - 0.0 - 146097.0 - 3.5.0 - cmip6-mpi-esm@dkrz.de - 2020-02-21T21:00:35Z - 01.00.30 - pre-industrial control simulation with CO2 concentration calculated - esm-piControl - 1 - fx - https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.esm-piControl.none.r1i1p1f1 - gn - gn - 2020-02-21T21:00:35Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. - 1 - Max Planck Institute for Meteorology, Hamburg 20146, Germany - MPI-M - CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. - CMIP6 - 250 km - CMIP - esm-piControl-spinup - CMIP6 - MPI-ESM1-2-LR - days since 1850-1-1 00:00:00 - r1i1p1f1 - 1 - model-output - CMIP6 - 1 - atmos - MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, -Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 - MPI-ESM1.2-LR (2017): -aerosol: none, prescribed MACv2-SP -atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) -atmosChem: none -land: JSBACH3.20 -landIce: none/prescribed -ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) -ocnBgchem: HAMOCC6 -seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) - MPI-ESM1-2-LR - AOGCM BGC - none - none - fx - Creation Date:(09 May 2019) MD5:dff4d5e7b285678699ef52ab1a3cca43 - MPI-ESM1-2-LR output prepared for CMIP6 - hdl:21.14100/23dc5d84-fefa-49e7-96c5-7e5c8cbed56d - areacella - r1i1p1f1 - - - CF-1.7 CMIP-6.2 - CMIP - standard - 0.0 - 146097.0 - 3.5.0 - cmip6-mpi-esm@dkrz.de - 2020-02-21T22:11:10Z - 01.00.30 - pre-industrial control simulation with CO2 concentration calculated - esm-piControl - areacella - 1 - mon - https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.esm-piControl.none.r1i1p1f1 - gn - gn - 2020-02-21T22:11:10Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. - 1 - Max Planck Institute for Meteorology, Hamburg 20146, Germany - MPI-M - CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. - CMIP6 - 250 km - CMIP - esm-piControl-spinup - CMIP6 - MPI-ESM1-2-LR - days since 1850-1-1 00:00:00 - r1i1p1f1 - 1 - model-output - CMIP6 - 1 - atmos - MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, -Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 - MPI-ESM1.2-LR (2017): -aerosol: none, prescribed MACv2-SP -atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) -atmosChem: none -land: JSBACH3.20 -landIce: none/prescribed -ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) -ocnBgchem: HAMOCC6 -seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) - MPI-ESM1-2-LR - AOGCM BGC - none - none - Amon - Creation Date:(09 May 2019) MD5:dff4d5e7b285678699ef52ab1a3cca43 - MPI-ESM1-2-LR output prepared for CMIP6 - hdl:21.14100/b0e67a4d-64b3-482c-a164-ee72f8e53a82 - tas - r1i1p1f1 - -