diff --git a/notebooks/foundations/energy-balance-model.ipynb b/notebooks/foundations/energy-balance-model.ipynb index 1592f05..7cb52a9 100644 --- a/notebooks/foundations/energy-balance-model.ipynb +++ b/notebooks/foundations/energy-balance-model.ipynb @@ -4,12 +4,6 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Let's start here! If you can directly link to an image relevant to your notebook, such as [canonical logos](https://github.com/numpy/numpy/blob/main/doc/source/_static/numpylogo.svg), do so here at the top of your notebook. You can do this with Markdown syntax,\n", - "\n", - "> `![](http://link.com/to/image.png \"image alt text\")`\n", - "\n", - "or edit this cell to see raw HTML `img` demonstration. This is preferred if you need to shrink your embedded image. **Either way be sure to include `alt` text for any embedded images to make your content more accessible.**\n", - "\n", "\"Project" ] }, @@ -17,9 +11,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Energy Balance Model and Feedbacks\n", - "\n", - "Next, title your notebook appropriately with a top-level Markdown header, `#`. Do not use this level header anywhere else in the notebook. Our book build process will use this title in the navbar, table of contents, etc. Keep it short, keep it descriptive. Follow this with a `---` cell to visually distinguish the transition to the prerequisites section." + "# Energy Balance Model and Feedbacks" ] }, { @@ -34,13 +26,13 @@ "metadata": {}, "source": [ "## Overview\n", - "If you have an introductory paragraph, lead with it here! Keep it short and tied to your material, then be sure to continue into the required list of topics below,\n", "\n", - "1. This is a numbered list of the specific topics\n", - "1. These should map approximately to your main sections of content\n", - "1. Or each second-level, `##`, header in your notebook\n", - "1. Keep the size and scope of your notebook in check\n", - "1. And be sure to let the reader know up front the important concepts they'll be leaving with" + "This tutorial focuses on introducing the fundamental concepts of the energy balance model and radiative feedback, and establish notations and definitions for the rest of the cookbook. \n", + "\n", + "The following topics will be covered in this tutorial: \n", + "1. The Energy Balance Model \n", + "2. What is Radative Feedback \n", + "3. Methods to Calculate Radiative Feedback" ] }, { @@ -48,23 +40,13 @@ "metadata": {}, "source": [ "## Prerequisites\n", - "This section was inspired by [this template](https://github.com/alan-turing-institute/the-turing-way/blob/master/book/templates/chapter-template/chapter-landing-page.md) of the wonderful [The Turing Way](https://the-turing-way.netlify.app) Jupyter Book.\n", - "\n", - "Following your overview, tell your reader what concepts, packages, or other background information they'll **need** before learning your material. Tie this explicitly with links to other pages here in Foundations or to relevant external resources. Remove this body text, then populate the Markdown table, denoted in this cell with `|` vertical brackets, below, and fill out the information following. In this table, lay out prerequisite concepts by explicitly linking to other Foundations material or external resources, or describe generally helpful concepts.\n", - "\n", - "Label the importance of each concept explicitly as **helpful/necessary**.\n", "\n", "| Concepts | Importance | Notes |\n", "| --- | --- | --- |\n", - "| [Intro to Cartopy](https://foundations.projectpythia.org/core/cartopy/cartopy.html) | Necessary | |\n", - "| [Understanding of NetCDF](https://foundations.projectpythia.org/core/data-formats/netcdf-cf.html) | Helpful | Familiarity with metadata structure |\n", - "| Project management | Helpful | |\n", + "| TBD | Necessary | |\n", + "\n", "\n", - "- **Time to learn**: estimate in minutes. For a rough idea, use 5 mins per subsection, 10 if longer; add these up for a total. Safer to round up and overestimate.\n", - "- **System requirements**:\n", - " - Populate with any system, version, or non-Python software requirements if necessary\n", - " - Otherwise use the concepts table above and the Imports section below to describe required packages as necessary\n", - " - If no extra requirements, remove the **System requirements** point altogether" + "- **Time to learn**: 30 minutes?" ] }, { @@ -79,133 +61,248 @@ "metadata": {}, "source": [ "## Imports\n", - "Begin your body of content with another `---` divider before continuing into this section, then remove this body text and populate the following code cell with all necessary Python imports **up-front**:" + "We will import commonly used scientific Python packages for this notebook." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ - "import sys" + "import numpy as np \n", + "import xarray as xr \n", + "import matplotlib.pyplot as plt " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Your first content section" + "## The Energy Balance Model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "This is where you begin your first section of material, loosely tied to your objectives stated up front. Tie together your notebook as a narrative, with interspersed Markdown text, images, and more as necessary," + "SOS on font settings and adding links\n", + "
\n", + "

Info

\n", + " For a more comprehensive material about the energy balance model, pokearounds on the energy balance model, and introductions to simpler energy balance models like the two-box model, feel free to check out other resources like the [Climate Laboratory](https://brian-rose.github.io/ClimateLaboratoryBook/courseware/zero-dim-ebm.html) and

[*Chapter 2 - Global Energy Balance*] from *Global Physical Climatology* (Hartmann 2016). \n", + "

" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "# as well as any and all of your code cells\n", - "print(\"Hello world!\")" + "Imagine a scenario where we start off with an energy-balanced Earth, where at top of atmosphere (TOA) flux towards Earth's surface is equal to the TOA flux going out to space. \n", + "\n", + "Now if we double the concentration levels of carbon dioxide ($CO_{2}$) in the atmopshere - the surface temperature is going to increase through the greenhouse-effect instantaneously. However, climate processes can amplify or dampen the climate response. For example, the surface may radiate more out to space due to the surface warming, which would dampen the overall warming. On the other hand, there may be more water vapor to absorb the outgoing longwave radiation in the atmosphere due to the increased rate of evaporation from the warming, and thus amplifies the warming. \n", + "\n", + "To put this into equations, let $R$ be the radiative imbalance, $S_o$ as the solar insolation, $\\alpha$ as the planetary albedo, and together, $S_o/4 (1-\\alpha)$ represents the absorbed solar radiation. OLR is the outgoing longwave radiation. At equilibrium where the incoming flux equals to the outgoing flux, **R** = 0. \n", + "\n", + "\n", + "\\begin{equation*}\n", + "R = F_{in} - F_{out}\n", + "\\end{equation*}\n", + "\n", + "\\begin{equation*}\n", + " R = S_o/4 (1-\\alpha) - OLR\n", + "\\end{equation*}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### A content subsection\n", - "Divide and conquer your objectives with Markdown subsections, which will populate the helpful navbar in Jupyter Lab and here on the Jupyter Book!" + "In this case, the addition of $CO_{2}$ induces a change in the radiative flux at the top of the atmosphere, and is quantified as the raditive forcing F. The climate responds to the radiative imbalance by changing the global mean temperature. We can relate the global mean surface temperature to the external perturbation and the radiative imbalance at TOA by the following equation: \n", + "\n", + "\n", + "\\begin{equation*}\n", + " R = F + \\lambda T\n", + "\\end{equation*}\n", + "\n", + "where **R** is the net TOA flux anomaly (positive downward), **F** is the effective radiative forcing, **$\\lambda$** is the feedback parameter, also known as the climate response parameter, and **T** is the global mean **surface** temperature anomaly, relative to the temperature at equilibrium. \n", + "\n", + "Other typical conventions of the same values used within the community: \n", + "\n", + "- R = N (e.g. Gregory et al. 2004);\n", + "- R = H (e.g. Dessler and Zelinka 2015);\n", + "- F = $\\Delta$Q (e.g. Bony et al. 2006); \n", + "- $\\lambda$ = $\\alpha$ (e.g. Gregory et al. 2004);" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "# some subsection code\n", - "new = \"helpful information\"" + "SOS on font settings and adding links and splitting into paragraphs\n", + "
\n", + "

Info

\n", + " As you explore the feedback-forcing space, you may stumble upon the term climate sensitivity, which is the relationship between the magnitude of the climate change response and the doubling-CO2 forcing with the unit in Kelvin. \\begin{equation*}\n", + " ECS = \\frac{1}{\\lambda}\n", + "\\end{equation*}\n", + " This metric tells how much the climate system would warm per unit of radiative forcing (typically doubling of $CO_{2}$. Ch.10 Climate Sensitivity and Feedback Mechanisms in the Global Physical Climatology (Hartmann 2016) and the chapter \"Climate Feedbacks\" in the Encyclopedia of Atmospheric Sciences (Dessler and Zelinka 2015) provide a holistic overview on the topic, and Sherwood et al. 2020 would provide the most up-to-date understanding on equilibrium climate sensitivity (ECS) within the community. \n", + "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Another content subsection\n", - "Keep up the good work! A note, *try to avoid using code comments as narrative*, and instead let them only exist as brief clarifications where necessary." + "## Radiative Feedback $(\\lambda)$\n", + "\n", + "### So, what is a feedback and why does it matter? \n", + "\n", + "Feedback is the climate system response to an external radiative forcing ([Hansen et al. 1984](https://doi.org/10.1029/GM029p0130), [Bony et al. 2006](https://doi.org/10.1175/JCLI3819.1)). When the global mean surface temperature changes, climate variables may change as well. These climate variable changes would influence the Earth's radiation balance and contribute to the radiative response. \n", + "\n", + "Note that feedback is different from the radiative response, where the former has the unit of $Wm^{-2} K^{-1}$ and is quantified by the feedback parameter $\\lambda$, while the latter has the unit of $Wm^{-2}$, quantified by $\\lambda T$. \n", + "\n", + "Let x be a vector representing an ensemble of climate variables like atmospheric temperature, water vapor, surface ice and snow. The formal definition of the system's total feedback parameter, which is the strength of the climate system's net feedback, is as follow ([Bony et al. 2006](https://doi.org/10.1175/JCLI3819.1)): \n", + "\n", + "\\begin{equation*}\n", + "\\lambda = \\frac{\\partial R}{\\partial T_{s}} = \\sum^{x} \\frac{\\partial R}{\\partial x} \\frac{\\partial x}{\\partial T_{s}} + \\sum \\sum \\frac{\\partial ^{2}R}{\\partial x \\partial y} \\frac{\\partial x \\partial y}{\\partial T_{s}^{2}} + ...\n", + "\\end{equation*}\n", + "\n", + "(UNDER CONSTRUCTION: source needed for why do this+populate explanation on equation - Dessler and Zelinka 2015 explains it more intuitively, but require conversion from g to $\\lambda$) \n", + "\n", + "The net feedback parameter is reduced to the first order ([Sherwood et al. 2020](https://doi.org/10.1029/2019RG000678)): \n", + "\n", + "\\begin{equation*}\n", + "\\lambda = \\sum^{x}_{i}\\lambda_{i} = \\sum^{x} \\frac{\\partial R}{\\partial x} \\frac{\\partial x}{\\partial T_{s}} \n", + "\\end{equation*}\n", + "\n", + "A positive feedback ($\\lambda > 0$) would make the forced response bigger while a negative feedback ($\\lambda < 0$) stabilizes the forced response. In the following subsections, we will discuss each feedback mechanism in detail and how the mechanism would feed back into enhancing or muting the response. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Your second content section\n", - "Here we can move on to our second objective, and we can demonstrate" + "### Types of Feedbacks \n", + "\n", + "Feedbacks below are listed following [Sherwood et al. 2020](https://doi.org/10.1029/2019RG000678) and are limited to feedbacks that directly affect the top-of-the-atmosphere (TOA) radiation budget, and respond to surface temperature mostly through physical processes (Bony et al. 2006): \n", + "1. Planck Feedback\n", + "2. Surface Albedo Feedback\n", + "3. Water Vapor Feedback\n", + "4. Lapse Rate Feedback\n", + "5. Cloud Feedback\n", + "\n", + "The list above is not exhaustive. Feedbacks like the carbon cycle feedback are not included due to the carbon dioxide level being prescribed for the experimental set-up in Sherwood et al. (2020). Other feedbacks like the atmospheric ozone feedback and stratospheric feedback are not included as they are not normally quantified (Sherwood et al. 2020)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Subsection to the second section\n", + "### 1. Planck \"Feedback\" (Negative under warming)\n", + "\n", + "Planck feedback is the extra longwave (LW) emission to space from a vertically uniform warming of the surface and atmosphere, while holding all climate variable unchanged.\n", + "\n", + "The Planck feedback can be explained by the Stefan-Boltzmann law, which states that the total energy radiated per unit surface area per unit time is directly proportional to the fourth power of the black body's temperature. \n", "\n", - "#### a quick demonstration\n", + "\\begin{equation*}\n", + " F = \\sigma T^4 \n", + "\\end{equation*}\n", "\n", - "##### of further and further\n", "\n", - "###### header levels" + ", where $\\sigma$ is the Stefan-Boltzmann constant ($5.67*10^{-8}$ $ Wm^{-2}K^{-4}$). If everything else is held constant, we can calculate the rate of change of TOA flux due to the change in surface warming by taking the derivative of the Stefan-Boltzmann law. Taking the Earth's average outgoing longwave radiation as 240 $Wm^{−2}$ (e.g., Loeb et al., 2018) for the global effective emission temperature $T_{e}$ as 255K, and substitute it as follow:\n", + "\n", + "\\begin{equation*}\n", + " -4\\sigma T_e^3 \\approx - 3.76 Wm^{-2}K^{-1}\n", + "\\end{equation*}\n", + "\n", + "If we include the planetary emissivity $\\epsilon$, we will get $\\lambda_{Planck} \\approx -3.3Wm^{-2}K^{-1}$, which is close to observations (Dessler, 2013) and global climate models (Caldwell et al. 2016). \n", + "\n", + "Simply put, the more you heat, the more LW radiation go out.\n", + "[TO BE POLISHED]\n", + "*Kernel related: structural uncertainty in Planck feedback arises from differences in spatial pattern of surface warming and climatological distribution fo clodus and water vapor that determines planetary emissivity - affects radiative temperature kernel (Sherwood et al 2020). \n", + "\n", + "Types of radiative kernels there are: sfc albedo, air temp (vert.varying) , surf temp, LW water vapor kernel, SW water vapor kernel" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "as well $m = a * t / h$ text! Similarly, you have access to other $\\LaTeX$ equation [**functionality**](https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Typesetting%20Equations.html) via MathJax (demo below from link),\n", - "\n", - "\\begin{align}\n", - "\\dot{x} & = \\sigma(y-x) \\\\\n", - "\\dot{y} & = \\rho x - y - xz \\\\\n", - "\\dot{z} & = -\\beta z + xy\n", - "\\end{align}" + "SOS on adding links\n", + "
\n", + "

Extended Read

\n", + " Planck feedback not necessarily accurately represented in climate models due to lack of stratospheric warming. [Cronin and Dutta 2023]\n", + "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Check out [**any number of helpful Markdown resources**](https://www.markdownguide.org/basic-syntax/) for further customizing your notebooks and the [**Jupyter docs**](https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Working%20With%20Markdown%20Cells.html) for Jupyter-specific formatting information. Don't hesitate to ask questions if you have problems getting it to look *just right*." + "### 2. Surface Albedo Feedback (Positive under warming) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Last Section\n", + ":$ to bee populated" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3. Water Vapor Feedback: (Positive under warming) \n", + "\n", + "[UNDER CONSTRUCTION]\n", + "\n", + "Water vapor feedback and lapse rate feedback are commonly discussed together as they are both dependent on the how much water vapor is present in the atmosphere. \n", + "\n", + "Water vapor feedback is defined as the change in TOA net flux due to the increase in water vapor per degree of surface warming. \n", "\n", - "If you're comfortable, and as we briefly used for our embedded logo up top, you can embed raw html into Jupyter Markdown cells (edit to see):" + "Water vapor interacts with both longwave and shortwave radiation. captures the change in outgoing LW and absorbed SW radiation at TOA due to the changes in the atmospheric water vapor concentration. \n", + "\n", + "\n", + "[insert pic of capacity of jar increases as temperature increase]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "
\n", - "

Info

\n", - " Your relevant information here!\n", - "
" + "### 4. Lapse Rate Feedback (Negative under warming) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Feel free to copy this around and edit or play around with yourself. Some other `admonitions` you can put in:" + "LATERRRRRR" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4. Cloud Feedback " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Methods to Calculate Raditaive Feedback " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Typically radiative feedback are calculated with global climate models. :O\n", + "- PRP method\n", + "\n", + "\n", + "Workin on it >:) " ] }, { @@ -267,15 +364,16 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Resources and references\n", - "Finally, be rigorous in your citations and references as necessary. Give credit where credit is due. Also, feel free to link to relevant external material, further reading, documentation, etc. Then you're done! Give yourself a quick review, a high five, and send us a pull request. A few final notes:\n", - " - `Kernel > Restart Kernel and Run All Cells...` to confirm that your notebook will cleanly run from start to finish\n", - " - `Kernel > Restart Kernel and Clear All Outputs...` before committing your notebook, our machines will do the heavy lifting\n", - " - Take credit! Provide author contact information if you'd like; if so, consider adding information here at the bottom of your notebook\n", - " - Give credit! Attribute appropriate authorship for referenced code, information, images, etc.\n", - " - Only include what you're legally allowed: **no copyright infringement or plagiarism**\n", - " \n", - "Thank you for your contribution!" + "References: \n", + "- Bony et al. 2006\n", + "- Zelinka et al. 2020\n", + "- Sherwood et al. 2020\n", + "- Dessler and Zelinka 2015 (Encyclopedia of Atmospheric Sciences)\n", + "- Hartmann 2016 (Global Physical Climatology)\n", + "- Hansen et al. 1984\n", + "- Gregory et al. 2004\n", + "\n", + "More to come" ] } ],