ca63a7c5210c4802817a3729e5972b5c

0. Data preparation for scenario analysis

f34ab694eaab48b799a34b75fe90a34b

Licensed under the MIT License.

This notebook is part of a repository to generate figures and analysis for the manuscript

Keywan Riahi, Christoph Bertram, Daniel Huppmann, et al.  Cost and attainability of meeting stringent climate targets without overshoot Nature Climate Change, 2021 doi: 10.1038/s41558-021-01215-2

The scenario data used in this analysis should be cited as

ENGAGE Global Scenarios (Version 2.0) doi: 10.5281/zenodo.5553976

The data can be accessed and downloaded via the ENGAGE Scenario Explorer at https://data.ece.iiasa.ac.at/engage. Please refer to thelicenseof the scenario ensemble before redistributing this data or adapted material.

The source code of this notebook is available on GitHub at https://github.com/iiasa/ENGAGE-netzero-analysis. A rendered version can be seen at https://data.ece.iiasa.ac.at/engage-netzero-analysis.

[1]:
from pathlib import Path
from pyam import IamDataFrame

Import the full scenario snapshot at the global and five-region resolution

[2]:
data_folder = Path("../data/")
source_folder = data_folder / "ENGAGE_2.0"
[3]:
all_data = IamDataFrame(source_folder / "ENGAGE_scenario_data_world_r2.0.csv")
pyam - INFO: Running in a notebook, setting up a basic logging at level INFO
pyam.core - INFO: Reading file ../data/ENGAGE_2.0/ENGAGE_scenario_data_world_r2.0.csv
[4]:
all_data.append(source_folder / "ENGAGE_scenario_data_r5_regions_r2.0.csv", inplace=True)
pyam.core - INFO: Reading file ../data/ENGAGE_2.0/ENGAGE_scenario_data_r5_regions_r2.0.csv

Downselect to the scenarios and variables relevant for this analysis

[5]:
df = all_data.filter(scenario=["*_COV*", "*_NDCp", "*_lowBECCS"], keep=False)
[6]:
df.filter(region="Other (R5)", keep=False, inplace=True)
[7]:
variable_list = [
    "Price|Carbon",
    "GDP|*",
    "AR5 climate diagnostics|Temperature|Exceedance Probability|1.0 degC|MAGICC6",
    "AR5 climate diagnostics|Temperature|Exceedance Probability|1.5 degC|MAGICC6",
    "AR5 climate diagnostics|Temperature|Exceedance Probability|2.0 degC|MAGICC6",
    "AR5 climate diagnostics|Temperature|Exceedance Probability|2.5 degC|MAGICC6",
    "AR5 climate diagnostics|Temperature|Exceedance Probability|3.0 degC|MAGICC6",
    "AR5 climate diagnostics|Temperature|Exceedance Probability|3.5 degC|MAGICC6",
    "AR5 climate diagnostics|Temperature|Exceedance Probability|4.0 degC|MAGICC6",
    "AR5 climate diagnostics|Temperature|Global Mean|MAGICC6|Expected value",
    "AR5 climate diagnostics|Temperature|Global Mean|MAGICC6|MED",
    "Emissions|Kyoto Gases",
    "Emissions|CO2",
    "Emissions|CO2|AFOLU",
    "Emissions|CO2|Energy|Demand",
    "Emissions|CO2|Energy|Demand|Industry",
    "Emissions|CO2|Energy|Demand|Transportation",
    "Emissions|CO2|Energy|Demand|Residential and Commercial",
    "Emissions|CO2|Energy|Supply",
    "Emissions|CO2|Industrial Processes",
    "Carbon Sequestration|CCS",
    "Carbon Sequestration|CCS|Biomass",
    "Carbon Sequestration|CCS|Biomass|Energy|Demand|Industry",
    "Carbon Sequestration|CCS|Fossil|Energy|Demand|Industry",
    "Carbon Sequestration|CCS|Biomass|Energy|Supply",
    "Carbon Sequestration|CCS|Fossil|Energy|Supply",
    "Carbon Sequestration|CCS|Industrial Processes",
    "Carbon Sequestration|Land Use",
    "Carbon Sequestration|Direct Air Capture",
    "Carbon Sequestration|Other",
    "Primary Energy|Fossil|w/ CCS",
    "Primary Energy|Non-Biomass Renewables",
    "Primary Energy|Nuclear",
    "Primary Energy|Biomass|Modern",
    "Final Energy*",
    "Secondary Energy*",
]
[8]:
df.filter(variable=variable_list, inplace=True)

Export down-selected data for further processing

[9]:
df.to_csv(data_folder / "ENGAGE_snapshot_selected.csv")
[ ]: