reflective-data-catalog 0.0.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.
- reflective_data_catalog/__init__.py +20 -0
- reflective_data_catalog/data-catalog.yaml +645 -0
- reflective_data_catalog/esgf.py +433 -0
- reflective_data_catalog/esm.py +558 -0
- reflective_data_catalog/flexible_sources.py +1006 -0
- reflective_data_catalog/help_text.py +95 -0
- reflective_data_catalog/main.py +1409 -0
- reflective_data_catalog/py.typed +0 -0
- reflective_data_catalog/reflective_data.py +159 -0
- reflective_data_catalog/storage.py +362 -0
- reflective_data_catalog-0.0.1.dist-info/METADATA +208 -0
- reflective_data_catalog-0.0.1.dist-info/RECORD +15 -0
- reflective_data_catalog-0.0.1.dist-info/WHEEL +5 -0
- reflective_data_catalog-0.0.1.dist-info/licenses/LICENSE +202 -0
- reflective_data_catalog-0.0.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"""Reflective's Unified SAI Data Catalog."""
|
|
2
|
+
|
|
3
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
4
|
+
|
|
5
|
+
from .esm import ESMCatalog, GeoMIPCloudHelper
|
|
6
|
+
from .main import ReflectiveCatalog
|
|
7
|
+
from .storage import CloudFileSystem
|
|
8
|
+
|
|
9
|
+
try:
|
|
10
|
+
__version__ = version("reflective-data-catalog")
|
|
11
|
+
except PackageNotFoundError:
|
|
12
|
+
__version__ = "unknown"
|
|
13
|
+
|
|
14
|
+
__all__ = [
|
|
15
|
+
"CloudFileSystem",
|
|
16
|
+
"ESMCatalog",
|
|
17
|
+
"GeoMIPCloudHelper",
|
|
18
|
+
"ReflectiveCatalog",
|
|
19
|
+
"__version__",
|
|
20
|
+
]
|
|
@@ -0,0 +1,645 @@
|
|
|
1
|
+
metadata:
|
|
2
|
+
version: 1
|
|
3
|
+
description: "Climate Model Experiments - Solar Geoengineering (SAI) Simulations"
|
|
4
|
+
documentation: "https://reflectivecloud.github.io/Book/"
|
|
5
|
+
|
|
6
|
+
sources:
|
|
7
|
+
# ============================================================================
|
|
8
|
+
# G6-1.5K-HiLLA Experiments
|
|
9
|
+
# High-latitude injection (60°N/S at 15km) targeting 1.5K warming
|
|
10
|
+
# ============================================================================
|
|
11
|
+
|
|
12
|
+
ukesm1_g6_1p5k_hilla_zarr:
|
|
13
|
+
driver: zarr
|
|
14
|
+
description: "UKESM1.1 G6-1.5K-HiLLA (Zarr): SAI with 60°N/S injection at 15km to hold global mean temperature to 1.5K"
|
|
15
|
+
args:
|
|
16
|
+
urlpath: "s3://reflective-persistent-prod-large/UKESM1-1/G6-1.5K-HiLLA/{{ensemble_member}}/{{table}}/{{variable}}.zarr"
|
|
17
|
+
consolidated: true
|
|
18
|
+
storage_options:
|
|
19
|
+
anon: false
|
|
20
|
+
parameters:
|
|
21
|
+
ensemble_member:
|
|
22
|
+
description: "Ensemble member identifier"
|
|
23
|
+
type: str
|
|
24
|
+
default: "r1i1p1f2"
|
|
25
|
+
table:
|
|
26
|
+
description: "CMIP6 table (Amon, Lmon, Omon, day, etc.)"
|
|
27
|
+
type: str
|
|
28
|
+
default: "Aday"
|
|
29
|
+
variable:
|
|
30
|
+
description: "Climate variable name"
|
|
31
|
+
type: str
|
|
32
|
+
default: "tas"
|
|
33
|
+
metadata:
|
|
34
|
+
model: "UKESM1.1"
|
|
35
|
+
experiment: "G6-1.5K-HiLLA"
|
|
36
|
+
experiment_id: "g6-1.5k-hilla"
|
|
37
|
+
injection_strategy: "60°N/S at 15km"
|
|
38
|
+
feedback_control: true
|
|
39
|
+
years: "2035-2085"
|
|
40
|
+
reference_scenario: "SSP2-4.5 in UKESM1.1 (on cloud hub not the CMIP6 version)"
|
|
41
|
+
temperature_target: "1.5K"
|
|
42
|
+
variables_list: "https://docs.google.com/spreadsheets/d/1GfkOx6W6U5lxMb1f-xBPEtvKZZ0IDu2xtyVH7ppAQ6M/edit?usp=sharing"
|
|
43
|
+
paper: "https://egusphere.copernicus.org/preprints/2025/egusphere-2025-5742/"
|
|
44
|
+
hosted_on: "AWS (cloudhub)"
|
|
45
|
+
s3_bucket: "s3://reflective-persistent-prod-large"
|
|
46
|
+
tags: ["geoengineering", "SAI", "high-latitude", "UKESM1.1", "G6-1.5K-HiLLA", "feedback-control"]
|
|
47
|
+
|
|
48
|
+
cesm2_waccm_g6_1p5k_hilla_zarr:
|
|
49
|
+
driver: zarr
|
|
50
|
+
description: "CESM2-WACCM G6-1.5K-HiLLA (Zarr): SAI with 60°N/S injection at 15km to hold global mean temperature to 1.5K"
|
|
51
|
+
args:
|
|
52
|
+
urlpath: "s3://reflective-persistent-prod-large/CESM2-WACCM/G6-1.5k-HiLLA/{{ensemble_member}}/{{table}}/{{variable}}.zarr"
|
|
53
|
+
consolidated: true
|
|
54
|
+
storage_options:
|
|
55
|
+
anon: false
|
|
56
|
+
parameters:
|
|
57
|
+
ensemble_member:
|
|
58
|
+
description: "Ensemble member identifier"
|
|
59
|
+
type: str
|
|
60
|
+
default: "r1i1p1f1"
|
|
61
|
+
table:
|
|
62
|
+
description: "CMIP6 table (Amon, Lmon, Omon, day, etc.)"
|
|
63
|
+
type: str
|
|
64
|
+
default: "Aday"
|
|
65
|
+
variable:
|
|
66
|
+
description: "Climate variable name"
|
|
67
|
+
type: str
|
|
68
|
+
default: "tas"
|
|
69
|
+
metadata:
|
|
70
|
+
model: "CESM2-WACCM"
|
|
71
|
+
experiment: "G6-1.5K-HiLLA"
|
|
72
|
+
experiment_id: "g6-1.5k-hilla"
|
|
73
|
+
injection_strategy: "60°N/S at 15km"
|
|
74
|
+
feedback_control: true
|
|
75
|
+
years: "2035-2085"
|
|
76
|
+
reference_scenario: "SSP2-4.5"
|
|
77
|
+
temperature_target: "1.5K"
|
|
78
|
+
variables_list: "https://docs.google.com/spreadsheets/d/1GfkOx6W6U5lxMb1f-xBPEtvKZZ0IDu2xtyVH7ppAQ6M/edit?usp=sharing"
|
|
79
|
+
paper: "https://egusphere.copernicus.org/preprints/2025/egusphere-2025-5742/"
|
|
80
|
+
hosted_on: "AWS (cloudhub)"
|
|
81
|
+
s3_bucket: "s3://reflective-persistent-prod-large"
|
|
82
|
+
tags: ["geoengineering", "SAI", "high-latitude", "CESM2-WACCM", "G6-1.5K-HiLLA", "feedback-control"]
|
|
83
|
+
|
|
84
|
+
e3smv3_g6_1p5k_hilla_zarr:
|
|
85
|
+
driver: zarr
|
|
86
|
+
description: "E3SMv3 G6-1.5K-HiLLA (Zarr): SAI with 60°N/S injection at 15km to hold global mean temperature to 1.5K"
|
|
87
|
+
args:
|
|
88
|
+
urlpath: "s3://reflective-persistent-prod-large/E3SMv3/G6-1.5K-HiLLA/v3.LR.ssp245.g6_hilla.sai.{{ensemble_member}}/{{table}}/{{variable}}.zarr"
|
|
89
|
+
consolidated: true
|
|
90
|
+
storage_options:
|
|
91
|
+
anon: false
|
|
92
|
+
parameters:
|
|
93
|
+
ensemble_member:
|
|
94
|
+
description: "Ensemble member identifier"
|
|
95
|
+
type: str
|
|
96
|
+
default: "r1i1p1f1"
|
|
97
|
+
table:
|
|
98
|
+
description: "CMIP6 table (Amon, Lmon, Omon, day, etc.)"
|
|
99
|
+
type: str
|
|
100
|
+
default: "Aday"
|
|
101
|
+
variable:
|
|
102
|
+
description: "Climate variable name"
|
|
103
|
+
type: str
|
|
104
|
+
default: "tas"
|
|
105
|
+
metadata:
|
|
106
|
+
model: "E3SMv3"
|
|
107
|
+
experiment: "G6-1.5K-HiLLA"
|
|
108
|
+
experiment_id: "g6-1.5k-hilla"
|
|
109
|
+
injection_strategy: "60°N/S at 15km"
|
|
110
|
+
feedback_control: true
|
|
111
|
+
years: "2035-2085"
|
|
112
|
+
reference_scenario: "SSP2-4.5 (on cloud hub)"
|
|
113
|
+
temperature_target: "1.5K"
|
|
114
|
+
grid_notes: "Unstructured grid - see /maps/README"
|
|
115
|
+
variables_list: "https://docs.google.com/spreadsheets/d/1GfkOx6W6U5lxMb1f-xBPEtvKZZ0IDu2xtyVH7ppAQ6M/edit?usp=sharing"
|
|
116
|
+
paper: "https://egusphere.copernicus.org/preprints/2025/egusphere-2025-5742/"
|
|
117
|
+
hosted_on: "AWS (cloudhub)"
|
|
118
|
+
s3_bucket: "s3://reflective-persistent-prod-large"
|
|
119
|
+
tags: ["geoengineering", "SAI", "high-latitude", "E3SMv3", "G6-1.5K-HiLLA", "unstructured-grid", "feedback-control"]
|
|
120
|
+
|
|
121
|
+
miroc_g6_1p5k_hilla:
|
|
122
|
+
driver: netcdf
|
|
123
|
+
description: "MIROC G6-1.5K-HiLLA: SAI with 60°N/S injection at 15km to hold global mean temperature to 1.5K"
|
|
124
|
+
args:
|
|
125
|
+
urlpath: "s3://reflective-persistent-prod-large/MIROC-ES2H/G6-1.5K-HiLLA/{{table}}/{{variable}}_G6-1.5K-HiLLA_*.nc"
|
|
126
|
+
combine: by_coords
|
|
127
|
+
xarray_kwargs:
|
|
128
|
+
engine: netcdf4
|
|
129
|
+
parameters:
|
|
130
|
+
table:
|
|
131
|
+
description: "CMIP6 table (Amon, Omon, day, etc.)"
|
|
132
|
+
type: str
|
|
133
|
+
default: "Aday"
|
|
134
|
+
variable:
|
|
135
|
+
description: "Climate variable name"
|
|
136
|
+
type: str
|
|
137
|
+
default: "tas"
|
|
138
|
+
metadata:
|
|
139
|
+
model: "MIROC"
|
|
140
|
+
experiment: "G6-1.5K-HiLLA"
|
|
141
|
+
experiment_id: "g6-1.5k-hilla"
|
|
142
|
+
injection_strategy: "60°N/S at 15km"
|
|
143
|
+
feedback_control: true
|
|
144
|
+
years: "2035-2085"
|
|
145
|
+
temperature_target: "1.5K"
|
|
146
|
+
hosted_on: "AWS (cloudhub)"
|
|
147
|
+
s3_bucket: "s3://reflective-persistent-prod-large"
|
|
148
|
+
tags: ["geoengineering", "SAI", "high-latitude", "MIROC", "G6-1.5K-HiLLA", "feedback-control"]
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
miroc_ssp245_(g6_1p5k_hilla):
|
|
152
|
+
driver: netcdf
|
|
153
|
+
description: "MIROC SSP2-4.5 (reference scenario for G6-1.5K-SAI and G6-1.5K-HiLLA). The SSP2-4.5 simulations are the same for reference against G6-1.5K-SAI and G6-1.5K-HiLLA, but different SSP2-4.5 outputs are available in the two cases."
|
|
154
|
+
args:
|
|
155
|
+
urlpath: "s3://reflective-persistent-prod-large/MIROC-ES2H/G6-1.5K-HiLLA/{{table}}/{{variable}}_baseline_*.nc"
|
|
156
|
+
combine: by_coords
|
|
157
|
+
xarray_kwargs:
|
|
158
|
+
engine: netcdf4
|
|
159
|
+
parameters:
|
|
160
|
+
table:
|
|
161
|
+
description: "CMIP6 table (Amon, Omon, day, etc.)"
|
|
162
|
+
type: str
|
|
163
|
+
default: "day"
|
|
164
|
+
variable:
|
|
165
|
+
description: "Climate variable name"
|
|
166
|
+
type: str
|
|
167
|
+
default: "tas"
|
|
168
|
+
metadata:
|
|
169
|
+
model: "MIROC"
|
|
170
|
+
experiment: "SSP2-4.5"
|
|
171
|
+
experiment_id: "ssp245"
|
|
172
|
+
injection_strategy: "N/A"
|
|
173
|
+
feedback_control: true
|
|
174
|
+
years: "2015-2100"
|
|
175
|
+
temperature_target: "1.5K"
|
|
176
|
+
hosted_on: "AWS (cloudhub)"
|
|
177
|
+
s3_bucket: "s3://reflective-persistent-prod-large"
|
|
178
|
+
tags: ["MIROC", "SSP2-4.5", "reference", "baseline"]
|
|
179
|
+
|
|
180
|
+
miroc_ssp245_(g6_1p5k_sai):
|
|
181
|
+
driver: netcdf
|
|
182
|
+
description: "MIROC SSP2-4.5, for outputs aligned to G6-1.5K-SAI data"
|
|
183
|
+
args:
|
|
184
|
+
urlpath: "s3://reflective-persistent-prod-large/MIROC-ES2H/G6-1.5K-SAI/{{table}}/{{variable}}_baseline_*.nc"
|
|
185
|
+
combine: by_coords
|
|
186
|
+
xarray_kwargs:
|
|
187
|
+
engine: netcdf4
|
|
188
|
+
parameters:
|
|
189
|
+
table:
|
|
190
|
+
description: "CMIP6 table (Mon, MAM3, day, etc.)"
|
|
191
|
+
type: str
|
|
192
|
+
default: "day"
|
|
193
|
+
variable:
|
|
194
|
+
description: "Climate variable name"
|
|
195
|
+
type: str
|
|
196
|
+
default: "tas"
|
|
197
|
+
metadata:
|
|
198
|
+
model: "MIROC"
|
|
199
|
+
experiment: "SSP2-4.5"
|
|
200
|
+
experiment_id: "ssp245"
|
|
201
|
+
injection_strategy: "N/A"
|
|
202
|
+
feedback_control: true
|
|
203
|
+
years: "2015-2100"
|
|
204
|
+
temperature_target: "N/A"
|
|
205
|
+
hosted_on: "AWS (cloudhub)"
|
|
206
|
+
s3_bucket: "s3://reflective-persistent-prod-large"
|
|
207
|
+
tags: ["MIROC", "SSP2-4.5"]
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
ukesm1_ssp245_g6_1p5k_hilla:
|
|
211
|
+
driver: zarr
|
|
212
|
+
description: "UKESM1.1 SSP2-4.5 (RunIDs: udp-902,903,904), the reference case for G6-1.5K-HiLLA runs. This version of SSP2-4.5 has strat. het. chem. ON"
|
|
213
|
+
args:
|
|
214
|
+
urlpath: "s3://reflective-persistent-prod-large/UKESM1-1/SSP245/{{ensemble_member}}/{{table}}/{{variable}}.zarr"
|
|
215
|
+
consolidated: true
|
|
216
|
+
storage_options:
|
|
217
|
+
anon: false
|
|
218
|
+
parameters:
|
|
219
|
+
ensemble_member:
|
|
220
|
+
description: "Ensemble member identifier"
|
|
221
|
+
type: str
|
|
222
|
+
default: "r1i1p1f2"
|
|
223
|
+
table:
|
|
224
|
+
description: "CMIP6 table (Amon, Lmon, Omon, day, etc.)"
|
|
225
|
+
type: str
|
|
226
|
+
default: "day"
|
|
227
|
+
variable:
|
|
228
|
+
description: "Climate variable name"
|
|
229
|
+
type: str
|
|
230
|
+
default: "tas"
|
|
231
|
+
metadata:
|
|
232
|
+
model: "UKESM1.1"
|
|
233
|
+
experiment: "G6-1.5K-HiLLA"
|
|
234
|
+
experiment_id: "g6-1.5k-hilla"
|
|
235
|
+
injection_strategy: "60°N/S at 15km"
|
|
236
|
+
feedback_control: true
|
|
237
|
+
years: "2035-2085"
|
|
238
|
+
reference_scenario: "SSP2-4.5 in UKESM1.1 (on cloud hub not the CMIP6 version)"
|
|
239
|
+
temperature_target: "1.5K"
|
|
240
|
+
variables_list: "https://docs.google.com/spreadsheets/d/1GfkOx6W6U5lxMb1f-xBPEtvKZZ0IDu2xtyVH7ppAQ6M/edit?usp=sharing"
|
|
241
|
+
paper: "https://egusphere.copernicus.org/preprints/2025/egusphere-2025-5742/"
|
|
242
|
+
hosted_on: "AWS (cloudhub)"
|
|
243
|
+
s3_bucket: "s3://reflective-persistent-prod-large"
|
|
244
|
+
tags: ["geoengineering", "SAI", "UKESM1.1", "SSP2-4.5", "reference"]
|
|
245
|
+
|
|
246
|
+
e3smv3_ssp245:
|
|
247
|
+
driver: zarr
|
|
248
|
+
description: "E3SMv3 SSP2-4.5 reference (control runs for for G6-1.5K-HiLLA)"
|
|
249
|
+
args:
|
|
250
|
+
urlpath: "s3://reflective-persistent-prod-large/E3SMv3/G6-1.5K-HiLLA/v3.LR.ssp245_{{ensemble_member}}/{{table}}/{{variable}}.zarr"
|
|
251
|
+
consolidated: true
|
|
252
|
+
storage_options:
|
|
253
|
+
anon: false
|
|
254
|
+
parameters:
|
|
255
|
+
ensemble_member:
|
|
256
|
+
description: "Ensemble member identifier"
|
|
257
|
+
type: str
|
|
258
|
+
default: "r1i1p1f1"
|
|
259
|
+
table:
|
|
260
|
+
description: "CMIP6 table (Amon, Lmon, Omon, day, etc.)"
|
|
261
|
+
type: str
|
|
262
|
+
default: "day"
|
|
263
|
+
variable:
|
|
264
|
+
description: "Climate variable name"
|
|
265
|
+
type: str
|
|
266
|
+
default: "tas"
|
|
267
|
+
metadata:
|
|
268
|
+
model: "E3SMv3"
|
|
269
|
+
experiment: "G6-1.5K-HiLLA"
|
|
270
|
+
experiment_id: "g6-1.5k-hilla"
|
|
271
|
+
injection_strategy: "60°N/S at 15km"
|
|
272
|
+
feedback_control: true
|
|
273
|
+
years: "2035-2085"
|
|
274
|
+
reference_scenario: "SSP2-4.5 (on cloud hub)"
|
|
275
|
+
temperature_target: "1.5K"
|
|
276
|
+
grid_notes: "Unstructured grid - see /maps/README"
|
|
277
|
+
variables_list: "https://docs.google.com/spreadsheets/d/1GfkOx6W6U5lxMb1f-xBPEtvKZZ0IDu2xtyVH7ppAQ6M/edit?usp=sharing"
|
|
278
|
+
paper: "https://egusphere.copernicus.org/preprints/2025/egusphere-2025-5742/"
|
|
279
|
+
hosted_on: "AWS (cloudhub)"
|
|
280
|
+
s3_bucket: "s3://reflective-persistent-prod-large"
|
|
281
|
+
tags: ["geoengineering", "SAI", "high-latitude", "E3SMv3", "G6-1.5K-HiLLA", "unstructured-grid", "feedback-control"]
|
|
282
|
+
|
|
283
|
+
# ============================================================================
|
|
284
|
+
# G6-1.5K-SAI Experiments
|
|
285
|
+
# Mid-latitude injection (30°N/S at 21km) targeting 1.5K warming
|
|
286
|
+
# ============================================================================
|
|
287
|
+
|
|
288
|
+
ukesm1_g6_1p5k_sai:
|
|
289
|
+
driver: zarr
|
|
290
|
+
description: "UKESM1.1 G6-1.5K-SAI: SAI 30°N/S injection at 21km to hold global mean temperature to 1.5K"
|
|
291
|
+
args:
|
|
292
|
+
urlpath: "s3://reflective-persistent-prod-large/UKESM1-1/G6-1.5K-SAI/{{ensemble_member}}/{{table}}/{{variable}}.zarr"
|
|
293
|
+
consolidated: true
|
|
294
|
+
storage_options:
|
|
295
|
+
anon: false
|
|
296
|
+
parameters:
|
|
297
|
+
ensemble_member:
|
|
298
|
+
description: "Ensemble member identifier"
|
|
299
|
+
type: str
|
|
300
|
+
default: "r1i1p1f2"
|
|
301
|
+
table:
|
|
302
|
+
description: "CMIP6 table (Amon, Lmon, Omon, day, etc.)"
|
|
303
|
+
type: str
|
|
304
|
+
default: "Aday"
|
|
305
|
+
variable:
|
|
306
|
+
description: "Climate variable name"
|
|
307
|
+
type: str
|
|
308
|
+
default: "tas"
|
|
309
|
+
metadata:
|
|
310
|
+
model: "UKESM1.1"
|
|
311
|
+
experiment: "G6-1.5K-SAI"
|
|
312
|
+
experiment_id: "g6-1.5k-sai"
|
|
313
|
+
injection_strategy: "30°N/S at 21km"
|
|
314
|
+
feedback_control: true
|
|
315
|
+
years: "2035-2085"
|
|
316
|
+
reference_scenario: "SSP2-4.5"
|
|
317
|
+
temperature_target: "1.5K"
|
|
318
|
+
variables_status: "TBD"
|
|
319
|
+
paper: "https://egusphere.copernicus.org/preprints/2025/egusphere-2025-5742/"
|
|
320
|
+
documentation: "to be added"
|
|
321
|
+
hosted_on: "coming soon on AWS (CarbonPlan for some variables, many to be added to our cloudhub)"
|
|
322
|
+
s3_bucket: "s3://reflective-persistent-prod-large"
|
|
323
|
+
status: "coming_soon"
|
|
324
|
+
tags: ["geoengineering", "SAI", "mid-latitude", "UKESM1.1", "G6-1.5K-SAI", "feedback-control"]
|
|
325
|
+
|
|
326
|
+
cesm2_waccm_g6_1p5k_sai:
|
|
327
|
+
driver: zarr
|
|
328
|
+
description: "CESM2-WACCM G6-1.5K-SAI: SAI 30°N/S injection at 21km to hold global mean temperature to 1.5K"
|
|
329
|
+
args:
|
|
330
|
+
urlpath: "s3://reflective-persistent-prod-large/CESM2-WACCM/G6-1.5k-SAI/{{ensemble_member}}/{{table}}/{{variable}}.zarr"
|
|
331
|
+
consolidated: true
|
|
332
|
+
storage_options:
|
|
333
|
+
anon: false
|
|
334
|
+
parameters:
|
|
335
|
+
ensemble_member:
|
|
336
|
+
description: "Ensemble member identifier"
|
|
337
|
+
type: str
|
|
338
|
+
default: "r1i1p1f1"
|
|
339
|
+
table:
|
|
340
|
+
description: "CMIP6 table (Amon, Lmon, Omon, day, etc.)"
|
|
341
|
+
type: str
|
|
342
|
+
default: "Aday"
|
|
343
|
+
variable:
|
|
344
|
+
description: "Climate variable name"
|
|
345
|
+
type: str
|
|
346
|
+
default: "tas"
|
|
347
|
+
metadata:
|
|
348
|
+
model: "CESM2-WACCM"
|
|
349
|
+
experiment: "G6-1.5K-SAI"
|
|
350
|
+
experiment_id: "g6-1.5k-sai"
|
|
351
|
+
injection_strategy: "30°N/S at 21km"
|
|
352
|
+
feedback_control: true
|
|
353
|
+
years: "2035-2085"
|
|
354
|
+
reference_scenario: "SSP2-4.5"
|
|
355
|
+
temperature_target: "1.5K"
|
|
356
|
+
variables_status: "TBD"
|
|
357
|
+
paper: "https://egusphere.copernicus.org/preprints/2025/egusphere-2025-5742/"
|
|
358
|
+
documentation: "to be added"
|
|
359
|
+
hosted_on: "AWS (cloudhub)"
|
|
360
|
+
s3_bucket: "s3://reflective-persistent-prod-large"
|
|
361
|
+
status: "coming_soon"
|
|
362
|
+
tags: ["geoengineering", "SAI", "mid-latitude", "CESM2-WACCM", "G6-1.5K-SAI", "feedback-control"]
|
|
363
|
+
|
|
364
|
+
e3smv3_g6_1p5k_sai:
|
|
365
|
+
driver: zarr
|
|
366
|
+
description: "E3SMv3 G6-1.5K-SAI: SAI 30°N/S injection at 21km to hold global mean temperature to 1.5K"
|
|
367
|
+
args:
|
|
368
|
+
urlpath: "s3://reflective-persistent-prod-large/E3SMv3/G6-1.5K-SAI/{{ensemble_member}}/{{table}}/{{variable}}.zarr"
|
|
369
|
+
consolidated: true
|
|
370
|
+
storage_options:
|
|
371
|
+
anon: false
|
|
372
|
+
parameters:
|
|
373
|
+
ensemble_member:
|
|
374
|
+
description: "Ensemble member identifier"
|
|
375
|
+
type: str
|
|
376
|
+
default: "r1i1p1f1"
|
|
377
|
+
table:
|
|
378
|
+
description: "CMIP6 table (Amon, Lmon, Omon, day, etc.)"
|
|
379
|
+
type: str
|
|
380
|
+
default: "Aday"
|
|
381
|
+
variable:
|
|
382
|
+
description: "Climate variable name"
|
|
383
|
+
type: str
|
|
384
|
+
default: "tas"
|
|
385
|
+
metadata:
|
|
386
|
+
model: "E3SMv3"
|
|
387
|
+
experiment: "G6-1.5K-SAI"
|
|
388
|
+
experiment_id: "g6-1.5k-sai"
|
|
389
|
+
injection_strategy: "30°N/S at 21km"
|
|
390
|
+
feedback_control: true
|
|
391
|
+
years: "2035-2085"
|
|
392
|
+
reference_scenario: "SSP2-4.5"
|
|
393
|
+
temperature_target: "1.5K"
|
|
394
|
+
grid_notes: "Unstructured grid - see /maps/README"
|
|
395
|
+
variables_status: "TBD"
|
|
396
|
+
paper: "https://egusphere.copernicus.org/preprints/2025/egusphere-2025-5742/"
|
|
397
|
+
documentation: "to be added"
|
|
398
|
+
hosted_on: "coming soon on AWS (CarbonPlan for some variables, many to be added to our cloudhub)"
|
|
399
|
+
s3_bucket: "s3://reflective-persistent-prod-large"
|
|
400
|
+
status: "coming_soon"
|
|
401
|
+
tags: ["geoengineering", "SAI", "mid-latitude", "E3SMv3", "G6-1.5K-SAI", "unstructured-grid", "feedback-control"]
|
|
402
|
+
|
|
403
|
+
miroc_g6_1p5k_sai:
|
|
404
|
+
driver: netcdf
|
|
405
|
+
description: "MIROC G6-1.5K-SAI: SAI with 30°N/S injection at 21km to hold global mean temperature to 1.5K"
|
|
406
|
+
args:
|
|
407
|
+
urlpath: "s3://reflective-persistent-prod-large/MIROC-ES2H/G6-1.5K-SAI/{{table}}/{{variable}}_G6-1.5K-SAI_*.nc"
|
|
408
|
+
combine: by_coords
|
|
409
|
+
xarray_kwargs:
|
|
410
|
+
engine: netcdf4
|
|
411
|
+
parameters:
|
|
412
|
+
table:
|
|
413
|
+
description: "CMIP6 table (Mon, MAM3, day, etc.)"
|
|
414
|
+
type: str
|
|
415
|
+
default: "day"
|
|
416
|
+
variable:
|
|
417
|
+
description: "Climate variable name"
|
|
418
|
+
type: str
|
|
419
|
+
default: "tas"
|
|
420
|
+
metadata:
|
|
421
|
+
model: "MIROC"
|
|
422
|
+
experiment: "G6-1.5K-SAI"
|
|
423
|
+
experiment_id: "g6-1.5k-sai"
|
|
424
|
+
injection_strategy: "30°N/S at 21km"
|
|
425
|
+
feedback_control: true
|
|
426
|
+
years: "2035-2085"
|
|
427
|
+
temperature_target: "1.5K"
|
|
428
|
+
hosted_on: "AWS (cloudhub)"
|
|
429
|
+
s3_bucket: "s3://reflective-persistent-prod-large"
|
|
430
|
+
tags: ["geoengineering", "SAI", "mid-latitude", "MIROC", "G6-1.5K-SAI", "feedback-control"]
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
# ============================================================================
|
|
434
|
+
# GAUSS Experiments
|
|
435
|
+
# Various injection strategies with different temperature targets
|
|
436
|
+
# ============================================================================
|
|
437
|
+
|
|
438
|
+
## TO DO - fix paths for GAUSS data - structure is different
|
|
439
|
+
cesm2_waccm6_gauss_historical:
|
|
440
|
+
driver: zarr
|
|
441
|
+
description: "CESM2-WACCM GAUSS: Various SAI simulations with multiple injection strategies and temperature targets"
|
|
442
|
+
args:
|
|
443
|
+
urlpath: "s3://reflective-persistent-prod/gauss/{{variable}}/historical/{{variable}}.zarr"
|
|
444
|
+
consolidated: true
|
|
445
|
+
storage_options:
|
|
446
|
+
anon: false
|
|
447
|
+
parameters:
|
|
448
|
+
ensemble_member:
|
|
449
|
+
description: "Ensemble member identifier (includes strategy info)"
|
|
450
|
+
type: str
|
|
451
|
+
default: "r1i1p1f1"
|
|
452
|
+
table:
|
|
453
|
+
description: "CMIP6 table (Amon, Lmon, Omon, day, etc.)"
|
|
454
|
+
type: str
|
|
455
|
+
default: "Aday"
|
|
456
|
+
variable:
|
|
457
|
+
description: "Climate variable name"
|
|
458
|
+
type: str
|
|
459
|
+
default: "tas"
|
|
460
|
+
metadata:
|
|
461
|
+
model: "CESM2-WACCM"
|
|
462
|
+
experiment: "GAUSS"
|
|
463
|
+
experiment_id: "gauss"
|
|
464
|
+
injection_strategies: ["30°N/S and 15°N/S at 21km (multi-objective)", "60°N/S", "30°N/S", "15°N/S", "Equatorial"]
|
|
465
|
+
single_point_strategies: "12 Tg-SO2 for 35 years at 60, 45, 30, 15 N/S and equator"
|
|
466
|
+
feedback_control: "Yes (for feedback strategies) / No (for single point)"
|
|
467
|
+
control_targets: "GMT (for 60, 30, 15, Eq), GMT + hemispheric temp diff + pole-equator gradient (for multi-objective)"
|
|
468
|
+
temperature_targets: ["1.5°C (multi-objective)", "1.0°C (multi-objective and other strategies)", "0.5°C (multi-objective)"]
|
|
469
|
+
years: "2035-2070"
|
|
470
|
+
reference_scenario: "SSP2-4.5"
|
|
471
|
+
variables_location: "many on GLOBUS"
|
|
472
|
+
papers:
|
|
473
|
+
- "https://www.pnas.org/doi/10.1073/pnas.2202230119 (different scenarios)"
|
|
474
|
+
- "https://acp.copernicus.org/articles/23/663/2023/ (single point injections)"
|
|
475
|
+
- "https://esd.copernicus.org/articles/15/191/2024/ (different injection strategies)"
|
|
476
|
+
documentation: "https://reflectivecloud.github.io/Book/Resources/GAUSS/GAUSS_intro.html"
|
|
477
|
+
hosted_on: "AWS (cloudhub)"
|
|
478
|
+
s3_bucket: "s3://reflective-persistent-prod-large"
|
|
479
|
+
tags: ["geoengineering", "SAI", "GAUSS", "CESM2-WACCM", "multi-strategy", "multi-target", "feedback-control"]
|
|
480
|
+
|
|
481
|
+
# ============================================================================
|
|
482
|
+
# ARISE-SAI Experiments
|
|
483
|
+
# Multi-objective feedback control (GMT, hemispheric temp diff, pole-equator gradient)
|
|
484
|
+
# ============================================================================
|
|
485
|
+
|
|
486
|
+
arise_15_cesm2_waccm_ssp245:
|
|
487
|
+
driver: netcdf
|
|
488
|
+
description: "ARISE-SAI 1.5°C: SAI at 30°N/S and 15°N/S (21km) with multi-objective feedback control"
|
|
489
|
+
args:
|
|
490
|
+
urlpath:
|
|
491
|
+
- "s3://ncar-cesm2-arise/CESM2-WACCM-SSP245/b.e21.BWSSP245cmip6.f09_g17.CMIP6-SSP2-4.5-WACCM.{{member_id}}/{{realm}}/proc/tseries/{{time_frequency}}/b.e21.BWSSP245cmip6.f09_g17.CMIP6-SSP2-4.5-WACCM.{{member_id}}.cam.h0.{{variable}}.201501-206412.nc"
|
|
492
|
+
- "s3://ncar-cesm2-arise/CESM2-WACCM-SSP245/b.e21.BWSSP245cmip6.f09_g17.CMIP6-SSP2-4.5-WACCM.{{member_id}}/{{realm}}/proc/tseries/{{time_frequency}}/b.e21.BWSSP245cmip6.f09_g17.CMIP6-SSP2-4.5-WACCM.{{member_id}}.cam.h0.{{variable}}.206501-210012.nc"
|
|
493
|
+
combine: "nested"
|
|
494
|
+
concat_dim: "time"
|
|
495
|
+
xarray_kwargs:
|
|
496
|
+
engine: h5netcdf
|
|
497
|
+
data_vars: minimal
|
|
498
|
+
coords: minimal
|
|
499
|
+
storage_options:
|
|
500
|
+
anon: true
|
|
501
|
+
parameters:
|
|
502
|
+
member_id:
|
|
503
|
+
description: "Member identifier"
|
|
504
|
+
type: str
|
|
505
|
+
default: "001"
|
|
506
|
+
realm:
|
|
507
|
+
description: "Model realm (atm, glc, ice, lnd, ocn, rof)"
|
|
508
|
+
type: str
|
|
509
|
+
default: "atm"
|
|
510
|
+
time_frequency:
|
|
511
|
+
description: "Time frequency identifier"
|
|
512
|
+
type: str
|
|
513
|
+
default: "month_1"
|
|
514
|
+
variable:
|
|
515
|
+
description: "Climate variable name"
|
|
516
|
+
type: str
|
|
517
|
+
default: "TREFHT"
|
|
518
|
+
|
|
519
|
+
arise_sai_15:
|
|
520
|
+
driver: netcdf
|
|
521
|
+
description: "CESM2-WACCM ARISE-SAI: SAI at 30°N/S and 15°N/S (21km) with multi-objective feedback control"
|
|
522
|
+
args:
|
|
523
|
+
urlpath: "s3://ncar-cesm2-arise/ARISE-SAI-1.5/b.e21.BW.f09_g17.SSP245-TSMLT-GAUSS-DEFAULT.{{member_id}}/{{realm}}/proc/tseries/{{time_frequency}}/b.e21.BW.f09_g17.SSP245-TSMLT-GAUSS-DEFAULT.{{member_id}}.cam.h0.{{variable}}.*"
|
|
524
|
+
consolidated: true
|
|
525
|
+
storage_options:
|
|
526
|
+
anon: true
|
|
527
|
+
parameters:
|
|
528
|
+
member_id:
|
|
529
|
+
description: "Member identifier"
|
|
530
|
+
type: str
|
|
531
|
+
default: "001"
|
|
532
|
+
allowed: ["001","002", "003", "004", "005", "006", "007", "008", "009", "010"]
|
|
533
|
+
time_frequency:
|
|
534
|
+
description: "Time frequency identifier"
|
|
535
|
+
type: str
|
|
536
|
+
default: "day_5"
|
|
537
|
+
allowed: ["month_1", "day_1", "day_5", "hour_1","year_1"]
|
|
538
|
+
realm:
|
|
539
|
+
description: "Model realm (atm, glc, ice, lnd, ocn, rof)"
|
|
540
|
+
type: str
|
|
541
|
+
default: "atm"
|
|
542
|
+
allowed: ["atm", "glc", "ice", "lnd", "ocn", "rof"]
|
|
543
|
+
variable:
|
|
544
|
+
description: "Climate variable name"
|
|
545
|
+
type: str
|
|
546
|
+
default: "TREFHT"
|
|
547
|
+
metadata:
|
|
548
|
+
model: "CESM2-WACCM"
|
|
549
|
+
experiment: "ARISE-SAI"
|
|
550
|
+
experiment_id: "arise-sai"
|
|
551
|
+
injection_strategy: "30°N/S and 15°N/S at 21km"
|
|
552
|
+
feedback_control: true
|
|
553
|
+
control_targets: ["global mean temperature", "interhemispheric temperature difference", "equator-to-pole gradient"]
|
|
554
|
+
target_conditions: "values at 1.5°C above pre-industrial"
|
|
555
|
+
years: "2035-2070"
|
|
556
|
+
reference_scenario: "SSP2-4.5"
|
|
557
|
+
variables_index: "https://met-office-ukesm1-arise.s3.amazonaws.com/index.html"
|
|
558
|
+
paper: "https://gmd.copernicus.org/articles/15/8221/2022/"
|
|
559
|
+
documentation: "https://reflectivecloud.github.io/Book/Resources/AWS_ARISE/AWS_ARISE_intro.html"
|
|
560
|
+
hosted_on: "AWS, external - https://registry.opendata.aws/ncar-cesm2-arise/"
|
|
561
|
+
data_access: "public"
|
|
562
|
+
tags: ["geoengineering", "SAI", "ARISE", "CESM2-WACCM", "multi-objective", "feedback-control", "public"]
|
|
563
|
+
|
|
564
|
+
ukesm1_arise_sai:
|
|
565
|
+
driver: netcdf
|
|
566
|
+
description: "UKESM1.0 ARISE-SAI: SAI at 30°N/S and 15°N/S (21km) with multi-objective feedback control"
|
|
567
|
+
args:
|
|
568
|
+
urlpath: "s3://met-office-ukesm1-arise/ARISE/ARISE/MOHC/UKESM1-0-LL/arise-sai-1p5/{{member_id}}/{{table_id}}/{{variable}}/gn/v20220325/*"
|
|
569
|
+
consolidated: true
|
|
570
|
+
storage_options:
|
|
571
|
+
anon: true
|
|
572
|
+
parameters:
|
|
573
|
+
variable:
|
|
574
|
+
description: "Climate variable name"
|
|
575
|
+
type: str
|
|
576
|
+
default: "tas"
|
|
577
|
+
member_id:
|
|
578
|
+
description: "Member identifier"
|
|
579
|
+
type: str
|
|
580
|
+
default: "r1i1p1f2"
|
|
581
|
+
allowed: ["r1i1p1f2","r2i1p1f2", "r3i1p1f2", "r4i1p1f2", "r8i1p1f2"]
|
|
582
|
+
table_id:
|
|
583
|
+
description: "CMIP6 table ID (e.g., day, Amon, Omon)"
|
|
584
|
+
type: str
|
|
585
|
+
default: "day"
|
|
586
|
+
metadata:
|
|
587
|
+
model: "UKESM1.0"
|
|
588
|
+
experiment: "ARISE-SAI"
|
|
589
|
+
experiment_id: "arise-sai"
|
|
590
|
+
injection_strategy: "30°N/S and 15°N/S at 21km"
|
|
591
|
+
feedback_control: true
|
|
592
|
+
control_targets: ["global mean temperature", "interhemispheric temperature difference", "equator-to-pole gradient"]
|
|
593
|
+
target_conditions: "values at 1.5°C above pre-industrial"
|
|
594
|
+
years: "2035-2070"
|
|
595
|
+
reference_scenario: "SSP2-4.5 (in UKESM1.0 - not the version on cloud hub)"
|
|
596
|
+
s3_example: "aws s3 ls --no-sign-request s3://ncar-cesm2-arise/"
|
|
597
|
+
paper: "https://acp.copernicus.org/articles/23/13369/2023/"
|
|
598
|
+
documentation: "https://reflectivecloud.github.io/Book/Resources/AWS_ARISE/AWS_ARISE_intro.html"
|
|
599
|
+
hosted_on: "AWS, external - https://registry.opendata.aws/met-office-ukesm1-arise/"
|
|
600
|
+
data_access: "public"
|
|
601
|
+
tags: ["geoengineering", "SAI", "ARISE", "UKESM1.0", "multi-objective", "feedback-control", "public"]
|
|
602
|
+
|
|
603
|
+
ukesm1_arise_cmip6:
|
|
604
|
+
driver: netcdf
|
|
605
|
+
description: "UKESM1.0 ARISE-SAI: SAI at 30°N/S and 15°N/S (21km) with multi-objective feedback control"
|
|
606
|
+
args:
|
|
607
|
+
urlpath: "s3://met-office-ukesm1-arise/CMIP6/ScenarioMIP/MOHC/UKESM1-0-LL/ssp245/{{member_id}}/{{table_id}}/{{variable}}/gn/{{version}}/*"
|
|
608
|
+
consolidated: true
|
|
609
|
+
storage_options:
|
|
610
|
+
anon: true
|
|
611
|
+
parameters:
|
|
612
|
+
member_id:
|
|
613
|
+
description: "Member identifier"
|
|
614
|
+
type: str
|
|
615
|
+
default: "r1i1p1f2"
|
|
616
|
+
allowed: ["r1i1p1f2","r2i1p1f2", "r3i1p1f2", "r4i1p1f2", "r8i1p1f2"]
|
|
617
|
+
table_id:
|
|
618
|
+
description: "CMIP6 table ID (e.g., day, Amon, Omon)"
|
|
619
|
+
type: str
|
|
620
|
+
default: "day"
|
|
621
|
+
variable:
|
|
622
|
+
description: "Climate variable name"
|
|
623
|
+
type: str
|
|
624
|
+
default: "tas"
|
|
625
|
+
version:
|
|
626
|
+
description: "Version identifier"
|
|
627
|
+
type: str
|
|
628
|
+
default: "v20220325"
|
|
629
|
+
metadata:
|
|
630
|
+
model: "UKESM1.0"
|
|
631
|
+
experiment: "CMIP6"
|
|
632
|
+
experiment_id: "cmip6"
|
|
633
|
+
injection_strategy: ""
|
|
634
|
+
feedback_control: true
|
|
635
|
+
control_targets: ["global mean temperature", "interhemispheric temperature difference", "equator-to-pole gradient"]
|
|
636
|
+
target_conditions: "values at 1.5°C above pre-industrial"
|
|
637
|
+
years: "2035-2070"
|
|
638
|
+
reference_scenario: "SSP2-4.5 (in UKESM1.0 - not the version on cloud hub)"
|
|
639
|
+
s3_example: "aws s3 ls --no-sign-request s3://met-office-ukesm1-arise/"
|
|
640
|
+
paper: "https://acp.copernicus.org/articles/23/13369/2023/"
|
|
641
|
+
documentation: "https://reflectivecloud.github.io/Book/Resources/AWS_ARISE/AWS_ARISE_intro.html"
|
|
642
|
+
hosted_on: "AWS, external - https://registry.opendata.aws/met-office-ukesm1-arise/"
|
|
643
|
+
data_access: "public"
|
|
644
|
+
tags: ["geoengineering", "SAI", "ARISE", "UKESM1.0", "multi-objective", "feedback-control", "public"]
|
|
645
|
+
|