the Creative Commons Attribution 4.0 License.
the Creative Commons Attribution 4.0 License.
Technical note: Tc1D - a 1D thermal and thermochronometer age prediction model
Abstract. Thermochronological data are commonly used to study the activity of geological processes over timescales of millions of years. Ages produced by thermochronological measurements, however, are non-unique and do not directly record rates of processes, which has led to the development of a variety of software tools for interpreting age data in the context of geological processes. Most of the widely used software packages focus on determining thermal histories, which are easy to use but do not provide direct quantitative estimates of geological process rates. In contrast, more sophisticated and complex thermo-kinematic modeling software can link ages to process rates but may require greater computational expertise and resources for use. Here we introduce Tc1D, a 1D thermal and thermochronometer age prediction software package designed to provide users with the opportunity to explore geological processes from thermochronology data in a computationally efficient and accessible framework. The software is open source and written in the Python programming language, and provides functionality for forward and inverse modeling of thermochronometer data, visualization using built-in plotting, a variety of options for defining exhumation histories, and more. This work presents an overview of how Tc1D was designed, several illustrative examples of how the code can be applied, instructions for how to get started using Tc1D, and some plans for future development.
- Preprint
(2932 KB) - Metadata XML
- BibTeX
- EndNote
Status: final response (author comments only)
-
RC1: 'Comment on egusphere-2026-2514', Matthew Fox, 12 Jun 2026
-
AC1: 'Reply on RC1', David Whipp, 29 Jul 2026
“Technical note: Tc1D - a 1D thermal and thermochronometer age prediction model” by Whipp et al is provides details of a useful code to help people interpret thermochronometric data. The code is written in Python and it appears to be relatively easy to use. The paper is well written and clear. I suggest minor revisions.
We appreciate the prompt review and thank the reviewer for the positive and supportive comments! We address their minor comments below.
It might be useful to include the option to have spatially variable heat production. This code could then allow uses to assess how heat production varies in space and time due to exhumation and how this might influence thermal histories.
This is a good point, and something that we did not explicitly describe in the manuscript text earlier. Currently, it is possible to define heat production that is constant or has an exponential decay with depth in the crust. We will clarify this in the revised manuscript text.
It would also be helpful to explain how this is different from Age2edot (Willett and Brandon, 2013) and age2exhum (van der Beek and Schildgen, 2023).
We agree and thank the reviewer for pointing out that we did not provide an explanation of how Tc1D compares to Age2edot and age2exhume. We will add short descriptions of those software packages and how they differ from Tc1D to the introduction.
Sincerely,
Matthew Fox,
33: Consider citing Fox and Carter (Geosciences, 2020) here.
Thanks, we will add this citation.
40: Please cite Fox et al., (Esurf, 2014) here as GLIDE has been used by the community and provides a simple approach to extract exhumation rates from thermochron data. Also consider citing Tian et al., (JGR:Solid Earth, 2025).
Again, thank you for noting we had not cited GLIDE earlier. We will add both citations.
Figure 3: It would be nice if the erosion rate was given in km/My instead of mm/yr. That way, the integration under the curve makes much more sense and is easier to understand.
This is a good point that we had not considered earlier. We will update the axis labels for Figures 3, 5, 7, and 8 to use km/Myr rather than mm/yr. We have also added selecting the units for the exhumation rate as a planned feature for a future version of Tc1D.
237: Please cite Nguyen et al., (2022) paper here where the 1D model used is very similar to the model presented here. Huu Nguyen, H., Carter, A., Hoang, L.V., Fox, M., Pham, S.N. and Vinh, H.B., 2022. Evolution of the continental margin of south to central Vietnam and its relationship to opening of the South China Sea (East Vietnam Sea). Tectonics, 41(2), p.e2021TC006971.
Thanks, we will add this citation.
Citation: https://doi.org/10.5194/egusphere-2026-2514-AC1
-
AC1: 'Reply on RC1', David Whipp, 29 Jul 2026
-
RC2: 'Comment on egusphere-2026-2514', Maxime Bernard, 17 Jun 2026
The authors present a new 1D thermal model, Tc1D, that enables predicting thermochronometric data following prescribed rock exhumation scenarios. The authors developed this model to allow for efficient computation relative to more complex thermal model like the 3D thermal-kinematic model Pecube, to explore the role of geological processes in explaining rock cooling histories constrained by thermochronometric data. This contribution is worth publishing in Geochronology journal because of its interest for the thermochronology community and is relevant to be part of the special issue: “Technical notes on modelling thermochronometric data”. Overall, the manuscript is well written, very comprehensive, and therefore of high quality. I have only minor comments (see below) and support publication with technical corrections.
1. Main comment of the manuscript
1.1. In the introduction, it could be worth mentioning the difference with other software like age2exhume (van der Beek and Schildgen, 2023) and Age2edot (Willett and Brandon, 2013), as also suggested by Dr. Matthew Fow (referee 1). This would allow the community to have better sight on the range of existing 1D model for thermochronometric data prediction.
1.2. I would suggest using the ‘z’ letter instead of ‘x’ in equation 2 and followings, as the model uses vertical direction only.
2. Line by line comments in the manuscript
- Line 137: why the default is 45 µm for the AHe grains and not 60 µm as usually assumed?
- Figure 6: a subplot showing the thermal history or the model setup might help linking the prediction with the imposed exhumation/thermal cooling scenario.
- Line 288-289: “A summary…” instead of “An summary…”
- Figure 7: I wonder how the misfit can be this low while some predicted ages seem to be significantly off the observed age (well beyond uncertainty). Could you double check the misfit calculation, please? Maybe, it is the effect of the scale of the plot axes…
- Figure 8: Why, if grain-specific kinetics is allowed in Tc1d, here only one set of kinetic seems to have been used to model the ages?
- Line 425: “… at present to include…”? instead of “… a present to include…”
3. Other comments relative to the software
Here I provide some feedback on using and testing the associated Jupiter notebook as well as using Tc1D via a conda environment. I provide the steps as I have done them to illustrate how random users (like me) can proceed when trying to install and use the software.
3.1. The online jupyter notebook
In the online jupyter notebook using Binder and example_tc1d.ipynb, cell [7] returns an issue:
KeyError : ‘ero_stage’. The error occurs at line 4122 from code tc1d.py. This error is recurrent in other examples. Therefore, I could not evaluate further the results from the jupyter notebook.
This issue arises in all examples. To me, it seems that the key « ero_stages » is not recognized by the program and can be linked to the version of Tc1d uploaded in Binder.
3.2. Tc1d in a conda environment on a local (windows) machine
I installed Tc1d on my own Windows machine via a conda environment. After pip install tc1d, I got tc1d version 0.4.0. Following the user guide online, I ran the first example as tc1d-cli –ero-option1 10.0. The model returned an error « FileNotFoundError: RDAAM_He executable not found. ». Following the instruction on the github page I downloaded the executables for the programs « ketch_aft.exe » and « RDAAM_He.exe » and put them at the same location. I have also updated the path to environment variables to include these two programs. Although tc1d then ran for longer time, it crashed because library libgcc_s_seh-1.dll and libstdc++-6.dll are not found.
Then, I tried to solve the issue by compiling the two programs, but it did not solve the problem. Also, putting the executable in the path environment did not allow to find the executables by tc1d, but putting them into the root directory (where the src is) did.
Afterall, I have been able to solve the issue by putting the required libraries libgcc_s_seh-1.dll, libstdc++-6.dll, and libwinpthread-1.dll in the same directory as the executables (taking the libraries from the QTQt software). Then, I was able to run the example and Tc1D.
Citation: https://doi.org/10.5194/egusphere-2026-2514-RC2 -
AC2: 'Reply on RC2', David Whipp, 29 Jul 2026
The authors present a new 1D thermal model, Tc1D, that enables predicting thermochronometric data following prescribed rock exhumation scenarios. The authors developed this model to allow for efficient computation relative to more complex thermal model like the 3D thermal-kinematic model Pecube, to explore the role of geological processes in explaining rock cooling histories constrained by thermochronometric data. This contribution is worth publishing in Geochronology journal because of its interest for the thermochronology community and is relevant to be part of the special issue: “Technical notes on modelling thermochronometric data”. Overall, the manuscript is well written, very comprehensive, and therefore of high quality. I have only minor comments (see below) and support publication with technical corrections.
We again thank the reviewer for the prompt review, and for their positive and supportive comments. The minor comments are addressed below.
1. Main comment of the manuscript
1.1. In the introduction, it could be worth mentioning the difference with other software like age2exhume (van der Beek and Schildgen, 2023) and Age2edot (Willett and Brandon, 2013), as also suggested by Dr. Matthew Fow (referee 1). This would allow the community to have better sight on the range of existing 1D model for thermochronometric data prediction.
We agree with this comment and plan to briefly describe both Age2edot and age2exhume in the introduction, as well as noting how they differ from Tc1D.
1.2. I would suggest using the ‘z’ letter instead of ‘x’ in equation 2 and followings, as the model uses vertical direction only.
This is a good point, thank you. To be consistent with the frequent use of z for depth-dependent variables we will replace instances of vx with vz in the revised text.
2. Line by line comments in the manuscript
- Line 137: why the default is 45 µm for the AHe grains and not 60 µm as usually assumed?
This value was used from the Tcplotter software (Whipp, Kellett et al., 2022, GChron). However, considering the more typical target grain size for He dating in apatite, we will update the default equivalent spherical radius for apatite to 60 µm in the text and software.
- Figure 6: a subplot showing the thermal history or the model setup might help linking the prediction with the imposed exhumation/thermal cooling scenario.
This is a good suggestion. To avoid making the figure more complex or adding another figure to the main text, we will add related thermal history and geotherm history plots as supplementary material.
- Line 288-289: “A summary…” instead of “An summary…”
Thanks, we will correct this typographical error.
- Figure 7: I wonder how the misfit can be this low while some predicted ages seem to be significantly off the observed age (well beyond uncertainty). Could you double check the misfit calculation, please? Maybe, it is the effect of the scale of the plot axes…
We thank the reviewer for his attention to the details of the misfit calculated in Figure 7. We have recalculated the misfit manually and can confirm that the displayed value is correct. To ensure that readers are similarly not confused, we will clarify that the misfit is calculated using Equation 4 in our manuscript rather than Equation 5, for which the calculated misfit (~85) is considerably larger.
- Figure 8: Why, if grain-specific kinetics is allowed in Tc1d, here only one set of kinetic seems to have been used to model the ages?
Good question! While grain-specific kinetics are used for the He age calculations, the kinetic parameters do not vary for the fission-track age calculations currently. We have included a request for support for grain-specific kinetic parameters for fission-track age calculations in GitHub as a potential feature in a future version of Tc1D.
- Line 425: “… at present to include…”? instead of “… a present to include…”
We will correct this typographical error.
3. Other comments relative to the software
Here I provide some feedback on using and testing the associated Jupiter notebook as well as using Tc1D via a conda environment. I provide the steps as I have done them to illustrate how random users (like me) can proceed when trying to install and use the software.
3.1. The online jupyter notebook
In the online jupyter notebook using Binder and example_tc1d.ipynb, cell [7] returns an issue:
KeyError : ‘ero_stage’. The error occurs at line 4122 from code tc1d.py. This error is recurrent in other examples. Therefore, I could not evaluate further the results from the jupyter notebook.
This issue arises in all examples. To me, it seems that the key « ero_stages » is not recognized by the program and can be linked to the version of Tc1d uploaded in Binder.
You’re correct and thank you for testing things in Binder! As it turns out, there was a bug introduced in version 0.4.0 that we did not notice earlier, which we have already fixed in version 0.4.1. The bug did not affect the results presented in this work, but the fix now properly defines the “ero_stages” parameter to avoid the KeyError.
3.2. Tc1d in a conda environment on a local (windows) machine
I installed Tc1d on my own Windows machine via a conda environment. After pip install tc1d, I got tc1d version 0.4.0. Following the user guide online, I ran the first example as tc1d-cli –ero-option1 10.0. The model returned an error « FileNotFoundError: RDAAM_He executable not found. ». Following the instruction on the github page I downloaded the executables for the programs « ketch_aft.exe » and « RDAAM_He.exe » and put them at the same location. I have also updated the path to environment variables to include these two programs. Although tc1d then ran for longer time, it crashed because library libgcc_s_seh-1.dll and libstdc++-6.dll are not found.
Then, I tried to solve the issue by compiling the two programs, but it did not solve the problem. Also, putting the executable in the path environment did not allow to find the executables by tc1d, but putting them into the root directory (where the src is) did.
Afterall, I have been able to solve the issue by putting the required libraries libgcc_s_seh-1.dll, libstdc++-6.dll, and libwinpthread-1.dll in the same directory as the executables (taking the libraries from the QTQt software). Then, I was able to run the example and Tc1D.
OK, thank you for also testing the installation of Tc1D on your own computer! We had not tested Tc1D on a Windows machine, so it is very helpful to know there are possible issues related to the programs that are needed to run the age calculations. We are currently working on a version of Tc1D that uses the RDAAM_He and ketch_aft source code as a library rather than calling executables, which should resolve the issues noted above (and simplify installation). Regardless, we will test things on Windows and see whether we can find a better solution to allow users to more easily install the software on their own computers.
Citation: https://doi.org/10.5194/egusphere-2026-2514-AC2
Viewed
| HTML | XML | Total | BibTeX | EndNote | |
|---|---|---|---|---|---|
| 84 | 49 | 10 | 143 | 6 | 7 |
- HTML: 84
- PDF: 49
- XML: 10
- Total: 143
- BibTeX: 6
- EndNote: 7
Viewed (geographical distribution)
| Country | # | Views | % |
|---|
| Total: | 0 |
| HTML: | 0 |
| PDF: | 0 |
| XML: | 0 |
- 1
“Technical note: Tc1D - a 1D thermal and thermochronometer age prediction model” by Whipp et al is provides details of a useful code to help people interpret thermochronometric data. The code is written in Python and it appears to be relatively easy to use. The paper is well written and clear. I suggest minor revisions.
It might be useful to include the option to have spatially variable heat production. This code could then allow uses to assess how heat production varies in space and time due to exhumation and how this might influence thermal histories.
It would also be helpful to explain how this is different from Age2edot (Willett and Brandon, 2013) and age2exhum (van der Beek and Schildgen, 2023).
Sincerely,
Matthew Fox,
33: Consider citing Fox and Carter (Geosciences, 2020) here.
40: Please cite Fox et al., (Esurf, 2014) here as GLIDE has been used by the community and provides a simple approach to extract exhumation rates from thermochron data. Also consider citing Tian et al., (JGR:Solid Earth, 2025).
Figure 3: It would be nice if the erosion rate was given in km/My instead of mm/yr. That way, the integration under the curve makes much more sense and is easier to understand.
237: Please cite Nguyen et al., (2022) paper here where the 1D model used is very similar to the model presented here. Huu Nguyen, H., Carter, A., Hoang, L.V., Fox, M., Pham, S.N. and Vinh, H.B., 2022. Evolution of the continental margin of south to central Vietnam and its relationship to opening of the South China Sea (East Vietnam Sea). Tectonics, 41(2), p.e2021TC006971.