<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "https://jats.nlm.nih.gov/nlm-dtd/publishing/3.0/journalpublishing3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" specific-use="SMUR" dtd-version="3.0" xml:lang="en">
<front>
<journal-meta>
<journal-id journal-id-type="publisher">EGUsphere</journal-id>
<journal-title-group>
<journal-title>EGUsphere</journal-title>
<abbrev-journal-title abbrev-type="publisher">EGUsphere</abbrev-journal-title>
<abbrev-journal-title abbrev-type="nlm-ta">EGUsphere</abbrev-journal-title>
</journal-title-group>
<publisher><publisher-name>Copernicus Publications</publisher-name>
<publisher-loc>Göttingen, Germany</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.5194/egusphere-2026-5201</article-id>
<title-group>
<article-title>PyAges v1.0: an extensible Python toolkit for inferring groundwater transit-time distributions from environmental tracers</article-title>
</title-group>
<contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>de Dreuzy</surname>
<given-names>Jean-Raynald</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Leray</surname>
<given-names>Sarah</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Marçais</surname>
<given-names>Jean</given-names>
<ext-link>https://orcid.org/0000-0002-1729-9964</ext-link>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
</contrib>
</contrib-group><aff id="aff1">
<label>1</label>
<addr-line>Univ Rennes, CNRS, Géosciences Rennes – UMR 6118, F-35000 Rennes, France</addr-line>
</aff>
<aff id="aff2">
<label>2</label>
<addr-line>HydroSciences Montpellier (HSM), Université de Montpellier, CNRS, IRD, F-34093 Montpellier Cedex 5, France</addr-line>
</aff>
<aff id="aff3">
<label>3</label>
<addr-line>INRAE, UR RiverLy, F-69625 Villeurbanne, France</addr-line>
</aff>
<pub-date pub-type="epub">
<day>12</day>
<month>10</month>
<year>2026</year>
</pub-date>
<volume>2026</volume>
<fpage>1</fpage>
<lpage>55</lpage>
<permissions>
<copyright-statement>Copyright: &#x000a9; 2026 Jean-Raynald de Dreuzy et al.</copyright-statement>
<copyright-year>2026</copyright-year>
<license license-type="open-access">
<license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri"  xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p>
</license>
</permissions>
<self-uri xlink:href="https://egusphere.copernicus.org/preprints/2026/egusphere-2026-5201/">This article is available from https://egusphere.copernicus.org/preprints/2026/egusphere-2026-5201/</self-uri>
<self-uri xlink:href="https://egusphere.copernicus.org/preprints/2026/egusphere-2026-5201/egusphere-2026-5201.pdf">The full text article is available as a PDF file from https://egusphere.copernicus.org/preprints/2026/egusphere-2026-5201/egusphere-2026-5201.pdf</self-uri>
<abstract>
<p>Lumped-parameter models infer groundwater transit-time distributions by combining environmental-tracer input histories with parameterized age distributions. Their practical use requires flexible tracer representation, reliable repeated numerical integration, and explicit treatment of uncertainty when different parameter combinations fit observations similarly. We present PyAges v1.0, an open-source Python toolkit that separates tracer definitions, lumped-parameter models, convolution, and calibration; supports Bayesian inference of parameter uncertainty; and uses an integration scheme based on the cumulative distribution function and partial first moment for repeated evaluation of narrow, shifted, mixed, and shape-free transit- time distributions. Independent reference calculations across 270 cases characterize numerical discrepancies of the PyAges convolution operator across four classical model families. A cross-software benchmark against TracerLPM shows that both tools estimate the prescribed parameters with broadly comparable accuracy. Mean transit time is estimated more robustly under added noise than the model- specific parameter controlling either exponential&amp;ndash;piston mixing or dispersion. Two field sites, Holten and Ploemeur, illustrate the framework with real observations. At Holten, PyAges posterior medians reproduce all 28 published four-bin age fractions within 0.02. At Ploemeur, calibrations using the full record or only 2014&amp;ndash;2015 observations show how repeated measurements can resolve age ambiguity or reveal incompatibility among the assumptions used to interpret the tracers. PyAges therefore provides a reproducible framework for testing tracer and transit-time hypotheses, determining what observations constrain, and integrating tracer inference into broader hydrogeological workflows.</p>
</abstract>
<counts><page-count count="55"/></counts>
<funding-group>
<award-group id="gs1">
<funding-source>Agence Nationale de la Recherche</funding-source>
<award-id>PEPR OneWater – Eau Bien Commun, France 2030, 22-PEXO-0005</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body/>
<back>
</back>
</article>