Skip to content

Commit 2ba268f

Browse files
committed
Add SSP370 case + fixes + "diagnose" Gammas
1 parent c37203d commit 2ba268f

9 files changed

+85
-58
lines changed

scripts/archive_unarchived_CMIP6_ACCESS_GM_files.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ module load python3/3.12.1
2727
model=ACCESS-ESM1-5
2828
# model=ACCESS-CM2
2929

30-
experiment=historical
31-
members=("HI-33","HI-34","HI-35","HI-36")
32-
decade_start=1850
33-
decade_end=2020
34-
# experiment=ssp370
35-
# members=("SSP-370-39","SSP-370-40","SSP-370-41","SSP-370-42","SSP-370-43","SSP-370-44")
36-
# decade_start=2010
37-
# decade_end=2100
30+
# experiment=historical
31+
# members=("HI-06","HI-33","HI-34","HI-35","HI-36")
32+
# decade_start=1850
33+
# decade_end=2020
34+
experiment=ssp370
35+
members=("SSP-370-31","SSP-370-32","SSP-370-33","SSP-370-34","SSP-370-35","SSP-370-36","SSP-370-37","SSP-370-38","SSP-370-39","SSP-370-40","SSP-370-41","SSP-370-42","SSP-370-43","SSP-370-44")
36+
decade_start=2010
37+
decade_end=2100
3838

3939

4040
echo "Running transport-state script"

scripts/average_unarchived_CMIP6_ACCESS_GM_variables.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,14 @@ def time_window_strings(year_start, num_years):
6161
def CMIP6_member(member):
6262
return f'r{member}i1p1f1'
6363

64-
def CSIRO_member(member):
65-
return f'HI-{member+4:02d}' # note the +4!
64+
def CSIRO_experiment(experiment):
65+
if experiment == 'historical':
66+
return 'HI'
67+
else:
68+
return 'SSP-370'
69+
70+
def CSIRO_member(experiment, member):
71+
return f'{CSIRO_experiment(experiment)}-{member+4:02d}' # note the +4!
6672

6773
def open_my_dataset(paths):
6874
ds = xr.open_mfdataset(
@@ -109,10 +115,10 @@ def open_my_dataset(paths):
109115
for member in members:
110116

111117
# print ensemble/member
112-
print(f"\nProcessing {CSIRO_member(member)} as {CMIP6_member(member)}")
118+
print(f"\nProcessing {CSIRO_member(experiment, member)} as {CMIP6_member(member)}")
113119

114120
# directory to save the data to (as NetCDF)
115-
inputdir = f'{gdatadatadir}/{model}/{experiment}/{CSIRO_member(member)}'
121+
inputdir = f'{gdatadatadir}/{model}/{experiment}/{CSIRO_member(experiment, member)}'
116122
outputdir = f'{scratchdatadir}/{model}/{experiment}/{CMIP6_member(member)}/{start_time_str}-{end_time_str}'
117123
print("Creating directory: ", outputdir)
118124
os.makedirs(outputdir, exist_ok=True)
@@ -132,7 +138,7 @@ def open_my_dataset(paths):
132138
print(" saving to: ", f'{outputdir}/tx_trans_gm.nc')
133139
tx_trans_gm.to_netcdf(f'{outputdir}/tx_trans_gm.nc', compute=True)
134140
except Exception:
135-
print(f'Error processing {model} {CSIRO_member(member)}/{CMIP6_member(member)} tx_trans_gm')
141+
print(f'Error processing {model} {CSIRO_member(experiment, member)}/{CMIP6_member(member)} tx_trans_gm')
136142
print(traceback.format_exc())
137143

138144
# ty_trans_gm
@@ -148,7 +154,7 @@ def open_my_dataset(paths):
148154
print(" saving to: ", f'{outputdir}/ty_trans_gm.nc')
149155
ty_trans_gm.to_netcdf(f'{outputdir}/ty_trans_gm.nc', compute=True)
150156
except Exception:
151-
print(f'Error processing {model} {CSIRO_member(member)}/{CMIP6_member(member)} ty_trans_gm')
157+
print(f'Error processing {model} {CSIRO_member(experiment, member)}/{CMIP6_member(member)} ty_trans_gm')
152158
print(traceback.format_exc())
153159

154160
# tx_trans_submeso
@@ -164,7 +170,7 @@ def open_my_dataset(paths):
164170
print(" saving to: ", f'{outputdir}/tx_trans_submeso.nc')
165171
tx_trans_submeso.to_netcdf(f'{outputdir}/tx_trans_submeso.nc', compute=True)
166172
except Exception:
167-
print(f'Error processing {model} {CSIRO_member(member)}/{CMIP6_member(member)} tx_trans_submeso')
173+
print(f'Error processing {model} {CSIRO_member(experiment, member)}/{CMIP6_member(member)} tx_trans_submeso')
168174
print(traceback.format_exc())
169175

170176
# ty_trans_submeso
@@ -180,7 +186,7 @@ def open_my_dataset(paths):
180186
print(" saving to: ", f'{outputdir}/ty_trans_submeso.nc')
181187
ty_trans_submeso.to_netcdf(f'{outputdir}/ty_trans_submeso.nc', compute=True)
182188
except Exception:
183-
print(f'Error processing {model} {CSIRO_member(member)}/{CMIP6_member(member)} ty_trans_submeso')
189+
print(f'Error processing {model} {CSIRO_member(experiment, member)}/{CMIP6_member(member)} ty_trans_submeso')
184190
print(traceback.format_exc())
185191

186192
client.close()

scripts/cyclo_average_CMIP6_ACCESS_variables.sh

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,18 @@ module load python3/3.12.1
2626
# CHANGE HERE the model, experiment, ensemble, etc.
2727
model=ACCESS-ESM1-5
2828
# model=ACCESS-CM2
29-
experiment=historical
29+
# experiment=historical
30+
experiment=ssp370
3031
ensemble=r1i1p1f1 # <- note that this is not used in the script
31-
year_start=1990
32+
# year_start=1990
33+
# year_start=1850
34+
year_start=2090
3235
num_years=10
3336
lumpby=month
3437
# lumpby=season
3538

3639
echo "Running transport-state script"
3740
python scripts/cyclo_average_CMIP6_ACCESS_variables.py $model $experiment $ensemble $year_start $num_years $lumpby \
38-
&> output/cyclo.$lumpby.$PBS_JOBID.$model.$experiment.allensembles.$year_start.$num_years.out
41+
&> output/cyclo_average_CMIP6_ACCESS_variables.$model.$experiment.$year_start.$num_years.$PBS_JOBID.out
3942

4043

scripts/cyclo_average_unarchived_CMIP6_ACCESS_GM_variables.py

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,15 @@ def time_window_strings(year_start, num_years):
6868
def CMIP6_member(member):
6969
return f'r{member}i1p1f1'
7070

71-
def CSIRO_member(member):
72-
return f'HI-{member+4:02d}' # note the +4!
71+
def CSIRO_experiment(experiment):
72+
if experiment == 'historical':
73+
return 'HI'
74+
else:
75+
return 'SSP-370'
76+
77+
def CSIRO_member(experiment, member):
78+
return f'{CSIRO_experiment(experiment)}-{member+4:02d}' # note the +4!
79+
7380

7481
def open_my_dataset(paths):
7582
ds = xr.open_mfdataset(
@@ -138,8 +145,8 @@ def climatology(ds, lumpby):
138145
decades = range(decade_start, year_start + num_years, 10)
139146

140147
# Members to loop through
141-
# members = range(1, 41)
142-
members = range(1, 9)
148+
members = range(1, 41)
149+
# members = range(1, 9)
143150
# members = range(9, 41)
144151
# members = [1, 3, 4, 5, 6, 7, 8]
145152
# members = [1, 3, 4]
@@ -155,10 +162,10 @@ def climatology(ds, lumpby):
155162
for member in members:
156163

157164
# print ensemble/member
158-
print(f"\nProcessing {CSIRO_member(member)} as {CMIP6_member(member)}")
165+
print(f"\nProcessing {CSIRO_member(experiment, member)} as {CMIP6_member(member)}")
159166

160167
# directory to save the data to (as NetCDF)
161-
inputdir = f'{gdatadatadir}/{model}/{experiment}/{CSIRO_member(member)}'
168+
inputdir = f'{gdatadatadir}/{model}/{experiment}/{CSIRO_member(experiment, member)}'
162169
outputdir = f'{scratchdatadir}/{model}/{experiment}/{CMIP6_member(member)}/{start_time_str}-{end_time_str}/cyclo{lumpby}'
163170
print("Creating directory: ", outputdir)
164171
os.makedirs(outputdir, exist_ok=True)
@@ -178,7 +185,7 @@ def climatology(ds, lumpby):
178185
print(" saving to: ", f'{outputdir}/tx_trans_gm.nc')
179186
tx_trans_gm.to_dataset(name='tx_trans_gm').to_netcdf(f'{outputdir}/tx_trans_gm.nc', compute=True)
180187
except Exception:
181-
print(f'Error processing {model} {CSIRO_member(member)}/{CMIP6_member(member)} tx_trans_gm')
188+
print(f'Error processing {model} {CSIRO_member(experiment, member)}/{CMIP6_member(member)} tx_trans_gm')
182189
print(traceback.format_exc())
183190

184191
# ty_trans_gm
@@ -194,7 +201,7 @@ def climatology(ds, lumpby):
194201
print(" saving to: ", f'{outputdir}/ty_trans_gm.nc')
195202
ty_trans_gm.to_dataset(name='ty_trans_gm').to_netcdf(f'{outputdir}/ty_trans_gm.nc', compute=True)
196203
except Exception:
197-
print(f'Error processing {model} {CSIRO_member(member)}/{CMIP6_member(member)} ty_trans_gm')
204+
print(f'Error processing {model} {CSIRO_member(experiment, member)}/{CMIP6_member(member)} ty_trans_gm')
198205
print(traceback.format_exc())
199206

200207
# tx_trans_submeso
@@ -210,7 +217,7 @@ def climatology(ds, lumpby):
210217
print(" saving to: ", f'{outputdir}/tx_trans_submeso.nc')
211218
tx_trans_submeso.to_dataset(name='tx_trans_submeso').to_netcdf(f'{outputdir}/tx_trans_submeso.nc', compute=True)
212219
except Exception:
213-
print(f'Error processing {model} {CSIRO_member(member)}/{CMIP6_member(member)} tx_trans_submeso')
220+
print(f'Error processing {model} {CSIRO_member(experiment, member)}/{CMIP6_member(member)} tx_trans_submeso')
214221
print(traceback.format_exc())
215222

216223
# ty_trans_submeso
@@ -226,7 +233,7 @@ def climatology(ds, lumpby):
226233
print(" saving to: ", f'{outputdir}/ty_trans_submeso.nc')
227234
ty_trans_submeso.to_dataset(name='ty_trans_submeso').to_netcdf(f'{outputdir}/ty_trans_submeso.nc', compute=True)
228235
except Exception:
229-
print(f'Error processing {model} {CSIRO_member(member)}/{CMIP6_member(member)} ty_trans_submeso')
236+
print(f'Error processing {model} {CSIRO_member(experiment, member)}/{CMIP6_member(member)} ty_trans_submeso')
230237
print(traceback.format_exc())
231238

232239
client.close()

scripts/cyclo_average_unarchived_CMIP6_ACCESS_GM_variables.sh

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,18 @@ module load python3/3.12.1
2626
# CHANGE HERE the model, experiment, ensemble, etc.
2727
model=ACCESS-ESM1-5
2828
# model=ACCESS-CM2
29-
experiment=historical
30-
year_start=1990
29+
# experiment=historical
30+
experiment=ssp370
31+
# year_start=1990
32+
# year_start=1850
33+
year_start=2090
3134
num_years=10
3235
lumpby=month
3336
# lumpby=season
3437

3538

3639
echo "Running transport-state script"
3740
python scripts/cyclo_average_unarchived_CMIP6_ACCESS_GM_variables.py $model $experiment $year_start $num_years $lumpby \
38-
&> output/cyclo.$PBS_JOBID.average.$model.$experiment.datafromTilo.$year_start.$num_years.out
41+
&> output/cyclo_average_unarchived_CMIP6_ACCESS_GM_variables.$model.$experiment.$year_start.$num_years.$PBS_JOBID.out
3942

4043

scripts/diagnose_cyclo_age.py

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -141,21 +141,25 @@ def open_my_dataset(paths):
141141
age = age_ds.age
142142
print("\nage: ", age)
143143

144-
age_mean = age.mean(dim = ["Ti", "member"])
145-
print("\nage_mean: ", age_mean)
146-
age_mean.to_dataset(name = 'age_mean').to_netcdf(f'{outputdir}/age_mean.nc', compute = True)
144+
age_timemean = age.mean(dim = ["Ti"])
145+
print("\nage_timemean: ", age_timemean)
146+
age_timemean.to_dataset(name = 'age_timemean').to_netcdf(f'{outputdir}/age_timemean.nc', compute = True)
147147

148-
age_std = age.std(dim = ["Ti", "member"])
149-
print("\nage_std: ", age_std)
150-
age_std.to_dataset(name = 'age_std').to_netcdf(f'{outputdir}/age_std.nc', compute = True)
148+
age_ensemblemean = age_timemean.mean(dim = ["member"])
149+
print("\nage_ensemblemean: ", age_ensemblemean)
150+
age_ensemblemean.to_dataset(name = 'age_ensemblemean').to_netcdf(f'{outputdir}/age_ensemblemean.nc', compute = True)
151151

152-
age_max = age.max(dim = ["Ti", "member"])
153-
print("\nage_max: ", age_max)
154-
age_max.to_dataset(name = 'age_max').to_netcdf(f'{outputdir}/age_max.nc', compute = True)
152+
age_ensemblestd = age_timemean.std(dim = ["member"])
153+
print("\nage_ensemblestd: ", age_ensemblestd)
154+
age_ensemblestd.to_dataset(name = 'age_ensemblestd').to_netcdf(f'{outputdir}/age_ensemblestd.nc', compute = True)
155155

156-
age_min = age.min(dim = ["Ti", "member"])
157-
print("\nage_min: ", age_min)
158-
age_min.to_dataset(name = 'age_min').to_netcdf(f'{outputdir}/age_min.nc', compute = True)
156+
age_ensemblemax = age_timemean.max(dim = ["member"])
157+
print("\nage_ensemblemax: ", age_ensemblemax)
158+
age_ensemblemax.to_dataset(name = 'age_ensemblemax').to_netcdf(f'{outputdir}/age_ensemblemax.nc', compute = True)
159+
160+
age_ensemblemin = age_timemean.min(dim = ["member"])
161+
print("\nage_ensemblemin: ", age_ensemblemin)
162+
age_ensemblemin.to_dataset(name = 'age_ensemblemin').to_netcdf(f'{outputdir}/age_ensemblemin.nc', compute = True)
159163

160164

161165

scripts/diagnose_cyclo_age.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22

33
#PBS -P xv83
4-
#PBS -N diagnoseGammas
4+
#PBS -N diagnose_age
55
#PBS -l ncpus=48
66
#PBS -l mem=180GB
77
#PBS -l jobfs=4GB

scripts/diagnose_cyclo_reemergence.py

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -141,21 +141,25 @@ def open_my_dataset(paths):
141141
adjointage = adjointage_ds.adjointage
142142
print("\nadjointage: ", adjointage)
143143

144-
adjointage_mean = adjointage.mean(dim = ["Ti", "member"])
145-
print("\nadjointage_mean: ", adjointage_mean)
146-
adjointage_mean.to_dataset(name = 'adjointage_mean').to_netcdf(f'{outputdir}/adjointage_mean.nc', compute = True)
144+
adjointage_timemean = adjointage.mean(dim = ["Ti"])
145+
print("\nadjointage_timemean: ", adjointage_timemean)
146+
adjointage_timemean.to_dataset(name = 'adjointage_timemean').to_netcdf(f'{outputdir}/adjointage_timemean.nc', compute = True)
147147

148-
adjointage_std = adjointage.std(dim = ["Ti", "member"])
149-
print("\nadjointage_std: ", adjointage_std)
150-
adjointage_std.to_dataset(name = 'adjointage_std').to_netcdf(f'{outputdir}/adjointage_std.nc', compute = True)
148+
adjointage_ensemblemean = adjointage_timemean.mean(dim = ["member"])
149+
print("\nadjointage_ensemblemean: ", adjointage_ensemblemean)
150+
adjointage_ensemblemean.to_dataset(name = 'adjointage_ensemblemean').to_netcdf(f'{outputdir}/adjointage_ensemblemean.nc', compute = True)
151151

152-
adjointage_max = adjointage.max(dim = ["Ti", "member"])
153-
print("\nadjointage_max: ", adjointage_max)
154-
adjointage_max.to_dataset(name = 'adjointage_max').to_netcdf(f'{outputdir}/adjointage_max.nc', compute = True)
152+
adjointage_ensemblestd = adjointage_timemean.std(dim = ["member"])
153+
print("\nadjointage_ensemblestd: ", adjointage_ensemblestd)
154+
adjointage_ensemblestd.to_dataset(name = 'adjointage_ensemblestd').to_netcdf(f'{outputdir}/adjointage_ensemblestd.nc', compute = True)
155155

156-
adjointage_min = adjointage.min(dim = ["Ti", "member"])
157-
print("\nadjointage_min: ", adjointage_min)
158-
adjointage_min.to_dataset(name = 'adjointage_min').to_netcdf(f'{outputdir}/adjointage_min.nc', compute = True)
156+
adjointage_ensemblemax = adjointage_timemean.max(dim = ["member"])
157+
print("\nadjointage_ensemblemax: ", adjointage_ensemblemax)
158+
adjointage_ensemblemax.to_dataset(name = 'adjointage_ensemblemax').to_netcdf(f'{outputdir}/adjointage_ensemblemax.nc', compute = True)
159+
160+
adjointage_ensemblemin = adjointage_timemean.min(dim = ["member"])
161+
print("\nadjointage_ensemblemin: ", adjointage_ensemblemin)
162+
adjointage_ensemblemin.to_dataset(name = 'adjointage_ensemblemin').to_netcdf(f'{outputdir}/adjointage_ensemblemin.nc', compute = True)
159163

160164

161165

scripts/diagnose_cyclo_reemergence.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22

33
#PBS -P xv83
4-
#PBS -N diagnoseGammas
4+
#PBS -N diagnose_reemerg
55
#PBS -l ncpus=48
66
#PBS -l mem=180GB
77
#PBS -l jobfs=4GB

0 commit comments

Comments
 (0)