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.
@@ -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
+