{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
\n",
"\n",
"# 2.3. Figure 3 - Net-zero CO2 emissions systems\n",
"\n",
"\n",
"
\n",
"\n",
"\n",
"Licensed under the [MIT License](https://github.com/iiasa/ENGAGE-netzero-analysis/blob/main/LICENSE).\n",
"\n",
"This notebook is part of a repository to generate figures and analysis for the manuscript\n",
"\n",
"> Keywan Riahi, Christoph Bertram, Daniel Huppmann, et al.
\n",
"> Cost and attainability of meeting stringent climate targets without overshoot
\n",
"> **Nature Climate Change**, 2021
\n",
"> doi: [10.1038/s41558-021-01215-2](https://doi.org/10.1038/s41558-021-01215-2)\n",
"\n",
"The scenario data used in this analysis should be cited as\n",
"\n",
"> ENGAGE Global Scenarios (Version 2.0)
\n",
"> doi: [10.5281/zenodo.5553976](https://doi.org/10.5281/zenodo.5553976)\n",
"\n",
"The data can be accessed and downloaded via the **ENGAGE Scenario Explorer** at [https://data.ece.iiasa.ac.at/engage](https://data.ece.iiasa.ac.at/engage).
\n",
"*Please refer to the [license](https://data.ece.iiasa.ac.at/engage/#/license)\n",
"of the scenario ensemble before redistributing this data or adapted material.*\n",
"\n",
"The source code of this notebook is available on GitHub\n",
"at [https://github.com/iiasa/ENGAGE-netzero-analysis](https://github.com/iiasa/ENGAGE-netzero-analysis).
\n",
"A rendered version can be seen at [https://data.ece.iiasa.ac.at/engage-netzero-analysis](https://data.ece.iiasa.ac.at/engage-netzero-analysis)."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"application/javascript": [
"IPython.OutputArea.prototype._should_scroll = function(lines) { return false; }"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from pathlib import Path\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"import pyam\n",
"\n",
"from utils import get_netzero_data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Import the scenario snapshot used for this analysis and the plotting configuration"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"data_folder = Path(\"../data/\")\n",
"\n",
"output_folder = Path(\"output\")\n",
"output_format = \"png\"\n",
"plot_args = dict(facecolor=\"white\", dpi=300)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"rc = pyam.run_control()\n",
"rc.update(\"plotting_config.yaml\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"pyam - INFO: Running in a notebook, setting up a basic logging at level INFO\n",
"pyam.core - INFO: Reading file ../data/ENGAGE_fig3.xlsx\n",
"pyam.core - INFO: Reading meta indicators\n"
]
}
],
"source": [
"df = pyam.IamDataFrame(data_folder / \"ENGAGE_fig3.xlsx\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Panels a, b, d and e in this figure use the same scenario."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"scenario = \"EN_NPi2020_1000\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Apply renaming for nicer plots."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"df.rename(model=rc[\"rename_mapping\"][\"model\"], inplace=True)\n",
"df.rename(region=rc[\"rename_mapping\"][\"region\"], inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"model_format_mapping = {\n",
" \"MESSAGEix-GLOBIOM\": \"MESSAGEix-\\nGLOBIOM\",\n",
"}\n",
"\n",
"def format_model_name(i, model_format_mapping):\n",
" name = i.get_text()\n",
" for key, value in model_format_mapping.items():\n",
" name = name.replace(key, value)\n",
"\n",
" return name"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Prepare CO2 emissions data\n",
"\n",
"Aggregate two categories of \"Other\" emissions to show as one category."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"components = [f\"Emissions|CO2|{i}\" for i in [\"Other\", \"Energy|Demand|Other\"]]\n",
"df_other = df.aggregate(variable=\"Emissions|CO2|Other\", components=components)\n",
"df = df.filter(variable=components, keep=False).append(df_other)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"sectors_mapping = {\n",
" \"AFOLU\": \"AFOLU\",\n",
" \"Energy|Demand\": \"Energy Demand\",\n",
" \"Energy|Demand|Industry\": \"Industry\",\n",
" \"Energy|Demand|Transportation\": \"Transportation\",\n",
" \"Energy|Demand|Residential and Commercial\": \"Buildings\",\n",
" \"Energy|Supply\": \"Energy Supply\",\n",
" \"Industrial Processes\": \"Industrial Processes\",\n",
" \"Other\": \"Other\"\n",
"}\n",
"\n",
"# explode short dictionary-keys to full variable string\n",
"for key in list(sectors_mapping):\n",
" sectors_mapping[f\"Emissions|CO2|{key}\"] = sectors_mapping.pop(key)\n",
"\n",
"df.rename(variable=sectors_mapping, inplace=True)\n",
"sectors = list(sectors_mapping.values())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The REMIND model does not reach net-zero CO2 emissions before the end of the century in the selected scenario\n",
"used in Panels a, b, d and e.\n",
"\n",
"It is therefore excluded from this notebook."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"df_sector = (\n",
" df.filter(region=\"World\", scenario=scenario, variable=sectors)\n",
" .filter(variable=\"Energy Demand\", keep=False) # show disaggregation of demand sectors\n",
" .filter(model=\"REMIND*\", keep=False)\n",
" .convert_unit(\"Mt CO2/yr\", \"Gt CO2/yr\")\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Panel a - Development of emissions by sector in one illustrative model"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"model=\"MESSAGEix-GLOBIOM\""
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(6, 4))\n",
"\n",
"(\n",
" df_sector.filter(model=model)\n",
" .plot.stack(ax=ax, title=None, total=dict(lw=3, color=\"black\"))\n",
")\n",
"\n",
"ax.set_xlabel(None)\n",
"plt.legend(loc=1)\n",
"\n",
"plt.tight_layout()\n",
"fig.savefig(output_folder / f\"fig3a_sectoral.{output_format}\", **plot_args)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Panel b - Emissions by sector in the year of net-zero\n",
"\n",
"The function `get_netzero_data` is defined in the file `utils.py` in this folder."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"df_netzero_sector = get_netzero_data(df_sector, \"netzero|CO2\", default_year=2100)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(5, 4))\n",
"\n",
"df_netzero_sector.plot.bar(ax=ax, x=\"model\", title=None, stacked=True, legend=False)\n",
"ax.axhline(0, color=\"black\", linewidth=0.5)\n",
"\n",
"plt.xlabel(None)\n",
"ax.set_xticklabels([format_model_name(i, model_format_mapping) for i in ax.get_xticklabels()])\n",
"\n",
"plt.xticks(rotation=45)\n",
"ax.set_ylim(-13, 13)\n",
"\n",
"plt.tight_layout()\n",
"fig.savefig(output_folder / f\"fig3b_sectoral_year_netzero.{output_format}\", **plot_args)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Panel c - Timing of net-zero CO2 emissions for different sectors\n",
"\n",
"The timing of net-zero for different sectors relative to the timing of net-zero global total CO2 (blue line at zero). The histograms include all pathways that limit temperature to <2 °C."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"budget_groups = [600, 900, 1200]\n",
"\n",
"def budget_classification(x):\n",
" for b in budget_groups:\n",
" if x < b:\n",
" return f\"below {b} Gt\"\n",
" return np.nan\n",
"\n",
"df.set_meta(meta=df.meta[\"cumulative_emissions_2100\"].apply(budget_classification),\n",
" name=\"budget_range\")"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"def _cross_threshold(x):\n",
" y = pyam.cross_threshold(x, threshold=10) # the unit is Mt CO2\n",
" return y[0] if len(y) else np.inf\n",
"\n",
"def calculate_netzero(_df):\n",
" cross = _df.apply(_cross_threshold, raw=False, axis=1)\n",
" cross.index = cross.index.droplevel([\"region\", \"variable\", \"unit\"])\n",
" return cross"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"cols = [\"category\", \"category_peak\", \"budget_type\", \"budget_range\", \"scenario_family\", \"cumulative_emissions_2100\"]\n",
"\n",
"df_sector_nz = df.filter(region=\"World\", variable=sectors, category_peak=[\"1.5C (with low overshoot)\", \"2C\"])\n",
"\n",
"netzero_sector = df_sector_nz.meta[cols]"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/5h/q1v5dh_d1gx94zmd0rlvysgh0000gn/T/ipykernel_3098/966498754.py:3: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" netzero_sector[v] = calculate_netzero(_co2) - df_sector_nz.meta[\"netzero|CO2\"]\n"
]
}
],
"source": [
"for v in sectors:\n",
" _co2 = df_sector_nz.filter(variable=v).timeseries()\n",
" netzero_sector[v] = calculate_netzero(_co2) - df_sector_nz.meta[\"netzero|CO2\"]\n",
"\n",
"x = netzero_sector.set_index(cols, append=True).stack().reset_index().rename(columns={0: \"value\", \"level_8\": \"sector\"})"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"netzero_bins = [-40, -30, -20, -10, 0, 10, 20, 30, 40, \">2100\"]\n",
"\n",
"def assign_nz_bin(x):\n",
" for b in netzero_bins:\n",
" try:\n",
" if x < b:\n",
" return b\n",
" # this approach works as long as only the last item is a string\n",
" except TypeError:\n",
" return b"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"x[\"netzero\"] = x.value.apply(assign_nz_bin)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"is_inf = [np.isinf(v) for v in x.value]\n",
"not_inf = np.logical_not(is_inf)\n",
"\n",
"_max = max(x.loc[not_inf, \"value\"])\n",
"\n",
"x[\"value_\"] = x.value\n",
"x.loc[is_inf, \"value_\"] = _max + 10"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The **pyam** package does not support histogram-type plots, so panel d is implemented directly in **seaborn**."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sector_list = [\"AFOLU\", \"Energy Supply\", \"Industrial Processes\", \"Energy Demand\"]\n",
"\n",
"n = len(sector_list)\n",
"\n",
"fig, ax = plt.subplots(n, 1, figsize=(6, 4), sharex=True, sharey=True)\n",
"\n",
"_x = x[[i in [\"1.5C (with low overshoot)\", \"2C\"] for i in x.category_peak]]\n",
"_x = _x[_x.scenario_family == \"NPi\"]\n",
"\n",
"for i, s in enumerate(sector_list):\n",
" sns.countplot(ax=ax[i], data=_x[_x.sector == s], x=\"netzero\", order=netzero_bins,\n",
" color=rc[\"color\"][\"variable\"][s])\n",
" ax[i].set_xlabel(None)\n",
" ax[i].set_ylabel(s, rotation=0, horizontalalignment=\"right\")\n",
" ax[i].axvline(x=4)\n",
" \n",
"ax[3].set_ylabel(\"Energy Demand (Buildings,\\nTransportation, Industry)\",\n",
" rotation=0, horizontalalignment=\"right\")\n",
"ax[3].set_xlabel(\"Difference in timing (years) of net-zero by sector\\nrelative to timing of global net-zero CO2\",)\n",
"\n",
"pyam.plotting.set_panel_label(f\"n = {len(_x[_x.sector == s])}\", ax=ax[0], x=0.82, y=0.7)\n",
"\n",
"plt.tight_layout()\n",
"fig.savefig(output_folder / f\"fig3c_sectoral_range_netzero.{output_format}\", **plot_args)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Panel d - Development of emissions by region in one illustrative model"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"df_regional = (\n",
" df.filter(region=\"World\", keep=False)\n",
" .filter(scenario=scenario, variable=\"Emissions|CO2\")\n",
" .filter(model=\"REMIND*\", keep=False)\n",
" .convert_unit(\"Mt CO2/yr\", \"Gt CO2/yr\")\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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ZfrlbycRQnDbbbc5/81aLBYaN25Mr169+O6776qctuJSU3VMnTqVUaNGMWHCBAYNGsSsWbNISqree5s6dSr/+9//nOWIAgMDy1VQr45z587xxRdflKvTV1ZWVhYTJ04kOzsbg8HAmjVrMBqNl9zfihUrGDt2LHv37qV9+/aAvejAqFGjMJlMzJ07t0Jtwrvvvps///nPdOzYsUaxu1O970F9/fXX/PWvf3Uuj2rRolzPQLm0QJ2O+8p8mP/v//6PgwcPejEipT4ICgpi165dFBcXA/Dzzz87q0gAXpm24s0333SWMqppcgJ7gqqqfNi8efMYOHAgO3bsYMWKFfj5+VW5v8WLF9O/f/9yZZlWr15NfHw827dvr5CcrFYrCxcu9KnkBPU8QW3fvp077rjDudw1MpLH4uPViL0aGB4TQ6cGDQAwm808/vjjXo5IqQ9GjhzJ999/D9i/jG+99Vbnc2WnrThy5Ah9+vQhPj6e5557zrmOlJKHHnqIdu3aMWzYMDIzMyt9nf/+97/06dOHbt26MXHixGpPlAiwadMm+vTpQ9euXenbty/79+8H7FPW9OzZk8TERLp06cLBgwd5+umnSU1NJTExkaeeeqrCvvz8/EhPTwegSZMmVSaogoICNmzYwIcffuicry45OZkZM2awcuVKEhMTKS4uxmg08sQTT5CQkMDGjRsZNGgQ5wsi/Pjjj3Tr1o2EhASGDh1a5ftxp3qboE6fPs1NN93krCfX1GjkpaQk9Jp6e0iuiEYIHo2P53xK//77751fHIriLpMmTWLJkiWUlJSwY8cOevXqVel6jz76KPfffz87d+6kcePGzvbly5ezf/9+9uzZw6efflpprycrK4uZM2eyatUqtm3bRlJSUoVpMc576qmnSExMJDExkdtuuw2A9u3bs379erZv387LL7/sPFMzf/58Hn30UZKTk9myZQsxMTG88cYbtGrViuTkZN58880K+2/VqhVff/018+fPv+yxWblyJSNGjKBt27ZERESwdetWEhMTefnll7nllltITk4mICCAwsJCevXqRUpKCv3793duf+bMGe655x6++uorUlJSnHUEL/V+3KleXoMqLi5mzJgxzr9IjH5+vN6jB6GX6TYrlWsXFsYNLVrwnaOA5mOPPcawYcPKVXpWFFfq0qULaWlpLF68mJEjR15yvV9//ZWvvvoK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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(6, 4))\n",
"\n",
"(\n",
" pyam.IamDataFrame(\n",
" df_regional.filter(model=model)\n",
" .timeseries()\n",
" .fillna(0)\n",
" ).plot.stack(ax=ax, stack=\"region\", title=None, alpha=0.8, total=dict(lw=3))\n",
")\n",
"\n",
"plt.legend(loc=1)\n",
"ax.set_xlabel(None)\n",
"\n",
"plt.tight_layout()\n",
"fig.savefig(output_folder / f\"fig3d_regional.{output_format}\", **plot_args)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Panel e - Emissions by region in the year of net-zero\n",
"\n",
"The function `get_netzero_data` is defined in the file `utils.py` in this folder."
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"df_netzero_regional = get_netzero_data(df_regional, \"netzero|CO2\", default_year=2100)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(5, 4))\n",
"\n",
"df_netzero_regional.plot.bar(ax=ax, x=\"model\", bars=\"region\", stacked=True, alpha=0.8, title=None, legend=False)\n",
"\n",
"ax.axhline(0, color=\"black\", linewidth=0.5)\n",
"ax.set_ylim(-6, 6)\n",
"ax.set_xticklabels([format_model_name(i, model_format_mapping) for i in ax.get_xticklabels()])\n",
"plt.xlabel(None)\n",
"\n",
"plt.xticks(rotation=45)\n",
"\n",
"plt.tight_layout()\n",
"fig.savefig(output_folder / f\"fig3e_regional_year_netzero.{output_format}\", **plot_args)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Panel f - Timing of net-zero CO2 emissions for different regions\n",
"\n",
"The timing of net-zero for different regions relative to the timing of net-zero global total CO2 (blue line at zero). The histograms include all pathways that limit temperature to <2 °C."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [],
"source": [
"cols = [\"category\", \"budget_type\", \"budget_range\", \"scenario_family\", \"cumulative_emissions_2100\"]\n",
"\n",
"df_region_nz = (\n",
" df.filter(region=\"World\", keep=False).filter(variable=\"Emissions|CO2\")\n",
")\n",
"\n",
"netzero_region = df_region_nz.meta[cols].copy()"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"for r in df_region_nz.region:\n",
" if r == \"Other\":\n",
" continue\n",
" \n",
" _co2 = df_region_nz.filter(region=r).timeseries()\n",
" netzero_region[r] = calculate_netzero(_co2) - df_region_nz.meta[\"netzero|CO2\"]\n",
"\n",
"x = netzero_region.set_index(cols, append=True).stack().reset_index().rename(columns={0: \"value\", \"level_7\": \"region\"})"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
"x[\"netzero\"] = x.value.apply(assign_nz_bin)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"regions = [\"Latin America\", \"Reforming Economies\", \"OECD & EU\", \"Asia\", \"Middle East & Africa\"]\n",
"\n",
"n = len(regions)\n",
"\n",
"fig, ax = plt.subplots(n, 1, figsize=(6, 4), sharex=True, sharey=True)\n",
"\n",
"_x = x[[i in [\"1.5C (with low overshoot)\", \"2C\"] for i in x.category]]\n",
"_x = _x[_x.scenario_family == \"NPi\"]\n",
"\n",
"for i, r in enumerate(regions):\n",
" sns.countplot(ax=ax[i], data=_x[_x.region == r], x=\"netzero\", order=netzero_bins,\n",
" color=rc[\"color\"][\"region\"][r])\n",
" ax[i].set_xlabel(None)\n",
" ax[i].set_ylabel(r, rotation=0, horizontalalignment=\"right\")\n",
" plt.tight_layout()\n",
"\n",
"pyam.plotting.set_panel_label(f\"n = {len(_x[_x.region == r])}\", ax=ax[0], x=0.82, y=0.55)\n",
"\n",
"ax[4].set_ylim(0, 60)\n",
"ax[4].set_xlabel(\"Difference in timing (years) of net-zero by region\\nrelative to timing of global net-zero CO2\")\n",
"\n",
"plt.tight_layout()\n",
"fig.savefig(output_folder / f\"fig3f_regional_range_netzero.{output_format}\", **plot_args)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}