Skip to content

Commit 188ff78

Browse files
committed
Add entries
1 parent f418845 commit 188ff78

3 files changed

Lines changed: 102 additions & 27 deletions

File tree

activity/geomip.json

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
{
22
"@context": "000_context.jsonld",
3-
"type": "activity",
43
"id": "geomip",
5-
"name": "GeoMIP",
6-
"cmip_acronym": "GeoMIP",
7-
"long_name": "Geoengineering Model Intercomparison Project",
8-
"url": null,
4+
"type": "activity",
5+
"description": "Geoengineering model intercomparison project: exploration of the climate response to solar radiation manipulation.",
96
"drs_name": "GeoMIP"
10-
}
7+
}

experiment/g7-1p5k-sai.json

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,17 @@
22
"@context": "000_context.jsonld",
33
"id": "g7-1p5k-sai",
44
"type": "experiment",
5-
"experiment_id": "G7-1p5K-SAI",
6-
"activity_id": [
7-
"geomip"
5+
"description": "Stablisation of global-mean temperature at 1.5C by holding stratospheric sulfur forcing constant (at whatever level is required to achieve stable temperatures). The simulation generally branches from a scenario simulation at some point in the future.",
6+
"drs_name": "G7-1p5K-SAI",
7+
"activity": "geomip",
8+
"additional_allowed_model_components": [
9+
"aer",
10+
"chem",
11+
"bgc"
812
],
9-
"additional_allowed_model_components": [],
10-
"description": "Stratospheric aerosol injection to reduce warming to 1.5K \n Stratospheric aerosol injection to reduce warming to 1.5K above pre-industrial levels",
11-
"end_year": null,
12-
"experiment": "G7-1.5K-SAI",
13-
"min_number_yrs_per_sim": null,
14-
"parent_activity_id": [
15-
"no parent"
13+
"min_ensemble_size": 1,
14+
"required_model_components": [
15+
"aogcm"
1616
],
17-
"parent_experiment_id": [
18-
"no parent"
19-
],
20-
"required_model_components": [],
21-
"start_year": null,
22-
"sub_experiment_id": [
23-
"none"
24-
],
25-
"tier": 0,
26-
"drs_name": "G7-1p5K-SAI"
27-
}
17+
"tier": 1
18+
}

scripts/generate-experiments.py

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,11 @@ def initialise_activities(self) -> "Holder":
185185
experiments=[],
186186
urls=["https://doi.org/10.5194/gmd-18-4399-2025"],
187187
),
188+
ActivityProject(
189+
id="geomip",
190+
experiments=[],
191+
urls=["https://doi.org/10.5194/gmd-17-2583-2024"],
192+
),
188193
ActivityProject(
189194
id="pmip",
190195
experiments=[],
@@ -938,6 +943,87 @@ def add_scenario_entries(self) -> "Holder":
938943

939944
return self
940945

946+
def add_geomip_entries(self) -> "Holder":
947+
for (
948+
drs_name,
949+
description_univ,
950+
description_proj_to_format,
951+
base_scenario,
952+
start_year,
953+
) in (
954+
(
955+
# TODO: check if this is the desired drs_name
956+
"G7-1p5K-SAI",
957+
(
958+
"Stablisation of global-mean temperature at 1.5C "
959+
"by holding stratospheric sulfur forcing constant "
960+
# TODO: check - constant forcing may not lead to stable temperatures?!
961+
"(at whatever level is required to achieve stable temperatures). "
962+
"The simulation generally branches from a scenario simulation at some point in the future."
963+
),
964+
(
965+
"After following the `{scenario}` scenario until 2035, "
966+
"stablisation of global-mean temperature at 1.5C "
967+
"by holding stratospheric sulfur forcing constant "
968+
# TODO: check - constant forcing may not lead to stable temperatures?!
969+
"(at whatever level is required to achieve stable temperatures)."
970+
),
971+
"scen7-m",
972+
2035,
973+
),
974+
):
975+
description_proj = description_proj_to_format.format(scenario=base_scenario)
976+
start_timestamp = f"{start_year}-01-01"
977+
for exp_proj in self.experiments_project:
978+
if exp_proj.id == base_scenario:
979+
parent = exp_proj
980+
break
981+
else:
982+
raise AssertionError(base_scenario)
983+
984+
univ = ExperimentUniverse(
985+
drs_name=drs_name,
986+
description=description_univ,
987+
activity="geomip",
988+
additional_allowed_model_components=["aer", "chem", "bgc"],
989+
# Defined in project
990+
branch_information="dont_write",
991+
end_timestamp="dont_write",
992+
min_ensemble_size=1,
993+
# Defined in project
994+
min_number_yrs_per_sim="dont_write",
995+
parent_activity="dont_write",
996+
parent_experiment="dont_write",
997+
parent_mip_era="dont_write",
998+
required_model_components=["aogcm"],
999+
# Defined in project
1000+
start_timestamp="dont_write",
1001+
tier=1,
1002+
)
1003+
1004+
self.experiments_universe.append(univ)
1005+
1006+
proj = ExperimentProject(
1007+
id=univ.drs_name.lower(),
1008+
description=description_proj,
1009+
branch_information=f"Branch from the `{base_scenario}` simulation at the start of {start_year}.",
1010+
activity=univ.activity,
1011+
start_timestamp=start_timestamp,
1012+
end_timestamp=None,
1013+
# TODO: why only 50?!
1014+
min_number_yrs_per_sim=50,
1015+
min_ensemble_size=1,
1016+
parent_activity=parent.activity,
1017+
parent_experiment=parent.id,
1018+
parent_mip_era="cmip7",
1019+
tier=1,
1020+
)
1021+
self.experiments_project.append(proj)
1022+
1023+
self.add_experiment_to_activity(proj)
1024+
1025+
return self
1026+
9411027
def write_files(self, project_root: Path, universe_root: Path) -> None:
9421028
for experiment_project in self.experiments_project:
9431029
experiment_project.write_file(project_root)
@@ -1003,6 +1089,7 @@ def main():
10031089
holder.add_damip_entries()
10041090
holder.add_pmip_entries()
10051091
holder.add_scenario_entries()
1092+
holder.add_geomip_entries()
10061093

10071094
holder.write_files(project_root=project_root, universe_root=universe_root)
10081095

0 commit comments

Comments
 (0)