Three tables and a JSON file are provided containing effective climate sensitivity, effective 2xCO2 radiative forcing, and radiative feedbacks for all CMIP5 and CMIP6 models that have published output from abrupt CO2 quadrupling experiments. Two tables contain the "flagship" model variants for CMIP5 and CMIP6. These are typically but not always the 'r1i1p1' variant (CMIP5) or the 'r1i1p1f1' variant (CMIP6), and are updated from Tables S1 and S2 in Zelinka et al. (2020). Results from other model variants are contained in the third "non-flagship" table. All models and variants are contained in the single JSON file (see details below). Also provided is a figure showing Gregory plots for the CMIP6 models. Methdology is described in Zelinka et al. (2020), but the CMIP6 results are regularly updated as new models are published.
For each variant of each model, the following global mean values are provided:
Abbreviation | Description | Units |
---|---|---|
ECS | effective climate sensitivity | K |
ERF2x | 2xCO2 effective radiative forcing | Wm-2 |
PL | Planck feedback | Wm-2K-1 |
PL* | constant-RH Planck feedback | Wm-2K-1 |
LR | lapse rate feedback | Wm-2K-1 |
LR* | constant-RH lapse rate feedback | Wm-2K-1 |
WV | water vapor feedback | Wm-2K-1 |
RH | relative humidity feedback | Wm-2K-1 |
ALB | surface albedo feedback | Wm-2K-1 |
CLD | net cloud feedback | Wm-2K-1 |
SWCLD | shortwave cloud feedback | Wm-2K-1 |
LWCLD | longwave cloud feedback | Wm-2K-1 |
NET | net feedback | Wm-2K-1 |
ERR | kernel residual feedback | Wm-2K-1 |
The final two rows of the tables provide the multi-model average and standard deviation. Note:
- PL + LR + WV is equivalent to PL* + LR* + RH
- CLD = SWCLD + LWCLD
- ECS = -ERF2x/NET
Load in the file:
import json
f = open('cmip56_forcing_feedback_ecs.json','r')
data = json.load(f)
To display the dictionaries within the file, type:
data.keys()
which returns:
dict_keys(['CMIP5', 'CMIP6', 'metadata', 'provenance'])
There are 4 dictionaries: two containing the CMIP5 and CMIP6 data, one containing the metadata for the json file, and one containing provenance information pointing back to the original data that went into the analysis (mainly for my personal use).
To get a list of available CMIP6 models, type:
data['CMIP6'].keys()
To see which variants are available for CanESM5, type:
data['CMIP6']['CanESM5'].keys()
which returns
dict_keys(['r1i1p1f1', 'r1i1p2f1'])
To see the data from the r1i1p2f1 variant of CanESM5, type:
data['CMIP6']['CanESM5']['r1i1p2f1']
which returns
{'ALB': 0.4781269675709477,
'CLD': 0.792934477604314,
'ECS': 5.615875344692928,
'ERF2x': 3.639659171965616,
'ERR': 0.03790795336163966,
'LR': -0.589242644226542,
'LR*': -0.09003163619198515,
'LWCLD': 0.8111615864750927,
'NET': -0.6481018449608463,
'PL': -3.324746652302142,
'PL*': -1.9354660083835276,
'RH': 0.07050794199691038,
'SWCLD': -0.018227108870778348,
'WV': 1.9569180530309362}
Don't forget to close the file:
f.close()
Zelinka, M. D., T. A. Myers, D. T. McCoy, S. Po-Chedley, P. M. Caldwell, P. Ceppi, S. A. Klein, and K. E. Taylor, 2020: Causes of higher climate sensitivity in CMIP6 models, Geophys. Res. Lett., 47, doi:10.1029/2019GL085782.