#+title: The greenhouse effect, calculated again
#+options: toc:nil
#+LaTeX: \definecolor{bg}{rgb}{0.98,0.98,0.98}
#+begin_export html
[![PDF](/files/greenhouse-effect-thumbnail.png)](/files/greenhouse-effect_4.pdf)
[PDF](/files/greenhouse-effect_4.pdf) (drucken)
[Org](/files/greenhouse-effect_4.org) (ändern)

#+end_export
/I did not want to talk about the greenhouse effect without having/
/checked the math and physics. Therefore I calculated it myself./
#+begin_export html
*If you want all links to work, read the the PDF-version.*
#+end_export
The greenhouse effect describes the effect of the atmosphere on
Earth’s surface temperature. The simplest example contrasts the
surface temperature of a planet without atmosphere to the surface
temperature with a single insulating layer above the surface.
The incoming radiation from the Sun provides the earth with a constant
source of energy. If it would not get rid of that energy somehow, it
would get hotter everyday, eventually melt and vaporize. It’s evident
that this does not happen (otherwise we would not be here to think
about it).
As shown by \citet{Stefan1879} and \citet{Boltzmann1884}, the total
energy emission from a perfect black body (a body which absorbs all
incoming radiation) per unit area is given by
\begin{equation}
E = \sigma T^4
\end{equation}
with the Stefan–Boltzmann constant
\begin{equation}
\sigma = \frac{2 \pi^5 k^4}{15 c^2 h^3} \approx 5.67 \cdot 10^{-8} W m^{-2} K^{-4}
\end{equation}
From satellite measurements in the Earth’s orbit we know that the
incident solar radiation delivers an average energy flux $j$ between
1361 $Wm^{-2}$ during the solar minimum and to 1363 $Wm^{-2}$ during
the solar maximum \citep{KoppSolarConstant2011}.
This radiation hits the cross section of the Earth, the area of a
circle with the radius of the Earth: $\pi R^2$. This is also the
energy radiated by the Earth system, as evidenced by the Earth neither
melting nor freezing. But this outgoing radiation is perpendicular to
the surface, not to the cross section of the Earth. The total surface
of a sphere is $4 \times \pi R^2$, or $4 \times$ its cross
section. So the energy radiated per area is just 25% of the incoming
energy: $σT_{out}^4 = 0.25 \times σT_{in}^4$
#+begin_export latex
\begin{figure}[htbp]
\centering
\includegraphics[width=.9\linewidth]{./greenhouse-effect-solar-radiation-earth-radiation.pdf}
\caption{Visualization of directed incoming radiation from the Sun and spherical outgoing radiation from the earth.}
\end{figure}
#+end_export
#+begin_export html
#+end_export
# #+caption: Visualization of directed incoming radiation from the Sun and spherical outgoing radiation from the earth.
# [[./greenhouse-effect-solar-radiation-earth-radiation.pdf]]
The incident radiation delivers an Energy flux of $E_i = 1362 Wm^{2}$, so
the outgoing radiation of a perfect black body would be $E_o = 340.5
Wm^{-2}$, which is consistent with a temperature of
\begin{equation}
T = \left(\frac{E}{σ}\right)^{\frac{1}{4}} = \left(\frac{340.5 \cdot 15 c^2 h^3}{2 \pi^5 k^4}\right)^{\frac{1}{4}} K \approx \left(\frac{340.5}{5.67 \cdot 10^{-8}}\right)^{\frac{1}{4}} K = 278.623 K
\end{equation}
This gives an average surface temperature of
\begin{equation}
(278.62 - 273.15) ^\circ C = 5.47 ^\circ C
\end{equation}
for a perfectly black Earth without atmosphere.
Due to the simplifications used, this value is $8 K$ lower than the
measured mean sea and land surface temperature of $14 ^\circ C$ for
the base period 1961-90 \citep{Jones1999,Rayner2006}.
Historically the next step after the black body estimation was to take
the albedo into account: The amount of incoming radiation reflected
directly back into space.
# TODO: Add climatologies I can cite. Most datasets only provide anomalies, because these are easier to compare even when the aggregation method differs.
# Sea surface data: * Rayner, N.A., P. Brohan, D.E. Parker, C.K. Folland, J.J. Kennedy, M. Vanicek, T. Ansell and S.F.B. Tett, 2006: Improved analyses of changes and uncertainties in marine temperature measured in situ since the mid-nineteenth century: the HadSST2 dataset. J. Climate, 19, 446-469 http://journals.ametsoc.org/doi/abs/10.1175/JCLI3637.1
# aggregate the absolute.nc from http://www.cru.uea.ac.uk/cru/data/temperature/ with weighting equal to math.cos(lat / 90 * math.pi / 2)
# http://www.cru.uea.ac.uk/cru/data/temperature/absolute.nc
# b = [math.cos(lat[n/72]/90 * math.pi / 2) * i for n,i in enumerate(tem)]
# w = [math.cos(lat[(n/72) % 36]/90 * math.pi / 2) for n,i in enumerate(tem)]
# sum(b)/sum(w) ~ 1400 centigrade C
# * Jones, P.D., New, M., Parker, D.E., Martin, S. and Rigor, I.G., 1999: Surface air temperature and its
# variations over the last 150 years. Reviews of Geophysics 37, 173-199, doi:10.1029/1999RG900002
# Muller, J.-P., et al. (2012), The ESA GlobAlbedo Project for mapping the Earth's land surface albedo for 15 Years from European Sensors., paper presented at IEEE Geoscience and Remote Sensing Symposium (IGARSS) 2012, IEEE, Munich, Germany, 22-27.7.12.
# Also see https://en.wikipedia.org/wiki/Effective_temperature - but inconsistent. Calculate myself.
If we take into account that the Earth surface and clouds reflect
roughly 30% of the visible light back into space, the Earth only
receives roughly 70% of the energy which it needs to radiate back. For
details, see \citet{Muller2012} and \citet{Muller2013}.[fn:1] The equilibrium temperature
changes to 255 Kelvin, which is just about -18 °C. Note that changing
the albedo by 1 percent point (to 29% or 31%) would change the
temperature by roughly 1 K.
#+BEGIN_SRC elisp :exports both
(let* ((albedo 0.3)
(sol 1362)
(incoming-watt (* (- 1 albedo) (/ sol 4)))
(c 3e8)
(h 6.62607e-34)
(k 1.38065e-23)
(pi 3.14159))
(expt
(/ (* incoming-watt 15 c c (expt h 3))
(* 2 (expt pi 5) (expt k 4)))
0.25))
#+END_SRC
#+RESULTS:
: 254.61953320379396
\begin{equation}
T = \left(\frac{E}{σ}\right)^{\frac{1}{4}} = \left(\frac{\color{red}0.7\color{black} \cdot 340.5 \cdot 15 c^2 h^3}{2 \pi^5 k^4}\right)^{\frac{1}{4}} K \approx \left(\frac{238.0}{5.67 \cdot 10^{-8}}\right)^{\frac{1}{4}} K = 254.6 K
\end{equation}
# NIR: RemoteC/output/X_DATE ← in den attributen nach dem richtigen Index schauen.
# VIS: http://www.globalbedo.org/
# Muller, J.-P., et al. (2012), The ESA GlobAlbedo Project for mapping the Earth's land surface albedo for 15 Years from European Sensors., paper presented at IEEE Geoscience and Remote Sensing Symposium (IGARSS) 2012, IEEE, Munich, Germany, 22-27.7.12.
# compare: folke ground emission vs. gosat measured.
There are small additional factors in play:
# TODO: explained very nicely on http://en.wikipedia.org/wiki/Stefan%E2%80%93Boltzmann_law#Temperature_of_the_Earth
- effective temperature (radiation from a star) to air temperature (measured on Earth)
- emissivity: Common values range from 0.90 to 0.98, with forests and urban areas staying close around 0.95, grassland peaking at 0.95 but with a noticeable tail towards 0.90 and barren soil and sparsely vegetated areas forming a broad distribution between 0.92 and 0.96 \citep{Jin2006}. Snow 0.99 (Wan2002).
But with these we’re still roughly 30 Kelvin away from actual
temperatures. These are reached through absorption and radial
re-radiation of outgoing energy, which effectively provides the Earth
with insulation, most effective in the infrared.
This is what is typically called the *greenhouse effect*: Infra-red
emissions by the Earth are absorbed by greenhouse gases in the
atmosphere, so the Earth needs to be warmer to get rid of the same
amount of received energy.
Greenhouse gases have a net effect on the temperature, because the
outgoing radiation mostly consists of thermal infrared light (TIR),
while the incoming radiation mostly consists of near infrared (NIR)
visible (VIS) and ultraviolet (UV) light. Let’s take the oldest
account of this absorption:
\citet[“On the Influence of Carbonic Acid in the Air upon the Temperature of the Ground”]{Arrhenius1896} describes
different absorption of moonlight depending on the wavelength of the
light. Half this light absorbed in the atmosphere is radiated
outwards, the other half inwards.
For the actual calculation, we use more recent results: \citet[„The natural greenhouse effect of atmospheric oxygen (O2)and nitrogen (N2)“]{Hoepfner2012}.
They take into account the structure of the atmosphere by building on
the well-established [[https://www.imk-asf.kit.edu/english/312.php][Karlsruhe Optimized and Precise Radiative transfer Algorithm (KOPRA)]].
The publication by \citet[]{Hoepfner2012} showed that Outgoing
Longrange Radiation without gas would be 365.7 W/m$^2$, while with
greenhouse gases it is 242.7 W/m$^2$. That’s a 33.6 % decrease in
emission, so we need 1.5 times higher emissions to reach equilibrium.
Let’s factor this into the equations, and also use an emissivity
of 0.95.
#+BEGIN_SRC elisp :exports both
(let* ((albedo 0.3)
(emiss 0.95)
(sol 1362)
(incoming-watt (* (- 1 albedo) (/ sol 4)))
(c 3e8)
(h 6.62607e-34)
(k 1.38065e-23)
(pi 3.14159))
(expt
(/ (* (/ 365.7 242.7) incoming-watt (/ 1 emiss) 15 c c (expt h 3))
(* 2 (expt pi 5) (expt k 4)))
0.25))
;; for the numerator
;; (* (/ 365.7 242.7) (/ 1 emiss) incoming-watt))
#+END_SRC
#+RESULTS:
: 285.7423501045961
\begin{equation}
T = \left(\frac{E}{σ}\right)^{\frac{1}{4}} = \left(\frac{\frac{365.7}{242.7} \cdot \color{red}0.7\frac{1}{0.95}\color{black} \cdot 340.5 \cdot 15 c^2 h^3}{2 \pi^5 k^4}\right)^{\frac{1}{4}} K \approx \left(\frac{377.49}{5.67 \cdot 10^{-8}}\right)^{\frac{1}{4}} K = 285.74 K
\end{equation}
We get 285.74 K as equilibrium temperature. That’s around 12.6°C, so
now we’re just 1.4 Kelvin away from the actual $14 ^\circ C$ for the
base period 1961-90 \citep{Jones1999,Rayner2006}. There are still
effects missing in the calculations, but the intention of this guide
is not to create a new climate model, but to show the fundamental
physical effects. Remember also that changing the surface albedo by 1
percent point (to 29% or 31%) would change the temperature by roughly
1 K, so getting within less than 2 °C of the measured temperature is
already pretty good. Going further would require a much stricter
treatment of surface albedo that goes into too much detail for an article.
Therefore we’ll round this up with an important test that is only
weakly affected by the surface albedo:
*What happens if we increase the absorption by CO$_2$? Do we see global warming?*
For this test the result is already close enough to the measured
temperature that we can take the difference between values with
different parameters to get the effect of these parameters and remove
biases which are present in both values.
To calculate global warming due to doubled CO₂, we cannot just double
the absorption, because the absorption bands get saturated. The \citet[IPCC working group 1 (physical science basis)]{IPCCRadiativeForcingMyhre2013}
gives the [[https://www.ipcc.ch/report/ar5/wg1/anthropogenic-and-natural-radiative-forcing/][increase in radiative forcing due to increased CO$_2$ levels]]
from the 1950 concentrations of about 310 ppm to the 2010
concentrations of 390 ppm as about 1.2 W/m$^2$.[fn:3]
So let us go at this backwards: \citet{Hoepfner2012} showed the state
for 2012, what do our calculations predict for 1950 when we reduce the
absorption due to CO$_2$ by the 1.2 W/m$^2$ radiative forcing given
in the IPCC?[fn:2]
The unstable emissions would then not be 242.7 W/m$^2$ as calculated
by \citet{Hoepfner2012}, but 243.9 W/m$^2$
#+BEGIN_SRC elisp :exports both
(let* ((albedo 0.3)
(sol 1362)
(emiss 0.95)
(incoming-watt (* (- 1 albedo) (/ sol 4)))
(c 3e8)
(h 6.62607e-34)
(k 1.38065e-23)
(pi 3.14159))
(expt
(/ (* (/ 365.7 (+ 242.7 1.2)) incoming-watt (/ 1 emiss) 15 c c (expt h 3))
(* 2 (expt pi 5) (expt k 4)))
0.25))
;; for the numerator
;; (* (/ 365.7 (+ 242.7 1.2)) incoming-watt (/ 1 emiss)))
#+END_SRC
#+RESULTS:
: 285.3902331695058
\begin{equation}
T = \left(\frac{E}{σ}\right)^{\frac{1}{4}} = \left(\frac{365.7}{243.2} \cdot \color{red}0.7\frac{1}{0.95}\color{black} \cdot 340.5 \cdot 15 c^2 h^3}{2 \pi^5 k^4}\right)^{\frac{1}{4}} K \approx \left(\frac{375.64}{5.67 \cdot 10^{-8}}\right)^{\frac{1}{4}} K = 285.39 K
\end{equation}
We get 285.39 Kelvin for 1950, about 0.35°C less than for 2010.
This gives an estimate of a 0.35°C increase in temperature from 1950
to 2010 due to increased CO$_2$ levels alone. If we also remove the
added absorption from methane, N$_{2}O$ and other greenhouse gases
emitted by humans (additional forcing of 0.75 W/m$^2$), we get 285.17 Kelvin.
So this calculation from basics yields an increase of the equilibrium temperature
by 0.57 °C.
\begin{equation}
T_{2010} - T_{1950} = 285.74 K - 285.17 K = 0.57 K
\end{equation}
This is a bit lower than the increase of 0.65 K to 0.75 K seen in the [[http://berkeleyearth.org/2018-temperatures/][global temperature records by the Berkeley Earth project]],[fn:5] and close to the
0.6 to 0.8 K increase shown in the [[https://www.metoffice.gov.uk/hadobs/hadcrut4/diagnostics.html][Global (NH+SH)/2 temperature given by HadCRUT4 by the Met Office Hadley Centre by the National Meteorological Service of the United Kingdom]].[fn:4]
But for a calculation from basic principles, that’s pretty good.
So we can conclude that actual measurements match this physical
explanation of global warming due to the greenhouse effect — or more
exactly: due to increased absorption of infrared radiation by
greenhouse gases, with the biggest effect due to CO$_2$.
The source of climate-active human carbon emissions which influences
the CO$_2$ content of the atmosphere is mostly burning of fossil fuel
which is taken from the crust of the Earth and introduced into the
carbon cycle. This is what changes the CO$_2$ concentration.
And with this, we are done.
Please reduce your carbon emissions and become active to get politicians
to action on a national and global scale. We’re cutting the branch
we live on.
If you want more details, have a look at the IPCC reports. Best start
with the executive summary and then go into the details you’re
most interested in:
IPCC Climate Change 2013: The Physical Science Basis:
https://www.ipcc.ch/report/ar5/wg1/
An explanation how humans increase the CO₂-concentration of the
atmosphere is available in my presentation [[https://www.draketo.de/licht/physik/kohlenstoffkreislauf-carbon-cycle][The carbon cycle]]:
https://www.draketo.de/licht/physik/kohlenstoffkreislauf-carbon-cycle
And if you want my best estimate of our current situation, have a look
at the article [[https://www.draketo.de/english/politics/roll-a-die][Two visions of our future]]:
https://www.draketo.de/english/politics/roll-a-die
# http://www.glue.umd.edu/~sliang/papers/Jin2006.emissivity.pdf
#+begin_export latex
\bibliographystyle{plainnat}
\begingroup
\renewcommand{\addcontentsline}[3]{}
\bibliography{ref}
\endgroup
#+end_export
* Setup :noexport:
# setup links. See http://en.wikibooks.org/wiki/LaTeX/Hyperlinks#Customization
#+latex_class: article
#+latex_class_options: [parskip=half,12pt]
#+latex_header: \usepackage{hyperref}
#+LATEX_HEADER: \usepackage{xcolor}
#+LATEX_HEADER: \setlength{\parindent}{0cm}
# unicode input
#+LATEX_HEADER: \usepackage{uniinput}
#+LATEX_HEADER: \usepackage{lmodern,textcomp}
#+LATEX_HEADER: \DeclareUnicodeCharacter{B7}{\ensuremath{\cdot}}
#+LATEX_HEADER: \usepackage{natbib}
#+LATEX_HEADER: \usepackage[subsectionbib]{bibunits} % separate bibliography sections (for a literature list)
#+LATEX_HEADER: \usepackage{morefloats}
#+LATEX_HEADER: \hypersetup{
#+LATEX_HEADER: colorlinks,
#+LATEX_HEADER: linkcolor={red!50!black},
#+LATEX_HEADER: citecolor={blue!30!black},
#+LATEX_HEADER: urlcolor={blue!50!black}
#+LATEX_HEADER: }
#+latex_header: \usepackage[protrusion=true,expansion=true]{microtype}
#+LATEX_HEADER: \DeclareRobustCommand*\degree{\ensuremath{^{\circ}}}
#+LATEX_HEADER: \DeclareRobustCommand*\permil{\ifmmode\text{\textperthousand}\else\textperthousand\fi}
#+LATEX_HEADER: \DeclareRobustCommand*\Radical{\put(2.0,2.0){\circle*{1.5}}\kern3.5\p@}
#+LATEX_HEADER: \DeclareRobustCommand*\chem[1]
#+LATEX_HEADER: {\ensuremath{%
#+LATEX_HEADER: {\mathcode`\-="0200\mathcode`\=="003D% no space around "-" and "="
#+LATEX_HEADER: \ifx\f@series\testbx\mathbf{#1}\else\mathrm{#1}\fi}}}
#+LATEX_HEADER: \DeclareRobustCommand*\unit[1]
#+LATEX_HEADER: {\ensuremath{%
#+LATEX_HEADER: {\thinmuskip3mu\relax
#+LATEX_HEADER: \def\mu{\text{\textmu}}\def~{\,}%
#+LATEX_HEADER: \ifx\f@series\testbx\mathbf{#1}\else\mathrm{#1}\fi}}}
#+LATEX_HEADER: \usepackage{xcolor}
# #+LATEX_HEADER: \usepackage{todo} % use \Todo{text}.
#+LATEX_HEADER: \usepackage{todonotes} % use \todo{text}.
#+LATEX_HEADER: \newcommand\TODO[1]{\textcolor{red}{#1}\todo{#1}}
# use \begin{wrapfigure}[length in lines]{...}{...} to avoid breaking the layout.
#+LATEX_HEADER: \usepackage{wrapfig}
#+LATEX_HEADER: \clubpenalty = 10000
#+LATEX_HEADER: \widowpenalty = 10000
#+LATEX_HEADER: \displaywidowpenalty = 10000
# Alternate bibtex styles for German
# #+LATEX_HEADER: \usepackage{babelbib}
# additional note below the table:
#+LATEX_HEADER: \usepackage[referable]{threeparttablex}
# force finishing of float elements with \FloatBarrier
#+LATEX_HEADER: \usepackage{placeins}
#+LATEX_HEADER: \usepackage{chemfig}
# several images in the same figure via \begin{subfigure}
#+LATEX_HEADER: \usepackage{subcaption}
# allow changing geometry within the document (for KIT title page)
#+LATEX_HEADER: \usepackage{geometry}
# add rotated figure on the whole page
#+LATEX_HEADER: \usepackage{rotating}
# allow forcing a figure to be on an even page
#+LATEX_HEADER: \usepackage{ifthen}
#+LATEX_HEADER: \usepackage{changepage}
#+LATEX_HEADER: \usepackage{afterpage}
#+LATEX_HEADER: \usepackage{pdflscape}
#+name: setup-minted
#+begin_src emacs-lisp :exports results :results silent
(require 'ox-latex)
(add-to-list 'load-path ".")
(require 'htmlize)
(require 'wisp-mode)
(setq org-src-fontify-natively t)
(add-to-list 'org-latex-packages-alist '("" "minted"))
(add-to-list 'org-latex-packages-alist '("" "color"))
(setq org-latex-listings 'minted)
(setq org-latex-packages-alist (quote (("" "color" t) ("" "minted" t) ("" "parskip" t))))
(setq org-latex-pdf-process
(quote ; really needs so many runs to get all references right
("pdflatex -interaction nonstopmode -shell-escape -output-directory %o %f" "bibtex $(basename %b)" "pdflatex -interaction nonstopmode -shell-escape -output-directory %o %f" "pdflatex -interaction nonstopmode -shell-escape -output-directory %o %f" "pdflatex -interaction nonstopmode -shell-escape -output-directory %o %f" "pdflatex -interaction nonstopmode -shell-escape -output-directory %o %f")))
; add emacs lisp support for minted
(setq org-latex-custom-lang-environments
'((emacs-lisp "common-lispcode")))
(add-to-list 'org-latex-classes
`("memoir" "\\documentclass[11pt]{memoir}"
; ("\\part{%s}" . "\\part*{%s}")
("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
; treat wisp as scheme for minted
(add-to-list 'org-latex-minted-langs '(wisp "racket"))
; dark background and nicer minted source blocks
(setq org-latex-minted-options
'(("bgcolor" "bg") ("frame" "lines") ("framesep" "6pt") ("numbersep" "6pt") ("linenos" "true") ("mathescape" "true") ("fontsize" "\\footnotesize")))
#+end_src
* Footnotes
[fn:5] Berkeley Earth provides a reevaluation of all the surface measurements without complex models.
[fn:4] HadCRUT4 combines sea surface temperature data from the Hadley Centre of the UK Met Office and the land surface air temperature records compiled by the Climatic Research Unit (CRU) of the University of East Anglia.
[fn:3] Robust data about changing CO$_2$ levels is available [[https://www.esrl.noaa.gov/gmd/ccgg/trends/][from the Global Monitoring Division (GMD) of the Earth System Research Laboratory (ESRL) at the National Oceanic & Atmospheric Administration (NOAA)]].
[fn:2] We’re only going to 1950 and not back to 1850, because the temperature data at 1850 would mix in [[https://en.wikipedia.org/wiki/Little_Ice_Age][the effect of the declining little ice age]].
[fn:1] You can check the albedo for several different spectral regions at http://www.globalbedo.org/
# Local Variables:
# reftex-cite-format: "\\citet{%l}"
# org-confirm-babel-evaluate: nil
# org-export-allow-bind-keywords: t
# End: