.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "api/gallery/volcanology/plot_04_holmes_age_of_the_earth.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_volcanology_plot_04_holmes_age_of_the_earth.py: Holmes's age of the Earth (1913) ================================ Arthur Holmes, in *The Age of the Earth*, combined lead-uranium ages with the order of the strata to build the first radiometric time scale. His ages placed the Devonian near 370 million years and the oldest Precambrian rocks near 1600 million years, far beyond Kelvin's cooling estimate. Forward accumulation shows the lead-to-uranium ratio each period would carry today. .. GENERATED FROM PYTHON SOURCE LINES 11-36 .. image-sg:: /api/gallery/volcanology/images/sphx_glr_plot_04_holmes_age_of_the_earth_001.png :alt: A radiometric time scale :srcset: /api/gallery/volcanology/images/sphx_glr_plot_04_holmes_age_of_the_earth_001.png :class: sphx-glr-single-img .. code-block:: Python import matplotlib.pyplot as plt import numpy as np from earthsciencekit.constants import LAMBDA_U238 from earthsciencekit.units import convert from earthsciencekit.volcanology import radiogenic_daughter, radiometric_age # Ages in Ma from Holmes (1911, 1913) periods = {"Carboniferous": 340, "Devonian": 370, "Silurian": 430, "Precambrian": 1025, "oldest Precambrian": 1640} age = convert(np.array(list(periods.values()), float), "Ma", "s") lead = radiogenic_daughter(1.0, LAMBDA_U238, age) assert np.allclose(radiometric_age(lead, LAMBDA_U238), age) assert np.all(np.diff(lead) > 0) grid = convert(np.linspace(0, 2000, 201), "Ma", "s") fig, ax = plt.subplots() ax.plot(radiogenic_daughter(1.0, LAMBDA_U238, grid), convert(grid, "s", "Ma")) for (name, value), ratio, offset in zip(periods.items(), lead, [(-80, 2), (8, 4), (8, -10), (8, -2), (-110, -4)]): ax.plot(ratio, value, "ko") ax.annotate(name, (ratio, value), textcoords="offset points", xytext=offset, fontsize=8) ax.invert_yaxis() ax.set(xlabel="radiogenic 206Pb per 238U today", ylabel="age [Ma]", title="A radiometric time scale") plt.show() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.094 seconds) .. _sphx_glr_download_api_gallery_volcanology_plot_04_holmes_age_of_the_earth.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/volcanology/plot_04_holmes_age_of_the_earth.ipynb :alt: Launch JupyterLite :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_04_holmes_age_of_the_earth.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_04_holmes_age_of_the_earth.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_04_holmes_age_of_the_earth.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_