gdtchron 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
gdtchron-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Dylan Vasey, Peter Scully, John Naliboff
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,109 @@
1
+ Metadata-Version: 2.3
2
+ Name: gdtchron
3
+ Version: 0.1.0
4
+ Summary: Thermochronology for geodynamic models
5
+ License: MIT
6
+ Author: Dylan Vasey
7
+ Author-email: dylan.vasey@tufts.edu
8
+ Requires-Python: >=3.9,<4.0
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.9
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Requires-Dist: joblib
17
+ Requires-Dist: matplotlib
18
+ Requires-Dist: numpy (>=1.21,<2.0)
19
+ Requires-Dist: pandas (>=2.0,<3.0)
20
+ Requires-Dist: pyvista
21
+ Requires-Dist: scipy
22
+ Requires-Dist: tqdm
23
+ Description-Content-Type: text/markdown
24
+
25
+ <div align="center">
26
+ <img src="https://raw.githubusercontent.com/dyvasey/gdtchron/main/media/logo.png" alt="GDTchron Logo" width="300">
27
+ </div>
28
+
29
+ # GDTchron: Geodynamic Thermochronology
30
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
31
+ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/dyvasey/gdtchron/HEAD)
32
+ [![Online Documentation](https://readthedocs.org/projects/gdtchron/badge/?version=latest)](https://gdtchron.readthedocs.io/en/latest/)
33
+
34
+ ## About
35
+ GDTchron is a Python package for using the outputs of geodynamic models to predict thermochronometric ages.
36
+
37
+ Current authors:
38
+ * Dylan Vasey
39
+ * Peter Scully
40
+ * John Naliboff
41
+
42
+ Source code: https://github.com/dyvasey/gdtchron
43
+
44
+ Online documentation: https://gdtchron.readthedocs.io/en/latest/
45
+
46
+ The documentation consists of Jupyter Notebooks demonstrating use of the code and the full API for the code.
47
+ ## Installation
48
+ The latest release of GDTchron can be installed from PyPI or conda-forge using `pip` or `conda` as package managers:
49
+ ```
50
+ # PyPI
51
+ pip install gdtchron
52
+ ```
53
+ ```
54
+ # conda-forge
55
+ conda install -c conda-forge gdtchron
56
+ ```
57
+
58
+ For the latest development version, you can clone and install the GitHub repository with the source code. This repository also includes all the tests and Jupyter Notebooks.
59
+ ```
60
+ git clone https://github.com/dyvasey/gdtchron.git
61
+ cd gdtchron
62
+ pip install .
63
+ ```
64
+ Once installed, GDTchron can be used like any other Python package in scripts or Jupyter Notebooks.
65
+ ## Running GDTchron with Binder
66
+ Clicking the Binder badge at the top of this README will launch an interactive JupyterLab environment hosted by Binder with GDTchron installed. This is a good way to try out the functionality of GDTchron without needing to deal with a local Python installation. Note that the Binder environment does not have ASPECT installed.
67
+
68
+ ## Running GDTchron with ASPECT via Docker
69
+ Included in this repository is a Dockerfile allowing you to create an interactive JupyterLab environment that can run both ASPECT and GDTchron in Jupyter Notebooks. This environment allows you to fully run an accompanying ASPECT uplift model, process it using GDTChron, and plot the results using the Jupyter Notebooks in the `aspect` directory. Note that fully replicating this process may take several hours.
70
+
71
+ See here for how to install Docker: https://docs.docker.com/get-started/
72
+
73
+ To build the environment, first ensure Docker is running. Then, from the repository root directory run:
74
+ ```
75
+ docker build -f aspect/Dockerfile -t aspect-docker .
76
+ ```
77
+ This may take a few minutes. To then run the environment:
78
+ ```
79
+ docker run --rm --name aspect-docker -d -p 8888:8888 aspect-docker
80
+ ```
81
+ The build and run commands are also provided in the shell script `aspect/aspect_docker.sh`
82
+
83
+ Once the environment is running, navigate to http://localhost:8888 in your browser.
84
+
85
+ To stop the environment, run:
86
+ ```
87
+ docker stop aspect-docker
88
+ ```
89
+ Note that the `--rm` flag in `docker run` means that the environment (including all files saved in it) will be removed once stopped (including if the session running the environment is ended). You can make it possible to restart the environment by omitting this flag, but this means that you will have to remove the environment manually when you are done with it.
90
+
91
+ To replicate the ASPECT uplift model and its results, run in order `run_aspect_model.ipynb`, `process_model.ipynb`, and `figures_model.ipynb`. The outputs of these are currently saved in the notebooks and viewable in the documentation.
92
+
93
+ ## Jupyter Notebooks
94
+ There are additional Jupyter Notebooks in the `notebooks` directory and displayed in the documentation demonstrating the functionality of GDTchron. Some of these notebooks can be directly replicated with just a GDTchron install (or in the Binder environment), whereas others depend on local output model files that are too large to include in this repository and are displayed as demonstrations only.
95
+
96
+ ### Fully Reproducible with GDTchron Install or Binder
97
+ * `tchron_demo.ipynb`
98
+ * `scaling_test.ipynb`
99
+
100
+ ### Not Reproducible without Large Size Local Files
101
+ * `process_riftinversion.ipynb`
102
+ * `figure_riftinversion.ipynb`
103
+ * `interpolation_comparison.ipynb`
104
+
105
+ The ASPECT parameter files needed to reproduce the rift inversion model for these notebooks are available in the `ri_prms` directory.
106
+
107
+ ## Contributing to GDTchron
108
+ GDTchron is designed to be a community-driven, open-source Python package. If you have code you would like to contribute, please see the [contributing guidelines](CONTRIBUTING.md).
109
+
@@ -0,0 +1,84 @@
1
+ <div align="center">
2
+ <img src="https://raw.githubusercontent.com/dyvasey/gdtchron/main/media/logo.png" alt="GDTchron Logo" width="300">
3
+ </div>
4
+
5
+ # GDTchron: Geodynamic Thermochronology
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
+ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/dyvasey/gdtchron/HEAD)
8
+ [![Online Documentation](https://readthedocs.org/projects/gdtchron/badge/?version=latest)](https://gdtchron.readthedocs.io/en/latest/)
9
+
10
+ ## About
11
+ GDTchron is a Python package for using the outputs of geodynamic models to predict thermochronometric ages.
12
+
13
+ Current authors:
14
+ * Dylan Vasey
15
+ * Peter Scully
16
+ * John Naliboff
17
+
18
+ Source code: https://github.com/dyvasey/gdtchron
19
+
20
+ Online documentation: https://gdtchron.readthedocs.io/en/latest/
21
+
22
+ The documentation consists of Jupyter Notebooks demonstrating use of the code and the full API for the code.
23
+ ## Installation
24
+ The latest release of GDTchron can be installed from PyPI or conda-forge using `pip` or `conda` as package managers:
25
+ ```
26
+ # PyPI
27
+ pip install gdtchron
28
+ ```
29
+ ```
30
+ # conda-forge
31
+ conda install -c conda-forge gdtchron
32
+ ```
33
+
34
+ For the latest development version, you can clone and install the GitHub repository with the source code. This repository also includes all the tests and Jupyter Notebooks.
35
+ ```
36
+ git clone https://github.com/dyvasey/gdtchron.git
37
+ cd gdtchron
38
+ pip install .
39
+ ```
40
+ Once installed, GDTchron can be used like any other Python package in scripts or Jupyter Notebooks.
41
+ ## Running GDTchron with Binder
42
+ Clicking the Binder badge at the top of this README will launch an interactive JupyterLab environment hosted by Binder with GDTchron installed. This is a good way to try out the functionality of GDTchron without needing to deal with a local Python installation. Note that the Binder environment does not have ASPECT installed.
43
+
44
+ ## Running GDTchron with ASPECT via Docker
45
+ Included in this repository is a Dockerfile allowing you to create an interactive JupyterLab environment that can run both ASPECT and GDTchron in Jupyter Notebooks. This environment allows you to fully run an accompanying ASPECT uplift model, process it using GDTChron, and plot the results using the Jupyter Notebooks in the `aspect` directory. Note that fully replicating this process may take several hours.
46
+
47
+ See here for how to install Docker: https://docs.docker.com/get-started/
48
+
49
+ To build the environment, first ensure Docker is running. Then, from the repository root directory run:
50
+ ```
51
+ docker build -f aspect/Dockerfile -t aspect-docker .
52
+ ```
53
+ This may take a few minutes. To then run the environment:
54
+ ```
55
+ docker run --rm --name aspect-docker -d -p 8888:8888 aspect-docker
56
+ ```
57
+ The build and run commands are also provided in the shell script `aspect/aspect_docker.sh`
58
+
59
+ Once the environment is running, navigate to http://localhost:8888 in your browser.
60
+
61
+ To stop the environment, run:
62
+ ```
63
+ docker stop aspect-docker
64
+ ```
65
+ Note that the `--rm` flag in `docker run` means that the environment (including all files saved in it) will be removed once stopped (including if the session running the environment is ended). You can make it possible to restart the environment by omitting this flag, but this means that you will have to remove the environment manually when you are done with it.
66
+
67
+ To replicate the ASPECT uplift model and its results, run in order `run_aspect_model.ipynb`, `process_model.ipynb`, and `figures_model.ipynb`. The outputs of these are currently saved in the notebooks and viewable in the documentation.
68
+
69
+ ## Jupyter Notebooks
70
+ There are additional Jupyter Notebooks in the `notebooks` directory and displayed in the documentation demonstrating the functionality of GDTchron. Some of these notebooks can be directly replicated with just a GDTchron install (or in the Binder environment), whereas others depend on local output model files that are too large to include in this repository and are displayed as demonstrations only.
71
+
72
+ ### Fully Reproducible with GDTchron Install or Binder
73
+ * `tchron_demo.ipynb`
74
+ * `scaling_test.ipynb`
75
+
76
+ ### Not Reproducible without Large Size Local Files
77
+ * `process_riftinversion.ipynb`
78
+ * `figure_riftinversion.ipynb`
79
+ * `interpolation_comparison.ipynb`
80
+
81
+ The ASPECT parameter files needed to reproduce the rift inversion model for these notebooks are available in the `ri_prms` directory.
82
+
83
+ ## Contributing to GDTchron
84
+ GDTchron is designed to be a community-driven, open-source Python package. If you have code you would like to contribute, please see the [contributing guidelines](CONTRIBUTING.md).
@@ -0,0 +1,9 @@
1
+ """GDTchron - Geodynamic Thermochronology""" # noqa: D400
2
+
3
+ from gdtchron import aft, he
4
+ from gdtchron._parallel_vtk import run_tt_paths, run_vtk
5
+ from gdtchron._visualization import add_comp_field, plot_vtk_2d
6
+
7
+ __all__ = ["plot_vtk_2d", "add_comp_field",
8
+ "aft", "he",
9
+ "run_tt_paths", "run_vtk"]