.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "api/gallery/glaciology/plot_12_dansgaard_johnsen_age_depth_model.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_glaciology_plot_12_dansgaard_johnsen_age_depth_model.py: Dansgaard and Johnsen's age-depth model (1969) ============================================== Willi Dansgaard and Sigfus Johnsen dated the first deep ice core, drilled to the bed at Camp Century in Greenland, with a flow model. Annual layers thin as they sink because the ice spreads sideways; the vertical velocity falls linearly with depth down to a kink, then quadratically to zero at the frozen bed. Integrating its reciprocal gives the age, older at depth than in Nye's (1963) model of uniform thinning. .. GENERATED FROM PYTHON SOURCE LINES 12-38 .. image-sg:: /api/gallery/glaciology/images/sphx_glr_plot_12_dansgaard_johnsen_age_depth_model_001.png :alt: Camp Century time scale, Layers thin with depth :srcset: /api/gallery/glaciology/images/sphx_glr_plot_12_dansgaard_johnsen_age_depth_model_001.png :class: sphx-glr-single-img .. code-block:: Python import matplotlib.pyplot as plt import numpy as np from earthsciencekit.constants import SECONDS_PER_YEAR from earthsciencekit.glaciology import dansgaard_johnsen_age, dansgaard_johnsen_downward_velocity, nye_age thickness, kink, accumulation = 1370.0, 400.0, 0.35 / SECONDS_PER_YEAR # Camp Century depth = np.linspace(0, 1365, 1000) age = dansgaard_johnsen_age(depth, thickness, kink, accumulation) / SECONDS_PER_YEAR layer = dansgaard_johnsen_downward_velocity(depth, thickness, kink, accumulation) * SECONDS_PER_YEAR assert np.isclose(layer[0], 0.35) and np.all(np.diff(age) > 0) assert np.all(age[1:] > nye_age(depth[1:], thickness, accumulation) / SECONDS_PER_YEAR) fig, (left, right) = plt.subplots(1, 2, figsize=(10, 4), sharey=True) left.semilogx(age[1:], depth[1:], label="Dansgaard-Johnsen") left.semilogx(nye_age(depth[1:], thickness, accumulation) / SECONDS_PER_YEAR, depth[1:], "--", label="Nye") left.axhline(thickness - kink, color="0.6", ls=":", label="kink") left.invert_yaxis() left.set(xlabel="age [years]", ylabel="depth [m of ice]", title="Camp Century time scale") left.legend() right.plot(layer * 100, depth) right.set(xlabel="annual layer thickness [cm]", title="Layers thin with depth") fig.tight_layout() plt.show() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.279 seconds) .. _sphx_glr_download_api_gallery_glaciology_plot_12_dansgaard_johnsen_age_depth_model.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/glaciology/plot_12_dansgaard_johnsen_age_depth_model.ipynb :alt: Launch JupyterLite :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_12_dansgaard_johnsen_age_depth_model.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_12_dansgaard_johnsen_age_depth_model.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_12_dansgaard_johnsen_age_depth_model.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_