.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "api/gallery/climate/plot_04_arrhenius_co2_sensitivity.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code or to run this example in your browser via JupyterLite. .. rst-class:: sphx-glr-example-title .. _sphx_glr_api_gallery_climate_plot_04_arrhenius_co2_sensitivity.py: Arrhenius's sensitivity to CO2 (1896) ===================================== Svante Arrhenius calculated by hand how the surface temperature would change if the carbon dioxide in the air were multiplied or divided. He found that the warming grows with the logarithm of the concentration, so every doubling adds the same amount; his estimate was 5 to 6 °C per doubling. With a logarithmic forcing and a linear feedback, each doubling here adds 3 K. .. GENERATED FROM PYTHON SOURCE LINES 11-33 .. image-sg:: /api/gallery/climate/images/sphx_glr_plot_04_arrhenius_co2_sensitivity_001.png :alt: Equal warming for every doubling :srcset: /api/gallery/climate/images/sphx_glr_plot_04_arrhenius_co2_sensitivity_001.png :class: sphx-glr-single-img .. code-block:: Python import matplotlib.pyplot as plt import numpy as np from earthsciencekit.climate import co2_forcing, equilibrium_warming restoring = 5.35 * np.log(2) / 3.0 ratio = np.geomspace(0.5, 8, 200) warming = equilibrium_warming(co2_forcing(280 * ratio, 280, 5.35), restoring) per_doubling = equilibrium_warming(co2_forcing(280 * np.array([2, 4, 8]), 280, 5.35), restoring) np.testing.assert_allclose(np.diff(per_doubling), 3.0) assert np.isclose(per_doubling[0], 3.0) fig, ax = plt.subplots() ax.semilogx(ratio, warming) ax.semilogx([2, 4, 8], per_doubling, "o") ax.set_xticks([0.5, 1, 2, 4, 8], ["0.5", "1", "2", "4", "8"]) ax.minorticks_off() ax.axhline(0, color="0.5", lw=0.8) ax.set(xlabel="CO2 relative to 280 ppm", ylabel="equilibrium warming [K]", title="Equal warming for every doubling") plt.show() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.065 seconds) .. _sphx_glr_download_api_gallery_climate_plot_04_arrhenius_co2_sensitivity.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: lite-badge .. image:: images/jupyterlite_badge_logo.svg :target: ../../../lite/lab/index.html?path=api/gallery/climate/plot_04_arrhenius_co2_sensitivity.ipynb :alt: Launch JupyterLite :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_04_arrhenius_co2_sensitivity.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_04_arrhenius_co2_sensitivity.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_04_arrhenius_co2_sensitivity.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_