Skip to main content

Tools for performing computational tasks in the field of low-temperature thermochronology.

Project description

PyThermo

DOI CI PyPI - Version Binder

A set of classes and methods for performing various modeling and computational tasks in the field of low-temperature thermochronology. The current focus is on forward modeling of apatite and zircon (U-Th)/He data using various diffusion and damage annealing kinetic models. Future releases will expand upon the available kinetic models and mineral systems, and introduce additional methods, such as forward modeling of Arrhenius relationships.

The primary objective of this software is to provide an open-source, python-based toolkit for user adaptability and experimentation. The software includes routines for forward modeling and data plotting at higher levels that can be run in a simple fashion, but lower level algorithms are accessible as well. To that end, a secondary objective of this software is as a learning tool to remove some of the black box nature of thermal history modeling routines. Several methods are included (for example, a tridiagonal matrix solver) for instructional purposes, although the main program calls nominally faster scipy routines.

Organization

The source code consists of three separate classes and accompanying methods and/or subclasses. crystal.py contains the class crystal and currently two sub-classes apatite and zircon. Methods are devoted to calculating and parameterizing damage-diffusivity relationships and numerically solving the diffusion equation using a Crank-Nicolson approach. tT_path.py methods interpolate and discretize time-temperature (tT) paths from a handful of tT points, and calculate fission track annealing for apatite and zircon using the equivalent time concept. tT_model.py methods currently allow for one particular approach to forward modeling and plotting (U-Th)/He date-effective Uranium (eU) trends.

Requirements

If you've installed Python through the open data science platform Anaconda, you should be all set. In detail, the specific libraries you'll need to have installed are:

  • Numpy
  • Numba
  • Scipy
  • Matplotlib
  • Pandas

Installation

PyThermo can be installed as a package by using pip (see this helpful guide for using pip if you are unfamiliar):

pip install pythermo

You can alternatively download the /src folder and place it in your working directory. See the template.ipynb file in the examples folder for usage under either circumstance.

Usage

It is recommended that you use this package in Jupyter Notebooks, which are included in the Anaconda platform. Once you've downloaded or installed the package, and if you're just interested in running some forward models, the quickest way to get started is to modify the Jupyter Notebook file template.ipynb that is included in the examples folder. The notebook contains markdown and code that explains and demonstrates forward model date-eU comparisons for the apatite and zircon (U-Th)/He system. The forward modeling method is one particular approach and you can (and should!) call lower level methods to suite your needs. The tT_path and crystal classes contain several methods that you may want to call. A basic example of one way to use lower-level methods is included in template.ipynb. Please read the descriptions for each method in the source code for more details.

Citation

You can find various citation styles for this package here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pythermo-0.3.0.tar.gz (47.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pythermo-0.3.0-py3-none-any.whl (43.8 kB view details)

Uploaded Python 3

File details

Details for the file pythermo-0.3.0.tar.gz.

File metadata

  • Download URL: pythermo-0.3.0.tar.gz
  • Upload date:
  • Size: 47.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pythermo-0.3.0.tar.gz
Algorithm Hash digest
SHA256 def3176880bd632bc67c3d2215809c5a5263310aa1a461fda70f5d1e6c09a6ec
MD5 79b0d11bb3d502aaa470cd99e7bcbe43
BLAKE2b-256 7be5ec17ccd521cb982f42e38bb6d8409338ab0322612817e9f6d229b7757f74

See more details on using hashes here.

Provenance

The following attestation bundles were made for pythermo-0.3.0.tar.gz:

Publisher: release.yml on OpenThermochronology/PyThermo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pythermo-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: pythermo-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 43.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pythermo-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8a438e7b241529f1b75bf8d987ee2ebf49c63f0d8981d1034b97aabdffd24ff8
MD5 fd57e19de5722f2113cd94cef84a2274
BLAKE2b-256 f794ed3e7f0aaf351bc049b2621ca3280ac81944e9ceecdc937d1cdb3ff7e885

See more details on using hashes here.

Provenance

The following attestation bundles were made for pythermo-0.3.0-py3-none-any.whl:

Publisher: release.yml on OpenThermochronology/PyThermo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page