Skip to content
HUGGPublic

About

Core age prediction codes used in Tcplotter and Tc1D

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

116 Commits

Folders and files

Repository files navigation

Tcages

DOI Build Ruff Python versions PyPI License: GPL v3

Tcages is a Python package for predicting low-temperature thermochronometer ages from a time-temperature (tT) history. It provides compiled versions of two widely used age prediction codes with a simple Python interface:

Tcages is the age prediction engine used by Tc1D and Tcplotter, but it can also be used on its own.

Installation

Tcages can be installed using pip:

pip install tcages

Pre-built wheels are available for Linux (x86-64 and ARM64), macOS (Intel and Apple silicon) and Windows (x86-64 and ARM64), so no compilers are needed. Tcages requires Python 3.10 or newer and NumPy.

Note

On Windows ARM64, Python 3.11 or newer is needed because NumPy does not provide Windows ARM64 packages for Python 3.10.

Older versions of Tc1D and Tcplotter

Prior to version 0.3, this software was distributed as Tccore, two command-line programs (RDAAM_He and ketch_aft) rather than a Python package. These programs are still needed by Tc1D versions prior to 0.5.0 and Tcplotter versions up to 0.4.0. They can be downloaded from the v0.2 release and installation instructions are in the v0.2 README.

Building from source

Building from source requires a C/C++ compiler (GCC, Clang or MSVC). CMake is installed automatically during the build if needed.

git clone https://github.com/HUGG/tcages.git
cd tcages
pip install .

To run the tests:

pip install pytest
pytest tests

Quick start

import tcages

# Define thermal history with cooling from 300 °C at 30 Ma to 0 °C today (rate of 10 °C/Myr)
times = [0.0, 30.0]  # Ma, youngest (present day) first
temps = [0.0, 300.0]  # °C

# Calculate (U-Th)/He and AFT ages
he = tcages.he_ages(
    times,
    temps,
    # Apatite: radius (µm), U and Th (ppm)
    ap_rad=60.0,
    ap_u=10.0,
    ap_th=40.0,
    # Zircon: radius (µm), U and Th (ppm)
    zr_rad=60.0,
    zr_u=100.0,
    zr_th=40.0,
)
aft = tcages.aft_age(times, temps)

# Print results
print(f"AHe: {he.ahe_corr:.2f} Ma")
print(f"AFT: {aft.age:.2f} Ma (mean track length {aft.mean_length:.2f} µm)")
print(f"ZHe: {he.zhe_corr:.2f} Ma")

Output:

AHe: 6.13 Ma
AFT: 10.68 Ma (mean track length 13.94 µm)
ZHe: 13.20 Ma

Citing Tcages

If you use Tcages in your work, please cite the software using its DOI (10.5281/zenodo.23689444, or use the "Cite this repository" button on GitHub) and the papers describing the models it implements (see References). If you use Tcages through Tc1D or Tcplotter, please also cite those packages as described in their documentation.

References

  • Flowers, R. M., Ketcham, R. A., Shuster, D. L., and Farley, K. A.: Apatite (U-Th)/He thermochronometry using a radiation damage accumulation and annealing model, Geochimica et Cosmochimica Acta, 73, 2347–2365, https://doi.org/10.1016/j.gca.2009.01.015, 2009.
  • Guenthner, W. R., Reiners, P. W., Ketcham, R. A., Nasdala, L., and Giester, G.: Helium diffusion in natural zircon: Radiation damage, anisotropy, and the interpretation of zircon (U-Th)/He thermochronology, American Journal of Science, 313, 145–198, https://doi.org/10.2475/03.2013.01, 2013.
  • Ketcham, R. A., Donelick, R. A., and Carlson, W. D.: Variability of apatite fission-track annealing kinetics III: Extrapolation to geological time scales, American Mineralogist, 84, 1235–1255, https://doi.org/10.2138/am-1999-0903, 1999.
  • Ketcham, R. A., Carter, A., Donelick, R. A., Barbarand, J., and Hurford, A. J.: Improved modeling of fission-track annealing in apatite, American Mineralogist, 92, 799–810, https://doi.org/10.2138/am.2007.2281, 2007.
  • Ketcham, R. A., Gautheron, C., and Tassan-Got, L.: Accounting for long alpha-particle stopping distances in (U–Th–Sm)/He geochronology: Refinement of the baseline case, Geochimica et Cosmochimica Acta, 75, 7779–7791, https://doi.org/10.1016/j.gca.2011.10.011, 2011.

License

Tcages is distributed under the GNU General Public License v3.0 or later.

About

Core age prediction codes used in Tcplotter and Tc1D

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages