diff --git a/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/README.md b/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/README.md deleted file mode 100644 index 73c11a8e7..000000000 --- a/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# W2D3 - Future Climate- I P C C I I& I I I Socio- Economic Basis - -## Instructor notebooks - -| | Run | Run | View | -| - | --- | --- | ---- | -| Intro | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Intro.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Intro.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Intro.ipynb?flush_cache=true) | -| Tutorial 1 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial1.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial1.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial1.ipynb?flush_cache=true) | -| Tutorial 2 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial2.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial2.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial2.ipynb?flush_cache=true) | -| Tutorial 3 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial3.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial3.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial3.ipynb?flush_cache=true) | -| Tutorial 4 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial4.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial4.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial4.ipynb?flush_cache=true) | -| Tutorial 5 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial5.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial5.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial5.ipynb?flush_cache=true) | -| Tutorial 6 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial6.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial6.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/instructor/W2D3_Tutorial6.ipynb?flush_cache=true) | -| Outro | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Outro.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Outro.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Outro.ipynb?flush_cache=true) | - - -## Student notebooks - -| | Run | Run | View | -| - | --- | --- | ---- | -| Intro | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Intro.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Intro.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Intro.ipynb?flush_cache=true) | -| Tutorial 1 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial1.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial1.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial1.ipynb?flush_cache=true) | -| Tutorial 2 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial2.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial2.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial2.ipynb?flush_cache=true) | -| Tutorial 3 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial3.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial3.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial3.ipynb?flush_cache=true) | -| Tutorial 4 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial4.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial4.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial4.ipynb?flush_cache=true) | -| Tutorial 5 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial5.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial5.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial5.ipynb?flush_cache=true) | -| Tutorial 6 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial6.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial6.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/student/W2D3_Tutorial6.ipynb?flush_cache=true) | -| Outro | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Outro.ipynb) | [![Open In kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/neuromatch/climate-course-content/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Outro.ipynb) | [![View the notebook](https://img.shields.io/badge/render-nbviewer-orange.svg)](https://nbviewer.jupyter.org/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Outro.ipynb?flush_cache=true) | - diff --git a/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_DaySummary.ipynb b/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_DaySummary.ipynb deleted file mode 100644 index b3059d2de..000000000 --- a/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_DaySummary.ipynb +++ /dev/null @@ -1,49 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "3b83976b", - "metadata": {}, - "source": [ - "# Day Summary" - ] - }, - { - "cell_type": "markdown", - "id": "f2b474b6", - "metadata": {}, - "source": [ - "This day's tutorials focused on the socioeconomic projections regarding the future of the climate emergency. The content centered around the shared socioeconomic pathways framework used by the IPCC and is more knowledge-based than skills-based compared with other days.\n", - "\n", - "The day began with a tutorial that summarizes the socio-economic history of growth & limits to physical growth as a parent problem within which the climate emergency arises. You explored the consequences of resource limitations in the computational part of this tutorial through the world3 model.\n", - "\n", - "The next tutorial dove into a formulation of the economics of climate change beginning with goal setting and then the main concepts and methods to finding optimal economic plans. You learned about the economic models used in the SSP framework, integrated assessment models (IAMs), and the modeling practice that uses them to make projections. The computational part of the tutorial first walked you through some graphical exercises that illustrate basic economic concepts before running a simple IAM (the RICE model) under various parameter settings.\n", - "\n", - "The third tutorial presented the SSP framework in which IAMs are used. You learned how the five SSP narratives were constructed and integrated with physical modeling efforts to define the full set of SSP pathways. You then got a glimpse of what an IAM used in this project consists of and saw the results through important metrics like energy use and greenhouse gas emissions. The computational part of the tutorial took off from a critique of the SSP framework to motivate playing with MARGO, a simple model with more, and more dynamic mitigation controls.\n", - "\n", - "Finally, the fourth tutorial on public opinion focussed on climate action psychology and values-based communication. The computational exercise had you analyze public sentiment through analysis of a large dataset of Twitter messages." - ] - } - ], - "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.10.8" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Intro.ipynb b/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Intro.ipynb deleted file mode 100644 index f36546955..000000000 --- a/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Intro.ipynb +++ /dev/null @@ -1,85 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "df1a0a21", - "metadata": { - "execution": {} - }, - "source": [ - "# Intro" - ] - }, - { - "cell_type": "markdown", - "id": "6013efcc", - "metadata": { - "execution": {} - }, - "source": [ - "## Overview" - ] - }, - { - "cell_type": "markdown", - "id": "dfaee097", - "metadata": { - "execution": {} - }, - "source": [ - "Up to today, you have studied models of our climate system. Today, we will begin to model the (in many ways more complex!) system of society’s economy and how climate impacts them. " - ] - }, - { - "cell_type": "markdown", - "id": "8f148ec9-ab3b-4819-823e-d204841638e4", - "metadata": {}, - "source": [ - "## TODO Day Learning Objectives" - ] - }, - { - "cell_type": "markdown", - "id": "2e6967f7-96b3-43ff-8d38-3840479a75a5", - "metadata": {}, - "source": [ - "1. Describe the logic behind the socioeconomic pathway framework, and explain how the pathways differ from one another in both climate and socioeconomic variables using CMIP6 data and integrated assessment modeling results, respectively (building off of W2D1).\n", - "2. Examine the strengths and weaknesses of integrated assessment modeling practice and compare models whose results are included in the IPCC reports and understand how these results impact the report’s conclusions.\n", - "3. Examine the socioeconomic factors at the origin of anthropogenic warming and a *Just Transition*.\n", - "\n" - ] - } - ], - "metadata": { - "colab": { - "collapsed_sections": [], - "include_colab_link": true, - "name": "W2D3_Intro", - "toc_visible": true - }, - "kernel": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "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.18" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Outro.ipynb b/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Outro.ipynb deleted file mode 100644 index 1c4b4fc18..000000000 --- a/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Outro.ipynb +++ /dev/null @@ -1,56 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "175cc467", - "metadata": { - "execution": {} - }, - "source": [ - "# Outro" - ] - }, - { - "cell_type": "markdown", - "id": "2e5c1afd", - "metadata": { - "execution": {} - }, - "source": [ - "Now that you have a sense for the complexity nestled within Integrated Assessment Modeling and socioeconomic phenomena, you will look at how we try to coarse grain that complexity when applying our understanding of climate to assess extreme events and vulnerability. " - ] - } - ], - "metadata": { - "colab": { - "collapsed_sections": [], - "include_colab_link": true, - "name": "W2D3_Outro", - "toc_visible": true - }, - "kernel": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "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.18" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Tutorial1.ipynb b/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Tutorial1.ipynb deleted file mode 100644 index 749e30970..000000000 --- a/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Tutorial1.ipynb +++ /dev/null @@ -1,469 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "25d9555a-5485-42c3-81cf-4851396a643f", - "metadata": { - "execution": {} - }, - "source": [ - "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Tutorial1.ipynb)   \"Open" - ] - }, - { - "cell_type": "markdown", - "id": "1872759b-c9e3-4d4e-a3cf-30813840b049", - "metadata": { - "execution": {} - }, - "source": [ - "# Tutorial 1: Orienting inside a \"Climate Solution\" Simulator\n", - "**Week 2, Day 3: The Socioeconomics of Climate Change**\n", - "\n", - "**Content creators:** Maximilian Puelma Touzel, Paul Heubel\n", - "\n", - "**Content reviewers:** Mujeeb Abdulfatai, Nkongho Ayuketang Arreyndip, Jeffrey N. A. Aryee, Jenna Pearson, Abel Shibu, Ohad Zivan\n", - "\n", - "**Content editors:** Paul Heubel, Jenna Pearson, Chi Zhang, Ohad Zivan\n", - "\n", - "**Production editors:** Wesley Banfield, Paul Heubel, Jenna Pearson, Konstantine Tsafatinos, Chi Zhang, Ohad Zivan\n", - "\n", - "**Our 2024 Sponsors:** CMIP, NFDI4Earth" - ] - }, - { - "cell_type": "markdown", - "id": "a2d2b006-8493-451b-a75e-797d902a0fcd", - "metadata": { - "execution": {} - }, - "source": [ - "# Tutorial objectives\n", - "\n", - "*Estimated timing of tutorial:* 30 minutes\n", - "\n", - "During the first week of the course, you applied computational tools to climate data (measurements, proxies, and model output) to characterize past, present, and future climate. During day one of this second week (W2D1), you began to explore climate model data from Earth System Model (ESM) simulations conducted for the recent Climate Model Intercomparison Project (CMIP6) that are presented in the report from the Intergovernmental Panel on Climate Change ([IPCC](https://www.ipcc.ch/)). However, the dominant source of uncertainty in those projections arises from how human society responds: e.g. how our emissions reduction and renewable energy technologies develop, how coherent our global politics are, how our consumption grows (cf. [Rogelj et al. (2018)(Global Warming of 1.5°C. An IPCC Special Report \\[...\\])](https://doi.org/10.1017/9781009157940.004)). For these reasons, in addition to understanding the physical basis of the climate variations projected by these models, it's also important to assess the current and future socioeconomic impact of climate change and what aspects of human activity are driving emissions.\n", - "\n", - "This day's tutorials focus on the socioeconomic projections regarding the future of climate change and are centered around the Shared Socioeconomic Pathways (SSP) framework used by the IPCC. However, in this first tutorial, you will use the [En-ROADS](https://www.climateinteractive.org/en-roads/) simulator to get some intuition about different socioeconomic variables and their consequences for climate. Additionally, you will analyze potential economic and population scenarios to learn about the complex and intertwined dynamics of socioeconomic variables, as well as how this model informs modern-day climate challenges.\n", - "\n", - "Unlike the rest of the days of this course, this day will be highly conceptual and discussion-driven, and focus much less on analyzing datasets.\n", - "\n", - "In this tutorial, you will:\n", - "- Get familiar with the interface of the simulator named En-ROADS\n", - "- Explore the impact of different growth variables on the temperature increase by 2100 projected from the En-ROADS model.\n", - "- Understand why it is necessary to implement various actions against climate change, not a single one.\n", - "- Explore the assumptions and limitations of this model" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "368d0c90-ae7e-43d9-ada7-ad42c75f5f95", - "metadata": { - "execution": {} - }, - "outputs": [], - "source": [ - "# import\n", - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6db786f8-e5c4-42a9-9837-e41027b9ad4d", - "metadata": { - "cellView": "form", - "execution": {} - }, - "outputs": [], - "source": [ - "# @title Figure settings\n", - "import ipywidgets as widgets # interactive display\n", - "\n", - "%config InlineBackend.figure_format = 'retina'\n", - "plt.style.use(\n", - " \"https://raw.githubusercontent.com/neuromatch/climate-course-content/main/cma.mplstyle\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e11e3bbb-ce8f-4404-8d04-b6f86d4a9ea9", - "metadata": { - "cellView": "form", - "execution": {} - }, - "outputs": [], - "source": [ - "# @title Helper functions\n", - "\n", - "def pooch_load(filelocation=None, filename=None, processor=None):\n", - " shared_location = \"/home/jovyan/shared/Data/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis\" # this is different for each day\n", - " user_temp_cache = tempfile.gettempdir()\n", - "\n", - " if os.path.exists(os.path.join(shared_location, filename)):\n", - " file = os.path.join(shared_location, filename)\n", - " else:\n", - " file = pooch.retrieve(\n", - " filelocation,\n", - " known_hash=None,\n", - " fname=os.path.join(user_temp_cache, filename),\n", - " processor=processor,\n", - " )\n", - "\n", - " return file" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ea9d553f-c3eb-4723-a922-e81f97e1e3ba", - "metadata": { - "cellView": "form", - "execution": {} - }, - "outputs": [], - "source": [ - "# @title Video 1: Orienting inside a 'Climate Solution' Simulator\n", - "\n", - "from ipywidgets import widgets\n", - "from IPython.display import YouTubeVideo\n", - "from IPython.display import IFrame\n", - "from IPython.display import display\n", - "\n", - "\n", - "class PlayVideo(IFrame):\n", - " def __init__(self, id, source, page=1, width=400, height=300, **kwargs):\n", - " self.id = id\n", - " if source == 'Bilibili':\n", - " src = f'https://player.bilibili.com/player.html?bvid={id}&page={page}'\n", - " elif source == 'Osf':\n", - " src = f'https://mfr.ca-1.osf.io/render?url=https://osf.io/download/{id}/?direct%26mode=render'\n", - " super(PlayVideo, self).__init__(src, width, height, **kwargs)\n", - "\n", - "\n", - "def display_videos(video_ids, W=400, H=300, fs=1):\n", - " tab_contents = []\n", - " for i, video_id in enumerate(video_ids):\n", - " out = widgets.Output()\n", - " with out:\n", - " if video_ids[i][0] == 'Youtube':\n", - " video = YouTubeVideo(id=video_ids[i][1], width=W,\n", - " height=H, fs=fs, rel=0)\n", - " print(f'Video available at https://youtube.com/watch?v={video.id}')\n", - " else:\n", - " video = PlayVideo(id=video_ids[i][1], source=video_ids[i][0], width=W,\n", - " height=H, fs=fs, autoplay=False)\n", - " if video_ids[i][0] == 'Bilibili':\n", - " print(f'Video available at https://www.bilibili.com/video/{video.id}')\n", - " elif video_ids[i][0] == 'Osf':\n", - " print(f'Video available at https://osf.io/{video.id}')\n", - " display(video)\n", - " tab_contents.append(out)\n", - " return tab_contents\n", - "\n", - "video_ids = [('Youtube', 'g5VRHCcIyxk'),\n", - " #('Bilibili', 'BV1nN411U75L')\n", - " ]\n", - "tab_contents = display_videos(video_ids, W=730, H=410)\n", - "tabs = widgets.Tab()\n", - "tabs.children = tab_contents\n", - "for i in range(len(tab_contents)):\n", - " tabs.set_title(i, video_ids[i][0])\n", - "display(tabs)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "52ca5582-816c-423c-9ed7-cda1c7319731", - "metadata": { - "cellView": "form", - "execution": {} - }, - "outputs": [], - "source": [ - "# @markdown\n", - "from ipywidgets import widgets\n", - "from IPython.display import IFrame\n", - "\n", - "link_id = \"mtyrb\"\n", - "\n", - "download_link = f\"https://osf.io/download/{link_id}/\"\n", - "render_link = f\"https://mfr.ca-1.osf.io/render?url=https://osf.io/{link_id}/?direct%26mode=render%26action=download%26mode=render\"\n", - "# @markdown\n", - "out = widgets.Output()\n", - "with out:\n", - " print(f\"If you want to download the slides: {download_link}\")\n", - " display(IFrame(src=f\"{render_link}\", width=730, height=410))\n", - "display(out)" - ] - }, - { - "cell_type": "markdown", - "id": "57265af6-b3ab-41e4-82a1-6c4b63a0c321", - "metadata": { - "execution": {} - }, - "source": [ - "# Section 1: Exploration of a Climate Solution Simulator" - ] - }, - { - "cell_type": "markdown", - "id": "042a83d3-2e94-4092-a289-2430d349966c", - "metadata": { - "execution": {} - }, - "source": [ - "The following introductory video gives a quick overview of the En-ROADS simulator, a simple climate model (SCM), developed by [Climate-Interactive](https://www.climateinteractive.org/) for teaching purposes. It is used in policy workshops, role-plays, and other activities to explore the possibilities and obstacles of scenarios and human solutions to climate change.\n", - "\n", - "To get familiar with modeling societal and economic mechanisms in combination with climatic variables, the so-called **socio-economic model**, you will examine its 'control knobs', limitations, and assumptions. In later tutorials you will compare these findings with those of Integrated Assessment Models (IAMs) which are state-of-the-art models for projecting scenarios and those used in the socioeconomic pathways of the IPCC." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9c6b2260-bdb0-4d7b-a07d-41551d5ccf92", - "metadata": { - "cellView": "form", - "execution": {} - }, - "outputs": [], - "source": [ - "# @title Video 2: Overview of the En-ROADS Climate Solutions Simulator\n", - "\n", - "from ipywidgets import widgets\n", - "from IPython.display import YouTubeVideo\n", - "from IPython.display import IFrame\n", - "from IPython.display import display\n", - "\n", - "\n", - "class PlayVideo(IFrame):\n", - " def __init__(self, id, source, page=1, width=400, height=300, **kwargs):\n", - " self.id = id\n", - " if source == 'Bilibili':\n", - " src = f'https://player.bilibili.com/player.html?bvid={id}&page={page}'\n", - " elif source == 'Osf':\n", - " src = f'https://mfr.ca-1.osf.io/render?url=https://osf.io/download/{id}/?direct%26mode=render'\n", - " super(PlayVideo, self).__init__(src, width, height, **kwargs)\n", - "\n", - "\n", - "def display_videos(video_ids, W=400, H=300, fs=1):\n", - " tab_contents = []\n", - " for i, video_id in enumerate(video_ids):\n", - " out = widgets.Output()\n", - " with out:\n", - " if video_ids[i][0] == 'Youtube':\n", - " video = YouTubeVideo(id=video_ids[i][1], width=W,\n", - " height=H, fs=fs, rel=0)\n", - " print(f'Video available at https://youtube.com/watch?v={video.id}')\n", - " else:\n", - " video = PlayVideo(id=video_ids[i][1], source=video_ids[i][0], width=W,\n", - " height=H, fs=fs, autoplay=False)\n", - " if video_ids[i][0] == 'Bilibili':\n", - " print(f'Video available at https://www.bilibili.com/video/{video.id}')\n", - " elif video_ids[i][0] == 'Osf':\n", - " print(f'Video available at https://osf.io/{video.id}')\n", - " display(video)\n", - " tab_contents.append(out)\n", - " return tab_contents\n", - "\n", - "\n", - "video_ids = [('Youtube', 'Py_qIgcZxKg')\n", - " # , ('Bilibili', 'BV1bj411Z739')\n", - " ]\n", - "tab_contents = display_videos(video_ids, W=730, H=410)\n", - "tabs = widgets.Tab()\n", - "tabs.children = tab_contents\n", - "for i in range(len(tab_contents)):\n", - " tabs.set_title(i, video_ids[i][0])\n", - "display(tabs)" - ] - }, - { - "cell_type": "markdown", - "id": "718606a5-1239-414b-84fc-f9c0a18924d6", - "metadata": { - "execution": {} - }, - "source": [ - "### Exercise 1: Can you limit human-caused global warming to \"well-below 2ºC\"?\n", - "*Estimated timing:* 20 minutes\n", - "\n", - "We jump right in with an exercise, adapted from [En-ROADS](https://www.climateinteractive.org/guided-assignment/), that allows you to explore the Climate Solution Simulator.\n", - "\n", - "1. **Open En-ROADS** [here](https://en-roads.climateinteractive.org/). *(Note the control panel is available in various languages - check the left of the panel of the simulator that should by default show \"English\".)*\n", - "\n", - "2. **Develop a scenario**: By moving the sliders, find a scenario (i.e. a combination of slider positions of different variables) that results in *less than 2°C* of temperature increase by the end of the century. Don't worry if you don't find a scenario that works right away - keep exploring. Use the following [cheatsheet](https://img.climateinteractive.org/2019/09/EnROADS-one-page-guide-to-control-panel-v11-dec-2021.pdf) to help you get started. Have fun!\n", - "\n", - "3. **Answer the following questions**:\n", - "\n", - "* How many variables did you have to adjust to reach the \"well-below 2ºC\" target?\n", - "* Which variables had the most individual impact? Did the magnitude of impact surprise you for any variables?\n", - "* How feasible is this scenario? That is, what actions would have to be taken by governments, businesses and people over the next few years to make the proposed scenario possible?\n", - "\n", - "*Note that your changes are reflected in the light blue graph, while the baseline scenario remains a black line.*" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "30a81fb8-c21b-490c-9297-a6705f114957", - "metadata": { - "execution": {} - }, - "outputs": [], - "source": [ - "# to_remove explanation\n", - "\n", - "'''\n", - "3. One scenario to try based on the goals of the energy transition is the combination of:\n", - "(1) full electrification of the energy supply, i.e. 'very highly taxed' fossil fuel emissions (Coal, Natural gas, and Oil),\n", - "(2) 'highly subsidized' renewables, and\n", - "(3) a 'very high' carbon price,\n", - "as well as the 'highly reduced' emissions of Methane and other Gases\n", - "which gets us to a maximum increase of 2°C by the end of the century\n", - "(cf. this example scenario https://en-roads.climateinteractive.org/scenario.html?v=24.3.0&p1=100&p7=85&p10=5&p16=-0.05&p23=-1&p39=250&p59=-64&p67=2&g0=2&g1=62).\n", - "\n", - "Nevertheless, other scenarios are possible, either by involving more parameters or by focusing on carbon removal.\n", - "There are (at least!) two important observations to make. First, actions vary in leverage, in other words, some actions are more helpful than others.\n", - "Second, to make a difference and reach an ambitious goal like the 2°C degree target, many actions in many sectors are required.\n", - "Sometimes one refers to this circumstance by calling it a 'Silver Buckshot' instead of a 'Silver Bullet' approach (cf. e.g. https://www.washingtonpost.com/archive/opinions/2006/05/27/welcome-to-the-climate-crisis-span-classbankheadhow-to-tell-whether-a-candidate-is-serious-about-combating-global-warmingspan/26b2ac5a-a4a3-46ff-b214-3fc07a3a5ab3/).\n", - "Furthermore, people might be surprised by the fact that some actions may be much lower leverage, while others like carbon pricing and energy efficiency might be higher leverage than people expect.\n", - "'''" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "05df13b5-14ce-4515-aaae-7cc9e3765445", - "metadata": { - "cellView": "form", - "execution": {} - }, - "outputs": [], - "source": [ - "# @markdown\n", - "from ipywidgets import widgets\n", - "from IPython.display import IFrame\n", - "\n", - "#link_id = \"gwr8h\"\n", - "\n", - "download_link = f\"https://img.climateinteractive.org/2019/09/EnROADS-one-page-guide-to-control-panel-v11-dec-2021.pdf\"\n", - "render_link = f\"https://img.climateinteractive.org/2019/09/EnROADS-one-page-guide-to-control-panel-v11-dec-2021.pdf\"\n", - "# @markdown\n", - "out = widgets.Output()\n", - "with out:\n", - " print(f\"If you want to download a cheatsheet for the En-ROADS Control Panel:\\n{download_link}\")\n", - " display(IFrame(src=f\"{render_link}\", width=730, height=410))\n", - "display(out)" - ] - }, - { - "cell_type": "markdown", - "id": "1f5a0c7f-8fd3-4c89-b25d-8070ef2fdd4b", - "metadata": { - "execution": {} - }, - "source": [ - "# Section 2: Limitations of the En-ROADS Model Approach\n", - "\n", - "We conclude this tutorial by stepping back and discussing the limitations of En-ROADS.\n", - "\n", - "### Exercise 2: Limitations\n", - "*Estimated timing:* 5 minutes\n", - "\n", - "1. Think about limitations that arise from the En-ROADS model approach. List a few mechanisms that seem oversimplified or phenomena that might be not or misrepresented. Discuss with your pod.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b17595a7-b326-4edb-9f80-b8e21f1d4e5e", - "metadata": { - "execution": {} - }, - "outputs": [], - "source": [ - "# to_remove explanation\n", - "\n", - "'''\n", - "1. At first, En-ROADS is a world model, not an optimal planning model so it is unlike any IAM used e.g. for the IPCC reports.\n", - "Controls are somewhat limited (DAC/CCS, soil, BioChar, and mineralization are not covered).\n", - "It allows only for single parameter changes - in reality, there will be correlations, e.g. between carbon pricing and renewables due to market pressure.\n", - "Some feedbacks are also missing, besides the above-mentioned damage from climate change on GDP, land use, etc.,\n", - "climate change harms the human population by shortening lives.\n", - "Although this happens already in the current 1°C increase reality, this harm is difficult to quantify and hence not implemented.\n", - "Furthermore, it is a fully aggregated model, no spatial/regional or income resolution, and corresponding interdependency exists.\n", - "An action/ policy is assumed to be executed globally, which is a utopia so far.\n", - "It hence remains important to consider the implications of heterogeneity across different countries and their interactions.\n", - "Last but not least, tipping points such as the thawing of the permafrost are represented in a very simplified manner only, although they probably have strong implications.\n", - "'''" - ] - }, - { - "cell_type": "markdown", - "id": "51aac287-f6d0-479e-be4b-87f557c32214", - "metadata": { - "execution": {} - }, - "source": [ - "# Summary\n", - "\n", - "In this tutorial, you got an intuition for various 'control knobs' that can be turned in a socio-economic model environment. We discussed why no policy alone can be a silver bullet to solve all problems but a mixture of many actions, in particular, the energy transition to renewables and carbon pricing. At last, we discussed a few limitations of the En-ROADs model approach." - ] - }, - { - "cell_type": "markdown", - "id": "1c949bc5-e5ef-4d07-b379-122072ef6271", - "metadata": { - "execution": {} - }, - "source": [ - "# Resources\n", - "\n", - "This tutorial is inspired by teaching material from [Climate Interactive](https://climateinteractive.org/) and other documents. \n", - "A few important resources are linked below:\n", - "\n", - "- [En-ROADS documentation](https://docs.climateinteractive.org/projects/en-roads/en/latest/index.html)\n", - "- [En-ROADS User Guide PDF](https://docs.climateinteractive.org/projects/en-roads/en/latest/en-roads-user-guide.pdf)\n", - "- [Guided Assignment - Simulating Climate Futures in En-ROADS: Short Version](https://www.climateinteractive.org/guided-assignment/)" - ] - } - ], - "metadata": { - "colab": { - "collapsed_sections": [], - "include_colab_link": true, - "name": "W2D3_Tutorial1", - "toc_visible": true - }, - "kernel": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "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.19" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Tutorial2.ipynb b/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Tutorial2.ipynb deleted file mode 100644 index b3219f7bc..000000000 --- a/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Tutorial2.ipynb +++ /dev/null @@ -1,508 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "873927b3-ad55-40a2-ab6a-de2af3c09cc8", - "metadata": { - "execution": {} - }, - "source": [ - "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Tutorial2.ipynb)   \"Open" - ] - }, - { - "cell_type": "markdown", - "id": "8eb286c6-dd69-440b-bc14-e6c7f20517bf", - "metadata": { - "execution": {} - }, - "source": [ - "# Tutorial 2: Fossil Fuel Emissions, Growth, and Damage\n", - "**Week 2, Day 3: The Socioeconomics of Climate Change**\n", - "\n", - "**Content creators:** Paul Heubel, Maximilian Puelma Touzel\n", - "\n", - "**Content reviewers:** Mujeeb Abdulfatai, Nkongho Ayuketang Arreyndip, Jeffrey N. A. Aryee, Jenna Pearson, Abel Shibu, Ohad Zivan\n", - "\n", - "**Content editors:** Paul Heubel, Jenna Pearson, Chi Zhang, Ohad Zivan\n", - "\n", - "**Production editors:** Wesley Banfield, Paul Heubel, Jenna Pearson, Konstantine Tsafatinos, Chi Zhang, Ohad Zivan\n", - "\n", - "**Our 2024 Sponsors:** CMIP, NFDI4Earth" - ] - }, - { - "cell_type": "markdown", - "id": "d86fc935-8b60-4fcf-83d7-1e9c78ca6b84", - "metadata": { - "execution": {} - }, - "source": [ - "# Tutorial objectives\n", - "\n", - "*Estimated timing of tutorial:* 30 minutes\n", - "\n", - "This tutorial explores the impact of population and economic growth on the global temperature and how a changing climate due to fossil fuel emissions damages our economy. You model these scenarios by 'controlling the knobs' of the Climate Solution Simulator named [En-ROADS](https://www.climateinteractive.org/en-roads/).\n", - "\n", - "After finishing this tutorial you can\n", - "\n", - "* discuss the impact of a growth-based economy on future fossil-fuel emissions along the Kaya identity\n", - "* qualitatively describe the impact of population and economic growth on the global temperature within the En-ROADS model environment.\n", - "* (explain qualitatively how a different damage function formulation impacts the economic activity)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8dc93386-4bde-4e22-b7eb-174133f57351", - "metadata": { - "execution": {} - }, - "outputs": [], - "source": [ - "# import\n", - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f9398705-5441-4ed3-980d-c6339cb30696", - "metadata": { - "cellView": "form", - "execution": {} - }, - "outputs": [], - "source": [ - "# @title Figure settings\n", - "import ipywidgets as widgets # interactive display\n", - "\n", - "%config InlineBackend.figure_format = 'retina'\n", - "plt.style.use(\n", - " \"https://raw.githubusercontent.com/neuromatch/climate-course-content/main/cma.mplstyle\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3342114d-deee-4d5b-afde-d4852bac2352", - "metadata": { - "cellView": "form", - "execution": {} - }, - "outputs": [], - "source": [ - "# @title Helper functions\n", - "\n", - "def pooch_load(filelocation=None, filename=None, processor=None):\n", - " shared_location = \"/home/jovyan/shared/Data/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis\" # this is different for each day\n", - " user_temp_cache = tempfile.gettempdir()\n", - "\n", - " if os.path.exists(os.path.join(shared_location, filename)):\n", - " file = os.path.join(shared_location, filename)\n", - " else:\n", - " file = pooch.retrieve(\n", - " filelocation,\n", - " known_hash=None,\n", - " fname=os.path.join(user_temp_cache, filename),\n", - " processor=processor,\n", - " )\n", - "\n", - " return file" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2ca0746a-edad-45f7-8ad5-1b4ec1e7c546", - "metadata": { - "cellView": "form", - "execution": {} - }, - "outputs": [], - "source": [ - "# @title Video 1: Orienting in a 'Climate Solution' Simulator\n", - "\n", - "from ipywidgets import widgets\n", - "from IPython.display import YouTubeVideo\n", - "from IPython.display import IFrame\n", - "from IPython.display import display\n", - "\n", - "\n", - "class PlayVideo(IFrame):\n", - " def __init__(self, id, source, page=1, width=400, height=300, **kwargs):\n", - " self.id = id\n", - " if source == 'Bilibili':\n", - " src = f'https://player.bilibili.com/player.html?bvid={id}&page={page}'\n", - " elif source == 'Osf':\n", - " src = f'https://mfr.ca-1.osf.io/render?url=https://osf.io/download/{id}/?direct%26mode=render'\n", - " super(PlayVideo, self).__init__(src, width, height, **kwargs)\n", - "\n", - "\n", - "def display_videos(video_ids, W=400, H=300, fs=1):\n", - " tab_contents = []\n", - " for i, video_id in enumerate(video_ids):\n", - " out = widgets.Output()\n", - " with out:\n", - " if video_ids[i][0] == 'Youtube':\n", - " video = YouTubeVideo(id=video_ids[i][1], width=W,\n", - " height=H, fs=fs, rel=0)\n", - " print(f'Video available at https://youtube.com/watch?v={video.id}')\n", - " else:\n", - " video = PlayVideo(id=video_ids[i][1], source=video_ids[i][0], width=W,\n", - " height=H, fs=fs, autoplay=False)\n", - " if video_ids[i][0] == 'Bilibili':\n", - " print(f'Video available at https://www.bilibili.com/video/{video.id}')\n", - " elif video_ids[i][0] == 'Osf':\n", - " print(f'Video available at https://osf.io/{video.id}')\n", - " display(video)\n", - " tab_contents.append(out)\n", - " return tab_contents\n", - "\n", - "\n", - "video_ids = [('Youtube', 'g5VRHCcIyxk'),\n", - " #('Bilibili', 'BV1nN411U75L')\n", - " ]\n", - "tab_contents = display_videos(video_ids, W=730, H=410)\n", - "tabs = widgets.Tab()\n", - "tabs.children = tab_contents\n", - "for i in range(len(tab_contents)):\n", - " tabs.set_title(i, video_ids[i][0])\n", - "display(tabs)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5d45c633-1daa-4408-ab8c-18969fff8bde", - "metadata": { - "cellView": "form", - "execution": {} - }, - "outputs": [], - "source": [ - "# @markdown\n", - "from ipywidgets import widgets\n", - "from IPython.display import IFrame\n", - "\n", - "link_id = \"mtyrb\"\n", - "\n", - "download_link = f\"https://osf.io/download/{link_id}/\"\n", - "render_link = f\"https://mfr.ca-1.osf.io/render?url=https://osf.io/{link_id}/?direct%26mode=render%26action=download%26mode=render\"\n", - "# @markdown\n", - "out = widgets.Output()\n", - "with out:\n", - " print(f\"If you want to download the slides: {download_link}\")\n", - " display(IFrame(src=f\"{render_link}\", width=730, height=410))\n", - "display(out)" - ] - }, - { - "cell_type": "markdown", - "id": "4cb055f0-0f58-4c8c-9e11-a7a16f0b6e98", - "metadata": { - "execution": {} - }, - "source": [ - "# Section 1: Quantification of Fossil Fuel Emissions and Its Dependency on Growth\n", - "\n", - "We discussed in the slides how economics represents the human population as a source of labor needed to produce goods and services. A by-product of this production are fossil fuel emissions, which increase atmospheric greenhouse gas (GHG) concentrations, significantly changing the earth's climate. Let us take a look at the relationship between people, production, and emissions in more detail using the En-ROADS simulator.\n", - "\n", - "You might already have clicked through the toggles at the top of the control panel of En-ROADS and tried the different *Views* (Main graphs, Kaya graphs, Miniature graphs). Select now the **Kaya graphs** view and reset the simulator (click on the anti-clockwise circular arrow to 'Reset all policies & assumptions' or just reload the page/model [here](https://en-roads.climateinteractive.org/)).\n", - "\n", - "The Kaya graphs depict four drivers of growth in carbon dioxide emissions from energy use, which reflects about two-thirds of all greenhouse gas emissions (the remaining third of emissions are from land use changes and other gases, such as methane (CH4) and nitrous oxide (N2O), which are not considered here). The corresponding equation, the so-called [***Kaya identity***](https://en.wikipedia.org/wiki/Kaya_identity) below was developed by Yoichi Kaya:\n", - "\n", - "***CO$_2$ Emissions from Energy = Global Population × GDP per Capita × Energy Intensity of GDP × Carbon Intensity of Energy***\n", - "\n", - "Where [gross domestic product](https://en.wikipedia.org/wiki/Gross_domestic_product) (GDP) is a measure of economic activity or health. \n", - "\n", - "In a more mathematical form, this equation is\n", - "\n", - "$$\n", - "F = P \\times \\left[\\frac{G}{P}\\right] \\times \\left[\\frac{E}{G}\\right] \\times \\left[\\frac{F}{E}\\right]\n", - "$$\n", - " - $F$ (CO$_2$ emissions from energy), \n", - " - $P$ (global population), \n", - " - $G$ (world GDP), and \n", - " - $E$ (global energy consumption).\n", - "\n", - "Decomposing emissions in this way helps to see key contributions and, if we assume that the factors are independent of each other (which is not fully true), distinct ways that we can lower emissions. Each factor in this model is important and extreme reductions in one can offset increases in the others. In our case, our emissions $F$ are increasing over time because the Energy Intensity of GDP $\\left[\\frac{E}{G}\\right] $ and the Carbon Intensity of Energy do not together offset enough of our growing GDP ($G$), which is by definition necessary for a growth-based economy.\n", - "\n", - "The first four graphs in the Kaya view display these four variables $\\left(P, \\frac{G}{P}, \\frac{E}{G}, \\frac{F}{E}\\right)$, with the fifth plot showing Emissions, $F$. This allows us to compare the importance of, say, economic and population growth on the CO$_2$ emissions and subsequent temperature rise by 2100." - ] - }, - { - "cell_type": "markdown", - "id": "fd232a4d-c350-4e7b-9519-921800d81e20", - "metadata": { - "execution": {} - }, - "source": [ - "## Exercise 1: Population vs. Economic Growth\n", - "*Estimated timing:* 10 minutes\n", - "\n", - "1. **Open En-ROADS** [here](https://en-roads.climateinteractive.org/). *(Note the control panel is available in various languages - check the left of the panel of the simulator that should by default show \"English\".)*\n", - "\n", - "2. **Develop a scenario**: Turn two *growth* 'control knobs' of En-ROADS, which are the sliders *Economical growth* and *Population growth*. Use the following [cheatsheet](https://img.climateinteractive.org/2019/09/EnROADS-one-page-guide-to-control-panel-v11-dec-2021.pdf) if needed. \n", - "\n", - "3. **Answer the following questions**:\n", - "\n", - "* What can you observe within the *Kaya graph* view? Describe the graphs and interpret them.\n", - "\n", - "Read the following dropdown accessible box if you need more information to interpret the Kaya graphs. \n", - "\n", - "*Be warned that a reset of all your previous changes might be necessary before. If you would like to save your previous scenario, export it via a click on the* ***Share your scenario*** *button in the top right of the Panel, and select 'Copy Scenario Link'*.\n", - "\n", - "*Note that your changes are reflected in the light blue graph, while the baseline scenario remains a black line.*" - ] - }, - { - "cell_type": "markdown", - "id": "1c61eb29-ab14-4445-915e-5d39abab9a73", - "metadata": { - "execution": {} - }, - "source": [ - "
\n", - " Click here for a description of the Kaya identity and the corresponding plots \n", - "\n", - "Here is one way to understand the shown trends over time:\n", - "\n", - "The Global Population ($P$) of 8 billion people is growing and growth is anticipated to be 11 billion by the end of the century, according to UN projections. The rate of growth is slowing over time as people have smaller families.\n", - "\n", - "GDP ($G$) per Capita ($P$) is growing steadily per year, and the model assumes this will continue, mostly as people in rapidly developing countries such as China, India, South Africa, Mexico, Brazil, and Indonesia attain higher standards of living.\n", - "\n", - "Energy Intensity ($E$) of GDP is decreasing over time, due to the world economy becoming more efficient, or using less energy per unit of economic output. Technologies are improving - for example, more efficient cars, buildings, and machines—and economies are shifting from manufacturing to services. The product of global population, GDP per capita, and the energy intensity of GDP is the total amount of energy used by the global economy.\n", - "\n", - "Carbon Intensity of Final Energy, the amount of carbon dioxide emitted by energy use, is expected to slightly decline over time. Overall, this downward trend in carbon intensity is attributed to the gradual shifting away from fossil fuels and towards low-carbon energy sources.\n", - "\n", - "Carbon Dioxide Emissions from Energy are the result of all four factors multiplied together, and you can see that in the Baseline Scenario emissions are growing. As the level of carbon dioxide in the atmosphere correlates with temperature, an increased concentration of carbon dioxide in the atmosphere leads to an increase in global temperatures.\n", - "\n", - "These factors explain, in simple terms, why emissions are increasing in the Baseline Scenario. Improvements in efficiency and decarbonization are not yet keeping up with the strong growth in population and consumption\n", - " \n", - "*** \n", - " \n", - "
" - ] - }, - { - "cell_type": "markdown", - "id": "e242d987-4e3a-418b-b69c-65fe25e35ed7", - "metadata": { - "execution": {} - }, - "source": [ - "## Questions 1:\n", - "*Estimated timing:* 10 minutes\n", - "\n", - "Before using the sliders and answering the following questions, build a brief working hypothesis. Which one of the two 'growth knobs' do you expect will be more influential on the global mean temperature and also how much more? \n", - "\n", - "1. What do you observe, when you only change the population growth slider? And vice versa changing only the economic growth slider? \n", - "2. Combine the effect of both sliders in the common and opposite direction, respectively. Are you surprised about the output?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d88106d5-3008-47fe-ab29-9e09a539b369", - "metadata": { - "execution": {} - }, - "outputs": [], - "source": [ - "# to_remove explanation\n", - "'''\n", - "1. In En-ROADS the population growth has a small effect on the temperature increase by 2100. On the left, the global population graph emphasizes the development until 2100, resulting in an expected population of 8.8 billion in the lowest growth case and an expected population of 12.56 billion in the largest growth case, respectively.\n", - "The former leads to a 3.2°C increase and the latter to a 3.5°C which is only a $\\pm$ 0.2°C change due to population growth.\n", - "In contrast, economic growth has a much larger impact: high growth (+30.000 $/person/year in 2100) leads to a temperature increase of 0.4°C by 2100 and low growth (-20.000 $/person/year in 2100) decreases it by 0.3°C, making discussions of overpopulation rather irrelevant as the decisions around family choice are personal decisions and efforts to shift these decisions have many ethical implications.\n", - "It is instead raising the question of the necessity to end economic growth or at least to discuss its current coupling to resource exploitation.\n", - "Note that lower population growth takes a long time to affect emissions because global population shifts do not occur quickly and instead play out over many decades.\n", - "\n", - "2. All possible combinations of pop.-econ. -- low-low: 2.9°C, low-no: 3.2°C, low-high: 3.6°C, no-no: 3.3°C, no-low: 3.0°C, no-high: 3.7°C, high-low: 3.1°C, high-no: 3.5°C, high-high: 4.0°C.\n", - "In terms of an anticipated minimal temperature increase, the best (worst) case is to have a low (high) growth in population and economy. It is better to have a decreasing economy and a growing population than vice versa (increasing economy + shrinking population).\n", - "Having high population growth and economic growth add up to a larger temperature increase (+0.7°C) than their individual contribution (high pop. growth +0.2°C, high econ. growth +0.4°C) which indicates that these variables are not fully independent in the En-ROADS model.\n", - "'''" - ] - }, - { - "cell_type": "markdown", - "id": "a92f9886-6e3c-45f2-b6e1-a7f036af03b2", - "metadata": { - "execution": {} - }, - "source": [ - "
\n", - " Click here for a bonus digression on the Limits To Growth \n", - " \n", - "### Bonus: A note on exponential growth in a bounded system \n", - "Consider a bounded system undergoing only positive feedback leading to exponential growth. The characteristic duration of growth until the system state reaches the system boundary is only weakly sensitive to the size of the boundary. For example, in the context of exponential resource-driven economic growth on Earth, reaching the boundary means exhausting its accessible physical resources. Ten times more or less of the starting amount of accessible resources only changes the time at which those resources are exhausted by a factor of 2 up or down, respectively. \n", - "\n", - "Physics demands that behind the exponential extraction of resources is an exponential use of an energy resource. In recent times on Earth, this has been fossil fuels, which are non-renewable. Legitimate concerns of peak oil in the late 1990s were quelled by the Shale revolution in the United States and other technological advances in oil and gas exploration and exploitation. These have increased (by a factor between 2 and 4) the total amount of known reserves that can be profitably exploited. While this increase is significant on an linear scale, it is negligible on an exponential scale. Looking forward, the largest estimates for how much larger accessible oil and gas reserves will be are within an order of magnitude of current reserves. Presuming resource-driven growth economics continues, whatever accessible oil and gass is left will then be exhausted within a short period of time (e.g. within a century). \n", - "\n", - "Exponential growth in a bounded system will often slow as it reaches the boundary because of boundary-sized feedback effects. In our case, demand growth for fossil fuels is starting to slow with the development of renewable energy sources. There still substantial uncertainty about how these feedbacks will play out. Some questions to consider: \n", - "- whether the transition to renewable energy sources can happen before we exhaust the associated non-renewable resources. \n", - "- Once transitioned, whether the non-renewable resource use (e.g. of rare-earth metals) needed to sustain the renewable energy sector is sustainable in a growth-based economics\n", - "- Once transitioned, whether this renewable energy resource might not slow, but instead accelerate the extraction of all non-renewable resources (see [Jevon's paradox](https://en.wikipedia.org/wiki/Jevons_paradox)). \n", - "\n", - "*** \n", - " \n", - "
" - ] - }, - { - "cell_type": "markdown", - "id": "98a285b1-48e1-4c90-9789-584d80231449", - "metadata": { - "execution": {} - }, - "source": [ - "# Bonus Section 2: The Economic Impact of Climate Change\n", - "\n", - "In the previous day's tutorials, you learned how increases in atmospheric greenhouse gas (GHG) concentrations significantly alter Earth's climate and examined the impacts of these emissions on variables such as sea-surface temperature and oxygen. These changes in climate variables can, in turn, impact the economy. For example, increased temperatures may reduce crop yields or soften road surfaces requiring more frequent or intense repairs.\n", - "\n", - "## Bonus Question 2:\n", - "\n", - "1. Take a minute to think of some other possible ways in which climate change can affect the economy. Then discuss with your pod." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "920f3d23-5eb9-4f4b-9c43-86e5cbad02b9", - "metadata": { - "execution": {} - }, - "outputs": [], - "source": [ - "# to_remove explanation\n", - "'''\n", - "Other potential examples are human health, extreme weather events, sea-level rise, desertification, flooding, species migration.\n", - "'''" - ] - }, - { - "cell_type": "markdown", - "id": "c78b63df-8bc2-4e0c-898f-a926fce03e4d", - "metadata": { - "execution": {} - }, - "source": [ - "These economic impacts on climate change are considered *economic damage* as they typically result in less or slower economic growth. Economists incorporate the impacts of climate change on the economy into models through a **damage function**, which usually represents climate change by an increase in global temperature, and the impact on the economy as a reduction in [gross domestic product](https://en.wikipedia.org/wiki/Gross_domestic_product) (GDP).\n", - "\n", - "You can dive deeper into the control knob functionalities of En-ROADS by changing the quantification of how climate change damages the economy via a reduction in GDP. To have a closer look at the assumptions that go into the model, we click on the 'Simulation' toggle and select 'Assumptions', in the bottom a box of toggles appears. Here we choose the 'Economy' section and click on 'Economic impact of climate change'.\n", - "\n", - "### Bonus Exercise 2: Choose a Damage function\n", - "*Estimated timing:* 10 minutes\n", - "\n", - "In this section, 3 dropdowns correspond to 3 assumptions: (1) whether or not climate change slows economic growth, (2) if yes, how strongly as a function of temperature (what is the damage function), and (3) by how much do we discount far future welfare relative to current welfare. \n", - "\n", - "1. Hypothesize which parameter needs to be changed to have a less severe damage function.\n", - "\n", - "2. Decide which 'related graph' shall be shown on the top left and explain your hypothesis and final choice of the parameter along it.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f1055ced-d99b-4c9f-b4e7-fe7176cc58bc", - "metadata": { - "execution": {} - }, - "outputs": [], - "source": [ - "# to_remove explanation\n", - "'''\n", - "1. There are two options. We could change one boring parameter and a more exciting one.\n", - "The former has a strong impact. By turning off the 'Climate change slows economic growth' button, we make the strong assumption that there is less severe damage as asked because there is NO damage at all.\n", - "In other words, we decoupled GDP and temperature increase which results in even more GHG emissions than in the baseline scenario.\n", - "To get a more relevant and exciting result, it is better to change the 'Economic damage formulation' instead.\n", - "\n", - "2. The default formulation by 'Burke 2018' serves as the baseline.\n", - "In order to have a less severe damage formulation we could have a look at the 'Reduction in GDP vs. Temperature' plot.\n", - "However, all other formulations show a more or equal severe damage function than 'Burke 2018' with respect to temperature.\n", - "Another view, i.e. the 'Gross World Product' in contrast shows that the 'Howard & Sterner' formulation results in less economic damage,\n", - "which might have been covered in the 'Reduction in GDP vs. Temperature' graph as the scale was going up to 5°C,\n", - "which we do not reach until 2100 in our simple baseline-like scenario.\n", - "'''" - ] - }, - { - "cell_type": "markdown", - "id": "8a3c2b15-e9a4-45df-806e-82efafeb6fe5", - "metadata": { - "execution": {} - }, - "source": [ - "With this, we already discussed a few damage functions in En-Roads. Although they are central to the climate-economy connection of the models, their formulation is relatively ad hoc, which leads to validity issues that are often criticized. \n", - "\n", - "There are at least two fundamental problems with damage functions (for more see [*The appallingly bad neoclassical economics of climate change* by S. Keen in *Globalizations* (2020)](https://www.tandfonline.com/doi/full/10.1080/14747731.2020.1807856)):\n", - "1. As mathematical model objects, they are likely too simple to be useful predictors in characterizing climate damages in sufficient complexity. \n", - "2. They arise from a poorly validated model-fitting procedure. In particular, it relies on ad hoc functional forms and the relevance of historical and geographical variability to future variability.\n", - "\n", - "Despite these problems, damage functions allow economists within the neoclassical paradigm to start seriously considering the damaging effects of climate change." - ] - }, - { - "cell_type": "markdown", - "id": "c688a40e-7c50-45a5-b95e-b66dcd939b99", - "metadata": { - "execution": {} - }, - "source": [ - "# Summary\n", - "\n", - "In this tutorial, we discussed the impact of growth on fossil fuel emissions, in particular population growth vs. economic growth, and its treatment by the world model En-ROADS. Last but not least we introduced the important concept of the damage function to connect climate and economy within a model." - ] - }, - { - "cell_type": "markdown", - "id": "ad0144cc-224a-4422-a098-18eb1481c841", - "metadata": { - "execution": {} - }, - "source": [ - "# Resources\n", - "\n", - "This tutorial is inspired by teaching material from [Climate Interactive](https://climateinteractive.org/) and other documents. \n", - "A few important resources are linked below:\n", - "\n", - "- [En-ROADS documentation](https://docs.climateinteractive.org/projects/en-roads/en/latest/index.html)\n", - "- [En-ROADS User Guide PDF](https://docs.climateinteractive.org/projects/en-roads/en/latest/en-roads-user-guide.pdf)\n", - "- [Guided Assignment - Simulating Climate Futures in En-ROADS: Short Version](https://www.climateinteractive.org/guided-assignment/)" - ] - } - ], - "metadata": { - "colab": { - "collapsed_sections": [], - "include_colab_link": true, - "name": "W2D3_Tutorial2", - "toc_visible": true - }, - "kernel": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "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.19" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Tutorial3.ipynb b/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Tutorial3.ipynb deleted file mode 100644 index d66ef1b15..000000000 --- a/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Tutorial3.ipynb +++ /dev/null @@ -1,338 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "ed664fc2", - "metadata": { - "execution": {} - }, - "source": [ - "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/neuromatch/climate-course-content/blob/main/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis/W2D3_Tutorial3.ipynb)   \"Open" - ] - }, - { - "cell_type": "markdown", - "id": "53e42e1c", - "metadata": { - "execution": {}, - "vscode": { - "languageId": "plaintext" - } - }, - "source": [ - "# Tutorial 3: The Temporal Dimension of Actions\n", - "**Week 2, Day 3: The Socioeconomics of Climate Change**\n", - "\n", - "**Content creators:** Paul Heubel, Maximilian Puelma Touzel\n", - "\n", - "**Content reviewers:** Mujeeb Abdulfatai, Nkongho Ayuketang Arreyndip, Jeffrey N. A. Aryee, Jenna Pearson, Abel Shibu, Ohad Zivan\n", - "\n", - "**Content editors:** Paul Heubel, Jenna Pearson, Chi Zhang, Ohad Zivan\n", - "\n", - "**Production editors:** Wesley Banfield, Paul Heubel, Jenna Pearson, Konstantine Tsafatinos, Chi Zhang, Ohad Zivan\n", - "\n", - "**Our 2024 Sponsors:** CMIP, NFDI4Earth" - ] - }, - { - "cell_type": "markdown", - "id": "87ef2f44-fb74-4664-8472-4c97158a8d17", - "metadata": { - "execution": {} - }, - "source": [ - "# Tutorial Objectives\n", - "\n", - "*Estimated timing of tutorial:* 15 minutes\n", - "\n", - "The last tutorials covered the necessity for an energy transition to tackle the climate emergency and many solutions at once. As emissions accumulate, it becomes substantially harder to succeed the longer we take to make big changes. This tutorial explores the temporal dimension of action, here policies, by using the Climate Solution Simulator named [En-ROADS](https://www.climateinteractive.org/en-roads/).\n", - "\n", - "After finishing this tutorial you can\n", - "\n", - "* exemplify along the carbon price, why policy-making has to consider the temporal dimension and the needs of the most vulnerable parts of society" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "062c4b1a-6239-4644-a0dd-03fe1342fe99", - "metadata": { - "execution": {} - }, - "outputs": [], - "source": [ - "# import\n", - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8b4722fe-cbd5-484a-be6d-96ed7aafbf62", - "metadata": { - "cellView": "form", - "execution": {} - }, - "outputs": [], - "source": [ - "# @title Figure settings\n", - "import ipywidgets as widgets # interactive display\n", - "\n", - "%config InlineBackend.figure_format = 'retina'\n", - "plt.style.use(\n", - " \"https://raw.githubusercontent.com/neuromatch/climate-course-content/main/cma.mplstyle\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "053ee0ea-d704-45c8-8b4b-aad17216710d", - "metadata": { - "cellView": "form", - "execution": {} - }, - "outputs": [], - "source": [ - "# @title Helper functions\n", - "\n", - "def pooch_load(filelocation=None, filename=None, processor=None):\n", - " shared_location = \"/home/jovyan/shared/Data/tutorials/W2D3_FutureClimate-IPCCII&IIISocio-EconomicBasis\" # this is different for each day\n", - " user_temp_cache = tempfile.gettempdir()\n", - "\n", - " if os.path.exists(os.path.join(shared_location, filename)):\n", - " file = os.path.join(shared_location, filename)\n", - " else:\n", - " file = pooch.retrieve(\n", - " filelocation,\n", - " known_hash=None,\n", - " fname=os.path.join(user_temp_cache, filename),\n", - " processor=processor,\n", - " )\n", - "\n", - " return file" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5b50c362", - "metadata": { - "cellView": "form", - "execution": {} - }, - "outputs": [], - "source": [ - "# @title Video 1: The IPCC's Transition Narratives and Project Modelling\n", - "\n", - "from ipywidgets import widgets\n", - "from IPython.display import YouTubeVideo\n", - "from IPython.display import IFrame\n", - "from IPython.display import display\n", - "\n", - "\n", - "class PlayVideo(IFrame):\n", - " def __init__(self, id, source, page=1, width=400, height=300, **kwargs):\n", - " self.id = id\n", - " if source == 'Bilibili':\n", - " src = f'https://player.bilibili.com/player.html?bvid={id}&page={page}'\n", - " elif source == 'Osf':\n", - " src = f'https://mfr.ca-1.osf.io/render?url=https://osf.io/download/{id}/?direct%26mode=render'\n", - " super(PlayVideo, self).__init__(src, width, height, **kwargs)\n", - "\n", - "\n", - "def display_videos(video_ids, W=400, H=300, fs=1):\n", - " tab_contents = []\n", - " for i, video_id in enumerate(video_ids):\n", - " out = widgets.Output()\n", - " with out:\n", - " if video_ids[i][0] == 'Youtube':\n", - " video = YouTubeVideo(id=video_ids[i][1], width=W,\n", - " height=H, fs=fs, rel=0)\n", - " print(f'Video available at https://youtube.com/watch?v={video.id}')\n", - " else:\n", - " video = PlayVideo(id=video_ids[i][1], source=video_ids[i][0], width=W,\n", - " height=H, fs=fs, autoplay=False)\n", - " if video_ids[i][0] == 'Bilibili':\n", - " print(f'Video available at https://www.bilibili.com/video/{video.id}')\n", - " elif video_ids[i][0] == 'Osf':\n", - " print(f'Video available at https://osf.io/{video.id}')\n", - " display(video)\n", - " tab_contents.append(out)\n", - " return tab_contents\n", - "\n", - "\n", - "video_ids = [('Youtube', 'g5VRHCcIyxk'),\n", - " #('Bilibili', 'BV1nN411U75L')\n", - " ]\n", - "tab_contents = display_videos(video_ids, W=730, H=410)\n", - "tabs = widgets.Tab()\n", - "tabs.children = tab_contents\n", - "for i in range(len(tab_contents)):\n", - " tabs.set_title(i, video_ids[i][0])\n", - "display(tabs)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "703ee8f2", - "metadata": { - "cellView": "form", - "execution": {} - }, - "outputs": [], - "source": [ - "# @markdown\n", - "from ipywidgets import widgets\n", - "from IPython.display import IFrame\n", - "\n", - "link_id = \"mtyrb\"\n", - "\n", - "download_link = f\"https://osf.io/download/{link_id}/\"\n", - "render_link = f\"https://mfr.ca-1.osf.io/render?url=https://osf.io/{link_id}/?direct%26mode=render%26action=download%26mode=render\"\n", - "# @markdown\n", - "out = widgets.Output()\n", - "with out:\n", - " print(f\"If you want to download the slides: {download_link}\")\n", - " display(IFrame(src=f\"{render_link}\", width=730, height=410))\n", - "display(out)" - ] - }, - { - "cell_type": "markdown", - "id": "29cf9a43-2478-4d14-9faf-193e54378a04", - "metadata": { - "execution": {} - }, - "source": [ - "# Section 1: When and How Do You Introduce a Carbon Price?\n", - "\n", - "You might have recognized that a high ***carbon price*** by default has a strong impact on the temperature increase within the En-ROADS model as it both reduces the carbon intensity of the energy supply and reduces the energy demand. However, the carbon price itself could be introduced now or in 50 years and at different amounts, depending on for example the social cost of such a policy, which makes energy supply more expensive depending on its emissions. Energy producers could pass additional costs to their customers, so policy could be designed to minimize the impacts on the poorest, e.g. by introducing a [Carbon fee and dividend](https://en.wikipedia.org/wiki/Carbon_fee_and_dividend). \n", - "\n", - "To account for their temporal evolution, many variables in En-ROADS allow for modifications of the timing when something is introduced, stopped, in or de-creased, and so on." - ] - }, - { - "cell_type": "markdown", - "id": "d29fb31c-84ab-4705-8678-87f8274f6500", - "metadata": { - "execution": {} - }, - "source": [ - "## Exercise 1: Implications of Actions and Their Timing\n", - "*Estimated timing:* 10 minutes\n", - "\n", - "1. **Open En-ROADS** [here](https://en-roads.climateinteractive.org/). *(Note the control panel is available in various languages - check the left of the panel of the simulator that should by default show \"English\".)*\n", - " \n", - "2. **Develop a scenario**: Click on the ellipsis of the 'Carbon price' slider, and a widget-info box opens that allows for finetuning of your carbon price policy.\n", - " 1. Click on the title of the top right graph *Greenhouse Gas Net Emissions*, select the 'Financial' toggle, and select the 'Market price of electricity'.\n", - " 2. Turn the most upper knobs/ vary the sliders of the 'Carbon price' and slide through different carbon prices.\n", - " 3. Move the sliders to answer the following question. Use the following [cheatsheet](https://img.climateinteractive.org/2019/09/EnROADS-one-page-guide-to-control-panel-v11-dec-2021.pdf) if needed.\n", - "\n", - "\n", - "3. **Answer the following questions**:\n", - " * What do you observe in the 'Market price of electricity' graph after varying the carbon price?\n", - " * Now, select a high carbon price and increase the 'Year the carbon price starts to phase in'. How does the carbon price change the temporal evolution of the 'Market price of electricity'. \n", - " * How could this be of consequence for a low-income household?\n", - "\n", - "*Be warned that a reset of all your previous changes might be necessary before. If you would like to save your previous scenario, export it via a click on the* ***Share your scenario*** *button in the top right of the Panel, and select 'Copy Scenario Link'*.\n", - "\n", - "*Note that your changes are reflected in the light blue graph, while the baseline scenario remains a black line.*" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c97e6d3d-1718-479b-a19a-ffc6a082347b", - "metadata": { - "execution": {} - }, - "outputs": [], - "source": [ - "# to_remove explanation\n", - "\n", - "'''\n", - "3. The earlier the carbon price starts to phase in the more effective it is regarding the temperature increase.\n", - "However, the earlier the larger the disturbance of the market price of electricity, emphasized by a strong increase in the price at first\n", - "and a strong drop in the price after the first few years.\n", - "This might lead to economic disruptions as energy supply becomes very expensive, therefore low-income households,\n", - "which usually spend large parts of their income on energy, would need compensation like a 'carbon dividend' to avoid precariat.\n", - "In summary, actions and their temporal implementation always need to be evaluated in various aspects to be a successful and\n", - "societal least disruptive action against climate change.\n", - "'''" - ] - }, - { - "cell_type": "markdown", - "id": "3562deb9", - "metadata": { - "execution": {} - }, - "source": [ - "# Summary\n", - "\n", - "In this tutorial, we discussed the temporal dimension of the carbon price implementation in order to understand why no policy might be a silver bullet to solve all problems but comes with various ethical and political implications. At last, we discussed a few limitations of the En-ROADs model approach." - ] - }, - { - "cell_type": "markdown", - "id": "6d0c2c37-0e64-4734-8776-1f455a20987f", - "metadata": { - "execution": {} - }, - "source": [ - "# Resources\n", - "\n", - "This tutorial is inspired by teaching material from [Climate Interactive](https://climateinteractive.org/) and other documents. \n", - "A few important resources are linked below:\n", - "\n", - "- [En-ROADS documentation](https://docs.climateinteractive.org/projects/en-roads/en/latest/index.html)\n", - "- [En-ROADS User Guide PDF](https://docs.climateinteractive.org/projects/en-roads/en/latest/en-roads-user-guide.pdf)\n", - "- [Guided Assignment - Simulating Climate Futures in En-ROADS: Short Version](https://www.climateinteractive.org/guided-assignment/)" - ] - }, - { - "cell_type": "markdown", - "id": "27636b92", - "metadata": { - "execution": {} - }, - "source": [ - "