Skip to content

Commit

Permalink
Merge pull request #20 from rytam2/make-Foundation2
Browse files Browse the repository at this point in the history
populated outline in theory radiation feedback
  • Loading branch information
rytam2 authored Jun 14, 2024
2 parents 0ba85e9 + 02dba0c commit 83b7233
Showing 1 changed file with 38 additions and 109 deletions.
147 changes: 38 additions & 109 deletions notebooks/foundations/theory-rad-feedback.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,13 @@
"metadata": {},
"source": [
"## Overview\n",
"This tutorial explains the mathematical theory used in calculating radiative feedbacks."
"This tutorial explains the ways to calculate radiative feedbacks, the math behind the calculations, and their respective advantages and limitations. \n",
"\n",
"After this tutorial, you will know: \n",
"\n",
"1. what radiative kernels are; \n",
"2. the calculations of radiative feedback with radiative kernels; and \n",
"3. the advantages, limitations, assumptions and uncertainties of the radiative kernel method. "
]
},
{
Expand All @@ -32,15 +38,9 @@
"\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",
"| Calculus | Necessary | we love math|\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**: 24-7 :)"
]
},
{
Expand All @@ -54,140 +54,84 @@
"cell_type": "markdown",
"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**:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import sys"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Radiative Budget Analysis"
"## Methods to Calculate Raditaive Feedback "
]
},
{
"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,"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Methods of Estimating Cloud Feedbacks\n",
"Clouds are generally assumed to be the largest source of uncertainty in the global climate response to radiative forcing. Cloud formation and lifetime are dictated by complex processes occurring at micro and macro-scale, and their properties depend on the cloud type and optical properties. The nonlinear radiative effects of clouds are thus not suitable for direct calculation by kernels.\n",
"\n",
"Several methods have evolved to estimate cloud feedbacks. \n",
"{cite:ps}`soden:2006a`computed the cloud feedback as the residual difference between the effective climate sensitivity and all other feedbacks.{cite:p}`soden:2008a` calculated cloud feedback as a sum of the change in cloud radiative forcing and the difference between the full-sky and clear-sky kernels. However, {cite:ts}`held:2012a` have pointed out that the decomposition of radiative feedbacks into the mechanisms discussed herein is rather arbitrary and proposed the use of tropospheric relative humidity \n",
"Typically radiative feedback are calculated with global climate models. \n",
"- Partial Radiative Perturbation (PRP) method (Wetherald and Manabe 1988)\n",
"- Cloud Radiative Forcing (CRF) approach (Cess et al. 1990, 1996)\n",
"- Online Feedback Suppression Approach (Hall and Manabe 1999, Schneider et al. 1999)\n",
"- Radiative Kernel Methods (Soden et al. 2008) \n",
"\n",
"\n"
"Evaluates partial derivatives of model TOA"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Subsection to the second section\n",
"\n",
"#### a quick demonstration\n",
"## Calculating Feedbacks with Radiative Kernels \n",
"\n",
"##### of further and further\n",
"As of when this cookbook section is written (2024), there are a couple radiative kernels available in the community. \n",
"- [Soden et al. (2008)](https://doi.org/10.1175/2007JCLI2110.1) from GFDL \n",
"- [Shell et al. (2008)](https://doi.org/10.1175/2007JCLI2044.1) from CAM\n",
"- [Block and Mauritsen (2013)](https://doi.org/10.1002/jame.20041) from Max Planck Institute Earth System Model (MPI-ESM-LR)\n",
"- [Pendergrass, Conley, and Vitt (2018)](https://doi.org/10.5194/essd-2017-108) from NSF-NCAR Community Atmosphere Model 5 (CESM-CAM5)\n",
"- [Smith et al. (2018)](https://doi.org/10.1029/2018gl079826) from 11 models in PDRMIP\n",
"\n",
"###### header levels"
"We will discuss the radiative kernel method in details based off of kernels discussed in Soden et al. 2008. "
]
},
{
"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}"
"### Planck Feedback: Temperature Kernel"
]
},
{
"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*."
"### Water Vapor and Lapse Rate Feedback: Water Vapor Kernel"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Last Section\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):"
"### Albedo Feedback: Surface Albedo Kernel"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"admonition alert alert-info\">\n",
" <p class=\"admonition-title\" style=\"font-weight:bold\">Info</p>\n",
" Your relevant information here!\n",
"</div>"
]
},
{
"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:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"admonition alert alert-success\">\n",
" <p class=\"admonition-title\" style=\"font-weight:bold\">Success</p>\n",
" We got this done after all!\n",
"</div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"admonition alert alert-warning\">\n",
" <p class=\"admonition-title\" style=\"font-weight:bold\">Warning</p>\n",
" Be careful!\n",
"</div>"
"### Cloud Feedback: Cloud Kernel...?\n",
"Clouds are generally assumed to be the largest source of uncertainty in the global climate response to radiative forcing. Cloud formation and lifetime are dictated by complex processes occurring at micro and macro-scale, and their radiative properties depend on the cloud type and optical properties. The nonlinear radiative effects of clouds are thus not suitable for direct calculation by kernels.\n",
"\n",
"Several methods have evolved to estimate cloud feedbacks. \n",
"<a href=\"https://doi.org/10.1175/JCLI3799.1\">Soden and Held (2006)</a> computed the cloud feedback as the residual difference between the effective climate sensitivity and all other feedbacks.<a href=\"https://doi.org/10.1175/2007JCLI2110.1\"> Soden et al. (2008)</a> calculated cloud feedback as a sum of the change in cloud radiative forcing and the difference between the full-sky and clear-sky kernels. However,<a href=\"https://doi.org/10.1175/JCLI-D-11-00248.1\"> Held and Shell (2012) </a> have pointed out that the decomposition of radiative feedbacks into the mechanisms discussed herein is rather arbitrary and proposed the use of tropospheric relative humidity \n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"admonition alert alert-danger\">\n",
" <p class=\"admonition-title\" style=\"font-weight:bold\">Danger</p>\n",
" Scary stuff be here.\n",
"</div>"
"#### Adjustment vs. residual method\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We also suggest checking out Jupyter Book's [brief demonstration](https://jupyterbook.org/content/metadata.html#jupyter-cell-tags) on adding cell tags to your cells in Jupyter Notebook, Lab, or manually. Using these cell tags can allow you to [customize](https://jupyterbook.org/interactive/hiding.html) how your code content is displayed and even [demonstrate errors](https://jupyterbook.org/content/execute.html#dealing-with-code-that-raises-errors) without altogether crashing our loyal army of machines!"
"### Relative Humidity Framework Kernels \n"
]
},
{
Expand All @@ -202,25 +146,10 @@
"metadata": {},
"source": [
"## Summary\n",
"Add one final `---` marking the end of your body of content, and then conclude with a brief single paragraph summarizing at a high level the key pieces that were learned and how they tied to your objectives. Look to reiterate what the most important takeaways were.\n",
"Yay you made it! \n",
"\n",
"### What's next?\n",
"Let Jupyter book tie this to the next (sequential) piece of content that people could move on to down below and in the sidebar. However, if this page uniquely enables your reader to tackle other nonsequential concepts throughout this book, or even external content, link to it here!"
]
},
{
"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!"
"Now that you have learned all the foundations about the energy balance, the feedback-forcing framework, how to calculate and the reasons behind the calculations of feedbacks with the use of radiative kernels, let's get crackin! (is this old school?) "
]
}
],
Expand Down

0 comments on commit 83b7233

Please sign in to comment.