<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing with OASIS Tables v3.0 20080202//EN" "https://jats.nlm.nih.gov/nlm-dtd/publishing/3.0/journalpub-oasis3.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:oasis="http://docs.oasis-open.org/ns/oasis-exchange/table" xml:lang="en" dtd-version="3.0" article-type="research-article">
  <front>
    <journal-meta><journal-id journal-id-type="publisher">ADGEO</journal-id><journal-title-group>
    <journal-title>Advances in Geosciences</journal-title>
    <abbrev-journal-title abbrev-type="publisher">ADGEO</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">Adv. Geosci.</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">1680-7359</issn><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/adgeo-68-1-2026</article-id><title-group><article-title>Platypus: a Python package for automated surrogate-assisted analysis of process-based simulations via the non-intrusive reduced-basis method</article-title><alt-title>Platypus</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Hayek</surname><given-names>Jorge Nicolas</given-names></name>
          <email>jorge.nicolas.hayek.valencia@gfz.de</email>
        <ext-link>https://orcid.org/0000-0002-0351-3368</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Cacace</surname><given-names>Mauro</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-6101-9918</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Faber</surname><given-names>Marthe</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Gruzdeva</surname><given-names>Yulia</given-names></name>
          
        <ext-link>https://orcid.org/0009-0002-1372-9880</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2 aff1">
          <name><surname>Degen</surname><given-names>Denise</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-7932-6251</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>GFZ Helmholtz-Zentrum für Geoforschung, Telegrafenberg, 14473 Potsdam, Germany</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Institute of Applied Geosciences, TU Darmstadt, Schnittspahnstraße 9, 64287 Darmstadt, Germany</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Jorge Nicolas Hayek (jorge.nicolas.hayek.valencia@gfz.de)</corresp></author-notes><pub-date><day>4</day><month>November</month><year>2026</year></pub-date>
      
      <volume>68</volume>
      <fpage>1</fpage><lpage>11</lpage>
      <history>
        <date date-type="received"><day>19</day><month>June</month><year>2026</year></date>
           <date date-type="rev-recd"><day>20</day><month>October</month><year>2026</year></date>
           <date date-type="accepted"><day>27</day><month>October</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Jorge Nicolas Hayek 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://adgeo.copernicus.org/articles/68/1/2026/adgeo-68-1-2026.html">This article is available from https://adgeo.copernicus.org/articles/68/1/2026/adgeo-68-1-2026.html</self-uri><self-uri xlink:href="https://adgeo.copernicus.org/articles/68/1/2026/adgeo-68-1-2026.pdf">The full text article is available as a PDF file from https://adgeo.copernicus.org/articles/68/1/2026/adgeo-68-1-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e118">Modelling the dynamic response of reservoirs to fluid injection often relies on fully coupled thermo-hydro-mechanical models, which provide a high-fidelity representation of the governing physical processes. These models support operational and design decisions under significant geological and parametric uncertainties. However, their high computational cost severely limits their applicability in large-scale statistical analysis and thus limiting the potential to account for these uncertainties. We present <monospace>Platypus</monospace>, a Python package that bridges full-order process-based reservoir simulations and surrogate-based analysis. The package provides automated, reproducible workflows covering the full pipeline from parameter sampling and simulation interfacing, through ensemble curation and data management, to surrogate model construction and global sensitivity analysis. Surrogate models are built via the non-intrusive reduced-basis method to deliver computationally efficient, physics-consistent approximations of the transient reservoir response, enabling statistical analysis that require a large number of evaluations. The package is demonstrated on two geothermal applications: a synthetic reservoir benchmark and the Groß Schönebeck geothermal site. These examples illustrate the package's ability to handle time-dependent coupled hydrothermal and thermo-hydro-mechanical processes, manage large simulation ensembles, and perform global sensitivity analyses enabled by surrogates. <monospace>Platypus</monospace> is designed to be modular and extensible, providing a flexible tool for ensemble-based reservoir modelling workflows across a range of subsurface applications.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>Bundesministerium für Forschung, Technologie und Raumfahrt</funding-source>
<award-id>16|S24062</award-id>
</award-group>
</funding-group>
</article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e136">Numerical models of reservoirs are essential tools to improve our understanding of subsurface conditions for real-world applications, yet they face significant computational challenges. The high-dimensional parameter space arising from the heterogeneity and uncertainty of the subsurface hinders  a direct usage of high fidelity models for statistical analysis such as global sensitivity analysis, uncertainty quantification, model calibrations, and inversions, all of which require a large number of evaluations to adequately sample the parameter domain. Meeting these demands requires navigating a list of challenges including parameter sampling, data management, and model reduction. These problems have practical, existing solutions in isolation (e.g., <xref ref-type="bibr" rid="bib1.bibx34" id="altparen.1"/>, for parameter sampling strategies; <xref ref-type="bibr" rid="bib1.bibx43" id="altparen.2"/>, for handling and curating simulation outputs; <xref ref-type="bibr" rid="bib1.bibx26" id="altparen.3"/>, and <xref ref-type="bibr" rid="bib1.bibx2" id="altparen.4"/>, for large multidimensional datasets; and <xref ref-type="bibr" rid="bib1.bibx13" id="altparen.5"/>, for surrogate modeling of physical processes in geoscientific applications), but collectively they represent a steep learning curve for a new user.</p>
      <p id="d2e154">Surrogate modelling (also referred to as meta- or proxy modelling across communities) offers a computationally efficient alternative to full-order process-based simulations. Surrogate models broadly fall into three categories. Physics-based surrogate models, as constructed by, for instance, <xref ref-type="bibr" rid="bib1.bibx25" id="text.6"/> and <xref ref-type="bibr" rid="bib1.bibx5" id="text.7"/>,  preserve the underlying physics, but are limited in the range of applications. So, problematic are general applications to hyperbolic and nonlinear problems, which constitute many geophysical applications such as geothermal, seismic and electromagnetic applications <xref ref-type="bibr" rid="bib1.bibx13 bib1.bibx5 bib1.bibx24" id="paren.8"/>. Data-driven surrogate models, conversely, do not preserve the physics but are applicable even to complex nonlinear problems. Hybrid approaches aim to combine the strengths of both methods and overcome their individual limitations. Physics-informed neural networks (PINNs), for instance, introduce the physics as a constraint in the loss function, earning them the alternative name physics-constrained machine learning method. However, they do not guarantee internal consistency with physics for all states within the domain. The non-intrusive reduced-basis (NIRB) method <xref ref-type="bibr" rid="bib1.bibx13 bib1.bibx44 bib1.bibx24" id="paren.9"/> is a model order reduction technique that constructs low-order approximations of high-fidelity models, aiming at preserving the input-output relationship of the models. Unlike classical machine learning techniques and PINNs, NIRB does not treat physics as data or as a constraint. Its computational efficiency makes it suitable for large statistical analysis such as probabilistic model calibrations, uncertainty quantification, and sensitivity analysis <xref ref-type="bibr" rid="bib1.bibx12 bib1.bibx13" id="paren.10"/>.</p>
      <p id="d2e172">To assist in the steps of full-order model and surrogate model  construction and application, we present <monospace>Platypus</monospace><fn id="Ch1.Footn1"><p id="d2e177">The package is named after the creature that combines traits found separately elsewhere.</p></fn>, a software package that integrates sampling strategies, model curation and visualization, handling large distributed multidimensional ensemble data, surrogate training, and global sensitivity analysis into a single Python-based framework, bridging full-order process-based simulations and surrogate-based analysis. It provides automatic, reproducible pipelines and modular workflows adaptable to diverse scenarios and solvers. Example workflow scripts and tutorial Jupyter notebooks are included alongside the package.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Implementation</title>
      <p id="d2e189"><monospace>Platypus</monospace> is an open-source Python package covering the full workflow from simulation interfacing to surrogate modeling, as illustrated in Fig. <xref ref-type="fig" rid="F1"/>. Tailored to the finite element solver GOLEM/MOOSE <xref ref-type="bibr" rid="bib1.bibx28 bib1.bibx21" id="paren.11"/> but being extendable to other simulation frameworks, it handles parameter sampling, input file generation, model curation, and ensemble assembly, all driven by a centralized configuration file. The package provides visualization and mesh handling through PyVista <xref ref-type="bibr" rid="bib1.bibx43" id="paren.12"/>, and stores simulation datasets in a labelled, distributed fashion using Zarr format with Xarray <xref ref-type="bibr" rid="bib1.bibx26" id="paren.13"/>, avoiding redundant storage. It further construct computationally efficient surrogate models via the non-intrusive reduced-basis method <xref ref-type="bibr" rid="bib1.bibx13 bib1.bibx44 bib1.bibx24" id="paren.14"/>, which can be applied directly to global sensitivity analysis through SALib <xref ref-type="bibr" rid="bib1.bibx27 bib1.bibx23" id="paren.15"/>. Each of these steps is described in detail in the following subsections.</p>

      <fig id="F1" specific-use="star"><label>Figure 1</label><caption><p id="d2e214">Model-to-surrogate workflow schematic. <monospace>Platypus</monospace> orchestrates each stage of the surrogate modeling pipeline, from parameter sampling and interfacing with an external simulator (in dotted box to emphasize its external character), through model curation, data management, and surrogate training, all guided by a centralized configuration file. The solid line boxes indicate modules for which platypus offers functionality. The data pipeline denoted by blue, indicates the output files obtained from a module at the time and available for the next steps. Available options at each stage are listed on the right side of the figure. Center: Platypus logo <xref ref-type="bibr" rid="bib1.bibx37" id="paren.16"/>.</p></caption>
        <graphic xlink:href="https://adgeo.copernicus.org/articles/68/1/2026/adgeo-68-1-2026-f01.png"/>

      </fig>

<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Parameter sampling</title>
      <p id="d2e236">Sampling the parameter subspace for ensemble simulations involves a series of decisions. The number of parameters to vary, their ranges, and their distributions need to be specified. These choices are context-dependent, determined by the prior knowledge of the model setup, the workflow and the study objective. In iterative workflows involving a sensitivity analysis, the parameter set may shrink across iterations, as low influence parameters are identified and removed, requiring the parameter subspace to be redefined at each stage. Additionally, parameters may follow skewed or non-linear distributions (e.g., permeabilities are often defined in logarithmic scale while density or thermal conductivity use a linear scale), requiring sampling strategies that avoid bias in subsequent statistical analysis <xref ref-type="bibr" rid="bib1.bibx11" id="paren.17"><named-content content-type="pre">e.g.,</named-content></xref>.</p>
      <p id="d2e244">The configuration file contains the list of varying parameters, along with the respective value ranges, the ensemble size for training and validation realisation sets, and the sampling strategy for each set. <monospace>Platypus</monospace> supports the definition of arbitrary forward and inverse mappings to linearize each parameter distribution prior to sampling, and provides currently two sampling strategies: the Latin Hypercube sampling <xref ref-type="bibr" rid="bib1.bibx33" id="paren.18"><named-content content-type="pre">LHS;</named-content></xref>, and random sampling. The former is a sampling strategy widely adopted for uniform sampling of the parameter space to construct the training ensemble of models. The latter is often used for the validation ensemble.</p>
      <p id="d2e255">Input files are generated from a reference input file template with placeholders for parameter values, ensuring that the ensemble members are built from a verified reference model. The resulting input files can be executed locally or on high-performance compute clusters.</p>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Choice of simulator</title>
      <p id="d2e267">The non-intrusive reduced-basis method is agnostic of the numerical method, making <monospace>Platypus</monospace> extensible to outputs from different process-based simulators, though it is currently tailored to GOLEM/MOOSE. GOLEM <xref ref-type="bibr" rid="bib1.bibx28" id="paren.19"/> is an open-source finite element simulator built on the general Multiphysics Object-Oriented Simulation Environment <xref ref-type="bibr" rid="bib1.bibx21" id="paren.20"><named-content content-type="pre">MOOSE;</named-content></xref>. It implements the coupled thermo-hydro-mechanical formulation describing fluid flow, heat transport, and mechanical deformation in porous media. The coupled system of equations is summarized below.</p>
      <p id="d2e281">The governing equation for pore fluid pressure comes from the fluid mass balance, under Boussinesq approximation, as

            <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M1" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi mathvariant="normal">B</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:msub><mml:mover accent="true"><mml:munder><mml:munder><mml:mi mathvariant="bold-italic">ϵ</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>k</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mo>)</mml:mo><mml:msubsup><mml:mover accent="true"><mml:munder><mml:munder><mml:mi mathvariant="bold-italic">ϵ</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>k</mml:mi><mml:mi>k</mml:mi></mml:mrow><mml:mo>⋆</mml:mo></mml:msubsup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">D</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M2" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> is the pore pressure, <inline-formula><mml:math id="M3" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> is the temperature, <inline-formula><mml:math id="M4" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> is the time, <inline-formula><mml:math id="M5" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:munder><mml:munder><mml:mi mathvariant="bold-italic">ϵ</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>k</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the total volumetric strain rate, <inline-formula><mml:math id="M6" display="inline"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:munder><mml:munder><mml:mi mathvariant="bold-italic">ϵ</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>k</mml:mi><mml:mi>k</mml:mi></mml:mrow><mml:mo>⋆</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> is the inelastic strain rate, <inline-formula><mml:math id="M7" display="inline"><mml:mi mathvariant="italic">α</mml:mi></mml:math></inline-formula> is the Biot coefficient, <inline-formula><mml:math id="M8" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi mathvariant="normal">B</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the Biot modulus, <inline-formula><mml:math id="M9" display="inline"><mml:mi mathvariant="italic">β</mml:mi></mml:math></inline-formula> is the volumetric thermal expansion coefficient, and the subscripts f, s and b, correspond to the fluid, solid and bulk components, respectively. The Darcy velocity <inline-formula><mml:math id="M10" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">D</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is given by

            <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M11" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">D</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">μ</mml:mi></mml:mfrac></mml:mstyle><mml:munder><mml:munder><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi mathvariant="bold-italic">g</mml:mi></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M12" display="inline"><mml:munder><mml:munder><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo mathvariant="normal">¯</mml:mo></mml:munder></mml:math></inline-formula> is the permeability tensor of the porous medium, <inline-formula><mml:math id="M13" display="inline"><mml:mi mathvariant="italic">μ</mml:mi></mml:math></inline-formula> is the fluid viscosity, <inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the density of the fluid, and <inline-formula><mml:math id="M15" display="inline"><mml:mi mathvariant="bold-italic">g</mml:mi></mml:math></inline-formula> the gravity vector.</p>
      <p id="d2e598">The governing equation for heat transport results from energy balance of the porous-fracture system under thermal equilibrium conditions as

            <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M16" display="block"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>c</mml:mi><mml:msub><mml:mo>)</mml:mo><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mo>⋅</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">D</mml:mi></mml:msub><mml:mi>T</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>T</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M17" display="inline"><mml:mi>c</mml:mi></mml:math></inline-formula> is the specific heat capacity, <inline-formula><mml:math id="M18" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>c</mml:mi><mml:msub><mml:mo>)</mml:mo><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">ϕ</mml:mi><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the bulk specific heat of the porous medium, <inline-formula><mml:math id="M19" display="inline"><mml:mi mathvariant="italic">ϕ</mml:mi></mml:math></inline-formula> is the porosity, <inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">ϕ</mml:mi><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the bulk thermal conductivity.</p>
      <p id="d2e778">The linear momentum balance equation of the bulk in terms of the effective Cauchy stress tensor <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:msup><mml:munder><mml:munder><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> is given by

            <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M22" display="block"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mo>⋅</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:msup><mml:munder><mml:munder><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo>′</mml:mo></mml:msup><mml:mo>-</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:munder><mml:munder><mml:mi mathvariant="double-struck">I</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo mathvariant="normal">¯</mml:mo></mml:munder></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mi mathvariant="bold-italic">g</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          There, <inline-formula><mml:math id="M23" display="inline"><mml:munder><mml:munder><mml:mi mathvariant="double-struck">I</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:munder><mml:mo mathvariant="normal">¯</mml:mo></mml:munder></mml:math></inline-formula> is the rank-two identity tensor, and <inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the bulk density of the fluid–solid mixture (<inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">ϕ</mml:mi><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>).</p>
      <p id="d2e917">Further details about the governing equations, their derivation from mass, energy, and momentum conservation, and the underlying assumptions can be found in <xref ref-type="bibr" rid="bib1.bibx8" id="text.21"/>. For a general review of coupled thermo-hydro-mechanical (and chemical) modeling of fractured porous media, see  <xref ref-type="bibr" rid="bib1.bibx46" id="text.22"/>, <xref ref-type="bibr" rid="bib1.bibx47" id="text.23"/>, <xref ref-type="bibr" rid="bib1.bibx38" id="text.24"/> and references therein.</p>
      <p id="d2e932"><monospace>Platypus</monospace> interfaces with a simulator by writing sampled parameter values into the solver's input, and reading the resulting ensemble of model solution snapshots. Supporting a different simulator amounts to adapting how sampled parameters are supplied to the solver, and how output fields are read back into the framework. The rest of the downstream modules remains unaffected. Minimal integration requires a function that exposes the model data to the framework. Deeper integration, such as automated execution of the solver or handling solver-specific mesh structures, requires more effort.</p>
</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Model pruning</title>
      <p id="d2e945"><monospace>Platypus</monospace> leverages PyVista <xref ref-type="bibr" rid="bib1.bibx43" id="paren.25"/> and its VTK Exodus readers to read, filter, and visualize GOLEM model outputs for model curation and quantity of interest selection. This allows the user to work with entire model states or restrict the domain to the observation space alone.</p>
      <p id="d2e953">The user can filter by predefined mesh block names (e.g., from volumetric lithologies or lower dimensional structures such as faults), cell types (e.g., triangles, tetrahedrons, hexahedrons), fields stored at nodal or cell level (e.g., temperature, pore pressure, stress components), merging the selection into a single unstructured mesh. The resulting reference mesh serves both as visualization output and as common spatial structure across the ensemble.</p>
      <p id="d2e957">Model curation at this stage also includes identifying and discarding failed, incomplete or inconsistent simulations prior to ensemble assembly. Once the relevant fields are selected, mesh geometry and connectivity are dropped before packing, retaining only the field data and associated metadata and avoiding data duplication. Spatial information is not required for surrogate training or evaluation under the NIRB approach we employ, though a reference mesh is retained to visualize the spatial distribution of results.</p>
</sec>
<sec id="Ch1.S2.SS4">
  <label>2.4</label><title>Packing and metadata management</title>
      <p id="d2e968">In this stage of data curation, we assemble and store the ensemble of simulations in a multidimensional, labelled data structure. Figure <xref ref-type="fig" rid="F2"/>a illustrates the multidimensional character of the stored data, whose axes correspond to physical fields, time values, realization numbers, and spatial indices indicating whether field data was extracted node- or cell-wise. Beyond storage, this step enforces metadata consistency across simulations and provides structured, labelled access to the ensemble data.</p>

      <fig id="F2" specific-use="star"><label>Figure 2</label><caption><p id="d2e975">Data management and surrogate modeling via non-intrusive reduced-basis (NIRB) approach. <bold>(a)</bold> Multidimensional labelled data structure for ensemble storage, organized along axes representing physical fields, time steps, simulation realizations, and spatial indices (node- or cell-wise). <bold>(b)</bold> Surrogate construction via NIRB from snapshot collections from full order model. The method consists of two decoupled offline and online phases. In the offline phase, it uses an ensemble of snapshots to extract a reduced basis through proper orthogonal decomposition (POD), and uses machine learning to determine the weights of the basis functions. The online phase is then used to obtain fast predicitons on demand. Modified from <xref ref-type="bibr" rid="bib1.bibx16" id="text.26"/>.</p></caption>
          <graphic xlink:href="https://adgeo.copernicus.org/articles/68/1/2026/adgeo-68-1-2026-f02.png"/>

        </fig>

      <p id="d2e993"><monospace>Platypus</monospace> leverages Zarr format with Xarray <xref ref-type="bibr" rid="bib1.bibx26" id="paren.27"/> to store the <inline-formula><mml:math id="M26" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula>-dimensional array, and labels of their values across their axes to maintain interpretability. An additional advantage of using these libraries in the context of big scientific data lies on the distributed, chunked storage, lazy loading, and available compression algorithms for the packed data <xref ref-type="bibr" rid="bib1.bibx2" id="paren.28"><named-content content-type="pre">e.g.,</named-content></xref>. The distributed storage is well-suited to parallel processing and cloud-native workflows. The lazy loading refers to having access to the ensemble dimensions without loading it all on memory, which is particularly helpful for extracting subdomains of the ensemble prior to loading in memory the data. To accommodate different computational environments, <monospace>Platypus</monospace> contains different packing strategies suited to both laptop and high-performance cluster settings.</p>
</sec>
<sec id="Ch1.S2.SS5">
  <label>2.5</label><title>Data preparation for surrogate training</title>
      <p id="d2e1024"><monospace>Platypus</monospace> applies a static correction  and a normalization to improve conditioning and ensure that each feature has equal level of importance to model performance. The static correction, or “particular solution” <xref ref-type="bibr" rid="bib1.bibx44" id="paren.29"/>, is substracted from the data to isolate the perturbations to the system. In <monospace>Platypus</monospace>, the user can choose this term as either the inital conditions of the simulation, or the node/cell-wise mean across realizations and time. <monospace>Platypus</monospace> supports standarization (<inline-formula><mml:math id="M27" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula>-score normalization) and min-max-scaling. The computed scaling parameters are stored in JSON format to enable consistent forward and inverse scaling when evaluating the surrogate. The user can select a subset of the ensemble along any of its axes, on which both correction and scaling parameters are computed and the surrogate is trained.</p>
</sec>
<sec id="Ch1.S2.SS6">
  <label>2.6</label><title>Surrogates via non-intrusive reduced-basis method</title>
      <p id="d2e1053">In <monospace>Platypus</monospace> we adopt a hybrid surrogate approach, the non-intrusive reduced-basis method <xref ref-type="bibr" rid="bib1.bibx12 bib1.bibx13 bib1.bibx24" id="paren.30"/>. Figure <xref ref-type="fig" rid="F2"/>b shows the NIRB method, which consists of a decoupled offline and online phases. In the offline phase, the method uses snapshot collections from the full order models to extract a reduced basis through a proper orthogonal decomposition (POD) to capture characteristic physical behaviour, and uses machine learning to determine the weights of these basis functions. After the offline phase, the online phase is used to obtain efficient on-demand state predictions <xref ref-type="bibr" rid="bib1.bibx24 bib1.bibx12" id="paren.31"/>. This hybrid physics-based machine learning method enables the construction of robust, scalable, and interpretable surrogate models that approximate high-fidelity physical simulations without modifying the governing equations or the underlying solver.</p>
      <p id="d2e1067">The reduced solution <inline-formula><mml:math id="M28" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">rb</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for a set of parameters <inline-formula><mml:math id="M29" display="inline"><mml:mi mathvariant="italic">γ</mml:mi></mml:math></inline-formula> is approximated as the linear combination of basis functions,

            <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M30" display="block"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">rb</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msubsup><mml:mi mathvariant="normal">Θ</mml:mi><mml:mi mathvariant="normal">rb</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup><mml:mo>(</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where  <inline-formula><mml:math id="M31" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ψ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the POD basis functions and <inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="normal">Θ</mml:mi><mml:mi mathvariant="normal">rb</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> are the corresponding reduced coefficients evaluated for <inline-formula><mml:math id="M33" display="inline"><mml:mi mathvariant="italic">γ</mml:mi></mml:math></inline-formula>. The basis functions are truncated by imposing a threshold <inline-formula><mml:math id="M34" display="inline"><mml:mi mathvariant="italic">ϵ</mml:mi></mml:math></inline-formula> to a cumulative energy criterion defined by the singular values <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> as

            <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M36" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>i</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow><mml:mrow><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi mathvariant="normal">tot</mml:mi></mml:msub></mml:mrow></mml:msubsup><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>j</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M37" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi mathvariant="normal">tot</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the total number of training snapshots. This criterion selects the <inline-formula><mml:math id="M38" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> most energetically significant basis functions. In <monospace>Platypus</monospace>, this criterion is handled at the configuration file, referred to as POD threshold.</p>
      <p id="d2e1284"><monospace>Platypus</monospace> includes two options to compute the coefficients. The first option is using Gaussian process regression, a non-parametric Bayesian approach that models input-output relations through a normal distribution prior, requiring few hyperparameters and yielding optimal coefficient estimates <xref ref-type="bibr" rid="bib1.bibx19 bib1.bibx30" id="paren.32"/>. It is well-suited to small scenarios and processes with relatively linear parameter variations <xref ref-type="bibr" rid="bib1.bibx39" id="paren.33"/>, with limited scalability (which has motivated efforts to overcome it; <xref ref-type="bibr" rid="bib1.bibx32" id="altparen.34"/>), making it less appropriate for highly non-linear processes. The second option involves estimating the coefficients via neural networks using, in our case, TensorFlow <xref ref-type="bibr" rid="bib1.bibx1 bib1.bibx45" id="paren.35"/>. The latter is rather preferred for coeficient estimation from non-linear processes <xref ref-type="bibr" rid="bib1.bibx12 bib1.bibx13" id="paren.36"/>. This option also features the use of Optuna for hyperparameter tuning <xref ref-type="bibr" rid="bib1.bibx3" id="paren.37"/>. The surrogate training in <monospace>Platypus</monospace> adopts the NIRB implementation used and analysed in previous applications  <xref ref-type="bibr" rid="bib1.bibx15 bib1.bibx13 bib1.bibx14 bib1.bibx12 bib1.bibx41" id="paren.38"/>. The cost for this offline phase is dependent on the chosen QoI, degrees of freedom and complexity of the field to be reproduced, as well as timesteps and POD threshold, and surrogate training method.</p>
</sec>
<sec id="Ch1.S2.SS7">
  <label>2.7</label><title>Global sensitivity analysis pipelines</title>
      <p id="d2e1322">At the online stage, the surrogate model can be evaluated orders of magnitude faster than full-order simulations, enabling both real-time parameter exploration and large-scale statistical analysis. <monospace>Platypus</monospace> includes pipelines to compute variance-based Sobol sensitivity indices via SALib <xref ref-type="bibr" rid="bib1.bibx27 bib1.bibx23" id="paren.39"/>. This allows the user to assess the influence of model parameters on selected quantities of interest, helping to reduce the parameter space for applications such as inversion, optimization, and uncertainty quantification. The Sobol method requires no a priori knowledge of parameter distributions and decomposes the model output variance into direct parameter effects (first-order indices), parameter interactions (higher-order indices), and total influence (total-order indices).</p>
      <p id="d2e1331">While a global sensitivity analysis (SA) is computationally demanding, it is a natural preparation step for model calibration <xref ref-type="bibr" rid="bib1.bibx17" id="paren.40"/>. Taking into consideration the information from parameter interactions significantly reduces the dimensionality of the problem, directly benefiting subsequent calibration and inversion schemes.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Examples of applications</title>
      <p id="d2e1346">We present two applications of <monospace>Platypus</monospace> demonstrating its use across time-dependent coupled hydrothermal and thermo-hydro-mechanical processes. The first example is a simple reservoir benchmark, where the trained surrogate is used to perform a global sensitivity analysis targeting material parameters. The second one is an application to the Groß Schönebeck geothermal site, featuring a multistage injection scenario, where we demonstrate how the workflow can be focused on a specific region of interest through model pruning.</p>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Simple geothermal reservoir benchmark</title>
      <p id="d2e1359">The simple reservoir scenario consists of a synthetic geothermal doublet embedded in a low permeability formation at approximately 4 km depth with induced fractures at the two operational wells, designed to capture the thermohydraulic response to geothermal operations. We use this scenario to demonstrate a typical <monospace>Platypus</monospace> workflow, covering parameter sampling, model curation, ensemble assembly, surrogate construction, and global sensitivity analysis.</p>
      <p id="d2e1365">In this transient TH model, we vary porosity, permeability, density, heat capacity, and thermal conductivity of the solid media over ranges specified in Table <xref ref-type="table" rid="T1"/>, while all remaining material parameters are held constant at their reference values. The model domain consists of a <inline-formula><mml:math id="M39" display="inline"><mml:mn mathvariant="normal">500</mml:mn></mml:math></inline-formula> m cubic porous reservoir with a background temperature of 150 °C. Water is injected at a temperature of 70 °C through an injection well at a rate of 3 L s<sup>−1</sup>, with an equal production rate. The scenario has an operation time of 100 years. We sample the training ensemble of 200 realizations via Latin Hypercube sampling, and draw a validation ensemble of 40 realizations by random sampling, applying a logarithmic mapping to the permeability to avoid sampling bias. We run each simulation for 100 years with 100 saved timesteps.</p>

<table-wrap id="T1"><label>Table 1</label><caption><p id="d2e1392">Parameter subspace for the simple geothermal reservoir ensemble.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Parameter</oasis:entry>
         <oasis:entry colname="col2">Symbol</oasis:entry>
         <oasis:entry colname="col3">Min–Max</oasis:entry>
         <oasis:entry colname="col4">Unit</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Porosity</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">dom</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M42" display="inline"><mml:mn mathvariant="normal">0.02</mml:mn></mml:math></inline-formula>–<inline-formula><mml:math id="M43" display="inline"><mml:mn mathvariant="normal">0.2</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Permeability</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M44" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">dom</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M45" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">16</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math id="M46" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">15</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">m<sup>2</sup></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Density</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M48" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">dom</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M49" display="inline"><mml:mn mathvariant="normal">2400</mml:mn></mml:math></inline-formula>–<inline-formula><mml:math id="M50" display="inline"><mml:mn mathvariant="normal">2800</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">kg m<sup>−3</sup></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Heat capacity</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">dom</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M53" display="inline"><mml:mn mathvariant="normal">900</mml:mn></mml:math></inline-formula>–<inline-formula><mml:math id="M54" display="inline"><mml:mn mathvariant="normal">1000</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">J kg<sup>−1</sup> K<sup>−1</sup></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Thermal cond.</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">dom</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M58" display="inline"><mml:mn mathvariant="normal">2</mml:mn></mml:math></inline-formula>–<inline-formula><mml:math id="M59" display="inline"><mml:mn mathvariant="normal">4</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">W m<sup>−1</sup> K<sup>−1</sup></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e1690">We curate the ensemble by retaining pore pressure and temperature fields node-wise over the full volumetric domain, filtering for tetrahedral cell types and discarding fault surfaces and line elements. We then remove the training set mean from both training and validation sets, and apply standard scaling to the parameter sets and min-max scaling to the field data. POD basis extraction at a tolerance of <inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> yields 14 basis functions for the pore pressure and 51 for the temperature. We estimate the reduced coefficients via neural networks with hyperparameter optimization through Optuna.</p>

      <fig id="F3" specific-use="star"><label>Figure 3</label><caption><p id="d2e1709">Surrogate validation and global sensitivity analysis for the simple geothermal reservoir benchmark. Temperature distribution of the <bold>(a)</bold> full finite element solution using GOLEM and <bold>(b)</bold> the NIRB surrogate prediction for a validation realization, depicting a geothermal doublet configuration. <bold>(c)</bold> Difference between the two solutions, with residuals of a fraction of °C across the domain, at a simulation time of 100 years. The surrogate model is then evaluated 1 572 864 times to perform a global sensitivity analysis on the domain averaged temperature. <bold>(d)</bold> First and Total-order Sobol sensitivity indices for the five material parameters of the reservoir domain. <bold>(e)</bold> Second-order sensitivity indices quantifying the combined influence of parameter pairs. Interaction effects remain small relative to first-order effects.</p></caption>
          <graphic xlink:href="https://adgeo.copernicus.org/articles/68/1/2026/adgeo-68-1-2026-f03.png"/>

        </fig>

      <p id="d2e1733">In the online stage, we compare the surrogate predictions against the validation set and use them to accelerate the evaluations for global SA. Figure <xref ref-type="fig" rid="F3"/>a–b show a the temperature field after 100 years comparing the full order simulation output and the surrogate prediction. Figure <xref ref-type="fig" rid="F3"/>c shows their difference, where blue marks regions where the surrogate under-predicts and red marks regions of over-prediction, with residuals below expected temperature measurement errors. Over all validation realizations, timesteps and spatial degrees of freedom, the relative <inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> norm is <inline-formula><mml:math id="M64" display="inline"><mml:mrow><mml:mn mathvariant="normal">9.45</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>. We then evaluate the surrogate model 1 572 864 times to compute Sobol sensitivity indices, following a Saltelli's sampling scheme <xref ref-type="bibr" rid="bib1.bibx23 bib1.bibx40" id="paren.41"><named-content content-type="pre">using <inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">2</mml:mn><mml:mn mathvariant="normal">17</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> samples, as described in</named-content></xref>, on the domain averaged temperature, identifying <inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">dom</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">dom</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> as the most influential parameters by their first-order indices.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Groß Schönebeck geothermal reservoir model</title>
      <p id="d2e1816">The Geothermal Research Platform Groß Schönebeck in Northern Germany is a laboratory for the development of geothermal technologies in hydrothermal reservoir rock with low permeability. Two research wells form a geothermal doublet providing access to water-bearing horizons at depths between 3.9 and 4.4 km at temperatures of 150 °C <xref ref-type="bibr" rid="bib1.bibx6" id="paren.42"/>.</p>
      <p id="d2e1822">To study the multi-injection stimulation performed at this site, in which large volume of injected water at high flow states triggered micro-seismicity (<xref ref-type="bibr" rid="bib1.bibx7 bib1.bibx6 bib1.bibx29 bib1.bibx35" id="altparen.43"/>; chronology and references in <xref ref-type="bibr" rid="bib1.bibx10" id="altparen.44"/>), <xref ref-type="bibr" rid="bib1.bibx9" id="text.45"/> presented and validated a coupled thermo-hydro-mechanical model of the geothermal site, finding seismic rates sensitivity to fluid-pressure rates, temperature variations, and tectonic conditions.</p>

      <fig id="F4" specific-use="star"><label>Figure 4</label><caption><p id="d2e1836">Groß Schönebeck geothermal site and surrogate validation. <bold>(a)</bold> Full 3D reservoir model <xref ref-type="bibr" rid="bib1.bibx9" id="paren.46"><named-content content-type="pre">adopted from</named-content></xref>, composed of six sedimentary and volcanic units. <bold>(b)</bold> Model pruning application: the full domain is clipped to isolate the region of interest around the injection zone and simplified fault geometries. <bold>(c)</bold> Pore pressure validation comparing the full finite element solution, the NIRB surrogate prediction, and their difference at a simulation time of 1.75 d.</p></caption>
          <graphic xlink:href="https://adgeo.copernicus.org/articles/68/1/2026/adgeo-68-1-2026-f04.png"/>

        </fig>

      <p id="d2e1860">In this example, we adopt the model from <xref ref-type="bibr" rid="bib1.bibx9" id="text.47"/> to demonstrate how <monospace>Platypus</monospace> can be used to extract specific subdomains and lithological units together with fault features from the full-order model (location shown in Fig. <xref ref-type="fig" rid="F4"/>a, b). We further use the extracted subdomain to train a surrogate of the pore pressure field, demonstrating that the workflow generalizes to focused domains and thermo-hydro-mechanical (THM) processes. In contrast to the simple reservoir benchmark, this scenario evolves over timescales of days, emphasizing different dominant physical processes.</p>
      <p id="d2e1871">The model geometry consists of a <inline-formula><mml:math id="M68" display="inline"><mml:mn mathvariant="normal">1.6</mml:mn></mml:math></inline-formula> km <inline-formula><mml:math id="M69" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 1.6 km <inline-formula><mml:math id="M70" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 0.51 km reservoir. We vary the permeability and porosity for two lithological units listed in Table <xref ref-type="table" rid="T2"/>, maintaining the reference anisotropy ratios for the transversely isotropic permeability, with all remaining parameters held constant at their reference values. This choice of parameter space follows the most influential parameters identified in <xref ref-type="bibr" rid="bib1.bibx12" id="text.48"/>. We sample a training ensemble of 200 realizations via LHS and a validation set of 50 realizations by random sampling. POD extraction at a tolerance of <inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> results in 28 basis functions for pore pressure and 5 for temperature, and we estimate the reduced coefficients via neural networks with hyperparameter tuning. The relative <inline-formula><mml:math id="M72" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> norm across timesteps, realizations and spatially distributed pore pressure field yields a value of <inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.34</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>. Figure <xref ref-type="fig" rid="F4"/>c shows the pore pressure validation, demonstrating that <monospace>Platypus</monospace> can be used to construct an accurate surrogate on a spatial subdomain.</p>

<table-wrap id="T2"><label>Table 2</label><caption><p id="d2e1956">Parameter subspace for the Groß Schönebeck ensemble. Symbol subscripts indicate lithological unit: Elbe base sandstone I, and volcanic layer.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Parameter</oasis:entry>
         <oasis:entry colname="col2">Symbol</oasis:entry>
         <oasis:entry colname="col3">Min–Max</oasis:entry>
         <oasis:entry colname="col4">Unit</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Porosity</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">Elbe</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M75" display="inline"><mml:mn mathvariant="normal">0.135</mml:mn></mml:math></inline-formula>–<inline-formula><mml:math id="M76" display="inline"><mml:mn mathvariant="normal">0.165</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Porosity</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M77" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">volc</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M78" display="inline"><mml:mn mathvariant="normal">0.0045</mml:mn></mml:math></inline-formula>–<inline-formula><mml:math id="M79" display="inline"><mml:mn mathvariant="normal">0.0055</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Permeability</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M80" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">Elbe</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M81" display="inline"><mml:mn mathvariant="normal">1.152</mml:mn></mml:math></inline-formula> –<inline-formula><mml:math id="M82" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.408</mml:mn><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>(</mml:mo><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">15</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">m<sup>2</sup></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Permeability</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M84" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">volc</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M85" display="inline"><mml:mn mathvariant="normal">0.8883</mml:mn></mml:math></inline-formula>–<inline-formula><mml:math id="M86" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.0857</mml:mn><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>(</mml:mo><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">16</mml:mn></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">m<sup>2</sup></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Discussion</title>
      <p id="d2e2195">Surrogates offer a computationally efficient alternative to full-order simulations,  enabling large-scale statistical analysis. The examples in the previous section illustrate the flexibility of <monospace>Platypus</monospace> in handling the chain of challenges involved in curating an ensemble and constructing a reduced model for a given scenario.</p>
      <p id="d2e2201">More broadly, <monospace>Platypus</monospace> addresses a recurring need in reservoir engineering: ensuring consistency and traceability across ensemble-based modelling studies. The data pipeline shown in Fig. <xref ref-type="fig" rid="F1"/> collects the data and metadata exchanged between workflow steps, facilitating documentation and reproduction. This structure supports adoption across teams and projects, and provides a practical framework around which guidelines and recommended practices for ensemble-based reservoir modelling can be developed and shared.</p>
      <p id="d2e2209">The modularity of the package allows individual components to be adapted or replaced to suit specific modelling requirements, and can be integrated into external workflows independently. Within this framework, the focus shifts to identifying the quantity of interest that best sharpens the scientific or operational question around a given scenario.</p>
      <p id="d2e2212">The choice of quantity of interest can be computed at different stages of the workflow in Fig. <xref ref-type="fig" rid="F1"/>. The user can compute it at run time directly from the solver, extract it from the packed ensemble, or derive it from the surrogate output. Computing within the solver itself is advantageous when it involves material parameters that vary in time, or fields too large to store in memory (e.g., the full stress tensor). When all required fields are available at the packing stage, the quantity of interest can be queried at any point in space and time. When deriving the quantity of interest from the surrogate, the user should account for potential propagation of numerical errors from each contributing field into the final quantity.</p>
      <p id="d2e2218">A practical consideration when assembling the ensemble is to pack a large model domain from the outset, even when the intended analysis targets a specific subdomain. The format of the stored ensemble allows to query any subset of the ensemble (e.g., lithological units, clipped regions between isodepths, or lower dimensional features such as faults and wells), which reduces storage redundancy, preserving the flexibility to revisit different regions of interest without rerunning the data pipeline. The reference mesh retained after model pruning further supports this, as it provides the spatial index needed to map any queried subset back to its physical location in the model.</p>
<sec id="Ch1.S4.SSx1" specific-use="unnumbered">
  <title>Limitations and Outlook</title>
      <p id="d2e2226">The workflow steps in <monospace>Platypus</monospace> described above represent a functional but extensible baseline. Several directions for future development are outlined here.</p>
      <p id="d2e2232">At the sampling stage, the current implementation supports Latin Hypercube and random sampling. Potential extensions include low-discrepancy sequences <xref ref-type="bibr" rid="bib1.bibx20 bib1.bibx36 bib1.bibx42" id="paren.49"/>, as well as adaptive sampling schemes <xref ref-type="bibr" rid="bib1.bibx31" id="paren.50"><named-content content-type="pre">e.g.,</named-content></xref>, which iteratively refine the parameter space coverage based on model responses.</p>
      <p id="d2e2243">Adapting <monospace>Platypus</monospace> to alternative solvers, such as finite volumes or finite differences codes, would require only a modified model pruning module to extract transient output fields, ensure consistent indexing across the realizations, and assemble the ensemble of simulation data. For simulations that involve adaptive mesh refinement, where the number of nodes varies across time and realizations, projection methods that accommodate mesh variability exist <xref ref-type="bibr" rid="bib1.bibx18 bib1.bibx4" id="paren.51"/>. Alternatively, one may consider projecting onto a common reference mesh solution.</p>
      <p id="d2e2252">The surrogate training stage is currently based on the NIRB approach with POD for basis extraction, and Gaussian process regression or neural networks for coefficient estimation. This could be extended to alternative reduction methodologies, different machine learning backends, or problem-specific constraints on data handling.</p>
      <p id="d2e2256">Finally, while <monospace>Platypus</monospace> supports an arbitrary number of parameters and output fields, a large parameter space will demand a large ensemble to adequately capture the physical behaviour of the model, which in turn increases the computational cost of both simulation and surrogate training.</p>
</sec>
</sec>
<sec id="Ch1.S5" sec-type="conclusions">
  <label>5</label><title>Conclusions</title>
      <p id="d2e2272">We have presented <monospace>Platypus</monospace>, an open-source, user-friendly Python package that integrates parameter sampling, model curation, and surrogate training for ensemble-based reservoir modelling. The examples demonstrate its applicability to coupled time-dependent hydrothermal and thermo-hydro-mechanical processes, where surrogate models reproduce full-order simulation outputs at a fraction of the computational cost, enabling global sensitivity analyses with over a million surrogate evaluations. Already adopted in geothermal modelling workflows, <monospace>Platypus</monospace> provides a structured and reproducible pipeline that ensures consistency and traceability across ensemble-based studies, supporting adoption across teams and projects. Its modular design allows individual components to be adapted, extended, or integrated into external workflows, making it applicable to a wider range of process-based simulators and subsurface applications.</p>
</sec>

      
      </body>
    <back><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d2e2285">The <monospace>Platypus</monospace> Python package including model and input data for the synthetic simple geothermal reservoir is publicly available via a Zenodo repository (<ext-link xlink:href="https://doi.org/10.5281/zenodo.20734438" ext-link-type="DOI">10.5281/zenodo.20734438</ext-link>, <xref ref-type="bibr" rid="bib1.bibx22" id="altparen.52"/>). Field data and model associated to Groß Schönebeck are available upon reasonable request.</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e2300">JNH: conceptualization, data curation, formal analysis, investigation, methodology, software, validation, visualization, writing – original draft, writing – review and editing; MC: conceptualization, resources, methodology, formal analysis, writing – review and editing; MF: conceptualization, validation, writing – review and editing; YG: conceptualization, validation, writing – review and editing; DD: conceptualization, formal analysis, funding acquisition, project administration, resources, supervision, writing – original draft, writing – review and editing. All authors read and approved the final manuscript.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e2306">The contact author has declared that none of the authors has any competing interests.</p>
  </notes><notes notes-type="disclaimer"><title>Disclaimer</title>

      <p id="d2e2312">Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. The authors bear the ultimate responsibility for providing appropriate place names. Views expressed in the text are those of the authors and do not necessarily reflect the views of the publisher.</p>
  </notes><notes notes-type="sistatement"><title>Special issue statement</title>

      <p id="d2e2318">This article is part of the special issue “European Geosciences Union General Assembly 2026, EGU Division Energy, Resources &amp; Environment (ERE)”. It is a result of the EGU General Assembly 2026, Vienna, Austria &amp; Online, 3–8 May 2026.</p>
  </notes><ack><title>Acknowledgements</title><p id="d2e2324">This work utilized high-performance computing resources made possible by funding from the Ministry of Science, Research and Culture of the State of Brandenburg (MWFK) and are operated by the IT Services and Operations unit of the GFZ Helmholtz Centre for Geosciences.</p><p id="d2e2326">The authors are grateful to Nimisha A. George, Cristian E. Siegel, and Türkan A. Bayter, for their early adoption of the package in their own workflows and for their valuable questions, which directly contributed to improvements in the software and its documentation.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e2331">This research has been supported by the Bundesministerium für Forschung, Technologie und Raumfahrt through the project PBML-HM (grant no. 16|S24062).The article processing charges for this open-access publication were covered by the GFZ Helmholtz Centre  for Geosciences.</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d2e2344">This paper was edited by Thanushika Gunatilake and reviewed by Ana Gonzalez-Nicolas Alvarez and one anonymous referee.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bibx1"><label>Abadi et al.(2015)</label><mixed-citation>Abadi, M., Agarwal, A., Barham, P., Brevdo, E., Chen, Z., Citro, C., Corrado, G. S., Davis, A., Dean, J., Devin, M., Ghemawat, S., Goodfellow, I., Harp, A., Irving, G., Isard, M., Jia, Y., Jozefowicz, R., Kaiser, L., Kudlur, M., Levenberg, J., Mané, D., Monga, R., Moore, S., Murray, D., Olah, C., Schuster, M., Shlens, J., Steiner, B., Sutskever, I., Talwar, K., Tucker, P., Vanhoucke, V., Vasudevan, V., Viégas, F., Vinyals, O., Warden, P., Wattenberg, M., Wicke, M., Yu, Y., and Zheng, X.: TensorFlow: Large-Scale Machine Learning on Heterogeneous Systems, TensorFlow, <uri>https://www.tensorflow.org/</uri> (last access: 19 June 2026), 2015.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Abernathey et al.(2021)</label><mixed-citation>Abernathey, R. P., Augspurger, T., Banihirwe, A., Blackmon-Luca, C. C., Crone, T. J., Gentemann, C. L., Hamman, J. J., Henderson, N., Lepore, C., McCaie, T. A., Robinson, N. H., and Signell, R. P.: Cloud-Native Repositories for Big Scientific Data, Comput. Sci. Eng., 23, 26–35, <ext-link xlink:href="https://doi.org/10.1109/MCSE.2021.3059437" ext-link-type="DOI">10.1109/MCSE.2021.3059437</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Akiba et al.(2019)</label><mixed-citation>Akiba, T., Sano, S., Yanase, T., Ohta, T., and Koyama, M.: Optuna: A Next-generation Hyperparameter Optimization Framework, in: Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Association for Computing Machinery, New York, NY, USA, 2623–2631, ISBN 9781450362016, <ext-link xlink:href="https://doi.org/10.1145/3292500.3330701" ext-link-type="DOI">10.1145/3292500.3330701</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Alla et al.(2021)</label><mixed-citation>Alla, A., Gräßle, C., and Hinze, M.: Time Adaptivity in Model Predictive Control, J. Sci. Comput., 90, 12, <ext-link xlink:href="https://doi.org/10.1007/s10915-021-01647-0" ext-link-type="DOI">10.1007/s10915-021-01647-0</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Benner et al.(2015)</label><mixed-citation>Benner, P., Gugercin, S., and Willcox, K.: A Survey of Projection-Based Model Reduction Methods for Parametric Dynamical Systems, SIAM Rev., 57, 483–531, <ext-link xlink:href="https://doi.org/10.1137/130932715" ext-link-type="DOI">10.1137/130932715</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Blöcher et al.(2016)</label><mixed-citation>Blöcher, G., Reinsch, T., Henninges, J., Milsch, H., Regenspurg, S., Kummerow, J., Francke, H., Kranz, S., Saadat, A., Zimmermann, G., and Huenges, E.: Hydraulic history and current state of the deep geothermal reservoir Groß Schönebeck, Geothermics, 63, 27–43, <ext-link xlink:href="https://doi.org/10.1016/j.geothermics.2015.07.008" ext-link-type="DOI">10.1016/j.geothermics.2015.07.008</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Blöcher et al.(2018)</label><mixed-citation> Blöcher, G., Cacace, M., Jacquey, A. B., Zang, A., Heidbach, O., Hofmann, H., Kluge, C., and Zimmermann, G.: Evaluating Micro-Seismic Events Triggered by Reservoir Operations at the Geothermal Site of Groß Schönebeck (Germany), Rock Mech. Rock Eng., 51, 3265–3279, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Cacace and Jacquey(2017)</label><mixed-citation>Cacace, M. and Jacquey, A. B.: Flexible parallel implicit modelling of coupled thermal–hydraulic–mechanical processes in fractured rocks, Solid Earth, 8, 921–941, <ext-link xlink:href="https://doi.org/10.5194/se-8-921-2017" ext-link-type="DOI">10.5194/se-8-921-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Cacace et al.(2021)</label><mixed-citation>Cacace, M., Hofmann, H., and Shapiro, S. A.: Projecting seismicity induced by complex alterations of underground stresses with applications to geothermal systems, Sci. Rep., 11, 23560, <ext-link xlink:href="https://doi.org/10.1038/s41598-021-02857-0" ext-link-type="DOI">10.1038/s41598-021-02857-0</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Christi et al.(2025)</label><mixed-citation>Christi, L. F., Sass, I., Norden, B., Blöcher, G., Zimmermann, G., and Hofmann, H.: Repurposing of hydrocarbon wells for Enhanced Geothermal System (EGS) development, Geothermics, 128, 103268, <ext-link xlink:href="https://doi.org/10.1016/j.geothermics.2025.103268" ext-link-type="DOI">10.1016/j.geothermics.2025.103268</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Degen and Wellmann(2026)</label><mixed-citation>Degen, D. and Wellmann, F.: Guidelines for Conducting Sensitivity Analyses in Process Simulations for Solid Earth Geosciences, Math. Geosci., <ext-link xlink:href="https://doi.org/10.1007/s11004-025-10267-5" ext-link-type="DOI">10.1007/s11004-025-10267-5</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Degen et al.(2022)</label><mixed-citation>Degen, D., Cacace, M., and Wellmann, F.: 3D multi-physics uncertainty quantification using physics-based machine learning, Sci. Rep., 12, 17491, <ext-link xlink:href="https://doi.org/10.1038/s41598-022-21739-7" ext-link-type="DOI">10.1038/s41598-022-21739-7</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Degen et al.(2023)</label><mixed-citation>Degen, D., Caviedes Voullième, D., Buiter, S., Hendricks Franssen, H.-J., Vereecken, H., González-Nicolás, A., and Wellmann, F.: Perspectives of physics-based machine learning strategies for geoscientific applications governed by partial differential equations, Geosci. Model Dev., 16, 7375–7409, <ext-link xlink:href="https://doi.org/10.5194/gmd-16-7375-2023" ext-link-type="DOI">10.5194/gmd-16-7375-2023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Degen et al.(2024)</label><mixed-citation>Degen, D., Cacace, M., and Wellmann, F.: Exploring physics-based machine learning for geothermal applications, in: 49th Workshop on Geothermal Reservoir Engineering, 1–9, <uri>https://pangea.stanford.edu/ERE/db/IGAstandard/record_detail.php?id=36316</uri> (last access: 19 June 2026), 2024.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Degen et al.(2025a)</label><mixed-citation>Degen, D., Kumar, A., Scheck-Wenderoth, M., and Cacace, M.: Exploiting physics-based machine learning to quantify geodynamic effects – insights from the Alpine region, Geosci. Model Dev., 18, 9219–9236, <ext-link xlink:href="https://doi.org/10.5194/gmd-18-9219-2025" ext-link-type="DOI">10.5194/gmd-18-9219-2025</ext-link>, 2025a.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Degen et al.(2025b)</label><mixed-citation>Degen, D., Ziegler, M., Heidbach, O., Henk, A., Reiter, K., and Wellmann, F.: About the trustworthiness of physics-based machine learning – considerations for geomechanical applications, Solid Earth, 16, 477–502, <ext-link xlink:href="https://doi.org/10.5194/se-16-477-2025" ext-link-type="DOI">10.5194/se-16-477-2025</ext-link>, 2025b.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Dorward et al.(2024)</label><mixed-citation>Dorward, H., Knowles, D. M., Demir, E., Mostafavi, M., and Peel, M. J.: Calibration and surrogate model-based sensitivity analysis of crystal plasticity finite element models, Mater. Design, 247, 113409, <ext-link xlink:href="https://doi.org/10.1016/j.matdes.2024.113409" ext-link-type="DOI">10.1016/j.matdes.2024.113409</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Gräßle et al.(2019)</label><mixed-citation>Gräßle, C., Hinze, M., Lang, J., and Ullmann, S.: POD model order reduction with space-adapted snapshots for incompressible flows, Adv. Comput. Math., 45, 2401–2428, <ext-link xlink:href="https://doi.org/10.1007/s10444-019-09716-7" ext-link-type="DOI">10.1007/s10444-019-09716-7</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Guo and Hesthaven(2018)</label><mixed-citation>Guo, M. and Hesthaven, J. S.: Reduced order modeling for nonlinear structural analysis using Gaussian process regression, Comput. Method. Appl. M., 341, 807–826, <ext-link xlink:href="https://doi.org/10.1016/j.cma.2018.07.017" ext-link-type="DOI">10.1016/j.cma.2018.07.017</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Halton(1960)</label><mixed-citation>Halton, J. H.: On the efficiency of certain quasi-random sequences of points in evaluating multi-dimensional integrals, Numer. Math., 2, 84–90, <ext-link xlink:href="https://doi.org/10.1007/BF01386213" ext-link-type="DOI">10.1007/BF01386213</ext-link>, 1960.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Harbour et al.(2025)</label><mixed-citation>Harbour, L., Giudicelli, G., Lindsay, A. D., German, P., Hansel, J., Icenhour, C., Li, M., Miller, J. M., Stogner, R. H., Behne, P., Yankura, D., Prince, Z. M., DeChant, C., Schwen, D., Spencer, B. W., Tano, M., Choi, N., Wang, Y., Nezdyur, M., Miao, Y., Hu, T., Kumar, S., Matthews, C., Langley, B., Nobre, N., Blair, A., MacMackin, C., Rocha, H. B., Palmer, E., Carter, J., Meier, J., Slaughter, A. E., Andrš, D., Carlsen, R. W., Kong, F., Gaston, D. R., and Permann, C. J.: 4.0 MOOSE: Enabling massively parallel Multiphysics simulation, SoftwareX, 31, 102264, <ext-link xlink:href="https://doi.org/10.1016/j.softx.2025.102264" ext-link-type="DOI">10.1016/j.softx.2025.102264</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Hayek et al.(2026)</label><mixed-citation>Hayek, J. N., Cacace, M., Faber, M., Gruzdeva, Y., and Degen, D.: Platypus: A Python package for automated surrogate-assisted analysis of process-based simulations via the non-intrusive reduced-basis method, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.20734438" ext-link-type="DOI">10.5281/zenodo.20734438</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Herman and Usher(2017)</label><mixed-citation>Herman, J. and Usher, W.: SALib: An open-source Python library for Sensitivity Analysis, Journal of Open Source Software, 2, <ext-link xlink:href="https://doi.org/10.21105/joss.00097" ext-link-type="DOI">10.21105/joss.00097</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Hesthaven and Ubbiali(2018)</label><mixed-citation>Hesthaven, J. and Ubbiali, S.: Non-intrusive reduced order modeling of nonlinear problems using neural networks, J. Comput. Phys., 363, 55–78, <ext-link xlink:href="https://doi.org/10.1016/j.jcp.2018.02.037" ext-link-type="DOI">10.1016/j.jcp.2018.02.037</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Hesthaven et al.(2016)</label><mixed-citation>Hesthaven, J. S., Rozza, G., and Stamm, B.: Reduced Basis Methods, Springer International Publishing, Cham, 27–43, ISBN 978-3-319-22470-1, <ext-link xlink:href="https://doi.org/10.1007/978-3-319-22470-1_3" ext-link-type="DOI">10.1007/978-3-319-22470-1_3</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Hoyer and Hamman(2017)</label><mixed-citation>Hoyer, S. and Hamman, J.: xarray: N-D labeled Arrays and Datasets in Python, Journal of Open Research Software, <ext-link xlink:href="https://doi.org/10.5334/jors.148" ext-link-type="DOI">10.5334/jors.148</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Iwanaga et al.(2022)</label><mixed-citation>Iwanaga, T., Usher, W., and Herman, J.: Toward SALib 2.0: Advancing the accessibility and interpretability of global sensitivity analyses, Socio-Environmental Systems Modelling, 4, 18155, <ext-link xlink:href="https://doi.org/10.18174/sesmo.18155" ext-link-type="DOI">10.18174/sesmo.18155</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Jacquey and Cacace(2017)</label><mixed-citation>Jacquey, A. B. and Cacace, M.: GOLEM, a MOOSE-based application, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.999401" ext-link-type="DOI">10.5281/zenodo.999401</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Kwiatek et al.(2010)</label><mixed-citation>Kwiatek, G., Bohnhoff, M., Dresen, G., Schulze, A., Schulte, T., Zimmermann, G., and Huenges, E.: Microseismicity induced during fluid-injection: A case study from the geothermal site at Groß Schönebeck, North German Basin, Acta Geophys., 58, 995–1020, <ext-link xlink:href="https://doi.org/10.2478/s11600-010-0032-7" ext-link-type="DOI">10.2478/s11600-010-0032-7</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Lindner et al.(2025)</label><mixed-citation>Lindner, N., Degen, D., Grayver, A., and Wellmann, F.: Sensitivity analysis using physics-based machine learning: an example from surrogate modelling for magnetotellurics, Geophys. J. Int., 242, ggaf166, <ext-link xlink:href="https://doi.org/10.1093/gji/ggaf166" ext-link-type="DOI">10.1093/gji/ggaf166</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Liu et al.(2018)</label><mixed-citation>Liu, H., Ong, Y.-S., and Cai, J.: A survey of adaptive sampling for global metamodeling in support of simulation-based complex engineering design, Struct. Multidiscip. O., 57, 393–416, <ext-link xlink:href="https://doi.org/10.1007/s00158-017-1739-8" ext-link-type="DOI">10.1007/s00158-017-1739-8</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Liu et al.(2020)</label><mixed-citation>Liu, H., Ong, Y.-S., Shen, X., and Cai, J.: When Gaussian Process Meets Big Data: A Review of Scalable GPs, IEEE T. Neur. Net. Lear., 31, 4405–4423, <ext-link xlink:href="https://doi.org/10.1109/TNNLS.2019.2957109" ext-link-type="DOI">10.1109/TNNLS.2019.2957109</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Loh(1996)</label><mixed-citation>Loh, W.-L.: On Latin hypercube sampling, Ann. Stat., 24, 2058–2080, <ext-link xlink:href="https://doi.org/10.1214/aos/1069362310" ext-link-type="DOI">10.1214/aos/1069362310</ext-link>, 1996.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>McKay et al.(1979)</label><mixed-citation>McKay, M. D., Beckman, R. J., and Conover, W. J.: A Comparison of Three Methods for Selecting Values of Input Variables in the Analysis of Output from a Computer Code, Technometrics, 21, 239–245, <ext-link xlink:href="https://doi.org/10.2307/1268522" ext-link-type="DOI">10.2307/1268522</ext-link>, 1979.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>Moeck et al.(2009)</label><mixed-citation>Moeck, I., Kwiatek, G., and Zimmermann, G.: Slip tendency analysis, fault reactivation potential and induced seismicity in a deep geothermal reservoir, J. Struct. Geol., 31, 1174–1182, <ext-link xlink:href="https://doi.org/10.1016/j.jsg.2009.06.012" ext-link-type="DOI">10.1016/j.jsg.2009.06.012</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>Niederreiter(1992)</label><mixed-citation>Niederreiter, H.: Random Number Generation and Quasi-Monte Carlo Methods, Society for Industrial and Applied Mathematics, <ext-link xlink:href="https://doi.org/10.1137/1.9781611970081" ext-link-type="DOI">10.1137/1.9781611970081</ext-link>, 1992.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>OpenAI(2025)</label><mixed-citation>OpenAI: Minimalistic platypus logo transitioning into a low poly geometric style, AI-generated image, ChatGPT (DALL·E), <uri>https://chatgpt.com</uri> (last access: 16 February 2026), 2025. </mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Pandey et al.(2018)</label><mixed-citation>Pandey, S., Vishal, V., and Chaudhuri, A.: Geothermal reservoir modeling in a coupled thermo-hydro-mechanical-chemical approach: A review, Earth-Sci. Rev., 185, 1157–1169, <ext-link xlink:href="https://doi.org/10.1016/j.earscirev.2018.09.004" ext-link-type="DOI">10.1016/j.earscirev.2018.09.004</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>Raissi et al.(2017)</label><mixed-citation>Raissi, M., Perdikaris, P., and Karniadakis, G. E.: Physics Informed Deep Learning (Part I): Data-driven Solutions of Nonlinear Partial Differential Equations, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.1711.10561" ext-link-type="DOI">10.48550/arXiv.1711.10561</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Saltelli(2002)</label><mixed-citation>Saltelli, A.: Making best use of model evaluations to compute sensitivity indices, Comput. Phys. Commun., 145, 280–297, <ext-link xlink:href="https://doi.org/10.1016/S0010-4655(02)00280-1" ext-link-type="DOI">10.1016/S0010-4655(02)00280-1</ext-link>, 2002.</mixed-citation></ref>
      <ref id="bib1.bibx41"><label>Santoso et al.(2022)</label><mixed-citation>Santoso, R., Degen, D., Cacace, M., and Wellmann, F.: State-of-the-art physics-based machine learning for hydro-mechanical simulation in geothermal applications, European Geothermal Congress 2022, <ext-link xlink:href="https://doi.org/10.24406/publica-1122" ext-link-type="DOI">10.24406/publica-1122</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx42"><label>Sobol(1998)</label><mixed-citation>Sobol, I.: On quasi-Monte Carlo integrations, Math. Comput. Simulat., 47, 103–112, <ext-link xlink:href="https://doi.org/10.1016/S0378-4754(98)00096-2" ext-link-type="DOI">10.1016/S0378-4754(98)00096-2</ext-link>, 1998.</mixed-citation></ref>
      <ref id="bib1.bibx43"><label>Sullivan and Kaszynski(2019)</label><mixed-citation>Sullivan, B. and Kaszynski, A.: PyVista: 3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK), Journal of Open Source Software, 4, 1450, <ext-link xlink:href="https://doi.org/10.21105/joss.01450" ext-link-type="DOI">10.21105/joss.01450</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx44"><label>Swischuk et al.(2019)</label><mixed-citation>Swischuk, R., Mainini, L., Peherstorfer, B., and Willcox, K.: Projection-based model reduction: Formulations for physics-based machine learning, Comput. Fluids, 179, 704–717, <ext-link xlink:href="https://doi.org/10.1016/j.compfluid.2018.07.021" ext-link-type="DOI">10.1016/j.compfluid.2018.07.021</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx45"><label>TensorFlow Developers(2026)</label><mixed-citation>TensorFlow Developers: TensorFlow (Versions v2.22.0-rc0), Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.4724125" ext-link-type="DOI">10.5281/zenodo.4724125</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx46"><label>Vaezi et al.(2025)</label><mixed-citation>Vaezi, I., Yoshioka, K., De Simone, S., Gómez-Castro, B. M., Paluszny, A., Jalali, M., Berre, I., Rutqvist, J., Min, K.-B., Lei, Q., Makhnenko, R. Y., Hu, M., Tsang, C.-F., and Vilarrasa, V.: A review of thermo-hydro-mechanical modeling of coupled processes in fractured rock: From continuum to discontinuum perspective,, 17, 7460–7488, Journal of Rock Mechanics and Geotechnical Engineering<ext-link xlink:href="https://doi.org/10.1016/j.jrmge.2025.04.033" ext-link-type="DOI">10.1016/j.jrmge.2025.04.033</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx47"><label>Zhang et al.(2023)</label><mixed-citation>Zhang, N., Luo, Z., Chen, Z., Liu, F., Liu, P., Chen, W., Wu, L., and Zhao, L.: Thermal–hydraulic–mechanical–chemical coupled processes and their numerical simulation: a comprehensive review, Acta Geotech., 18, 6253–6274, <ext-link xlink:href="https://doi.org/10.1007/s11440-023-01976-4" ext-link-type="DOI">10.1007/s11440-023-01976-4</ext-link>, 2023.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>Platypus: a Python package for automated surrogate-assisted analysis of process-based simulations via the non-intrusive reduced-basis method</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Abadi et al.(2015)</label><mixed-citation>
      
Abadi, M., Agarwal, A., Barham, P., Brevdo, E., Chen, Z., Citro, C., Corrado, G. S., Davis, A., Dean, J., Devin, M., Ghemawat, S., Goodfellow, I., Harp, A., Irving, G., Isard, M., Jia, Y., Jozefowicz, R., Kaiser, L., Kudlur, M., Levenberg, J., Mané, D., Monga, R., Moore, S., Murray, D., Olah, C., Schuster, M., Shlens, J., Steiner, B., Sutskever, I., Talwar, K., Tucker, P., Vanhoucke, V., Vasudevan, V., Viégas, F., Vinyals, O., Warden, P., Wattenberg, M., Wicke, M., Yu, Y., and Zheng, X.: TensorFlow: Large-Scale Machine Learning on Heterogeneous Systems, TensorFlow, <a href="https://www.tensorflow.org/" target="_blank"/> (last access: 19 June 2026), 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Abernathey et al.(2021)</label><mixed-citation>
      
Abernathey, R. P., Augspurger, T., Banihirwe, A., Blackmon-Luca, C. C., Crone, T. J., Gentemann, C. L., Hamman, J. J., Henderson, N., Lepore, C., McCaie, T. A., Robinson, N. H., and Signell, R. P.: Cloud-Native Repositories for Big Scientific Data, Comput. Sci. Eng., 23, 26–35,
<a href="https://doi.org/10.1109/MCSE.2021.3059437" target="_blank">https://doi.org/10.1109/MCSE.2021.3059437</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Akiba et al.(2019)</label><mixed-citation>
      
Akiba, T., Sano, S., Yanase, T., Ohta, T., and Koyama, M.: Optuna: A Next-generation Hyperparameter Optimization Framework, in: Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Association for Computing Machinery, New York, NY, USA, 2623–2631, ISBN 9781450362016, <a href="https://doi.org/10.1145/3292500.3330701" target="_blank">https://doi.org/10.1145/3292500.3330701</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Alla et al.(2021)</label><mixed-citation>
      
Alla, A., Gräßle, C., and Hinze, M.: Time Adaptivity in Model Predictive Control, J. Sci. Comput., 90, 12,
<a href="https://doi.org/10.1007/s10915-021-01647-0" target="_blank">https://doi.org/10.1007/s10915-021-01647-0</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Benner et al.(2015)</label><mixed-citation>
      
Benner, P., Gugercin, S., and Willcox, K.: A Survey of Projection-Based Model Reduction Methods for Parametric Dynamical Systems, SIAM Rev., 57, 483–531, <a href="https://doi.org/10.1137/130932715" target="_blank">https://doi.org/10.1137/130932715</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Blöcher et al.(2016)</label><mixed-citation>
      
Blöcher, G., Reinsch, T., Henninges, J., Milsch, H., Regenspurg, S., Kummerow, J., Francke, H., Kranz, S., Saadat, A., Zimmermann, G., and Huenges, E.: Hydraulic history and current state of the deep geothermal reservoir Groß Schönebeck, Geothermics, 63, 27–43,
<a href="https://doi.org/10.1016/j.geothermics.2015.07.008" target="_blank">https://doi.org/10.1016/j.geothermics.2015.07.008</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Blöcher et al.(2018)</label><mixed-citation>
      
Blöcher, G., Cacace, M., Jacquey, A. B., Zang, A., Heidbach, O., Hofmann, H., Kluge, C., and Zimmermann, G.: Evaluating Micro-Seismic Events Triggered by Reservoir Operations at the Geothermal Site of Groß Schönebeck (Germany), Rock Mech. Rock Eng., 51, 3265–3279, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Cacace and Jacquey(2017)</label><mixed-citation>
      
Cacace, M. and Jacquey, A. B.: Flexible parallel implicit modelling of coupled thermal–hydraulic–mechanical processes in fractured rocks, Solid Earth, 8, 921–941, <a href="https://doi.org/10.5194/se-8-921-2017" target="_blank">https://doi.org/10.5194/se-8-921-2017</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Cacace et al.(2021)</label><mixed-citation>
      
Cacace, M., Hofmann, H., and Shapiro, S. A.: Projecting seismicity induced by complex alterations of underground stresses with applications to geothermal systems, Sci. Rep., 11, 23560, <a href="https://doi.org/10.1038/s41598-021-02857-0" target="_blank">https://doi.org/10.1038/s41598-021-02857-0</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Christi et al.(2025)</label><mixed-citation>
      
Christi, L. F., Sass, I., Norden, B., Blöcher, G., Zimmermann, G., and Hofmann, H.: Repurposing of hydrocarbon wells for Enhanced Geothermal System (EGS) development, Geothermics, 128, 103268, <a href="https://doi.org/10.1016/j.geothermics.2025.103268" target="_blank">https://doi.org/10.1016/j.geothermics.2025.103268</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Degen and Wellmann(2026)</label><mixed-citation>
      
Degen, D. and Wellmann, F.: Guidelines for Conducting Sensitivity Analyses in Process Simulations for Solid Earth Geosciences, Math. Geosci., <a href="https://doi.org/10.1007/s11004-025-10267-5" target="_blank">https://doi.org/10.1007/s11004-025-10267-5</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Degen et al.(2022)</label><mixed-citation>
      
Degen, D., Cacace, M., and Wellmann, F.: 3D multi-physics uncertainty quantification using physics-based machine learning, Sci. Rep., 12, 17491, <a href="https://doi.org/10.1038/s41598-022-21739-7" target="_blank">https://doi.org/10.1038/s41598-022-21739-7</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Degen et al.(2023)</label><mixed-citation>
      
Degen, D., Caviedes Voullième, D., Buiter, S., Hendricks Franssen, H.-J., Vereecken, H., González-Nicolás, A., and Wellmann, F.: Perspectives of physics-based machine learning strategies for geoscientific applications governed by partial differential equations, Geosci. Model Dev., 16, 7375–7409, <a href="https://doi.org/10.5194/gmd-16-7375-2023" target="_blank">https://doi.org/10.5194/gmd-16-7375-2023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Degen et al.(2024)</label><mixed-citation>
      
Degen, D., Cacace, M., and Wellmann, F.: Exploring physics-based machine learning for geothermal applications, in: 49th Workshop on Geothermal Reservoir Engineering, 1–9, <a href="https://pangea.stanford.edu/ERE/db/IGAstandard/record_detail.php?id=36316" target="_blank"/> (last access: 19 June 2026), 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Degen et al.(2025a)</label><mixed-citation>
      
Degen, D., Kumar, A., Scheck-Wenderoth, M., and Cacace, M.: Exploiting physics-based machine learning to quantify geodynamic effects – insights from the Alpine region, Geosci. Model Dev., 18, 9219–9236, <a href="https://doi.org/10.5194/gmd-18-9219-2025" target="_blank">https://doi.org/10.5194/gmd-18-9219-2025</a>, 2025a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Degen et al.(2025b)</label><mixed-citation>
      
Degen, D., Ziegler, M., Heidbach, O., Henk, A., Reiter, K., and Wellmann, F.: About the trustworthiness of physics-based machine learning – considerations for geomechanical applications, Solid Earth, 16, 477–502, <a href="https://doi.org/10.5194/se-16-477-2025" target="_blank">https://doi.org/10.5194/se-16-477-2025</a>, 2025b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Dorward et al.(2024)</label><mixed-citation>
      
Dorward, H., Knowles, D. M., Demir, E., Mostafavi, M., and Peel, M. J.: Calibration and surrogate model-based sensitivity analysis of crystal plasticity finite element models, Mater. Design, 247, 113409,
<a href="https://doi.org/10.1016/j.matdes.2024.113409" target="_blank">https://doi.org/10.1016/j.matdes.2024.113409</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Gräßle et al.(2019)</label><mixed-citation>
      
Gräßle, C., Hinze, M., Lang, J., and Ullmann, S.: POD model order reduction with space-adapted snapshots for incompressible flows, Adv. Comput. Math., 45, 2401–2428, <a href="https://doi.org/10.1007/s10444-019-09716-7" target="_blank">https://doi.org/10.1007/s10444-019-09716-7</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Guo and Hesthaven(2018)</label><mixed-citation>
      
Guo, M. and Hesthaven, J. S.: Reduced order modeling for nonlinear structural analysis using Gaussian process regression, Comput. Method. Appl. M., 341, 807–826, <a href="https://doi.org/10.1016/j.cma.2018.07.017" target="_blank">https://doi.org/10.1016/j.cma.2018.07.017</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Halton(1960)</label><mixed-citation>
      
Halton, J. H.: On the efficiency of certain quasi-random sequences of points in evaluating multi-dimensional integrals, Numer. Math., 2, 84–90,
<a href="https://doi.org/10.1007/BF01386213" target="_blank">https://doi.org/10.1007/BF01386213</a>, 1960.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Harbour et al.(2025)</label><mixed-citation>
      
Harbour, L., Giudicelli, G., Lindsay, A. D., German, P., Hansel, J., Icenhour, C., Li, M., Miller, J. M., Stogner, R. H., Behne, P., Yankura, D., Prince, Z. M., DeChant, C., Schwen, D., Spencer, B. W., Tano, M., Choi, N., Wang, Y., Nezdyur, M., Miao, Y., Hu, T., Kumar, S., Matthews, C., Langley, B., Nobre, N., Blair, A., MacMackin, C., Rocha, H. B., Palmer, E., Carter, J., Meier, J., Slaughter, A. E., Andrš, D., Carlsen, R. W., Kong, F., Gaston, D. R., and Permann, C. J.: 4.0 MOOSE: Enabling massively parallel
Multiphysics simulation, SoftwareX, 31, 102264,
<a href="https://doi.org/10.1016/j.softx.2025.102264" target="_blank">https://doi.org/10.1016/j.softx.2025.102264</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Hayek et al.(2026)</label><mixed-citation>
      
Hayek, J. N., Cacace, M., Faber, M., Gruzdeva, Y., and Degen, D.: Platypus: A Python package for automated surrogate-assisted analysis of process-based simulations via the non-intrusive reduced-basis method, Zenodo [code],
<a href="https://doi.org/10.5281/zenodo.20734438" target="_blank">https://doi.org/10.5281/zenodo.20734438</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Herman and Usher(2017)</label><mixed-citation>
      
Herman, J. and Usher, W.: SALib: An open-source Python library for Sensitivity Analysis, Journal of Open Source Software, 2, <a href="https://doi.org/10.21105/joss.00097" target="_blank">https://doi.org/10.21105/joss.00097</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Hesthaven and Ubbiali(2018)</label><mixed-citation>
      
Hesthaven, J. and Ubbiali, S.: Non-intrusive reduced order modeling of nonlinear problems using neural networks, J. Comput. Phys., 363, 55–78, <a href="https://doi.org/10.1016/j.jcp.2018.02.037" target="_blank">https://doi.org/10.1016/j.jcp.2018.02.037</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Hesthaven et al.(2016)</label><mixed-citation>
      
Hesthaven, J. S., Rozza, G., and Stamm, B.: Reduced Basis Methods, Springer International Publishing, Cham, 27–43, ISBN 978-3-319-22470-1,
<a href="https://doi.org/10.1007/978-3-319-22470-1_3" target="_blank">https://doi.org/10.1007/978-3-319-22470-1_3</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Hoyer and Hamman(2017)</label><mixed-citation>
      
Hoyer, S. and Hamman, J.: xarray: N-D labeled Arrays and Datasets in Python, Journal of Open Research Software, <a href="https://doi.org/10.5334/jors.148" target="_blank">https://doi.org/10.5334/jors.148</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Iwanaga et al.(2022)</label><mixed-citation>
      
Iwanaga, T., Usher, W., and Herman, J.: Toward SALib 2.0: Advancing the accessibility and interpretability of global sensitivity analyses, Socio-Environmental Systems Modelling, 4, 18155,
<a href="https://doi.org/10.18174/sesmo.18155" target="_blank">https://doi.org/10.18174/sesmo.18155</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Jacquey and Cacace(2017)</label><mixed-citation>
      
Jacquey, A. B. and Cacace, M.: GOLEM, a MOOSE-based application, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.999401" target="_blank">https://doi.org/10.5281/zenodo.999401</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Kwiatek et al.(2010)</label><mixed-citation>
      
Kwiatek, G., Bohnhoff, M., Dresen, G., Schulze, A., Schulte, T., Zimmermann, G., and Huenges, E.: Microseismicity induced during fluid-injection: A case study from the geothermal site at Groß Schönebeck, North German Basin, Acta Geophys., 58, 995–1020, <a href="https://doi.org/10.2478/s11600-010-0032-7" target="_blank">https://doi.org/10.2478/s11600-010-0032-7</a>, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Lindner et al.(2025)</label><mixed-citation>
      
Lindner, N., Degen, D., Grayver, A., and Wellmann, F.: Sensitivity analysis using physics-based machine learning: an example from surrogate modelling for magnetotellurics, Geophys. J. Int., 242, ggaf166,
<a href="https://doi.org/10.1093/gji/ggaf166" target="_blank">https://doi.org/10.1093/gji/ggaf166</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Liu et al.(2018)</label><mixed-citation>
      
Liu, H., Ong, Y.-S., and Cai, J.: A survey of adaptive sampling for global metamodeling in support of simulation-based complex engineering design, Struct. Multidiscip. O., 57, 393–416, <a href="https://doi.org/10.1007/s00158-017-1739-8" target="_blank">https://doi.org/10.1007/s00158-017-1739-8</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Liu et al.(2020)</label><mixed-citation>
      
Liu, H., Ong, Y.-S., Shen, X., and Cai, J.: When Gaussian Process Meets Big Data: A Review of Scalable GPs, IEEE T. Neur. Net. Lear., 31, 4405–4423, <a href="https://doi.org/10.1109/TNNLS.2019.2957109" target="_blank">https://doi.org/10.1109/TNNLS.2019.2957109</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Loh(1996)</label><mixed-citation>
      
Loh, W.-L.: On Latin hypercube sampling, Ann. Stat., 24, 2058–2080, <a href="https://doi.org/10.1214/aos/1069362310" target="_blank">https://doi.org/10.1214/aos/1069362310</a>, 1996.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>McKay et al.(1979)</label><mixed-citation>
      
McKay, M. D., Beckman, R. J., and Conover, W. J.: A Comparison of Three Methods for Selecting Values of Input Variables in the Analysis of Output from a Computer Code, Technometrics, 21, 239–245, <a href="https://doi.org/10.2307/1268522" target="_blank">https://doi.org/10.2307/1268522</a>, 1979.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>Moeck et al.(2009)</label><mixed-citation>
      
Moeck, I., Kwiatek, G., and Zimmermann, G.: Slip tendency analysis, fault reactivation potential and induced seismicity in a deep geothermal reservoir, J. Struct. Geol., 31, 1174–1182, <a href="https://doi.org/10.1016/j.jsg.2009.06.012" target="_blank">https://doi.org/10.1016/j.jsg.2009.06.012</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>Niederreiter(1992)</label><mixed-citation>
      
Niederreiter, H.: Random Number Generation and Quasi-Monte Carlo Methods, Society for Industrial and Applied Mathematics, <a href="https://doi.org/10.1137/1.9781611970081" target="_blank">https://doi.org/10.1137/1.9781611970081</a>, 1992.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>OpenAI(2025)</label><mixed-citation>
      
OpenAI: Minimalistic platypus logo transitioning into a low poly geometric style, AI-generated image, ChatGPT (DALL·E), <a href="https://chatgpt.com" target="_blank"/> (last access: 16 February 2026), 2025.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Pandey et al.(2018)</label><mixed-citation>
      
Pandey, S., Vishal, V., and Chaudhuri, A.: Geothermal reservoir modeling in a coupled thermo-hydro-mechanical-chemical approach: A review, Earth-Sci. Rev., 185, 1157–1169, <a href="https://doi.org/10.1016/j.earscirev.2018.09.004" target="_blank">https://doi.org/10.1016/j.earscirev.2018.09.004</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>Raissi et al.(2017)</label><mixed-citation>
      
Raissi, M., Perdikaris, P., and Karniadakis, G. E.: Physics Informed Deep Learning (Part I): Data-driven Solutions of Nonlinear Partial Differential Equations, arXiv [preprint], <a href="https://doi.org/10.48550/arXiv.1711.10561" target="_blank">https://doi.org/10.48550/arXiv.1711.10561</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Saltelli(2002)</label><mixed-citation>
      
Saltelli, A.: Making best use of model evaluations to compute sensitivity indices, Comput. Phys. Commun., 145, 280–297, <a href="https://doi.org/10.1016/S0010-4655(02)00280-1" target="_blank">https://doi.org/10.1016/S0010-4655(02)00280-1</a>, 2002.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>Santoso et al.(2022)</label><mixed-citation>
      
Santoso, R., Degen, D., Cacace, M., and Wellmann, F.: State-of-the-art physics-based machine learning for hydro-mechanical simulation in geothermal applications, European Geothermal Congress 2022, <a href="https://doi.org/10.24406/publica-1122" target="_blank">https://doi.org/10.24406/publica-1122</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>Sobol(1998)</label><mixed-citation>
      
Sobol, I.: On quasi-Monte Carlo integrations, Math. Comput. Simulat., 47, 103–112, <a href="https://doi.org/10.1016/S0378-4754(98)00096-2" target="_blank">https://doi.org/10.1016/S0378-4754(98)00096-2</a>, 1998.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>Sullivan and Kaszynski(2019)</label><mixed-citation>
      
Sullivan, B. and Kaszynski, A.: PyVista: 3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK), Journal of Open Source Software, 4, 1450, <a href="https://doi.org/10.21105/joss.01450" target="_blank">https://doi.org/10.21105/joss.01450</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>Swischuk et al.(2019)</label><mixed-citation>
      
Swischuk, R., Mainini, L., Peherstorfer, B., and Willcox, K.: Projection-based model reduction: Formulations for physics-based machine learning, Comput. Fluids, 179, 704–717, <a href="https://doi.org/10.1016/j.compfluid.2018.07.021" target="_blank">https://doi.org/10.1016/j.compfluid.2018.07.021</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>TensorFlow Developers(2026)</label><mixed-citation>
      
TensorFlow Developers: TensorFlow (Versions v2.22.0-rc0), Zenodo [code], <a href="https://doi.org/10.5281/zenodo.4724125" target="_blank">https://doi.org/10.5281/zenodo.4724125</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>Vaezi et al.(2025)</label><mixed-citation>
      
Vaezi, I., Yoshioka, K., De Simone, S., Gómez-Castro, B. M., Paluszny, A., Jalali, M., Berre, I., Rutqvist, J., Min, K.-B., Lei, Q., Makhnenko, R. Y., Hu, M., Tsang, C.-F., and Vilarrasa, V.: A review of thermo-hydro-mechanical modeling of coupled processes in fractured rock: From continuum to discontinuum perspective,, 17, 7460–7488, Journal of Rock Mechanics and Geotechnical Engineering<a href="https://doi.org/10.1016/j.jrmge.2025.04.033" target="_blank">https://doi.org/10.1016/j.jrmge.2025.04.033</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib47"><label>Zhang et al.(2023)</label><mixed-citation>
      
Zhang, N., Luo, Z., Chen, Z., Liu, F., Liu, P., Chen, W., Wu, L., and Zhao, L.: Thermal–hydraulic–mechanical–chemical coupled processes and their numerical simulation: a comprehensive review, Acta Geotech., 18, 6253–6274, <a href="https://doi.org/10.1007/s11440-023-01976-4" target="_blank">https://doi.org/10.1007/s11440-023-01976-4</a>, 2023.

    </mixed-citation></ref-html>--></article>
