climate-ref-esmvaltool 0.5.0__py3-none-any.whl → 0.5.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,15 @@
1
+ ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc ede887cf2d83c848a0d71316799232e4d717662bd2f78d5aa1fc166b41d9953b
2
+ ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc e70e3273092edf01527970693271641fc6474d1974887d7d272e7d656bab83c2
3
+ ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc e31e648886c4fa9c09686672a06ab18fbba687ff0d6de2891616d4c8b74e215d
4
+ ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc eb96edd9274670aa705eab2a6d1ee0cca11e01ac17096706463e032b58e6be47
5
+ ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_rlut_198201-201612.nc 075144d673a9f2ff49fbe59e701535bf80c04908797a9dca83781000a9b1b7f2
6
+ ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_rlutcs_198201-201612.nc 21f096ecafff659e5c7e3338060425f7194e5d1b39c9510865496e04ecac3d75
7
+ ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_rsut_198201-201612.nc f2c3f3afcdc2e730df7985c210a3de89b0d4f83b150e0c3846f7ac3c5fa9c54a
8
+ ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_rsutcs_198201-201612.nc d180d3140d4c1f6b9bb1960e07b45f192643f047e7c272c8c8c7070296ca3ab7
9
+ ESMValTool/OBS/Tier2/ISCCP-FH/OBS_ISCCP-FH_sat_v0_Amon_rlut_198401-201612.nc 650b347df432f6e5f3f693310aad695a7502f2905ac545753c7d4ccb0592adbe
10
+ ESMValTool/OBS/Tier2/ISCCP-FH/OBS_ISCCP-FH_sat_v0_Amon_rlutcs_198401-201612.nc a90d9e035447f8778a2f64362411c079536d9dea559f6d53d032710b2c9b00e3
11
+ ESMValTool/OBS/Tier2/ISCCP-FH/OBS_ISCCP-FH_sat_v0_Amon_rsut_198401-201612.nc 8afa3afd416500b17bceda5689c43d64277a4c32f99521f79a3603d0e3fe0570
12
+ ESMValTool/OBS/Tier2/ISCCP-FH/OBS_ISCCP-FH_sat_v0_Amon_rsutcs_198401-201612.nc 922aebf600f56a69c7b0b9d4b72eca0edb3dd495bd7a05209a07d4e50bd69b57
1
13
  ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_fx_areacello.nc aead9fc03e6773f66c3fa522ddd9cc36ff6a5b47cfab02d3cb9481b52cc2f7cb
2
14
  ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_197901-197912.nc b5fe29fd2864248580043af4bca27a4771cf216ef7db74d645590ba10809dbe8
3
15
  ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_198001-198012.nc ce988e813cae4c59bbb622420e7e339b9e435117486af8aa81afaa54e19d7d68
@@ -1,6 +1,7 @@
1
1
  """ESMValTool diagnostics."""
2
2
 
3
3
  from climate_ref_esmvaltool.diagnostics.climate_at_global_warming_levels import ClimateAtGlobalWarmingLevels
4
+ from climate_ref_esmvaltool.diagnostics.cloud_radiative_effects import CloudRadiativeEffects
4
5
  from climate_ref_esmvaltool.diagnostics.ecs import EquilibriumClimateSensitivity
5
6
  from climate_ref_esmvaltool.diagnostics.example import GlobalMeanTimeseries
6
7
  from climate_ref_esmvaltool.diagnostics.sea_ice_area_seasonal_cycle import SeaIceAreaSeasonalCycle
@@ -10,6 +11,7 @@ from climate_ref_esmvaltool.diagnostics.zec import ZeroEmissionCommitment
10
11
 
11
12
  __all__ = [
12
13
  "ClimateAtGlobalWarmingLevels",
14
+ "CloudRadiativeEffects",
13
15
  "EquilibriumClimateSensitivity",
14
16
  "GlobalMeanTimeseries",
15
17
  "SeaIceAreaSeasonalCycle",
@@ -62,7 +62,7 @@ class ClimateAtGlobalWarmingLevels(ESMValToolDiagnostic):
62
62
  ),
63
63
  ),
64
64
  )
65
- facets = ("model", "metric")
65
+ facets = ()
66
66
 
67
67
  @staticmethod
68
68
  def update_recipe(recipe: Recipe, input_files: pandas.DataFrame) -> None:
@@ -0,0 +1,76 @@
1
+ import pandas
2
+
3
+ from climate_ref_core.constraints import (
4
+ AddSupplementaryDataset,
5
+ RequireContiguousTimerange,
6
+ RequireFacets,
7
+ RequireOverlappingTimerange,
8
+ )
9
+ from climate_ref_core.datasets import FacetFilter, SourceDatasetType
10
+ from climate_ref_core.diagnostics import DataRequirement
11
+ from climate_ref_esmvaltool.diagnostics.base import ESMValToolDiagnostic
12
+ from climate_ref_esmvaltool.recipe import dataframe_to_recipe
13
+ from climate_ref_esmvaltool.types import Recipe
14
+
15
+
16
+ class CloudRadiativeEffects(ESMValToolDiagnostic):
17
+ """
18
+ Plot climatologies and zonal mean profiles of cloud radiative effects (sw + lw) for a dataset.
19
+ """
20
+
21
+ name = "Climatologies and zonal mean profiles of cloud radiative effects"
22
+ slug = "cloud-radiative-effects"
23
+ base_recipe = "ref/recipe_ref_cre.yml"
24
+
25
+ facets = ()
26
+
27
+ variables = (
28
+ "rlut",
29
+ "rlutcs",
30
+ "rsut",
31
+ "rsutcs",
32
+ )
33
+ data_requirements = (
34
+ DataRequirement(
35
+ source_type=SourceDatasetType.CMIP6,
36
+ filters=(
37
+ FacetFilter(
38
+ facets={
39
+ "variable_id": variables,
40
+ "experiment_id": ("historical",),
41
+ }
42
+ ),
43
+ ),
44
+ group_by=("source_id", "member_id", "grid_label"),
45
+ constraints=(
46
+ RequireFacets("variable_id", variables),
47
+ RequireContiguousTimerange(group_by=("instance_id",)),
48
+ RequireOverlappingTimerange(group_by=("instance_id",)),
49
+ AddSupplementaryDataset.from_defaults("areacella", SourceDatasetType.CMIP6),
50
+ ),
51
+ ),
52
+ # TODO: Use CERES-EBAF, ESACCI-CLOUD, and ISCCP-FH from obs4MIPs once available.
53
+ )
54
+
55
+ @staticmethod
56
+ def update_recipe(recipe: Recipe, input_files: pandas.DataFrame) -> None:
57
+ """Update the recipe."""
58
+ recipe_variables = dataframe_to_recipe(input_files)
59
+ recipe_variables = {k: v for k, v in recipe_variables.items() if k != "areacella"}
60
+
61
+ # Select a timerange covered by all datasets.
62
+ start_times, end_times = [], []
63
+ for variable in recipe_variables.values():
64
+ for dataset in variable["additional_datasets"]:
65
+ start, end = dataset["timerange"].split("/")
66
+ start_times.append(start)
67
+ end_times.append(end)
68
+ start_time = max(start_times)
69
+ start_time = max(start_time, "20010101T000000") # Earliest observational dataset availability
70
+ timerange = f"{start_time}/{min(end_times)}"
71
+
72
+ datasets = recipe_variables["rsut"]["additional_datasets"]
73
+ for dataset in datasets:
74
+ dataset.pop("timerange")
75
+ recipe["datasets"] = datasets
76
+ recipe["timerange_for_models"] = timerange
@@ -28,7 +28,7 @@ class GlobalMeanTimeseries(ESMValToolDiagnostic):
28
28
  ),
29
29
  ),
30
30
  )
31
- facets = ("model", "metric")
31
+ facets = ()
32
32
 
33
33
  @staticmethod
34
34
  def update_recipe(recipe: Recipe, input_files: pandas.DataFrame) -> None:
@@ -39,7 +39,7 @@ class SeaIceAreaSeasonalCycle(ESMValToolDiagnostic):
39
39
  ),
40
40
  # TODO: Use OSI-450-nh and OSI-450-sh from obs4MIPs once available.
41
41
  )
42
- facets = ("model", "metric")
42
+ facets = ()
43
43
 
44
44
  @staticmethod
45
45
  def update_recipe(recipe: Recipe, input_files: pandas.DataFrame) -> None:
@@ -126,7 +126,8 @@ _RECIPES = pooch.create(
126
126
  base_url=f"https://raw.githubusercontent.com/ESMValGroup/ESMValTool/{_ESMVALTOOL_COMMIT}/esmvaltool/recipes/",
127
127
  env="REF_METRICS_ESMVALTOOL_DATA_DIR",
128
128
  )
129
- _RECIPES.load_registry(str(importlib.resources.files("climate_ref_esmvaltool").joinpath("recipes.txt")))
129
+ with importlib.resources.files("climate_ref_esmvaltool").joinpath("recipes.txt").open("rb") as _buffer:
130
+ _RECIPES.load_registry(_buffer)
130
131
 
131
132
 
132
133
  def load_recipe(recipe: str) -> Recipe:
@@ -4,4 +4,5 @@ recipe_ecs.yml 0cc57034fcb64e32015b4ff949ece5df8cdb8c6f493618b50cede
4
4
  recipe_tcr.yml 35f9ef035a4e71aff5cac5dd26c49da2162fc00291bf3b0bd16b661b7b2f606b
5
5
  recipe_tcre.yml 4668e357e00c515a8264ac75cb319ce558289689e10189e6f9e982886c414c94
6
6
  recipe_zec.yml b0af7f789b7610ab3f29a6617124aa40c40866ead958204fc199eaf82863de51
7
+ ref/recipe_ref_cre.yml 4f35d9639f1008be3b5382a5bd8933a855cb5368ccf5d04a1c70227172e2e82c
7
8
  ref/recipe_ref_sea_ice_area_basic.yml 552e282a16ec355778b06f33897e1b8ba8388e5f8a5f814c4c42d91f63007457
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: climate-ref-esmvaltool
3
- Version: 0.5.0
3
+ Version: 0.5.1
4
4
  Summary: ESMValTool diagnostic provider for the Rapid Evaluation Framework
5
5
  Author-email: ESMValTool development team <esmvaltool-dev@listserv.dfn.de>
6
6
  License: Apache-2.0
@@ -1,23 +1,24 @@
1
1
  climate_ref_esmvaltool/__init__.py,sha256=RVxZNLdGs9Tl0VPfCibijf1ENytoatrev79K4wzkSEk,1015
2
2
  climate_ref_esmvaltool/_version.py,sha256=Ed7geC_W9fxIocCdAvK1fk2k-pDt6FGOM_LEgR06-24,94
3
3
  climate_ref_esmvaltool/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- climate_ref_esmvaltool/recipe.py,sha256=r6nSPpGrFU2V-oo5H_MT48Pz-kILUYCfsv51ZnPDdI8,5052
5
- climate_ref_esmvaltool/recipes.txt,sha256=IJD6CsaZl0cxvMTkgqirHnv1LzS9XqscfevKGSJ9RMM,670
4
+ climate_ref_esmvaltool/recipe.py,sha256=yzHswUtwALoO0FoaWSmPAhpgRQ5pJ1ZmFGOWXMPtc4E,5087
5
+ climate_ref_esmvaltool/recipes.txt,sha256=DJZa_kMV9xn6AAkBk05Fzf2Ru44j8wRHq0CWxCaTEnA,762
6
6
  climate_ref_esmvaltool/types.py,sha256=luUMNS3LJGJEecVrHRDh5l5ElnQgz7G0auCtA_Jwnno,117
7
- climate_ref_esmvaltool/dataset_registry/data.txt,sha256=jH-BE4yl9Sol3ROopnBgtt9njcFVpPpw1JRCT4ER_Tg,11078
8
- climate_ref_esmvaltool/diagnostics/__init__.py,sha256=odJXmaObwtyZQxA-AHmqHkDzC3WttIUfR8KjUAC7eYA,882
7
+ climate_ref_esmvaltool/dataset_registry/data.txt,sha256=uovw8JYEyTF7DSIRQ_PzLG2paETpG9FdJta8djivDrM,12910
8
+ climate_ref_esmvaltool/diagnostics/__init__.py,sha256=9PpcQ3aSnwCdUHa54hkELfVrUgVjUzDguHqkG3B1xTs,1004
9
9
  climate_ref_esmvaltool/diagnostics/base.py,sha256=jTxqMBlzGtjUXPvU9_3Dy1gBYm7PG_deqH5Xu2nY7RM,7208
10
- climate_ref_esmvaltool/diagnostics/climate_at_global_warming_levels.py,sha256=0Z5phmHolQ3W-Bd7kZVc-bybQsyPsqbJOgTKOHostmw,3549
10
+ climate_ref_esmvaltool/diagnostics/climate_at_global_warming_levels.py,sha256=o5xSAiZJnuMhG3i8lO1QPsN4YSk3s2jhEWi3pdMAJNw,3532
11
+ climate_ref_esmvaltool/diagnostics/cloud_radiative_effects.py,sha256=WdG49r6zDbikpKiM5bFckl3oOwyFgBfARLrYR6OzlPs,2815
11
12
  climate_ref_esmvaltool/diagnostics/ecs.py,sha256=dqa3Tn1I6gJ8WcpnAcMNktnPXeb9qfj6-Kk3PgdsI2g,5060
12
- climate_ref_esmvaltool/diagnostics/example.py,sha256=JfUcxbQ8iAkAnxgeyqmq9gHC89nkqDulKAycozrs-Y0,1998
13
- climate_ref_esmvaltool/diagnostics/sea_ice_area_seasonal_cycle.py,sha256=9NbLPHwwSSTbUiVEikJDzX1db2DlrV3LempjHQYbQpM,2891
13
+ climate_ref_esmvaltool/diagnostics/example.py,sha256=F2mazDsSju68v3JE9aU6u4SwszIN3wFR5dRlQExvNns,1981
14
+ climate_ref_esmvaltool/diagnostics/sea_ice_area_seasonal_cycle.py,sha256=KdpXdunin-Yz2RIZms09FJwdw8Dm2Rh3z305oh8LZTA,2874
14
15
  climate_ref_esmvaltool/diagnostics/tcr.py,sha256=69cTs4PrfslTy5JqyQc7fzsx1LqSYajFBl-7D5lJwsM,4522
15
16
  climate_ref_esmvaltool/diagnostics/tcre.py,sha256=yke0h2ZrYqzmpGcNoVoSgE1yX4wlkiN9xiEjHZ257d0,4996
16
17
  climate_ref_esmvaltool/diagnostics/zec.py,sha256=s5Zp7TUtHtKwbPtRKiG5nJkMguiWv6jo5kaWAoYHHFM,4002
17
18
  climate_ref_esmvaltool/requirements/conda-lock.yml,sha256=i9jv2YX1KylXWl4oJQJWEgD6ZmY5pAsj_cbKAxzudFs,588058
18
19
  climate_ref_esmvaltool/requirements/environment.yml,sha256=Pc3Vq0ZGwSEc_bOxDYJsgoro13-YrGWjpdyO1UQwHEM,78
19
- climate_ref_esmvaltool-0.5.0.dist-info/METADATA,sha256=rU-IDf9INjuQ4i_XGYaJVERqisw5SySmBrutZ0UfI-k,2302
20
- climate_ref_esmvaltool-0.5.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
21
- climate_ref_esmvaltool-0.5.0.dist-info/licenses/LICENCE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
22
- climate_ref_esmvaltool-0.5.0.dist-info/licenses/NOTICE,sha256=4qTlax9aX2-mswYJuVrLqJ9jK1IkN5kSBqfVvYLF3Ws,128
23
- climate_ref_esmvaltool-0.5.0.dist-info/RECORD,,
20
+ climate_ref_esmvaltool-0.5.1.dist-info/METADATA,sha256=sr_zArFMdV-j6gSuVmzuopaCLoLMf81Z8-PfT3evHek,2302
21
+ climate_ref_esmvaltool-0.5.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
22
+ climate_ref_esmvaltool-0.5.1.dist-info/licenses/LICENCE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
23
+ climate_ref_esmvaltool-0.5.1.dist-info/licenses/NOTICE,sha256=4qTlax9aX2-mswYJuVrLqJ9jK1IkN5kSBqfVvYLF3Ws,128
24
+ climate_ref_esmvaltool-0.5.1.dist-info/RECORD,,