.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "api/gallery/volcanology/plot_03_boltwood_uranium_lead_ages.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_03_boltwood_uranium_lead_ages.py: Boltwood's uranium-lead ages (1907) =================================== Boltwood noticed that uranium minerals always contain lead, and more of it in older rocks. Taking lead as the end of the uranium decay series, he turned the lead-to-uranium ratio of minerals into ages of hundreds of millions to billions of years, the first radiometric ages. With a known decay constant the age is ``log(1 + D/P) / lambda``; Boltwood's simpler ratio-over-rate is the first term of that logarithm and overestimates old ages. .. GENERATED FROM PYTHON SOURCE LINES 12-35 .. image-sg:: /api/gallery/volcanology/images/sphx_glr_plot_03_boltwood_uranium_lead_ages_001.png :alt: Lead accumulates in uranium minerals :srcset: /api/gallery/volcanology/images/sphx_glr_plot_03_boltwood_uranium_lead_ages_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 radiometric_age ratio = np.linspace(0, 0.6, 121) # radiogenic 206Pb atoms per 238U atom age = convert(radiometric_age(ratio, LAMBDA_U238), "s", "Ma") linear = convert(ratio / LAMBDA_U238, "s", "Ma") assert np.all(age <= linear) and np.isclose(age[1], linear[1], rtol=3e-3) assert np.isclose(convert(radiometric_age(np.e - 1, LAMBDA_U238), "s", "Ma"), 1e-6 / 1.55125e-10) # one mean life minerals = np.array([0.05, 0.12, 0.2, 0.3]) # synthetic Pb/U ratios fig, ax = plt.subplots() ax.plot(ratio, age, label="log(1 + D/P) / lambda") ax.plot(ratio, linear, "--", label="D / (P lambda), Boltwood's form") ax.plot(minerals, convert(radiometric_age(minerals, LAMBDA_U238), "s", "Ma"), "ko", label="synthetic minerals") ax.set(xlabel="206Pb / 238U", ylabel="age [Ma]", title="Lead accumulates in uranium minerals") ax.legend() 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_03_boltwood_uranium_lead_ages.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_03_boltwood_uranium_lead_ages.ipynb :alt: Launch JupyterLite :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_03_boltwood_uranium_lead_ages.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_03_boltwood_uranium_lead_ages.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_03_boltwood_uranium_lead_ages.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_