You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks for all your efforts with the ATLAS. I have a question about how you arrive at the values in your aggregated dataset. I have attempted to reproduce your values from CMIP6 data and don't arrive at the same numbers, it would be great to know if you have any idea why. The script I use is the below, all it does is read the data in (source files taken from the ESGF), then take an area-weighted mean.
importirisimportnumpyasnpSHOW_VALS=5K_TO_C=273.15cmip5_file="tas_Amon_ACCESS1-0_rcp45_r1i1p1_200601-201012.nc"print(f"CMIP5 example: {cmip5_file}")
tas=iris.load_cube(cmip5_file)
tas_raw_mean=tas.collapsed(["longitude", "latitude"], iris.analysis.MEAN)
print("raw mean (K): {}".format(tas_raw_mean.data[:SHOW_VALS]))
print("raw mean (degC): {}".format(tas_raw_mean.data[:SHOW_VALS] -K_TO_C))
tas_area_weighted_mean=tas.collapsed(
["longitude", "latitude"],
iris.analysis.MEAN,
weights=iris.analysis.cartography.area_weights(tas)
)
print("iris areas, area-weighted mean (K): {}".format(tas_area_weighted_mean.data[:SHOW_VALS]))
print("iris areas, area-weighted mean (degC): {}".format(tas_area_weighted_mean.data[:SHOW_VALS] -K_TO_C))
area_weights=iris.load_cube("areacella_fx_ACCESS1-0_rcp45_r0i0p0.nc")
tas_area_weighted_mean=tas.collapsed(
["longitude", "latitude"],
iris.analysis.MEAN,
weights=np.broadcast_to(area_weights.data, tas.data.shape)
)
print("ACCESS areas, area-weighted mean (K): {}".format(tas_area_weighted_mean.data[:SHOW_VALS]))
print("ACCESS areas, area-weighted mean (degC): {}".format(tas_area_weighted_mean.data[:SHOW_VALS] -K_TO_C))
cmip6_file="tas_Amon_MIROC-ES2L_ssp126_r1i1p1f2_gn_201501-210012.nc"print(f"CMIP6 example: {cmip6_file}")
tas=iris.load_cube(cmip6_file)
tas_raw_mean=tas.collapsed(["longitude", "latitude"], iris.analysis.MEAN)
print("raw mean (K): {}".format(tas_raw_mean.data[:SHOW_VALS]))
print("raw mean (degC): {}".format(tas_raw_mean.data[:SHOW_VALS] -K_TO_C))
tas_area_weighted_mean=tas.collapsed(
["longitude", "latitude"],
iris.analysis.MEAN,
weights=iris.analysis.cartography.area_weights(tas)
)
print("iris areas, area-weighted mean (K): {}".format(tas_area_weighted_mean.data[:SHOW_VALS]))
print("iris areas, area-weighted mean (degC): {}".format(tas_area_weighted_mean.data[:SHOW_VALS] -K_TO_C))
area_weights=iris.load_cube("areacella_fx_MIROC-ES2L_ssp126_r1i1p1f2_gn.nc")
tas_area_weighted_mean=tas.collapsed(
["longitude", "latitude"],
iris.analysis.MEAN,
weights=np.broadcast_to(area_weights.data, tas.data.shape)
)
print("MIROC-ES2L areas, area-weighted mean (K): {}".format(tas_area_weighted_mean.data[:SHOW_VALS]))
print("MIROC-ES2L areas, area-weighted mean (degC): {}".format(tas_area_weighted_mean.data[:SHOW_VALS] -K_TO_C))
If I run this script, I get
$ python compare_atlas_simple_check.py
CMIP5 example: tas_Amon_ACCESS1-0_rcp45_r1i1p1_200601-201012.nc
raw mean (K): [276.4684753417969 275.66357421875 275.80029296875 276.8258361816406
278.55279541015625]
raw mean (degC): [3.3184814453125 2.513580322265625 2.650299072265625 3.67584228515625
5.402801513671875]
iris areas, area-weighted mean (K): [285.52167953768986 285.6187406669899 286.48461306568055 287.3709760209917
288.40164308778714]
iris areas, area-weighted mean (degC): [12.371679537689886 12.468740666989902 13.334613065680571
14.220976020991714 15.251643087787158]
ACCESS areas, area-weighted mean (K): [285.52166748046875 285.61871337890625 286.4845886230469 287.3709411621094
288.4016418457031]
ACCESS areas, area-weighted mean (degC): [12.371673583984375 12.468719482421875 13.3345947265625 14.220947265625
15.25164794921875]
CMIP6 example: tas_Amon_MIROC-ES2L_ssp126_r1i1p1f2_gn_201501-210012.nc
raw mean (K): [280.04962158203125 279.3348388671875 279.257568359375 280.63916015625
282.047607421875]
raw mean (degC): [6.899627685546875 6.184844970703125 6.107574462890625 7.489166259765625
8.897613525390625]
iris areas, area-weighted mean (K): [287.44583487855414 287.6124896981895 288.3990031516224 289.4096341190363
290.3122343145591]
iris areas, area-weighted mean (degC): [14.29583487855416 14.462489698189529 15.249003151622446 16.25963411903632
17.1622343145591]
MIROC-ES2L areas, area-weighted mean (K): [287.44586181640625 287.61248779296875 288.3990173339844 289.4096374511719
290.312255859375]
MIROC-ES2L areas, area-weighted mean (degC): [14.295867919921875 14.462493896484375 15.2490234375 16.2596435546875
17.162261962890625]
This output doesn't agree with your datasets and I am puzzled about why. More specifically:
2006-01 value for rcp45 ACCESS1 r1i1p1, I get: 12.372, you report: 13.185
2006-02 value for rcp45 ACCESS1 r1i1p1, I get: 12.469, you report: 13.305
(the CMIP6 differences are much smaller so could be explained by re-gridding differences?)
2015-01 value for ssp126 MIROC-ES2L r1i1p1f2, I get: 14.296, you report: 14.276
2015-02 value for ssp126 MIROC-ES2L r1i1p1f2, I get: 14.462, you report: 14.439
The text was updated successfully, but these errors were encountered:
Hi znicholls,
As you have pointed out, I would say that the differences are explained by re-gridding differences. In any case, thanks for reporting and for the double check, we will perform further checks and let you know.
Hi there,
Thanks for all your efforts with the ATLAS. I have a question about how you arrive at the values in your aggregated dataset. I have attempted to reproduce your values from CMIP6 data and don't arrive at the same numbers, it would be great to know if you have any idea why. The script I use is the below, all it does is read the data in (source files taken from the ESGF), then take an area-weighted mean.
If I run this script, I get
This output doesn't agree with your datasets and I am puzzled about why. More specifically:
(the CMIP6 differences are much smaller so could be explained by re-gridding differences?)
The text was updated successfully, but these errors were encountered: