<?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">GMD</journal-id><journal-title-group>
    <journal-title>Geoscientific Model Development</journal-title>
    <abbrev-journal-title abbrev-type="publisher">GMD</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">Geosci. Model Dev.</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">1991-9603</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/gmd-18-7003-2025</article-id><title-group><article-title><monospace>smash</monospace> v1.0: a differentiable and regionalizable high-resolution hydrological modeling and data assimilation framework</article-title><alt-title><monospace>smash</monospace> v1.0</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Colleoni</surname><given-names>François</given-names></name>
          
        <ext-link>https://orcid.org/0009-0006-4142-643X</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Huynh</surname><given-names>Ngo Nghi Truyen</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-5078-3865</ext-link></contrib>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Garambois</surname><given-names>Pierre-André</given-names></name>
          <email>pierre-andre.garambois@inrae.fr</email>
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Jay-Allemand</surname><given-names>Maxime</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Organde</surname><given-names>Didier</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Renard</surname><given-names>Benjamin</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-8447-5430</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>De Fournas</surname><given-names>Thomas</given-names></name>
          
        <ext-link>https://orcid.org/0009-0009-2941-5238</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>El Baz</surname><given-names>Apolline</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Demargne</surname><given-names>Julie</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Javelle</surname><given-names>Pierre</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-9330-5054</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>INRAE, Aix-Marseille Université, RECOVER, 3275 Route Cézanne, 13182 Aix-en-Provence, France</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>HYDRIS Hydrologie, Parc Scientifique Agropolis II, 2196 Boulevard de la Lironde, 34980 Montferrier-sur-Lez, France</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Pierre-André Garambois (pierre-andre.garambois@inrae.fr)</corresp></author-notes><pub-date><day>10</day><month>October</month><year>2025</year></pub-date>
      
      <volume>18</volume>
      <issue>19</issue>
      <fpage>7003</fpage><lpage>7034</lpage>
      <history>
        <date date-type="received"><day>13</day><month>February</month><year>2025</year></date>
           <date date-type="accepted"><day>21</day><month>July</month><year>2025</year></date>
           <date date-type="rev-recd"><day>18</day><month>July</month><year>2025</year></date>
           <date date-type="rev-request"><day>12</day><month>March</month><year>2025</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2025 François Colleoni et al.</copyright-statement>
        <copyright-year>2025</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://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025.html">This article is available from https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e174">The <monospace>smash</monospace> software is a differentiable and regionalizable framework enabling modular high-resolution hydrological modeling and data assimilation, from catchment to regional and country scales, for water research and operational applications. <monospace>smash</monospace> combines various process-based conceptual operators for vertical and lateral flows, which can be hybridized with a descriptor-to-parameter neural network for regionalization. <monospace>smash</monospace> features an efficient, differentiable Fortran solver using Tapenade to automatically derive the adjoint model that supports CPU forward–inverse parallel computing and spatially distributed optimization of large parameter vectors thanks to an accurate cost gradient, interfaced in Python using f90wrap. This article presents <monospace>smash</monospace> algorithms and their open-source code, documentation, and tutorials. It highlights foundational research, benchmarking on state-of-the-art datasets, and readiness for scientific and operational use. To ensure reproducibility, open-source datasets are used to demonstrate the main functionalities of <monospace>smash</monospace>, including parallel computation performances and the application of multiple spatially distributed conceptual model structures over a large catchment sample. These functionalities include uniform or spatially distributed calibration and regionalization by learning the relation between descriptors and parameters. The provided Python tool allows application to any other catchment from globally available datasets. Using CAMELS, as per recent articles, a median Kling–Gupta efficiency (<inline-formula><mml:math id="M1" display="inline"><mml:mrow><mml:mtext>KGE</mml:mtext><mml:mo>)</mml:mo><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0.8</mml:mn></mml:mrow></mml:math></inline-formula> is obtained in local spatially distributed calibration for daily Génie Rural (GR)-like and  variable infiltration capacity (VIC)-like model structures at <inline-formula><mml:math id="M2" display="inline"><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">1</mml:mn><mml:mo>′</mml:mo></mml:msup><mml:msup><mml:mn mathvariant="normal">30</mml:mn><mml:mrow><mml:mo>′</mml:mo><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M3" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>) and <inline-formula><mml:math id="M4" display="inline"><mml:mrow><mml:mtext>KGE</mml:mtext><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0.6</mml:mn></mml:mrow></mml:math></inline-formula> in spatiotemporal validation in a regionalization context. The regionalization of a high-resolution hourly GR-like model structure at <inline-formula><mml:math id="M5" display="inline"><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">500</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> over a difficult Mediterranean flash-flood-prone case results in a Nash–Sutcliffe efficiency (<inline-formula><mml:math id="M6" display="inline"><mml:mrow><mml:mtext>NSE</mml:mtext><mml:mo>)</mml:mo><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0.6</mml:mn></mml:mrow></mml:math></inline-formula> in spatiotemporal validation. The proposed differentiable and regionalizable spatially distributed modeling framework is designed for gradient-based variational data assimilation, applicable to initial state (not shown) and parameter estimation at multiple timescales, and is intended for collaborative research and operational applications. Additionally, <monospace>smash</monospace> supports the implementation of other differentiable hydrological and hydraulic models, as well as hybrid physics–AI models, further enhancing its versatility and applicability.</p>
  </abstract>
    </article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e303">Hydrological models are indispensable tools for understanding the functioning of hydrosystems, flood and low-flow forecasting, sustainable water management and infrastructure design, environmental protection, and adaptation to a changing climate. Indeed, measurements of hydrological responses are not ubiquitously available (e.g., <xref ref-type="bibr" rid="bib1.bibx13" id="altparen.1"/>), while “everywhere relevant” <xref ref-type="bibr" rid="bib1.bibx14" id="paren.2"/> estimation of hydrological state fluxes is expected. A model is hence needed to extend and predict those quantities of interest based on available data.</p>
      <p id="d2e312">High-resolution spatial datasets have become increasingly accessible, often on a global scale, and enable the description of topography–soil–vegetation properties and atmospheric variables. Examples include the ECMWF atmospheric reanalysis version 5 (ERA5) <xref ref-type="bibr" rid="bib1.bibx41" id="paren.3"/> and  Multi-Source Weighted-Ensemble Precipitation (MSWEP) rainfall product <xref ref-type="bibr" rid="bib1.bibx6" id="paren.4"/>, flow directions IHU <xref ref-type="bibr" rid="bib1.bibx30" id="paren.5"/> from MERIT terrain elevations <xref ref-type="bibr" rid="bib1.bibx92" id="paren.6"/>, the SoilGrids pedology <xref ref-type="bibr" rid="bib1.bibx40" id="paren.7"/>, and daily discharge from Caravan-CAMELS <xref ref-type="bibr" rid="bib1.bibx54 bib1.bibx1" id="paren.8"/>, which are used hereafter. Such data can be directly exploited by grid-based spatially distributed hydrological models, whose development at “hyper-resolution” (<inline-formula><mml:math id="M7" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">km</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula> or finer) is recognized as a “grand challenge for hydrology” to address water problems facing society <xref ref-type="bibr" rid="bib1.bibx90 bib1.bibx14" id="paren.9"/>.</p>
      <p id="d2e352">Hydrological responses result from combined nonlinear vertical and lateral physical processes occurring at multiple scales in the critical zone, and their limited observability <xref ref-type="bibr" rid="bib1.bibx10 bib1.bibx63 bib1.bibx15 bib1.bibx80 bib1.bibx87" id="paren.10"><named-content content-type="pre">e.g.,</named-content></xref> makes hydrological modeling uncertain and difficult <xref ref-type="bibr" rid="bib1.bibx60" id="paren.11"><named-content content-type="pre">e.g.,</named-content></xref>).  In the absence of directly exploitable first principles in hydrology (e.g., <xref ref-type="bibr" rid="bib1.bibx27" id="altparen.12"/>), as opposed to flow mechanistic equations in continuous media such as river hydraulics, meteorology, or oceanography, and given the high heterogeneities of continental hydrosystem compartments and the lack of “scale-relevant theories” <xref ref-type="bibr" rid="bib1.bibx9" id="paren.13"/>, process-based hydrological models generally include a certain amount of empiricism. This represents an avenue for the fusion of data assimilation (DA) and uncertainty quantification (UQ) with machine learning (ML) and deep learning (DL) techniques to better exploit the informative richness of multi-source data.</p>
      <p id="d2e371">The differentiability of the forward numerical model is a key enabler for gradient-based optimization of high-dimensional parameter vectors, for example, in variational data assimilation for 1D or 2D hydraulic models <xref ref-type="bibr" rid="bib1.bibx67 bib1.bibx17" id="paren.14"/> or in spatialized hydrology <xref ref-type="bibr" rid="bib1.bibx18 bib1.bibx48" id="paren.15"/>. While differentiability may appear unnecessary for simple lumped hydrological models with only a few parameters, where sampling-based calibration or gradient-free methods remain efficient, the situation changes drastically for spatially distributed models involving thousands of parameters. In such high-dimensional settings, exhaustive sampling becomes computationally infeasible. Numerical differentiability enables the computation of accurate gradients of the cost function or model outputs with respect to high-dimensional parameters, thereby facilitating the use of efficient gradient-based optimization methods. This is particularly important when coupling physical models with neural networks requiring accurate gradients, as demonstrated in recent work on learnable regionalization <xref ref-type="bibr" rid="bib1.bibx46" id="paren.16"/> and internal flux correction <xref ref-type="bibr" rid="bib1.bibx45" id="paren.17"/>, with large-scale evaluations in <xref ref-type="bibr" rid="bib1.bibx47" id="text.18"/>. These approaches rely on numerically differentiable solvers and accurate gradients, enabling  thousands of parameters to be trained effectively. This perspective aligns with <xref ref-type="bibr" rid="bib1.bibx83" id="text.19"/>, who emphasize the importance and potential of differentiable modeling in geosciences, highlighting how it can enhance learning, inference, and integration of physical knowledge within hybrid modeling frameworks.</p>
      <p id="d2e394">The “resolution–complexity continuum” <xref ref-type="bibr" rid="bib1.bibx21" id="paren.20"/> has been explored over the past 5 decades through various modeling approaches, ranging from point-scale processes numerically integrated at larger scales to spatially lumped representations of system responses <xref ref-type="bibr" rid="bib1.bibx43" id="paren.21"/>. Among the diverse hydrological models and their underlying hypotheses, components generally describe water storage and transfer (e.g., <xref ref-type="bibr" rid="bib1.bibx32" id="altparen.22"/>) through various combinations and parameterizations of vertical and lateral storage-flux operators. Several model comparison experiments have analyzed differences between various modeling approaches, evaluating performance in terms of streamflow modeling  <xref ref-type="bibr" rid="bib1.bibx74 bib1.bibx79 bib1.bibx28 bib1.bibx70" id="paren.23"/> and internal states such as soil moisture <xref ref-type="bibr" rid="bib1.bibx70 bib1.bibx16" id="paren.24"/>. <xref ref-type="bibr" rid="bib1.bibx70" id="text.25"/> concluded that “added complexity does not necessarily lead to improved performance of hydrological models”. Notably, parsimonious conceptual models, whether lumped or semi-lumped, have performed efficiently in large-sample studies (e.g., the Génie Rural (GR) model in <xref ref-type="bibr" rid="bib1.bibx74" id="altparen.26"/>,  GRSD model in  <xref ref-type="bibr" rid="bib1.bibx26" id="altparen.27"/>, GR and MORDOR models in <xref ref-type="bibr" rid="bib1.bibx62" id="altparen.28"/>, FUSE models in <xref ref-type="bibr" rid="bib1.bibx55" id="altparen.29"/>, and references therein). Large-sample studies have also been undertaken with spatially distributed models, including variable infiltration capacity (VIC) <xref ref-type="bibr" rid="bib1.bibx64" id="paren.30"/> with a multiscale parameter regionalization (MPR) <xref ref-type="bibr" rid="bib1.bibx81" id="paren.31"/> or with pixel-wise calibration on global maps of streamflow characteristics <xref ref-type="bibr" rid="bib1.bibx93" id="paren.32"/>, a gridded version of Hydrologiska Byråns Vattenbalansavdelning (HBV) applied with MPR-like descriptor-to-parameter regressions on a global dataset <xref ref-type="bibr" rid="bib1.bibx7" id="paren.33"/>, GloFas <xref ref-type="bibr" rid="bib1.bibx42" id="paren.34"/>, National Hydrologic Model (NHM) <xref ref-type="bibr" rid="bib1.bibx85" id="paren.35"/>, Wflow <xref ref-type="bibr" rid="bib1.bibx2 bib1.bibx86" id="paren.36"/>, and runoff-relevant parameters of Energy Exascale Earth System Model (E3SM) using a surrogate-assisted Bayesian framework <xref ref-type="bibr" rid="bib1.bibx91" id="paren.37"/>. Differentiable numerical hydrological modeling has made significant progress in recent years (spatially distributed variational data assimilation (VDA) in <xref ref-type="bibr" rid="bib1.bibx18 bib1.bibx57 bib1.bibx48" id="altparen.38"/>) for large catchment sample studies with hybrid physics–AI, both with lumped approaches (e.g., <xref ref-type="bibr" rid="bib1.bibx31" id="altparen.39"/>) and with high-resolution spatially distributed frameworks <xref ref-type="bibr" rid="bib1.bibx46 bib1.bibx47" id="paren.40"/>. These large-sample studies enable more general and statistically sound analyses of model performances <xref ref-type="bibr" rid="bib1.bibx3 bib1.bibx37" id="paren.41"/>, addressing large-scale challenges with consistent methodologies across various scales and conditions.</p>
      <p id="d2e466">All hydrological models are inherently conceptual, and calibration or learning is generally required due to limitations and uncertainties in their structure, parameter representativity, data availability, and initial and boundary conditions. These models are typically calibrated and validated using discharge time series at the catchment outlet(s) <xref ref-type="bibr" rid="bib1.bibx82" id="paren.42"/>. However, calibrating hydrological model parameters from sparse and integrative discharge data is a challenging inverse problem complicated by equifinality issues <xref ref-type="bibr" rid="bib1.bibx8 bib1.bibx11 bib1.bibx12" id="paren.43"/>, especially for distributed models with a large number of cells and parameters (“curse of dimensionality”). Using spatially uniform parameters may not be the best way to exploit a spatially distributed model (under-parameterization), while fully distributed parameter calibration, which requires a gradient-based approach <xref ref-type="bibr" rid="bib1.bibx18 bib1.bibx57 bib1.bibx48" id="paren.44"/>, faces over-parameterization. Therefore, a parameter regionalization approach using multi-linear descriptor-to-parameter transfer functions has been proposed for distributed models <xref ref-type="bibr" rid="bib1.bibx7" id="paren.45"/>. More recently, this approach has been advanced with regionalization neural networks <xref ref-type="bibr" rid="bib1.bibx46" id="paren.46"/> integrated into the differentiable spatialized <monospace>smash</monospace> model <xref ref-type="bibr" rid="bib1.bibx22" id="paren.47"/>, which is the focus of the present article, introducing a new numerical code and conducting original tests on a large sample of catchments with open-source data. This approach also enables learning via cost functions based on hydrological signatures, which are obtained using automatic signal analysis algorithms applicable to large samples with <monospace>smash</monospace> <xref ref-type="bibr" rid="bib1.bibx44" id="paren.48"/>.</p>
      <p id="d2e497">This article presents the computational framework <monospace>smash</monospace> dedicated to Spatially distributed Modeling and ASsimilation for Hydrology. The <monospace>smash</monospace> framework combines vertical and lateral flow operators, either process-based conceptual or hybrid with neural networks (which allows learning regionalization relations between descriptors and parameters), and performs high-dimensional optimization from multi-source data. It is based on an efficient and automatically differentiable Fortran solver enabling CPU parallel computing, which is interfaced in Python using f90wrap <xref ref-type="bibr" rid="bib1.bibx51 bib1.bibx49" id="paren.49"/> (<uri>https://github.com/jameskermode/f90wrap</uri>, last access: 25 July 2025). This open-source <monospace>smash</monospace> code,  version v1.0 (<uri>https://github.com/DassHydro/smash</uri>, last access: 25 July 2025), is presented here in terms of mathematical formulation, numerical modeling approach, and functionalities, and full details can be found in our research articles from which this software stems <xref ref-type="bibr" rid="bib1.bibx22 bib1.bibx44 bib1.bibx46" id="paren.50"/> and in the online documentation (<uri>https://smash.recover.inrae.fr</uri>, last access: 25 July 2025). Note that <monospace>smash</monospace> has also been developed for operational applications. It is the core solver of the French flash flood forecasting system <xref ref-type="bibr" rid="bib1.bibx76" id="paren.51"/>. The proposed framework leverages adjoint-based VDA, enabling the simultaneous inference of high-dimensional and spatially distributed parameters (as illustrated) and initial states (implementation available and tested in <monospace>smash</monospace> v1.0 but not shown), applicable at both long and short timescales.</p>
      <p id="d2e534">This article is organized as follows. Section <xref ref-type="sec" rid="Ch1.S2"/> describes the <monospace>smash</monospace> forward model and the inverse algorithm. In Sect. <xref ref-type="sec" rid="Ch1.S3"/> we describe the <monospace>smash</monospace> build system framework, documentation, and computational performance. Some applications of <monospace>smash</monospace> are demonstrated in Sect. <xref ref-type="sec" rid="Ch1.S4"/> using open-source datasets, focusing on the contiguous US (CONUS) and on a high-resolution flash-flood-prone case study in France. Section <xref ref-type="sec" rid="Ch1.S5"/> illustrates other aspects of <monospace>smash</monospace> not presented in Sect. <xref ref-type="sec" rid="Ch1.S4"/>, followed by conclusions in Sect. <xref ref-type="sec" rid="Ch1.S6"/>.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Model and optimization algorithm description</title>
      <p id="d2e570">The <monospace>smash</monospace> framework contains various hydrological model structures with varying vertical and lateral flow operators and spatialized routing schemes. It is designed to simulate discharge hydrographs and hydrological states at any spatial location within a structured mesh, and it reproduces the hydrological response of contrasted catchments by taking advantage of spatially distributed meteorological forcings, physiographic data, and hydrometric observations. Cost function gradient maps with respect to tunable parameters are a key feature of <monospace>smash</monospace> and can easily be combined to gradients of external operators, such as a regionalization neural network <xref ref-type="bibr" rid="bib1.bibx46" id="paren.52"/> with a chain rule in the context of high-dimensional optimization.</p>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Forward model statement</title>
      <p id="d2e589">Let <inline-formula><mml:math id="M8" display="inline"><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>⊂</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> denote a 2D spatial domain that can contain one to many gauges, with <inline-formula><mml:math id="M9" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>∈</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:math></inline-formula> being the spatial coordinate, <inline-formula><mml:math id="M10" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>∈</mml:mo><mml:mfenced open="]" close="]"><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> the physical time, and <inline-formula><mml:math id="M11" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">D</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> a drainage plan over <inline-formula><mml:math id="M12" display="inline"><mml:mi mathvariant="normal">Ω</mml:mi></mml:math></inline-formula>. The spatially distributed rainfall–runoff model <inline-formula><mml:math id="M13" display="inline"><mml:mi mathvariant="script">M</mml:mi></mml:math></inline-formula> is a dynamic operator projecting the input fields of atmospheric forcings <inline-formula><mml:math id="M14" display="inline"><mml:mi mathvariant="bold-script">I</mml:mi></mml:math></inline-formula> onto the fields of surface discharge <inline-formula><mml:math id="M15" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula>, internal states <inline-formula><mml:math id="M16" display="inline"><mml:mi mathvariant="bold-italic">h</mml:mi></mml:math></inline-formula>, and internal fluxes <inline-formula><mml:math id="M17" display="inline"><mml:mi mathvariant="bold-italic">q</mml:mi></mml:math></inline-formula>, as expressed in Eq. (<xref ref-type="disp-formula" rid="Ch1.E1"/>):

                <disp-formula specific-use="align" content-type="numbered"><mml:math id="M18" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:mfenced open="[" close="]"><mml:mrow><mml:mi>Q</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">h</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">q</mml:mi></mml:mrow></mml:mfenced><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mlabeledtr id="Ch1.E1"><mml:mtd><mml:mtext>1</mml:mtext></mml:mtd><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>=</mml:mo><mml:mi mathvariant="script">M</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="script">D</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mo>;</mml:mo><mml:mi mathvariant="bold-script">I</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>;</mml:mo><mml:mfenced close="]" open="["><mml:mrow><mml:mi mathvariant="bold-italic">θ</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">h</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

          with <inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> being the modeled state-flux variables and <inline-formula><mml:math id="M20" display="inline"><mml:mi mathvariant="bold-italic">θ</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">h</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> being the spatially distributed  parameters and initial states of the hydrological model.</p>
      <p id="d2e833">The spatially distributed rainfall–runoff model <inline-formula><mml:math id="M22" display="inline"><mml:mi mathvariant="script">M</mml:mi></mml:math></inline-formula> is obtained by partial composition (each operator taking various other input data and parameters) of the flow operators as follows:

                <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M23" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi mathvariant="script">M</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">hy</mml:mtext></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>.</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>.</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">snw</mml:mtext></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e887">Several process-based conceptual operators are available in <monospace>smash</monospace> for composing a model: <list list-type="bullet"><list-item>
      <p id="d2e895"><italic>Snow operator</italic> <inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">snw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>. This optional operator simulates melt flux <inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, which feeds the hydrological operator in addition to rain. <list list-type="bullet"><list-item>
      <p id="d2e934"><italic>zero</italic>: no module</p></list-item><list-item>
      <p id="d2e940"><italic>ssn</italic>: degree-day module</p></list-item></list></p></list-item><list-item>
      <p id="d2e946"><italic>Hydrological operator</italic> <inline-formula><mml:math id="M26" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>. The simulation occurs at the pixel scale of elementary runoff  <inline-formula><mml:math id="M27" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, feeding the routing operator. <list list-type="bullet"><list-item>
      <p id="d2e985"><italic>gr4</italic>: GR-like module <xref ref-type="bibr" rid="bib1.bibx75 bib1.bibx61" id="paren.53"/></p></list-item><list-item>
      <p id="d2e993"><italic>gr5</italic>: GR-like module <xref ref-type="bibr" rid="bib1.bibx58 bib1.bibx33" id="paren.54"/></p></list-item><list-item>
      <p id="d2e1001"><italic>grd</italic>: GR-like module <xref ref-type="bibr" rid="bib1.bibx75 bib1.bibx48" id="paren.55"/></p></list-item><list-item>
      <p id="d2e1009"><italic>loieau</italic>: GR-like module <xref ref-type="bibr" rid="bib1.bibx75 bib1.bibx34" id="paren.56"/></p></list-item><list-item>
      <p id="d2e1017"><italic>vic3l</italic>: VIC-like module adapted from <xref ref-type="bibr" rid="bib1.bibx59" id="text.57"/></p></list-item></list></p></list-item><list-item>
      <p id="d2e1025"><italic>Routing operator</italic> <inline-formula><mml:math id="M28" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">hy</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>. Runoff is routed from pixel to pixel to obtain spatiotemporal discharge <inline-formula><mml:math id="M29" display="inline"><mml:mrow><mml:mi>Q</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. <list list-type="bullet"><list-item>
      <p id="d2e1061"><italic>lag0</italic>: instantaneous module</p></list-item><list-item>
      <p id="d2e1067"><italic>lr</italic>: linear reservoir module</p></list-item><list-item>
      <p id="d2e1073"><italic>kw</italic>: kinematic wave module (a classical 1D conceptual kinematic wave model, applied over a D8 drainage plan <inline-formula><mml:math id="M30" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">D</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> without channel and solved numerically using a linearized implicit scheme) <xref ref-type="bibr" rid="bib1.bibx20" id="paren.58"/>.</p></list-item></list></p></list-item></list></p>
      <p id="d2e1092">The operator chaining principle is schematized in Fig. <xref ref-type="fig" rid="F1"/> with input data and internal states and fluxes. The operators available in <monospace>smash</monospace> are listed above and further detailed in Appendix <xref ref-type="sec" rid="App1.Ch1.S4"/> and in the online documentation (<uri>https://smash.recover.inrae.fr/math_num_documentation/forward_structure.html</uri>, last access: 25 July 2025).</p>

      <fig id="F1" specific-use="star"><label>Figure 1</label><caption><p id="d2e1108">Flowchart of input data, operator chaining to obtain the forward differentiable model <inline-formula><mml:math id="M31" display="inline"><mml:mi mathvariant="script">M</mml:mi></mml:math></inline-formula> that includes a learnable regionalization mapping <inline-formula><mml:math id="M32" display="inline"><mml:mi mathvariant="italic">ϕ</mml:mi></mml:math></inline-formula> <xref ref-type="bibr" rid="bib1.bibx46" id="paren.59"/>, and simulated states and fluxes. The forward model <inline-formula><mml:math id="M33" display="inline"><mml:mi mathvariant="script">M</mml:mi></mml:math></inline-formula> is obtained by partial composition (each operator taking various other input data and parameters) of the flow operators <inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:mi mathvariant="script">M</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">hy</mml:mtext></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>.</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>.</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">snw</mml:mtext></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f01.png"/>

        </fig>

      <p id="d2e1182">Originally, a differentiable  descriptor-to-parameter mapping <inline-formula><mml:math id="M35" display="inline"><mml:mi mathvariant="italic">ϕ</mml:mi></mml:math></inline-formula> can be used to constrain spatially distributed conceptual parameters <inline-formula><mml:math id="M36" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">θ</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and initial states <inline-formula><mml:math id="M37" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">h</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> from physical descriptors <inline-formula><mml:math id="M38" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> for regionalization learning <xref ref-type="bibr" rid="bib1.bibx46" id="paren.60"/>:

                <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M39" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mfenced close="]" open="["><mml:mrow><mml:mi mathvariant="bold-italic">θ</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">h</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mfenced close=")" open="("><mml:mi>x</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">D</mml:mi><mml:mfenced open="(" close=")"><mml:mi>x</mml:mi></mml:mfenced><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ρ</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>∀</mml:mo><mml:mi>x</mml:mi><mml:mo>∈</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          with <inline-formula><mml:math id="M40" display="inline"><mml:mi mathvariant="bold-italic">D</mml:mi></mml:math></inline-formula> being the <inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>D</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>-dimensional vector of physical descriptor maps covering the spatial domain <inline-formula><mml:math id="M42" display="inline"><mml:mi mathvariant="normal">Ω</mml:mi></mml:math></inline-formula>  and <inline-formula><mml:math id="M43" display="inline"><mml:mi mathvariant="bold-italic">ρ</mml:mi></mml:math></inline-formula> being the vector of the tunable regionalization parameters of the available mappings (written for <inline-formula><mml:math id="M44" display="inline"><mml:mi mathvariant="bold-italic">θ</mml:mi></mml:math></inline-formula> only for brevity).</p>
      <p id="d2e1333"><list list-type="order">
            <list-item>

      <p id="d2e1338">The first component is a set <inline-formula><mml:math id="M45" display="inline"><mml:mi mathvariant="script">P</mml:mi></mml:math></inline-formula> of multiple regression operators for each parameter of the forward hydrological model <inline-formula><mml:math id="M46" display="inline"><mml:mi mathvariant="script">M</mml:mi></mml:math></inline-formula>:

                      <disp-formula specific-use="align" content-type="numbered"><mml:math id="M47" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">D</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">ρ</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>d</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>D</mml:mi></mml:msub></mml:mrow></mml:munderover><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mi>D</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mlabeledtr id="Ch1.E4"><mml:mtd><mml:mtext>4</mml:mtext></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>∀</mml:mo><mml:mi>k</mml:mi><mml:mo>∈</mml:mo><mml:mo>[</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="normal">…</mml:mi><mml:msub><mml:mi>N</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

                where <inline-formula><mml:math id="M48" display="inline"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>/</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M49" display="inline"><mml:mrow><mml:mo>∀</mml:mo><mml:mi>z</mml:mi><mml:mo>∈</mml:mo><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow></mml:math></inline-formula> is a transformation based on a sigmoid function with values in <inline-formula><mml:math id="M50" display="inline"><mml:mrow><mml:mfenced open="[" close="]"><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> imposing constraints onto the forward model such that <inline-formula><mml:math id="M51" display="inline"><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>&lt;</mml:mo><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>&lt;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>∀</mml:mo><mml:mi>x</mml:mi><mml:mo>∈</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:math></inline-formula>. The bounds <inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M53" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> associated with each conceptual parameter <inline-formula><mml:math id="M54" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are spatially uniform. The regional parameter control vector used for estimation in this case is <inline-formula><mml:math id="M55" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">ρ</mml:mi><mml:mo>≡</mml:mo><mml:msup><mml:mfenced open="[" close="]"><mml:mrow><mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">ρ</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mrow><mml:mi>k</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="italic">θ</mml:mi></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:mfenced><mml:mi mathvariant="normal">T</mml:mi></mml:msup><mml:mo>≡</mml:mo><mml:msup><mml:mfenced close="]" open="["><mml:mrow><mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mrow><mml:mi>d</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>D</mml:mi></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:mfenced><mml:mrow><mml:mi>k</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="italic">θ</mml:mi></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:mfenced><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, and a multiple linear regression mapping is obtained by imposing <inline-formula><mml:math id="M56" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>.</p>
            </list-item>
            <list-item>

      <p id="d2e1793">The second component is an  artificial neural network (ANN) denoted <inline-formula><mml:math id="M57" display="inline"><mml:mi mathvariant="script">N</mml:mi></mml:math></inline-formula>, consisting of a multi-layer perceptron, aimed at learning the descriptor-to-parameter mapping such that

                      <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M58" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi mathvariant="bold-italic">θ</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">D</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ρ</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="script">N</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">W</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">b</mml:mi></mml:mrow></mml:mfenced><mml:mo>,</mml:mo><mml:mo>∀</mml:mo><mml:mi>x</mml:mi><mml:mo>∈</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

                where <inline-formula><mml:math id="M59" display="inline"><mml:mi mathvariant="bold-italic">W</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M60" display="inline"><mml:mi mathvariant="bold-italic">b</mml:mi></mml:math></inline-formula> are the weights and biases of the neural network composed of <inline-formula><mml:math id="M61" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>L</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> dense layers respectively. The architecture of the neural network and the forward propagation is detailed in <xref ref-type="bibr" rid="bib1.bibx46" id="text.61"/>. Note that an output layer consisting of a scaling transformation is used to impose bound constraints as above. The regional control vector in this case is <inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">ρ</mml:mi><mml:mo>≡</mml:mo><mml:msup><mml:mfenced close="]" open="["><mml:mrow><mml:mi mathvariant="bold-italic">W</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">b</mml:mi></mml:mrow></mml:mfenced><mml:mi mathvariant="normal">T</mml:mi></mml:msup><mml:mo>≡</mml:mo><mml:msup><mml:mfenced close="]" open="["><mml:mrow><mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">W</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mfenced><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>L</mml:mi></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:mfenced><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>.</p>
            </list-item>
          </list></p>
      <p id="d2e1949">Note the following: <list list-type="bullet"><list-item>
      <p id="d2e1954">The available mappings for <inline-formula><mml:math id="M63" display="inline"><mml:mi mathvariant="italic">ϕ</mml:mi></mml:math></inline-formula> are also implemented to predict the initial state vector <inline-formula><mml:math id="M64" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">h</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> using physical descriptor fields that can include previous states and can be used for short-range data assimilation (not studied here).</p></list-item><list-item>
      <p id="d2e1976">By construction, the complete forward model <inline-formula><mml:math id="M65" display="inline"><mml:mi mathvariant="script">M</mml:mi></mml:math></inline-formula> is learnable in terms of parameter regionalization, through the regionalization mapping <inline-formula><mml:math id="M66" display="inline"><mml:mi mathvariant="italic">ϕ</mml:mi></mml:math></inline-formula> embedded into <inline-formula><mml:math id="M67" display="inline"><mml:mi mathvariant="script">M</mml:mi></mml:math></inline-formula> that is also differentiable, and its parameters <inline-formula><mml:math id="M68" display="inline"><mml:mi mathvariant="bold-italic">ρ</mml:mi></mml:math></inline-formula> can be trained using a cost gradient as explained hereafter.</p></list-item></list></p>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Inverse algorithm</title>
      <p id="d2e2015">Given observed and simulated discharge time series <inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">Q</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>g</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="normal">…</mml:mi><mml:msub><mml:mi>N</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow><mml:mo>*</mml:mo></mml:msubsup><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M70" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">Q</mml:mi><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mrow><mml:mi>g</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="normal">…</mml:mi><mml:msub><mml:mi>N</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, with <inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> being the number of gauges over the study domain <inline-formula><mml:math id="M72" display="inline"><mml:mi mathvariant="normal">Ω</mml:mi></mml:math></inline-formula>, the model misfit to multi-site observations is measured through a cost function <inline-formula><mml:math id="M73" display="inline"><mml:mi>J</mml:mi></mml:math></inline-formula> that can be written as

                <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M74" display="block"><mml:mstyle class="stylechange" displaystyle="true"/><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi>J</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">Q</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">Q</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>g</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>G</mml:mi></mml:msub></mml:mrow></mml:munderover><mml:msub><mml:mi>w</mml:mi><mml:mi>g</mml:mi></mml:msub><mml:msub><mml:mi>j</mml:mi><mml:mi>g</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:msubsup><mml:mi>Q</mml:mi><mml:mi>g</mml:mi><mml:mo>*</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mi>g</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msub><mml:mi>j</mml:mi><mml:mtext>reg</mml:mtext></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          with <inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi>g</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> being the weight associated with the cost function <inline-formula><mml:math id="M76" display="inline"><mml:mrow><mml:msub><mml:mi>j</mml:mi><mml:mi>g</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> at each gauge <inline-formula><mml:math id="M77" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula>, where <inline-formula><mml:math id="M78" display="inline"><mml:mrow><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>g</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>g</mml:mi></mml:msub></mml:mrow></mml:msubsup><mml:msub><mml:mi>w</mml:mi><mml:mi>g</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>. This multi-gauge observation cost function is also used for mono-gauge calibration with <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>. A regularization term <inline-formula><mml:math id="M80" display="inline"><mml:mrow><mml:msub><mml:mi>j</mml:mi><mml:mtext>reg</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> can be considered for ill-posed inverse problems (<xref ref-type="bibr" rid="bib1.bibx48 bib1.bibx50" id="altparen.62"/>). In this study, equal weights were assigned to each gauge (i.e., <inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi>g</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>), which corresponds to minimizing the average of the individual cost functions. Additionally, no regularization term was applied.</p>
      <p id="d2e2306">The gauge cost function is defined as

                <disp-formula id="Ch1.E7" content-type="numbered"><label>7</label><mml:math id="M82" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>j</mml:mi><mml:mi>g</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msubsup><mml:mi>Q</mml:mi><mml:mi>g</mml:mi><mml:mo>*</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mi>g</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>c</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>C</mml:mi></mml:msub></mml:mrow></mml:munderover><mml:msub><mml:mi>w</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:msub><mml:mi>j</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:msubsup><mml:mi>Q</mml:mi><mml:mi>g</mml:mi><mml:mo>*</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi>Q</mml:mi><mml:mi>g</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          with <inline-formula><mml:math id="M83" display="inline"><mml:mrow><mml:msub><mml:mi>j</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> being  based on any efficiency metric (e.g., Nash–Sutcliffe efficiency, NSE; Kling–Gupta efficiency, KGE; <xref ref-type="bibr" rid="bib1.bibx36" id="altparen.63"/>) or a signature-based cost function including <inline-formula><mml:math id="M84" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>C</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> continuous and event-based components <xref ref-type="bibr" rid="bib1.bibx44" id="paren.64"/> and <inline-formula><mml:math id="M85" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> being their relative weights. For the multi-score calibration strategy using continuous NSE and event-based flood signatures, see <xref ref-type="bibr" rid="bib1.bibx44" id="text.65"/>.</p>
      <p id="d2e2430">The global cost function <inline-formula><mml:math id="M86" display="inline"><mml:mi>J</mml:mi></mml:math></inline-formula> is defined as a convex and differentiable function, involving the response of the forward model <inline-formula><mml:math id="M87" display="inline"><mml:mi mathvariant="script">M</mml:mi></mml:math></inline-formula> through its output <inline-formula><mml:math id="M88" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula>, and consequently depends on the model parameters <inline-formula><mml:math id="M89" display="inline"><mml:mi mathvariant="bold-italic">θ</mml:mi></mml:math></inline-formula> and hence on the parameters <inline-formula><mml:math id="M90" display="inline"><mml:mi mathvariant="bold-italic">ρ</mml:mi></mml:math></inline-formula> of the regional mapping <inline-formula><mml:math id="M91" display="inline"><mml:mi mathvariant="italic">ϕ</mml:mi></mml:math></inline-formula> when used (Eq. <xref ref-type="disp-formula" rid="Ch1.E3"/>).</p>
      <p id="d2e2478">Therefore, the optimization problem is formulated as in Eq. (<xref ref-type="disp-formula" rid="Ch1.E8"/>):

                <disp-formula id="Ch1.E8" content-type="numbered"><label>8</label><mml:math id="M92" display="block"><mml:mstyle class="stylechange" displaystyle="true"/><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mover accent="true"><mml:mi mathvariant="bold-italic">ρ</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mi>arg⁡</mml:mi><mml:munder><mml:mo movablelimits="false">min⁡</mml:mo><mml:mi mathvariant="bold-italic">ρ</mml:mi></mml:munder><mml:mi>J</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">Q</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi mathvariant="script">M</mml:mi><mml:mo>(</mml:mo><mml:mo>.</mml:mo><mml:mo>,</mml:mo><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>(</mml:mo><mml:mo>.</mml:mo><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ρ</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          This high-dimensional inverse problem can be tackled with gradient-based optimization algorithms. A limited-memory quasi-Newton approach, such as L-BFGS-B <xref ref-type="bibr" rid="bib1.bibx94" id="paren.66"/>, is suitable for smooth objective functions, while an adaptive learning rate approach, exemplified by Adam <xref ref-type="bibr" rid="bib1.bibx52" id="paren.67"/>, is effective for non-smooth objective functions. These approaches necessitate obtaining the gradient <inline-formula><mml:math id="M93" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold-italic">ρ</mml:mi></mml:msub><mml:mi>J</mml:mi></mml:mrow></mml:math></inline-formula> of the cost function with respect to the tunable control parameter <inline-formula><mml:math id="M94" display="inline"><mml:mi mathvariant="bold-italic">ρ</mml:mi></mml:math></inline-formula> obtained by solving the adjoint <inline-formula><mml:math id="M95" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="bold-italic">ρ</mml:mi></mml:msub><mml:mi mathvariant="script">M</mml:mi></mml:mrow></mml:math></inline-formula> of the forward model <inline-formula><mml:math id="M96" display="inline"><mml:mi mathvariant="script">M</mml:mi></mml:math></inline-formula>. The adjoint model is obtained by automatic differentiation using the Tapenade engine <xref ref-type="bibr" rid="bib1.bibx39" id="paren.68"/> (<uri>https://team.inria.fr/ecuador/fr/tapenade/</uri>, last access: 25 July 2025). The complete forward model and VDA process are illustrated in Fig. <xref ref-type="fig" rid="F2"/>.</p>

      <fig id="F2" specific-use="star"><label>Figure 2</label><caption><p id="d2e2599">Flowchart of the inverse algorithm that uses  the cost gradient <inline-formula><mml:math id="M97" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold-italic">ρ</mml:mi></mml:msub><mml:mi>J</mml:mi></mml:mrow></mml:math></inline-formula> with respect to the tunable control parameter <inline-formula><mml:math id="M98" display="inline"><mml:mi mathvariant="bold-italic">ρ</mml:mi></mml:math></inline-formula> obtained by solving the adjoint model <inline-formula><mml:math id="M99" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="bold-italic">ρ</mml:mi></mml:msub><mml:mi mathvariant="script">M</mml:mi></mml:mrow></mml:math></inline-formula> of the forward model <inline-formula><mml:math id="M100" display="inline"><mml:mi mathvariant="script">M</mml:mi></mml:math></inline-formula>, which is obtained by automatic source code differentiation and enabling accurate gradient computation (adapted from VDA course <xref ref-type="bibr" rid="bib1.bibx66" id="altparen.69"/>).</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f02.png"/>

        </fig>

</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Computational software and performance</title>
      <p id="d2e2660">In this section, we focus on code architecture, documentation, and computational performance. <monospace>smash</monospace> is based on a computationally efficient Fortran core enabling parallel computations over large domains with OpenMP <xref ref-type="bibr" rid="bib1.bibx25" id="paren.70"/> (<uri>https://www.openmp.org</uri>, last access: 25 July 2025) and is automatically differentiable with the Tapenade engine <xref ref-type="bibr" rid="bib1.bibx39" id="paren.71"/> to generate the numerical adjoint model. It is interfaced in Python using f90wrap <xref ref-type="bibr" rid="bib1.bibx51" id="paren.72"/> to provide a user-friendly and versatile interface for quick learning and efficient development and to make the wealth of Python modules and libraries (Table <xref ref-type="table" rid="T1"/>) developed by a large and active community directly accessible (data pre-/post-processing, geographic information system, deep learning, etc.).</p>

<table-wrap id="T1" specific-use="star"><label>Table 1</label><caption><p id="d2e2684">External Python libraries used by <monospace>smash</monospace>.</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="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Library</oasis:entry>
         <oasis:entry colname="col2">Website</oasis:entry>
         <oasis:entry colname="col3">Reference</oasis:entry>
         <oasis:entry colname="col4">Description</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">NumPy</oasis:entry>
         <oasis:entry colname="col2"><uri>https://numpy.org</uri> (last access: 25 July 2025)</oasis:entry>
         <oasis:entry colname="col3">
                    <xref ref-type="bibr" rid="bib1.bibx38" id="text.73"/>
                  </oasis:entry>
         <oasis:entry colname="col4">Numerical computing</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">SciPy</oasis:entry>
         <oasis:entry colname="col2"><uri>https://scipy.org</uri> (last access: 25 July 2025)</oasis:entry>
         <oasis:entry colname="col3">
                    <xref ref-type="bibr" rid="bib1.bibx89" id="text.74"/>
                  </oasis:entry>
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">pandas</oasis:entry>
         <oasis:entry colname="col2"><uri>https://pandas.pydata.org</uri> (last access: 25 July 2025)</oasis:entry>
         <oasis:entry colname="col3">
                    <xref ref-type="bibr" rid="bib1.bibx72" id="text.75"/>
                  </oasis:entry>
         <oasis:entry colname="col4">Data analysis and manipulation tool</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">f90wrap</oasis:entry>
         <oasis:entry colname="col2"><uri>https://github.com/jameskermode/f90wrap</uri> (last access: 25 July 2025)</oasis:entry>
         <oasis:entry colname="col3">
                    <xref ref-type="bibr" rid="bib1.bibx51" id="text.76"/>
                  </oasis:entry>
         <oasis:entry colname="col4">Fortran-to-Python interface generator</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Rasterio</oasis:entry>
         <oasis:entry colname="col2"><uri>https://rasterio.readthedocs.io/en/stable</uri> (last access: 25 July 2025)</oasis:entry>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4">Input/output</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">h5py</oasis:entry>
         <oasis:entry colname="col2"><uri>https://docs.h5py.org/en/stable</uri> (last access: 25 July 2025)</oasis:entry>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>From sources to ready-to-use Python library</title>
      <p id="d2e2843"><monospace>smash</monospace> contains a Python core for all  user interface functions, both pre- and post-processing, and a Fortran core (with a few C files) for high-performance numerical computations. In order to produce a Python library, including binary files, which can be installed directly from the package manager, PyPI (<uri>https://pypi.org</uri>, last access: 25 July 2025), several steps are necessary. The first step is to generate the Fortran adjoint file from the Fortran sources. This is done via the Tapenade automatic differentiation engine <xref ref-type="bibr" rid="bib1.bibx39" id="paren.77"/>, which requires the use of Java. Next, the Fortran code is wrapped for use in Python. f90wrap <xref ref-type="bibr" rid="bib1.bibx51" id="paren.78"/> builds on the capabilities of the popular F2PY (<uri>https://numpy.org/doc/stable/f2py</uri>, last access: 25 July 2025) utility by generating a simpler Fortran interface to the original Fortran sources, which is then suitable for wrapping with F2PY, together with a higher-level Pythonic wrapper that makes the existence of an additional layer transparent to the final user. The entire build system (except for the generation of the adjoint file, which is external for debugging reasons) is handled by meson (<uri>https://mesonbuild.com</uri>, last access: 25 July 2025), a multi-platform, multi-language open-source build system that allows us to generate <monospace>smash</monospace> binaries on Linux, macOS, and Windows quite easily (Fig. <xref ref-type="fig" rid="F3"/>).</p>

      <fig id="F3"><label>Figure 3</label><caption><p id="d2e2871">The <monospace>smash</monospace> build system framework. It starts with source files written in Fortran and Python (0). In intermediate step (1), Fortran sources are processed by Tapenade to generate the adjoint code and wrapped using f90wrap to create Python interfaces (f90wrap-itf). The F2PY tool is then used to generate a Fortran/C/Python binding from the wrapped interfaces. During compilation step (2), the original Fortran sources, adjoint code, and f90wrap-itf are compiled with appropriate compilers to produce a binary Python/C extension module. Finally, in installation step (3), the Python module is assembled, combining the original Python sources with  f90wrap-itf and the compiled binary Python/C extension module, making the high-performance Fortran code accessible from Python.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f03.png"/>

        </fig>

</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Documentation</title>
      <p id="d2e2892">The <monospace>smash</monospace> online documentation (Fig. <xref ref-type="fig" rid="F4"/>) is divided into four main sections: <list list-type="bullet"><list-item>
      <p id="d2e2902"><italic>Getting started</italic>. This section describes how to install <monospace>smash</monospace> from the Python package index PyPI (<uri>https://smash.recover.inrae.fr/getting_started</uri>, last access: 25 July 2025).</p></list-item><list-item>
      <p id="d2e2914"><italic>User guide</italic>. This section provides step-by-step examples (and scripts) from basic (simulation run) to complex (regionalization) applications of <monospace>smash</monospace> and input data conventions   (<uri>https://smash.recover.inrae.fr/user_guide</uri>, last access: 25 July 2025).</p></list-item><list-item>
      <p id="d2e2926"><italic>API reference</italic>. This section details the different modules and the application programming interface. Modules are documented using the NumPy-style Python docstring   (<uri>https://smash.recover.inrae.fr/api_reference</uri>, last access: 25 July 2025) .</p></list-item><list-item>
      <p id="d2e2935"><italic>Math/num documentation</italic>. This last section details the conceptual and mathematical basis of the forward and inverse modeling problems, their numerical resolution, and their optimization and estimation algorithms (<uri>https://smash.recover.inrae.fr/math_num_documentation</uri>, last access: 25 July 2025).</p></list-item></list></p>

      <fig id="F4" specific-use="star"><label>Figure 4</label><caption><p id="d2e2945"><monospace>smash</monospace> documentation home page accessible at <uri>https://smash.recover.inrae.fr</uri> (last access: 25 July 2025).</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f04.png"/>

        </fig>

      <p id="d2e2959">All documentation is implemented using Sphinx (<uri>https://www.sphinx-doc.org/en/master</uri>, last access: 25 July 2025) to automatically compile and update an online version.</p>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>Computational performance</title>
      <p id="d2e2973">In this section, we compare the performance of <monospace>smash</monospace> in terms of computation time and memory usage between direct and adjoint runs (an adjoint run is equivalent to a single call to the adjoint model <inline-formula><mml:math id="M101" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="bold-italic">ρ</mml:mi></mml:msub><mml:mi mathvariant="script">M</mml:mi></mml:mrow></mml:math></inline-formula> here). The aim is to highlight the resources required to run <monospace>smash</monospace> on configurations similar to real cases. We compare <monospace>smash</monospace> over three zones, Sardinia, Great Britain/Ireland, and North America, at a spatial resolution of <inline-formula><mml:math id="M102" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">1</mml:mn><mml:mo>′</mml:mo></mml:msup><mml:msup><mml:mn mathvariant="normal">30</mml:mn><mml:mrow><mml:mo>′</mml:mo><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow><mml:mo>×</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>) over a period of 1 <inline-formula><mml:math id="M104" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">year</mml:mi></mml:mrow></mml:math></inline-formula>, from 31 July 2010–31 July 2011, randomly chosen at a daily time step. These three zones were chosen simply to provide three zones of variable surface area (Fig. <xref ref-type="fig" rid="F5"/>). In addition to the three zones, with <monospace>smash</monospace> enabling different assemblies of operators, two structures are compared, s1 and s2, representing the simplest (<inline-formula><mml:math id="M105" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">snw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>zero</italic>, <inline-formula><mml:math id="M106" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>grd</italic>, and <inline-formula><mml:math id="M107" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">hy</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>lag0</italic>) and the most complex (<inline-formula><mml:math id="M108" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">snw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>ssn</italic>, <inline-formula><mml:math id="M109" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>vic3l</italic>, and <inline-formula><mml:math id="M110" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">hy</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>kw</italic>) structures in terms of the number of operations per cell respectively. All the simulations (1 <inline-formula><mml:math id="M111" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">year</mml:mi></mml:mrow></mml:math></inline-formula> of simulation at a daily time step) were run on a server with AMD EPYC 7643 CPUs (Appendix <xref ref-type="sec" rid="App1.Ch1.S5"/>) and 255 <inline-formula><mml:math id="M112" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">GB</mml:mi></mml:mrow></mml:math></inline-formula> of RAM.</p>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e3160">Spatial representations of the three different geographical regions used in the performance benchmarks.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f05.png"/>

        </fig>

      <p id="d2e3169">The range of computation times across all simulations (Fig. <xref ref-type="fig" rid="F6"/>) varies from approximately 0.1 <inline-formula><mml:math id="M113" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula> for a direct run with eight threads in the Sardinia region using the s1 structure to just over an hour for an adjoint run with one thread in the North America region using the s2 structure. Systematically, regardless of the region, number of threads, or type of run, the difference in computation time between the s1 and s2 structures is about a factor of 2. Regarding the differences between a direct run and an adjoint run, the computation time factor varies depending on the number of threads, ranging from a factor of 12 for 1 thread to a factor of 6 for 16 threads. This difference highlights better thread scaling for the adjoint run, with a speedup of around 4 for a direct run and 7 for an adjoint run with 16 threads, likely because the adjoint run is more computationally demanding than the forward run. It is worth noting that in the case of the Sardinia region, which has the fewest grid cells, thread scaling is poor compared to the other two regions, even reaching the limit where thread overhead increases the computation time. Although the time-stepping loop cannot be parallelized, and the routing scheme in <monospace>smash</monospace> must be solved sequentially from upstream to downstream, allowing only partial parallelization over the entire spatial domain, the approach still offers a substantial reduction in computation time.</p>

      <fig id="F6" specific-use="star"><label>Figure 6</label><caption><p id="d2e3188">Benchmarking results for both direct <bold>(a–c)</bold> and adjoint <bold>(d–f)</bold> run simulations over a period of 1 <inline-formula><mml:math id="M114" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">year</mml:mi></mml:mrow></mml:math></inline-formula> at a daily time step, using varying numbers of threads (from 1 to 16). Each plot corresponds to a different geographical region: Sardinia, Great Britain/Ireland, and North America from left to right.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f06.png"/>

        </fig>

      <p id="d2e3211">Regarding memory usage (Table <xref ref-type="table" rid="T2"/>), values range from 0.17 <inline-formula><mml:math id="M115" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">GB</mml:mi></mml:mrow></mml:math></inline-formula> for a direct run in the Sardinia region with the s1 structure to 27 <inline-formula><mml:math id="M116" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">GB</mml:mi></mml:mrow></mml:math></inline-formula> for an adjoint run in the North America region with the s2 structure. Systematically, memory usage is higher in the adjoint run than in the direct run and scales with the size of the domain. The main contributor to memory usage in the adjoint run is the forward sweep, which includes a time-stepping loop where iteration <inline-formula><mml:math id="M117" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> depends on the results of previous iterations. The memory allocation during the forward sweep is freed during the backward sweep, but it still results in a significant memory peak. This memory peak has been considerably reduced in the <monospace>smash</monospace> version presented here by including checkpoints within the time-stepping loop. These checkpoints allow us to alternate between forward and backward sweeps, leading to much smaller memory peaks compared to a single sweep. The downside of using checkpoints is the increase in computation time, but this was considered less significant compared to the memory saving (see <xref ref-type="bibr" rid="bib1.bibx39" id="altparen.79"/>, for further details about forward and backward sweeps and checkpointing).</p>

<table-wrap id="T2"><label>Table 2</label><caption><p id="d2e3249">Memory usage in gigabyte (GB) for both direct and adjoint run simulations over a period of 1 <inline-formula><mml:math id="M118" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">year</mml:mi></mml:mrow></mml:math></inline-formula> at a daily time step.</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="center"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Zone</oasis:entry>
         <oasis:entry colname="col2">Structure</oasis:entry>
         <oasis:entry colname="col3">Memory</oasis:entry>
         <oasis:entry colname="col4">Memory</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">usage</oasis:entry>
         <oasis:entry colname="col4">usage</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">(GB)</oasis:entry>
         <oasis:entry colname="col4">(GB)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">direct</oasis:entry>
         <oasis:entry colname="col4">adjoint</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">run</oasis:entry>
         <oasis:entry colname="col4">run</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Sardinia</oasis:entry>
         <oasis:entry colname="col2">s1</oasis:entry>
         <oasis:entry colname="col3">0.17</oasis:entry>
         <oasis:entry colname="col4">0.18</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">s2</oasis:entry>
         <oasis:entry colname="col3">0.18</oasis:entry>
         <oasis:entry colname="col4">0.20</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Great Britain/Ireland</oasis:entry>
         <oasis:entry colname="col2">s1</oasis:entry>
         <oasis:entry colname="col3">0.37</oasis:entry>
         <oasis:entry colname="col4">0.46</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">s2</oasis:entry>
         <oasis:entry colname="col3">0.52</oasis:entry>
         <oasis:entry colname="col4">0.86</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">North America</oasis:entry>
         <oasis:entry colname="col2">s1</oasis:entry>
         <oasis:entry colname="col3">7.64</oasis:entry>
         <oasis:entry colname="col4">11.27</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">s2</oasis:entry>
         <oasis:entry colname="col3">12.7</oasis:entry>
         <oasis:entry colname="col4">26.68</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup>

</oasis:table></table-wrap>

      <p id="d2e3436">In conclusion, these computation times and memory usage demonstrate the feasibility of the model for large-scale applications. The critical point is parameter estimation. In the case of parameter estimation using a gradient-based optimizer, one or more adjoint runs are evaluated at each iteration, significantly multiplying the total computation time. As an example, <xref ref-type="bibr" rid="bib1.bibx46" id="text.80"/> performed a calibration at a spatial resolution of 1 <inline-formula><mml:math id="M119" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> over a domain of more than 20 000 cells and at a temporal resolution of 1 h over a period of 4 <inline-formula><mml:math id="M120" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>. The calibration required 350 calls to the adjoint model, resulting in a computation time of around 180 <inline-formula><mml:math id="M121" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula>. Currently, memory usage in the adjoint run is less of a limiting factor than computation time for large-domain applications. Thus, further improving computation time is a priority to expand the model's application to finer spatial and temporal scales.</p>
</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Applications</title>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Numerical experiments presented</title>
      <p id="d2e3482">The main functionalities and operators of <monospace>smash</monospace> are illustrated in open-source global datasets  over the contiguous US (CONUS) (Table <xref ref-type="table" rid="T3"/>, Fig. <xref ref-type="fig" rid="F7"/>) and in a higher-resolution open-source regional dataset in France (Table <xref ref-type="table" rid="T4"/>, Fig. <xref ref-type="fig" rid="F7"/>). Models in CONUS will be at a spatial resolution of <inline-formula><mml:math id="M122" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">1</mml:mn><mml:mo>′</mml:mo></mml:msup><mml:msup><mml:mn mathvariant="normal">30</mml:mn><mml:mrow><mml:mo>′</mml:mo><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M123" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow><mml:mo>×</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>) and daily time step, while higher-resolution models will be set up in France at 500 <inline-formula><mml:math id="M124" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> spatial resolution and an hourly time step. The numerical results presented are as follows: <list list-type="bullet"><list-item>
      <p id="d2e3549">split-sample temporal cross-validation of different model structure combinations over CONUS (Sect. <xref ref-type="sec" rid="Ch1.S4.SS2"/>)</p></list-item><list-item>
      <p id="d2e3555">regionalization over CONUS (Sect. <xref ref-type="sec" rid="Ch1.S4.SS3"/>)</p></list-item><list-item>
      <p id="d2e3561">high-resolution regionalization over the Aude River in France (Sect. <xref ref-type="sec" rid="Ch1.S4.SS4"/>).</p></list-item></list></p>

<table-wrap id="T3" specific-use="star"><label>Table 3</label><caption><p id="d2e3569">Model input data from open-source databases available worldwide used over CONUS: atmospheric forcings <inline-formula><mml:math id="M125" display="inline"><mml:mrow><mml:mi mathvariant="bold-script">I</mml:mi><mml:mo>=</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">N</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">E</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">T</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula>, flow direction map <inline-formula><mml:math id="M126" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">D</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, physical descriptors <inline-formula><mml:math id="M127" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi><mml:mo>=</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> for regionalization based on the <xref ref-type="bibr" rid="bib1.bibx7" id="text.81"/> study, and discharge time series <inline-formula><mml:math id="M128" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">Q</mml:mi><mml:mo mathvariant="bold">*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>. The liquid and solid precipitation, <inline-formula><mml:math id="M129" display="inline"><mml:mi mathvariant="bold-italic">P</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M130" display="inline"><mml:mi mathvariant="bold-italic">N</mml:mi></mml:math></inline-formula>,  derived from the Multi-Source Weighted-Ensemble Precipitation (MSWEP) <xref ref-type="bibr" rid="bib1.bibx6" id="paren.82"/>, is divided into liquid and solid parts using a parametric S-shaped curve <xref ref-type="bibr" rid="bib1.bibx35" id="paren.83"/> and is disaggregated from 0.1 to 0.025<inline-formula><mml:math id="M131" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">°</mml:mi></mml:mrow></mml:math></inline-formula>. The temperature and potential evapotranspiration, <inline-formula><mml:math id="M132" display="inline"><mml:mi mathvariant="bold-italic">T</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M133" display="inline"><mml:mi mathvariant="bold-italic">E</mml:mi></mml:math></inline-formula>, derived from ERA5 <xref ref-type="bibr" rid="bib1.bibx41" id="paren.84"/>, are disaggregated from 0.25 to 0.025<inline-formula><mml:math id="M134" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">°</mml:mi></mml:mrow></mml:math></inline-formula>, using the Oudin formula <xref ref-type="bibr" rid="bib1.bibx71" id="paren.85"/> to obtain the potential evapotranspiration. The flow direction, <inline-formula><mml:math id="M135" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">D</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, from MERIT Hydro IHU <xref ref-type="bibr" rid="bib1.bibx30" id="paren.86"/>, was upscaled from 0.008 to 0.025<inline-formula><mml:math id="M136" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">°</mml:mi></mml:mrow></mml:math></inline-formula> using pyflwdir (<uri>https://github.com/Deltares/pyflwdir</uri>, last access: 25 July 2025) <xref ref-type="bibr" rid="bib1.bibx29" id="paren.87"/>. The topographic slope, <inline-formula><mml:math id="M137" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, is derived from MERIT DEM <xref ref-type="bibr" rid="bib1.bibx92" id="paren.88"/>, upscaled from 0.008 to 0.025<inline-formula><mml:math id="M138" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">°</mml:mi></mml:mrow></mml:math></inline-formula> using the gdaldem slope (<uri>https://gdal.org/en/latest/programs/gdaldem.html</uri>, last access: 25 July 2025).  The sand and clay content, <inline-formula><mml:math id="M139" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M140" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, from SoilGrids <xref ref-type="bibr" rid="bib1.bibx40" id="paren.89"/>, was upscaled and reprojected from 250 <inline-formula><mml:math id="M141" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> to 0.025°. The meteo-climatic data, <inline-formula><mml:math id="M142" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M143" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">5</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M144" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, are derived from <inline-formula><mml:math id="M145" display="inline"><mml:mi mathvariant="bold-italic">P</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M146" display="inline"><mml:mi mathvariant="bold-italic">E</mml:mi></mml:math></inline-formula>. The discharge time series, <inline-formula><mml:math id="M147" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">Q</mml:mi><mml:mo mathvariant="bold">*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>, comes from Caravan-CAMELS <xref ref-type="bibr" rid="bib1.bibx54 bib1.bibx1" id="paren.90"/>.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="justify" colwidth="60mm"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:colspec colnum="5" colname="col5" align="justify" colwidth="60mm"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Notation</oasis:entry>
         <oasis:entry colname="col2">Type</oasis:entry>
         <oasis:entry colname="col3">Description</oasis:entry>
         <oasis:entry colname="col4">Unit</oasis:entry>
         <oasis:entry colname="col5">Source</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M148" display="inline"><mml:mi mathvariant="bold-italic">P</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Atmospheric forcing</oasis:entry>
         <oasis:entry colname="col3">Liquid precipitation</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M149" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">MSWEP <xref ref-type="bibr" rid="bib1.bibx6" id="paren.91"/></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M150" display="inline"><mml:mi mathvariant="bold-italic">N</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Atmospheric forcing</oasis:entry>
         <oasis:entry colname="col3">Solid precipitation</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M151" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">MSWEP <xref ref-type="bibr" rid="bib1.bibx6" id="paren.92"/></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M152" display="inline"><mml:mi mathvariant="bold-italic">E</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Atmospheric forcing</oasis:entry>
         <oasis:entry colname="col3">Potential evapotranspiration using Oudin formula <xref ref-type="bibr" rid="bib1.bibx71" id="paren.93"/></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M153" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">ERA5 temperature <xref ref-type="bibr" rid="bib1.bibx41" id="paren.94"/></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M154" display="inline"><mml:mi mathvariant="bold-italic">T</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Atmospheric forcing</oasis:entry>
         <oasis:entry colname="col3">Temperature</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M155" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mrow class="unit"><mml:mi mathvariant="normal">°</mml:mi><mml:mi mathvariant="normal">C</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">ERA5 temperature <xref ref-type="bibr" rid="bib1.bibx41" id="paren.95"/></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M156" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">D</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Topography</oasis:entry>
         <oasis:entry colname="col3">Flow direction</oasis:entry>
         <oasis:entry colname="col4">(–)</oasis:entry>
         <oasis:entry colname="col5">MERIT Hydro IHU <xref ref-type="bibr" rid="bib1.bibx30" id="paren.96"/></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M157" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (<italic>slope</italic>)</oasis:entry>
         <oasis:entry colname="col2">Topography</oasis:entry>
         <oasis:entry colname="col3">Topographic slope</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M158" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="italic">°</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">MERIT <xref ref-type="bibr" rid="bib1.bibx92" id="paren.97"/></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M159" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (<italic>sand</italic>)</oasis:entry>
         <oasis:entry colname="col2">Soil</oasis:entry>
         <oasis:entry colname="col3">Sand content, averaged over all layers</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M160" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mrow class="unit"><mml:mi mathvariant="normal">g</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">SoilGrids <xref ref-type="bibr" rid="bib1.bibx40" id="paren.98"/></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M161" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (<italic>clay</italic>)</oasis:entry>
         <oasis:entry colname="col2">Soil</oasis:entry>
         <oasis:entry colname="col3">Clay content, averaged over all layers</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M162" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mrow class="unit"><mml:mi mathvariant="normal">g</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">SoilGrids <xref ref-type="bibr" rid="bib1.bibx40" id="paren.99"/></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (<italic>prcp</italic>)</oasis:entry>
         <oasis:entry colname="col2">Meteo-climatic</oasis:entry>
         <oasis:entry colname="col3">Mean annual precipitation</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M164" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">yr</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">MSWEP <xref ref-type="bibr" rid="bib1.bibx6" id="paren.100"/></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M165" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">5</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (<italic>pet</italic>)</oasis:entry>
         <oasis:entry colname="col2">Meteo-climatic</oasis:entry>
         <oasis:entry colname="col3">Mean annual potential evapotranspiration using the Oudin <xref ref-type="bibr" rid="bib1.bibx71" id="paren.101"/></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">yr</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">ERA5 temperature <xref ref-type="bibr" rid="bib1.bibx41" id="paren.102"/></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M167" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (<italic>hi</italic>)</oasis:entry>
         <oasis:entry colname="col2">Meteo-climatic</oasis:entry>
         <oasis:entry colname="col3">Mean annual humidity index (ratio of precipitation to potential evapotranspiration)</oasis:entry>
         <oasis:entry colname="col4">(–)</oasis:entry>
         <oasis:entry colname="col5">MSWEP <xref ref-type="bibr" rid="bib1.bibx6" id="paren.103"/>, ERA5 temperature <xref ref-type="bibr" rid="bib1.bibx41" id="paren.104"/></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M168" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">Q</mml:mi><mml:mo mathvariant="bold">*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Hydrometric</oasis:entry>
         <oasis:entry colname="col3">Discharge time series</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M169" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">Caravan-CAMELS (<xref ref-type="bibr" rid="bib1.bibx54" id="altparen.105"/>;  <xref ref-type="bibr" rid="bib1.bibx1" id="altparen.106"/>)</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="T4" specific-use="star"><label>Table 4</label><caption><p id="d2e4467">Model input data from national open-source databases used over the Aude River in France: atmospheric forcings <inline-formula><mml:math id="M170" display="inline"><mml:mrow><mml:mi mathvariant="bold-script">I</mml:mi><mml:mo>=</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">E</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula>, flow direction map <inline-formula><mml:math id="M171" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">D</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, physical descriptors <inline-formula><mml:math id="M172" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi><mml:mo>=</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">7</mml:mn></mml:msub><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> for regionalization, and discharge time series <inline-formula><mml:math id="M173" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">Q</mml:mi><mml:mo mathvariant="bold">*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>. The liquid precipitation, <inline-formula><mml:math id="M174" display="inline"><mml:mi mathvariant="bold-italic">P</mml:mi></mml:math></inline-formula>, comes from the ANTILOPE J+1 Météo-France product <xref ref-type="bibr" rid="bib1.bibx19" id="paren.107"/>, a radar–gauge reanalysis disaggregated from 1 <inline-formula><mml:math id="M175" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> to 500 <inline-formula><mml:math id="M176" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>. The potential evapotranspiration, <inline-formula><mml:math id="M177" display="inline"><mml:mi mathvariant="bold-italic">E</mml:mi></mml:math></inline-formula>, is derived from the SAFRAN Météo-France temperature <xref ref-type="bibr" rid="bib1.bibx78 bib1.bibx88" id="paren.108"/> disaggregated from 8 <inline-formula><mml:math id="M178" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> to 500 <inline-formula><mml:math id="M179" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>, using the Oudin formula <xref ref-type="bibr" rid="bib1.bibx71" id="paren.109"/> to obtain daily interannual potential evapotranspiration. The flow direction, <inline-formula><mml:math id="M180" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">D</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, comes from HydroDem <xref ref-type="bibr" rid="bib1.bibx56" id="paren.110"/>. The land cover data, <inline-formula><mml:math id="M181" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M182" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M183" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M184" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, are derived from CORINE Land Cover 2018 (<uri>https://doi.org/10.2909/71c95a07-e296-44fc-b22b-415f42acfdf0</uri>, last access: 25 July 2025), rasterized at 50 <inline-formula><mml:math id="M185" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> and upscaled to 500 <inline-formula><mml:math id="M186" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> using the average resampling method. The topographic slope, <inline-formula><mml:math id="M187" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">5</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, is derived from the HydroDem DEM <xref ref-type="bibr" rid="bib1.bibx56" id="paren.111"/> using the gdaldem slope. The drainage density, <inline-formula><mml:math id="M188" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, comes from <xref ref-type="bibr" rid="bib1.bibx69" id="text.112"/>, representing the number of cells crossed by a river. The percentage of karst, <inline-formula><mml:math id="M189" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">7</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, comes from BDLISA (<uri>https://bdlisa.eaufrance.fr</uri>, last access: 25 July 2025), rasterized at 50 <inline-formula><mml:math id="M190" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> and upscaled to 500 <inline-formula><mml:math id="M191" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> using the average resampling method. The discharge time series, <inline-formula><mml:math id="M192" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">Q</mml:mi><mml:mo mathvariant="bold">*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>, comes from the HydroPortail Service Central Vigicrues (<uri>https://hydro.eaufrance.fr</uri>, last access: 25 July 2025).</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="justify" colwidth="60mm"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:colspec colnum="5" colname="col5" align="justify" colwidth="60mm"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Notation</oasis:entry>
         <oasis:entry colname="col2">Type</oasis:entry>
         <oasis:entry colname="col3">Description</oasis:entry>
         <oasis:entry colname="col4">Unit</oasis:entry>
         <oasis:entry colname="col5">Source</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M193" display="inline"><mml:mi mathvariant="bold-italic">P</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Atmospheric forcing</oasis:entry>
         <oasis:entry colname="col3">Liquid precipitation</oasis:entry>
         <oasis:entry colname="col4">(<inline-formula><mml:math id="M194" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">h</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col5">Antilope J+1 from Météo-France <xref ref-type="bibr" rid="bib1.bibx19" id="paren.113"/></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M195" display="inline"><mml:mi mathvariant="bold-italic">E</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Atmospheric forcing</oasis:entry>
         <oasis:entry colname="col3">Potential evapotranspiration using the Oudin formula <xref ref-type="bibr" rid="bib1.bibx71" id="paren.114"/></oasis:entry>
         <oasis:entry colname="col4">(<inline-formula><mml:math id="M196" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">h</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col5">SAFRAN temperature from Météo-France  <xref ref-type="bibr" rid="bib1.bibx78 bib1.bibx88" id="paren.115"/></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M197" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">D</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Topography</oasis:entry>
         <oasis:entry colname="col3">Flow direction</oasis:entry>
         <oasis:entry colname="col4">(–)</oasis:entry>
         <oasis:entry colname="col5">HydroDem <xref ref-type="bibr" rid="bib1.bibx56" id="paren.116"/></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M198" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (<italic>artif</italic>)</oasis:entry>
         <oasis:entry colname="col2">Land cover</oasis:entry>
         <oasis:entry colname="col3">Artificial cover rate</oasis:entry>
         <oasis:entry colname="col4">(–)</oasis:entry>
         <oasis:entry colname="col5">CORINE Land Cover 2018</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M199" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (<italic>forest</italic>)</oasis:entry>
         <oasis:entry colname="col2">Land cover</oasis:entry>
         <oasis:entry colname="col3">Forest cover rate</oasis:entry>
         <oasis:entry colname="col4">(–)</oasis:entry>
         <oasis:entry colname="col5">CORINE Land Cover 2018</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M200" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (<italic>veg</italic>)</oasis:entry>
         <oasis:entry colname="col2">Land cover</oasis:entry>
         <oasis:entry colname="col3">Vegetation cover rate</oasis:entry>
         <oasis:entry colname="col4">(–)</oasis:entry>
         <oasis:entry colname="col5">CORINE Land Cover 2018</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M201" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (<italic>ow</italic>)</oasis:entry>
         <oasis:entry colname="col2">Land cover</oasis:entry>
         <oasis:entry colname="col3">Open water cover rate</oasis:entry>
         <oasis:entry colname="col4">(–)</oasis:entry>
         <oasis:entry colname="col5">CORINE Land Cover 2018</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M202" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">5</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (<italic>slope</italic>)</oasis:entry>
         <oasis:entry colname="col2">Topography</oasis:entry>
         <oasis:entry colname="col3">Topographic slope</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M203" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="italic">°</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">HydroDem <xref ref-type="bibr" rid="bib1.bibx56" id="paren.117"/></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M204" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (<italic>ddr</italic>)</oasis:entry>
         <oasis:entry colname="col2">Topography</oasis:entry>
         <oasis:entry colname="col3">Drainage density</oasis:entry>
         <oasis:entry colname="col4">(–)</oasis:entry>
         <oasis:entry colname="col5">
                        <xref ref-type="bibr" rid="bib1.bibx69" id="text.118"/>
                      </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M205" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">7</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (<italic>karst</italic>)</oasis:entry>
         <oasis:entry colname="col2">Hydrogeology</oasis:entry>
         <oasis:entry colname="col3">Percentage of karst</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M206" display="inline"><mml:mrow class="unit"><mml:mo>(</mml:mo><mml:mi mathvariant="normal">%</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">BDLISA (<uri>https://bdlisa.eaufrance.fr</uri>, last access: 25 July 2025)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M207" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">Q</mml:mi><mml:mo mathvariant="bold">*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Hydrometric</oasis:entry>
         <oasis:entry colname="col3">Discharge time series</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M208" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">HydroPortail SCHAPI (<uri>https://hydro.eaufrance.fr</uri>, last access: 25 July 2025)</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup>

</oasis:table></table-wrap>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e5215">Location of the catchments for the CONUS <bold>(a)</bold> and France <bold>(b)</bold> applications. For the split-sample test over CONUS, all 482 catchments from the CAMELS dataset <xref ref-type="bibr" rid="bib1.bibx1" id="paren.119"/> are used (orange and black circles), whereas for the regionalization, a subset of 398 catchments is used (only orange circles), removing catchments whose performance is less than 0.75 KGE from local calibration. For the France application over the Aude River, a set of 25 sub-catchments is used for regionalization, with 12 upstream catchments (red-shaded regions) and 13 downstream catchments (gray-shaded regions).</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f07.png"/>

          
        </fig>

</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>CONUS  –  CAMELS:  split-sample temporal cross-validation</title>
<sec id="Ch1.S4.SS2.SSS1">
  <label>4.2.1</label><title>Numerical experiment settings</title>
      <p id="d2e5250">A set of 482 catchments (Fig. <xref ref-type="fig" rid="F7"/>) is modeled with the following experimental design: <list list-type="bullet"><list-item>
      <p id="d2e5257">A set of hydrological models is considered, including four GR-like structures <xref ref-type="bibr" rid="bib1.bibx75" id="paren.120"/> (<inline-formula><mml:math id="M209" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>gr4</italic>, <italic>gr5</italic>, <italic>grd</italic>, <italic>loieau</italic>) and one VIC-like structure <xref ref-type="bibr" rid="bib1.bibx59" id="paren.121"/> (<inline-formula><mml:math id="M210" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>vic3l</italic>). The way in which these models are integrated into <monospace>smash</monospace>, which differs from the original models, is described in the documentation (<uri>https://smash.recover.inrae.fr/math_num_documentation/forward_structure.html</uri>, last access: 25 July 2025) in the forward structure section. For each hydrological model, the same snow module (<inline-formula><mml:math id="M211" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">snw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>ssn</italic>) and routing module (<inline-formula><mml:math id="M212" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">hy</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>kw</italic>) are used. A description of the calibrated parameters is provided in Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/>.</p></list-item><list-item>
      <p id="d2e5342">A split-sample temporal validation procedure <xref ref-type="bibr" rid="bib1.bibx53" id="paren.122"/> is set up, splitting the time window covered by hydrometric data into two complementary subsets over sub-periods of 7 <inline-formula><mml:math id="M213" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>: <inline-formula><mml:math id="M214" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> (from 1 August 2000 to 31 July 2007) and <inline-formula><mml:math id="M215" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> (from 1 August 2007 to 31 July 2014) are both used for calibration and validation. For each period, the 10 preceding years are used as model “warm-up”.</p></list-item><list-item>
      <p id="d2e5377">Two calibration mappings on each catchment are tested, including spatially uniform parameters (gradient-free optimization) and spatially distributed parameters (gradient-based optimization).</p></list-item><list-item>
      <p id="d2e5381">A single-gauge cost function based on the KGE (<inline-formula><mml:math id="M216" display="inline"><mml:mrow><mml:mi>J</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mtext>KGE</mml:mtext></mml:mrow></mml:math></inline-formula>) is used.</p></list-item></list></p>
</sec>
<sec id="Ch1.S4.SS2.SSS2">
  <label>4.2.2</label><title>Results</title>
      <p id="d2e5408">The performance of the models resulting from the spatially uniform or distributed calibration is evaluated using the Kling–Gupta efficiency (KGE) for both the calibration and the validation in period <inline-formula><mml:math id="M217" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> only for brevity in this software article (Fig. <xref ref-type="fig" rid="F8"/>). Overall, performance is satisfactory, with a median between 0.8 and 0.87 for KGE over the calibration period and between 0.72 and 0.78 for KGE over the validation period. With regard to the calibration method, for any model, calibration and validation performances are better with a spatially distributed calibration. This is an expected result for the calibration period, given that spatially distributed calibration is over-parameterized and offers the maximum level of flexibility in the search for the optimal set of parameters, unlike spatially uniform calibration, which is under-parameterized, imposing a single parameter set for each catchment. However, despite this over-parameterization with calibration of spatially distributed parameters, which can lead to over-fitting over the calibration period, the models offer good performance in temporal validation. The differences between the structures are mainly explained by (i) the varying levels of model complexity, two parameters for the <italic>grd</italic> model and four for the <italic>gr5</italic> model, and (ii) the expert knowledge of the different models, which influences, among other things, the choice of initial values, bounds, and parameters to be optimized. The <monospace>smash</monospace> historical development based on the GR-like models led to much more substantial expert knowledge than for the VIC-like model recently implemented. Summary statistics of the calibrated parameters are provided in Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/>.</p>

      <fig id="F8" specific-use="star"><label>Figure 8</label><caption><p id="d2e5437">Comparison of the Kling–Gupta efficiency (KGE) performance of different <monospace>smash</monospace> hydrological models under spatially uniform and distributed calibration. The models evaluated include <italic>gr4</italic>, <italic>gr5</italic>, <italic>grd</italic>, <italic>loieau</italic>, and <italic>vic3l</italic>. Panel <bold>(a)</bold> shows results for the calibration, while panel <bold>(b)</bold> displays results for temporal validation in period <inline-formula><mml:math id="M218" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>. For each model, results are shown for spatially uniform (solid boxes) and spatially distributed (hatched boxes) calibrations, with the median value highlighted at the top of the boxplot.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f08.png"/>

          </fig>

      <p id="d2e5481">Concerning the spatial distribution of KGE values (Fig. <xref ref-type="fig" rid="F9"/>), the results for the <italic>gr4</italic> hydrological model after a spatially distributed calibration show that the best performances are located over the east and west sides of CONUS, while the worst performances are located over the Great Plains area. This spatial pattern of hydrological model performance has also been obtained in other studies <xref ref-type="bibr" rid="bib1.bibx68 bib1.bibx5 bib1.bibx64" id="paren.123"/>.</p>

      <fig id="F9" specific-use="star"><label>Figure 9</label><caption><p id="d2e5495">Spatial distribution of the Kling–Gupta efficiency (KGE) scores across different catchments for the <italic>gr4</italic> model under local calibration with spatially distributed parameters. Panel <bold>(a)</bold> shows KGE scores during the calibration period, while panel <bold>(b)</bold> shows results for temporal validation, using the <inline-formula><mml:math id="M219" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> period.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f09.png"/>

          </fig>

</sec>
</sec>
<sec id="Ch1.S4.SS3">
  <label>4.3</label><title>CONUS  –  CAMELS:  regionalization</title>
<sec id="Ch1.S4.SS3.SSS1">
  <label>4.3.1</label><title>Numerical experiment settings</title>
      <p id="d2e5539">A set of 398 catchments (Fig. <xref ref-type="fig" rid="F7"/>) from the CAMELS dataset <xref ref-type="bibr" rid="bib1.bibx1" id="paren.124"/> is evaluated in a regionalization context at a spatial resolution of <inline-formula><mml:math id="M220" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">1</mml:mn><mml:mo>′</mml:mo></mml:msup><mml:msup><mml:mn mathvariant="normal">30</mml:mn><mml:mrow><mml:mo>′</mml:mo><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> and at a daily time step using worldwide databases (Table <xref ref-type="table" rid="T3"/>). The experimental design is as follows:</p>
      <p id="d2e5568"><list list-type="bullet">
              <list-item>

      <p id="d2e5573">A subset of catchments from Sect. <xref ref-type="sec" rid="Ch1.S4.SS2"/> is selected, eliminating catchments where <inline-formula><mml:math id="M221" display="inline"><mml:mrow><mml:mtext>KGE</mml:mtext><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0.75</mml:mn></mml:mrow></mml:math></inline-formula> from local calibration. This selection is made in order to avoid introducing catchments whose performance could greatly degrade the calibration metric in a multi-gauge context.</p>
              </list-item>
              <list-item>

      <p id="d2e5593">One hydrological model is considered, which is identical to the <italic>gr4</italic> model in Sect. <xref ref-type="sec" rid="Ch1.S4.SS2"/> with the same snow and routing module (<inline-formula><mml:math id="M222" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">snw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>ssn</italic>, <inline-formula><mml:math id="M223" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>gr4</italic>, and <inline-formula><mml:math id="M224" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">hy</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>kw</italic>). A description of the calibrated parameters is provided in  Appendix <xref ref-type="sec" rid="App1.Ch1.S2"/>.</p>
              </list-item>
              <list-item>

      <p id="d2e5649">A spatiotemporal validation procedure is set up by the following: <list list-type="bullet"><list-item>
      <p id="d2e5654">splitting the time window covered by hydrometric data into two complementary subsets over sub-periods of 7 <inline-formula><mml:math id="M225" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>: <inline-formula><mml:math id="M226" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> (from 1 August 2000 to 31 July 2007) and <inline-formula><mml:math id="M227" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> (from 1 August 2007 to 31 July 2014), with <inline-formula><mml:math id="M228" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> used as the calibration period and <inline-formula><mml:math id="M229" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> as the validation period (for each period, 10 <inline-formula><mml:math id="M230" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> is used as model “warm-up”);</p></list-item><list-item>
      <p id="d2e5715">randomly splitting the catchment set into four groups, calibrating on three of the groups with the fourth group held out and used for validation, and then rotating them such that each group is used for validation once.</p></list-item></list></p>
              </list-item>
              <list-item>

      <p id="d2e5721">Three calibration mappings across the whole CONUS are tested: <list list-type="bullet"><list-item>
      <p id="d2e5726"><italic>Uniform</italic>. Spatially uniform parameters (gradient-free optimization) are used.</p></list-item><list-item>
      <p id="d2e5732"><italic>Multi-linear</italic>. Multiple linear regression is used as a transfer function from descriptors to spatialized parameters (gradient-based optimization).</p></list-item><list-item>
      <p id="d2e5738"><italic>ANN</italic>. A multi-layer perceptron composed of three hidden layers is used as a transfer function from descriptors to spatialized parameters (gradient-based optimization).</p></list-item></list></p>
              </list-item>
              <list-item>

      <p id="d2e5746">A multi-gauge cost function is used based on the average KGE of the calibrated catchments (<inline-formula><mml:math id="M231" display="inline"><mml:mrow><mml:mi>J</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:msup><mml:mo>∑</mml:mo><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow></mml:msup><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mtext>KGE</mml:mtext></mml:mrow></mml:math></inline-formula>).</p>
              </list-item>
              <list-item>

      <p id="d2e5788">A final calibration is performed over the total period <inline-formula><mml:math id="M232" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>, including all gauges with the ANN mapping and the same multi-gauge cost function used to analyze the output model parameters and their correlations with input descriptors.</p>
              </list-item>
            </list></p>

      <fig id="F10" specific-use="star"><label>Figure 10</label><caption><p id="d2e5811">Spatiotemporal validation performance over period <inline-formula><mml:math id="M233" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>. The boxplots in panel <bold>(a)</bold> represent the distribution of Kling–Gupta efficiency (KGE) scores for three calibration methods: uniform, multi-linear, and artificial neural network (ANN). Median values are displayed at the top of each boxplot. The map in panel <bold>(b)</bold> illustrates the spatial distribution of the KGE values for the ANN mapping across different catchments.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f10.png"/>

          </fig>

</sec>
<sec id="Ch1.S4.SS3.SSS2">
  <label>4.3.2</label><title>Results</title>
      <p id="d2e5844">The regional calibration over the CAMELS dataset was performed on four groups of randomly selected catchments, as explained above. The performances in the spatial and/or temporal validation are shown in Fig. <xref ref-type="fig" rid="F10"/> and detailed by catchment group in Table <xref ref-type="table" rid="TB2"/> for the ANN mapping, which is the best performer. In the spatiotemporal validation, the most challenging extrapolation case, a uniform mapping leads to a median KGE of 0.5, while the two regionalization methods result in a KGE of 0.61 or 0.63 respectively for multi-linear and ANN mapping. These fairly good performances, obtained with a relatively simple setup in terms of descriptors and cost function in particular, are comparable with regionalization works in the literature <xref ref-type="bibr" rid="bib1.bibx65 bib1.bibx7 bib1.bibx31" id="paren.125"/>. In a manner similar to the previous section (Sect. <xref ref-type="sec" rid="Ch1.S4.SS2"/>), the worst performances are found in the Great Plains and, more clearly than in the local calibrations, in the western part of the country.</p>
      <p id="d2e5856">Following the evaluation of performance in spatiotemporal validation, a regional calibration with the ANN mapping over the period including <inline-formula><mml:math id="M234" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M235" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> and with all gauges is carried out. This calibration enables us to analyze the correlations between the physiographic descriptors and the parameters obtained (Fig. <xref ref-type="fig" rid="F11"/>) in a more robust way than with the various spatiotemporal validation groups. The correlation matrix highlights significant linear correlations, notably between the melt coefficient (<inline-formula><mml:math id="M236" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>mlt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>) and the topographical slope (<inline-formula><mml:math id="M237" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>), the size of the production reservoir (<inline-formula><mml:math id="M238" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) and the mean annual rainfall (<inline-formula><mml:math id="M239" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>), and the moisture content (<inline-formula><mml:math id="M240" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) and the routing parameters (<inline-formula><mml:math id="M241" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M242" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>) with the same moisture content (<inline-formula><mml:math id="M243" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>). Conversely, the exchange parameter (<inline-formula><mml:math id="M244" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>), a parameter directly affecting the model's mass balance in a non-conservative way, shows almost no linear correlation with the descriptors and is almost spatially uniform over the whole domain around the value of 0. While a detailed regionalization study on CAMELS datasets using our original adjoint-based algorithms is beyond the scope of this software article, the achieved performance across this large sample already showcases the algorithm's potential for global applicability. It also demonstrates the algorithm's effectiveness in enforcing spatially distributed hydrologic model constraints at the pixel scale, leading to seamless parameter maps at a reasonable computational cost. Regarding computation times, the calibration with ANN mapping over periods <inline-formula><mml:math id="M245" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M246" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> took 95 <inline-formula><mml:math id="M247" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula>. This calibration involved 350 iterations, corresponding to 350 calls to the adjoint model, and was performed using 16 threads. For comparison, a single adjoint model run takes approximately 16 <inline-formula><mml:math id="M248" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">min</mml:mi></mml:mrow></mml:math></inline-formula>, whereas a direct model run takes around 5 <inline-formula><mml:math id="M249" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">min</mml:mi></mml:mrow></mml:math></inline-formula> using the same number of threads.</p>

      <fig id="F11" specific-use="star"><label>Figure 11</label><caption><p id="d2e6028">Analysis of input descriptors and output model parameters for the ANN mapping. Spatial distribution of physical descriptors (<inline-formula><mml:math id="M250" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math id="M251" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">6</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) in the top panel, with details provided in Table <xref ref-type="table" rid="T3"/>. Spatial distribution of calibrated hydrological parameters (<inline-formula><mml:math id="M252" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>mlt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M253" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M254" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>,  <inline-formula><mml:math id="M255" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M256" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M257" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>) in the lower-left panel and linear correlation between descriptors and parameters in the lower-right panel.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f11.png"/>

          </fig>

      <p id="d2e6129">Finally, leveraging the fully distributed nature of <monospace>smash</monospace>, regional streamflow maps can be generated. An example is shown in Fig. <xref ref-type="fig" rid="F12"/>, which illustrates the dynamics of Hurricane Katrina over a 6 <inline-formula><mml:math id="M258" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">d</mml:mi></mml:mrow></mml:math></inline-formula> period from 27 August to 1 September 2005. Notably, the routing model used in this exercise, the kinematic wave, was applied uniformly across the entire domain, including areas outside its validity range, such as downstream of major rivers on flat topography. Further work focuses on enriching <monospace>smash</monospace> with hydraulic models, starting with a  1D and 2D dynamic wave model that neglects the convective acceleration term but retains local acceleration and pressure gradient terms <xref ref-type="bibr" rid="bib1.bibx4" id="paren.126"/> for numerical implementation simplicity. Additionally, physics-based differential equations for hydrologic water balance at the pixel scale will be incorporated. Hybrid physics–AI formulations, which embed neural networks capable of learning parameterization and potentially uncertain model operators from data, can be explored thanks to the differentiable nature of the models within <monospace>smash</monospace>.</p>

      <fig id="F12" specific-use="star"><label>Figure 12</label><caption><p id="d2e6157">Streamflow dynamics during Hurricane Katrina from 27 August to 1 September 2005 for the ANN mapping. Each panel depicts the streamflow distribution across the affected region. To visualize the temporal evolution of the spatialized discharge pattern,  note that the kinematic wave routing was applied on flat topography, i.e., out of its validity range.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f12.png"/>

          </fig>

      <fig id="F13" specific-use="star"><label>Figure 13</label><caption><p id="d2e6168">Performance in spatiotemporal validation over period <inline-formula><mml:math id="M259" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> using calibration on upstream gauges (triangles). The boxplots in panel <bold>(a)</bold> represent the distribution of Nash–Sutcliffe efficiency (NSE) scores for the three calibration methods: uniform, multi-linear, and ANN. Median values are displayed at the top of each boxplot. The map in panel <bold>(b)</bold> illustrates the spatial distribution of the NSE values for the ANN mapping for the downstream validation catchments.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f13.png"/>

          </fig>

      <fig id="F14" specific-use="star"><label>Figure 14</label><caption><p id="d2e6195">Analysis of input descriptors and output model parameters for the ANN descriptor-to-parameter mapping. Spatial distribution of physical descriptors (<inline-formula><mml:math id="M260" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math id="M261" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">7</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) in the top panel, with details provided in Table <xref ref-type="table" rid="T4"/>. Spatial distribution of calibrated hydrological parameters (<inline-formula><mml:math id="M262" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M263" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>,  <inline-formula><mml:math id="M264" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M265" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M266" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>) in the lower-left panel and linear correlation between descriptors and parameters in the lower-right panel.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f14.png"/>

          </fig>

      <fig id="F15" specific-use="star"><label>Figure 15</label><caption><p id="d2e6287">Observed and simulated streamflow of the six most downstream gauges of the Aude River for the ANN mapping. Each panel represents streamflow (<inline-formula><mml:math id="M267" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>) for a specific gauge. The dashed black lines indicate observed values (Obs), while the solid red lines represent simulated values (Sim).</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f15.png"/>

          </fig>

      <fig id="F16" specific-use="star"><label>Figure 16</label><caption><p id="d2e6318">Spatially distributed gradients of the cost function <inline-formula><mml:math id="M268" display="inline"><mml:mi>J</mml:mi></mml:math></inline-formula> with respect to the model parameters at initial and final iterations for ANN mapping. The first row shows the gradients <inline-formula><mml:math id="M269" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">θ</mml:mi><mml:mo mathvariant="bold">*</mml:mo></mml:msup></mml:mrow></mml:msub><mml:mi>J</mml:mi></mml:mrow></mml:math></inline-formula> at the initial iteration, while the second row presents the gradients <inline-formula><mml:math id="M270" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mover accent="true"><mml:mi mathvariant="bold-italic">θ</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover></mml:msub><mml:mi>J</mml:mi></mml:mrow></mml:math></inline-formula> at the final iteration after optimization. Each column corresponds to the partial derivative of <inline-formula><mml:math id="M271" display="inline"><mml:mi>J</mml:mi></mml:math></inline-formula> with respect to a specific parameter: <inline-formula><mml:math id="M272" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M273" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M274" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M275" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M276" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>. These gradients are used in the optimization process of the control vector <inline-formula><mml:math id="M277" display="inline"><mml:mi mathvariant="bold-italic">ρ</mml:mi></mml:math></inline-formula> using <inline-formula><mml:math id="M278" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold-italic">ρ</mml:mi></mml:msub><mml:mi>J</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold-italic">θ</mml:mi></mml:msub><mml:mi>J</mml:mi><mml:mo>.</mml:mo><mml:msub><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold-italic">ρ</mml:mi></mml:msub><mml:mi mathvariant="bold-italic">θ</mml:mi></mml:mrow></mml:math></inline-formula> with <inline-formula><mml:math id="M279" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">θ</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="script">N</mml:mi><mml:mo>(</mml:mo><mml:mo>.</mml:mo><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">ρ</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M280" display="inline"><mml:mi mathvariant="script">N</mml:mi></mml:math></inline-formula> is the multi-layer perceptron used.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/7003/2025/gmd-18-7003-2025-f16.png"/>

          </fig>

</sec>
</sec>
<sec id="Ch1.S4.SS4">
  <label>4.4</label><title>France  –  Aude River:  high-resolution regionalization</title>
<sec id="Ch1.S4.SS4.SSS1">
  <label>4.4.1</label><title>Numerical experiment settings</title>
      <p id="d2e6514">A set of 35 catchments (Fig. <xref ref-type="fig" rid="F7"/>) over the Aude River in France <xref ref-type="bibr" rid="bib1.bibx1" id="paren.127"/> is evaluated in a regionalization context at a spatial resolution of 500 <inline-formula><mml:math id="M281" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> and at an hourly time step using national databases (Table <xref ref-type="table" rid="T4"/>). This section is similar to the previous one, using the same regionalization method, but with differences in the gauges selected for calibration and validation and differences in the cost function. This section focuses on national data at a finer spatiotemporal scale, applying the method at the watershed level, which is more relevant for operational flood forecasting. The experimental design is as follows:</p>
      <p id="d2e6532"><list list-type="bullet">
              <list-item>

      <p id="d2e6537">One hydrological model is considered, identical to the <italic>gr4</italic> model in Sect. <xref ref-type="sec" rid="Ch1.S4.SS2"/> with the same routing module but without any snow modeling given the limited impact of snow in this Mediterranean basin (<inline-formula><mml:math id="M282" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">snw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>zero</italic>, <inline-formula><mml:math id="M283" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>gr4</italic>, <inline-formula><mml:math id="M284" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">hy</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>kw</italic>). A description of the calibrated parameters is provided in Appendix <xref ref-type="sec" rid="App1.Ch1.S3"/>.</p>
              </list-item>
              <list-item>

      <p id="d2e6593">A spatiotemporal validation procedure is set up by the following: <list list-type="bullet"><list-item>
      <p id="d2e6598">splitting the time window covered by hydrometric data into two complementary subsets over sub-periods of 4 <inline-formula><mml:math id="M285" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>: <inline-formula><mml:math id="M286" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> (from 1 August 2015 to 31 July 2019) and <inline-formula><mml:math id="M287" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> (from 1 August 2019 to 31 July 2023), with <inline-formula><mml:math id="M288" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> used as the calibration period and <inline-formula><mml:math id="M289" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> as the validation period (for each period, 1 <inline-formula><mml:math id="M290" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">year</mml:mi></mml:mrow></mml:math></inline-formula> is used as model “warm-up”)</p></list-item><list-item>
      <p id="d2e6659">splitting the catchment set into two groups, upstream and downstream, calibrating on the upstream group and validating on the downstream group.</p></list-item></list></p>
              </list-item>
              <list-item>

      <p id="d2e6665">Three calibration mappings across the whole Aude River are tested: <list list-type="bullet"><list-item>
      <p id="d2e6670"><italic>Uniform</italic>. Spatially uniform parameters (gradient-free optimization) are used.</p></list-item><list-item>
      <p id="d2e6676"><italic>Multi-linear</italic>. Multiple linear regression is used as the transfer function from descriptors to spatialized parameters (gradient-based optimization).</p></list-item><list-item>
      <p id="d2e6682"><italic>ANN</italic>. A multi-layer perceptron composed of three hidden layers is used as the transfer function from descriptors to spatialized parameters (gradient-based optimization).</p></list-item></list></p>
              </list-item>
              <list-item>

      <p id="d2e6690">A multi-gauge cost function is used based on the average NSE of the calibrated catchments (<inline-formula><mml:math id="M291" display="inline"><mml:mrow><mml:mi>J</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:msup><mml:mo>∑</mml:mo><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>G</mml:mi></mml:msub></mml:mrow></mml:msup><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mtext>NSE</mml:mtext><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>).</p>
              </list-item>
            </list></p>
</sec>
<sec id="Ch1.S4.SS4.SSS2">
  <label>4.4.2</label><title>Results</title>
      <p id="d2e6742">The results of the regional mappings were validated on downstream gauges following <xref ref-type="bibr" rid="bib1.bibx46" id="text.128"/>. The spatiotemporal validation performance, which assesses the model outside of the calibration gauges and period, is particularly challenging at such a high resolution and given the complex variabilities of physical factors and hydrological responses over this Mediterranean flash-flood-prone case. The results are shown in validation only, for brevity again, in Fig. <xref ref-type="fig" rid="F13"/>. A uniform mapping yields a poor median NSE of 0.15, while descriptor-to-parameter mappings achieve 0.62 and 0.69 for multi-linear and ANN approaches respectively. Conceptual parameter maps obtained by learning from physical descriptors are shown in Fig. <xref ref-type="fig" rid="F14"/> for the ANN mapping only (with the best NSE result). The correlation matrix highlights significant correlations, especially between production capacity (<inline-formula><mml:math id="M292" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) and topographic slope (<inline-formula><mml:math id="M293" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">5</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) and between exchange parameter (<inline-formula><mml:math id="M294" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>) or routing parameter (<inline-formula><mml:math id="M295" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>) and topographic slope (<inline-formula><mml:math id="M296" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">5</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>). For each parameter, a correlation is also found with vegetation cover rate (<inline-formula><mml:math id="M297" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) or forest cover rate (<inline-formula><mml:math id="M298" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>). This illustrates the interpretability of our neural-network-based regionalization algorithm in the space of conceptual model parameters. Regarding computation times, the calibration with ANN mapping over period <inline-formula><mml:math id="M299" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> took 31 <inline-formula><mml:math id="M300" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula>. This calibration involved 350 iterations, corresponding to 350 calls to the adjoint model, and was performed using 10 threads. For comparison, a single adjoint model run takes approximately 6 <inline-formula><mml:math id="M301" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">min</mml:mi></mml:mrow></mml:math></inline-formula>, whereas a direct model run takes around 1 <inline-formula><mml:math id="M302" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">min</mml:mi></mml:mrow></mml:math></inline-formula> and 30 <inline-formula><mml:math id="M303" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula> using the same number of threads. A key feature of <monospace>smash</monospace> is its ability to accurately and efficiently compute spatially distributed cost gradients, as shown in Fig. <xref ref-type="fig" rid="F16"/> in the conceptual parameter (<inline-formula><mml:math id="M304" display="inline"><mml:mi mathvariant="bold-italic">θ</mml:mi></mml:math></inline-formula>) space for interpretability, in the case of a differentiable spatially distributed hydrological model that includes an NN-based regionalization mapping and a kinematic wave routing model (the partial differential equation numerical solver  also being differentiated). Finally, simulated hydrographs are plotted for the six most downstream validation gauges in Fig. <xref ref-type="fig" rid="F15"/>, with better reproduction for most downstream gauges in the present test configuration with the calibrated ANN regionalization (in agreements with results of <xref ref-type="bibr" rid="bib1.bibx46" id="altparen.129"/>, over the whole French Mediterranean region).</p>
      <p id="d2e6891">These performances are very encouraging since they were obtained with a relatively simple regionalization setup in a complex flash-flood-prone area. Further research with <monospace>smash</monospace> will focus on improving the versatility of the hydrological model to better account for high rainfall intensities (e.g., <xref ref-type="bibr" rid="bib1.bibx73" id="altparen.130"/>) or groundwater/karstic effects, with classical or hybrid differential equations capable of learning from data at multiple scales, and to enrich  regionalization algorithms with advanced cost functions and spatial relaxation/regularization strategies. These improvements are necessary to better extract information with the VDA algorithm from multiple discharge gauges and other data sources (descriptors, satellite moisture, temperature, etc.). Additionally, incorporating more realistic hydraulic routing embedded within the differentiable hydrologic model will also enable the integration of hydraulic information (water levels, flow videos, etc.), as introduced in <xref ref-type="bibr" rid="bib1.bibx77" id="text.131"/>.</p>
</sec>
</sec>
</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Other <monospace>smash</monospace> features</title>
      <p id="d2e6918">In addition to the core differentiable spatialized hydrological solvers and regionalization learning algorithms illustrated above, <monospace>smash</monospace> enables performing the following: <list list-type="bullet"><list-item>
      <p id="d2e6926">automatic hydrograph segmentation and flood detection over large samples <xref ref-type="bibr" rid="bib1.bibx44" id="paren.132"/>;</p></list-item><list-item>
      <p id="d2e6933">parameter calibration using signature-based cost functions <xref ref-type="bibr" rid="bib1.bibx44" id="paren.133"/> in addition to continuous metrics;</p></list-item><list-item>
      <p id="d2e6940">parameter calibration using a spatial regularization term <xref ref-type="bibr" rid="bib1.bibx48" id="paren.134"/>;</p></list-item><list-item>
      <p id="d2e6947">initial state estimation, including with regionalization mapping, even over short time windows, which is applicable to short-range VDA for operational forecasting;</p></list-item><list-item>
      <p id="d2e6951">simulation of discharge ensembles from rainfall ensemble forecasting;</p></list-item><list-item>
      <p id="d2e6955">Bayesian approach for parameter estimation and uncertainty quantification, with the consideration of structural model errors and observation errors.</p></list-item></list></p>
</sec>
<sec id="Ch1.S6" sec-type="conclusions">
  <label>6</label><title>Conclusions</title>
      <p id="d2e6966">The recently released <monospace>smash</monospace> framework represents an advancement in modular, regionalizable, and differentiable numerical modeling, as well as in hydrological data assimilation. This conclusion synthesizes the key principles, implementation features, performance indicators, and future prospects of <monospace>smash</monospace>, as presented in this article.</p>
      <p id="d2e6975"><monospace>smash</monospace> is built around three foundational principles: a modular operator chaining, enabling flexible representation of vertical and lateral hydrological processes; a regionalization mapping through hybrid approaches, combining conceptual models with descriptor-to-parameter neural networks; and a robust inverse algorithm that supports VDA.</p>
      <p id="d2e6980">The software leverages automatic differentiation to facilitate gradient-based calibration. Its seamless integration with Python via f90wrap ensures user-friendly access and flexibility, complemented by an automatic build system that simplifies deployment. Furthermore, <monospace>smash</monospace> supports parallel computing on CPUs, significantly accelerating computations for large-scale applications.</p>
      <p id="d2e6986">In terms of hydrological modeling, <monospace>smash</monospace> achieves interesting results. Using CAMELS datasets, a median <inline-formula><mml:math id="M305" display="inline"><mml:mrow><mml:mtext>KGE</mml:mtext><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0.8</mml:mn></mml:mrow></mml:math></inline-formula> is observed in local spatially distributed calibration for daily GR-like and VIC-like model structures at <inline-formula><mml:math id="M306" display="inline"><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">1</mml:mn><mml:mo>′</mml:mo></mml:msup><mml:msup><mml:mn mathvariant="normal">30</mml:mn><mml:mrow><mml:mo>′</mml:mo><mml:mo>′</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M307" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>). Additionally, regionalization learning across CONUS of conceptual parameters from physical descriptors yields <inline-formula><mml:math id="M308" display="inline"><mml:mrow><mml:mtext>KGE</mml:mtext><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0.6</mml:mn></mml:mrow></mml:math></inline-formula> in spatiotemporal validation. High-resolution hourly modeling at <inline-formula><mml:math id="M309" display="inline"><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">500</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> for Mediterranean flash-flood scenarios demonstrates <inline-formula><mml:math id="M310" display="inline"><mml:mrow><mml:mtext>NSE</mml:mtext><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0.6</mml:mn></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e7087">Planned enhancements to <monospace>smash</monospace> include the integration of additional differentiable hydrological, hydraulic, and land surface models; the expansion of hybrid physics–AI frameworks; and the refinement of data assimilation techniques. These advancements aim to further improve model accuracy, computational efficiency, and applicability in both research and operational settings.</p>
</sec>

      
      </body>
    <back><app-group>

<app id="App1.Ch1.S1">
  <label>Appendix A</label><title>CONUS  –  CAMELS: split-sample temporal cross-validation</title>

<table-wrap id="TA1"><label>Table A1</label><caption><p id="d2e7109">Summary of model operators and their associated parameters. For each operator, the parameter name, description, initial value, and allowable value range are provided.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Operator name</oasis:entry>
         <oasis:entry colname="col2">Parameter name</oasis:entry>
         <oasis:entry colname="col3">Parameter description</oasis:entry>
         <oasis:entry colname="col4">Parameter initial value</oasis:entry>
         <oasis:entry colname="col5">Parameter range</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M311" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">snw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>ssn</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M312" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>mlt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Melt coefficient (<inline-formula><mml:math id="M313" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">°</mml:mi><mml:msup><mml:mi mathvariant="normal">C</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">1</oasis:entry>
         <oasis:entry colname="col5">[0.01, 100]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M314" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>gr4</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M315" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum capacity of the production reservoir (<inline-formula><mml:math id="M316" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">200</oasis:entry>
         <oasis:entry colname="col5">[1, 2000]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M317" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum capacity of the transfer reservoir (<inline-formula><mml:math id="M318" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">500</oasis:entry>
         <oasis:entry colname="col5">[1, 2000]</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M319" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Exchange coefficient (<inline-formula><mml:math id="M320" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">[<inline-formula><mml:math id="M321" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>50, 50]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M322" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>gr5</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M323" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum capacity of the production reservoir (<inline-formula><mml:math id="M324" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">200</oasis:entry>
         <oasis:entry colname="col5">[1, 2000]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M325" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum capacity of the transfer reservoir (<inline-formula><mml:math id="M326" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">500</oasis:entry>
         <oasis:entry colname="col5">[1, 2000]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M327" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Exchange coefficient (<inline-formula><mml:math id="M328" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">[<inline-formula><mml:math id="M329" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>50, 50]</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M330" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Exchange threshold (–)</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">[0.001, 0.999]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M331" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>grd</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M332" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum capacity of the production reservoir (<inline-formula><mml:math id="M333" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">200</oasis:entry>
         <oasis:entry colname="col5">[1, 5000]</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M334" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum capacity of the transfer reservoir (<inline-formula><mml:math id="M335" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">500</oasis:entry>
         <oasis:entry colname="col5">[1, 5000]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M336" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>loieau</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M337" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum capacity of the production reservoir (<inline-formula><mml:math id="M338" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">200</oasis:entry>
         <oasis:entry colname="col5">[1, 2000]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M339" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum capacity of the transfer reservoir (<inline-formula><mml:math id="M340" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">500</oasis:entry>
         <oasis:entry colname="col5">[1, 2000]</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M341" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Transfer coefficient (–)</oasis:entry>
         <oasis:entry colname="col4">1</oasis:entry>
         <oasis:entry colname="col5">[0.01, 4]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M342" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>vic3l</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M343" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Variable infiltration curve parameter (–)</oasis:entry>
         <oasis:entry colname="col4">0.1</oasis:entry>
         <oasis:entry colname="col5">[0.001, 0.4]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M344" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum capacity of the upper soil layer (<inline-formula><mml:math id="M345" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">100</oasis:entry>
         <oasis:entry colname="col5">[10, 500]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M346" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>msl</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum capacity of the medium soil layer (<inline-formula><mml:math id="M347" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">100</oasis:entry>
         <oasis:entry colname="col5">[50, 1000]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M348" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>bsl</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum capacity of the bottom soil layer (<inline-formula><mml:math id="M349" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">100</oasis:entry>
         <oasis:entry colname="col5">[500, 2500]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M350" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Saturated hydraulic conductivity (<inline-formula><mml:math id="M351" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">20</oasis:entry>
         <oasis:entry colname="col5">Not optimized</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M352" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mtext>bc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Brooks and Corey exponent (–)</oasis:entry>
         <oasis:entry colname="col4">10</oasis:entry>
         <oasis:entry colname="col5">Not optimized</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M353" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Nonlinear baseflow threshold maximum velocity (–)</oasis:entry>
         <oasis:entry colname="col4">0.01</oasis:entry>
         <oasis:entry colname="col5">[0.001, 1]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M354" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mtext mathvariant="italic">sm</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum velocity of baseflow (<inline-formula><mml:math id="M355" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">0.5</oasis:entry>
         <oasis:entry colname="col5">[0.2, 1]</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M356" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Nonlinear baseflow threshold soil moisture (–)</oasis:entry>
         <oasis:entry colname="col4">0.8</oasis:entry>
         <oasis:entry colname="col5">[0.1, 1]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M357" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">hy</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>kw</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M358" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Alpha kinematic wave parameter (–)</oasis:entry>
         <oasis:entry colname="col4">5</oasis:entry>
         <oasis:entry colname="col5">[0.001, 50]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M359" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Beta kinematic wave parameter (–)</oasis:entry>
         <oasis:entry colname="col4">0.6</oasis:entry>
         <oasis:entry colname="col5">[0.001, 1]</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="TA2"><label>Table A2</label><caption><p id="d2e8070">Summary statistics of the calibrated parameters across the set of 482 catchments. For each parameter, the median, standard deviation, and coefficient of variation (<inline-formula><mml:math id="M360" display="inline"><mml:mrow><mml:mi mathvariant="italic">μ</mml:mi><mml:mo>/</mml:mo><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow></mml:math></inline-formula>) are reported for the two calibration configurations:  spatially uniform (“Uniform”) and spatially distributed (“Distributed”). For the spatially distributed calibration, statistics were computed based on the spatial average of parameter values within each catchment.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <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="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Model name</oasis:entry>
         <oasis:entry colname="col2">Parameter name</oasis:entry>
         <oasis:entry colname="col3">Median</oasis:entry>
         <oasis:entry colname="col4">Standard deviation</oasis:entry>
         <oasis:entry colname="col5">Coefficient of variation</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">(Uniform || Distributed)</oasis:entry>
         <oasis:entry colname="col4">(Uniform || Distributed)</oasis:entry>
         <oasis:entry colname="col5">(Uniform || Distributed)</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><italic>gr4</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M361" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>mlt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">1.49 || 1.68</oasis:entry>
         <oasis:entry colname="col4">18.30 || 18.34</oasis:entry>
         <oasis:entry colname="col5">3.14 || 2.92</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M362" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">96.27 || 104.98</oasis:entry>
         <oasis:entry colname="col4">247.65 || 240.72</oasis:entry>
         <oasis:entry colname="col5">1.39 || 1.37</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M363" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">24.86 || 30.42</oasis:entry>
         <oasis:entry colname="col4">278.39 || 262.29</oasis:entry>
         <oasis:entry colname="col5">2.56 || 2.41</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M364" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.19 || 0.05</oasis:entry>
         <oasis:entry colname="col4">7.70 || 7.96</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M365" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>6.77 || <inline-formula><mml:math id="M366" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>5.01</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M367" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">3.61 || 3.55</oasis:entry>
         <oasis:entry colname="col4">13.57 || 13.57</oasis:entry>
         <oasis:entry colname="col5">1.51 || 1.52</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M368" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.34 || 0.34</oasis:entry>
         <oasis:entry colname="col4">0.42 || 0.42</oasis:entry>
         <oasis:entry colname="col5">0.96 || 0.96</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><italic>gr5</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M369" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>mlt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">1.43 || 1.64</oasis:entry>
         <oasis:entry colname="col4">17.72 || 17.67</oasis:entry>
         <oasis:entry colname="col5">3.25 || 3.09</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M370" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">90.03 || 89.75</oasis:entry>
         <oasis:entry colname="col4">211.25 || 201.84</oasis:entry>
         <oasis:entry colname="col5">1.32 || 1.32</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M371" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">23.01 || 31.56</oasis:entry>
         <oasis:entry colname="col4">317.23 || 310.26</oasis:entry>
         <oasis:entry colname="col5">2.72 || 2.60</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M372" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.06 || <inline-formula><mml:math id="M373" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.01</oasis:entry>
         <oasis:entry colname="col4">4.52 || 4.90</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M374" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>21.66 || <inline-formula><mml:math id="M375" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>15.81</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M376" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.14 || 0.13</oasis:entry>
         <oasis:entry colname="col4">0.20 || 0.20</oasis:entry>
         <oasis:entry colname="col5">0.96 || 0.97</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M377" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">3.97 || 3.81</oasis:entry>
         <oasis:entry colname="col4">15.64 || 15.64</oasis:entry>
         <oasis:entry colname="col5">1.45 || 1.46</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M378" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.34 || 0.34</oasis:entry>
         <oasis:entry colname="col4">0.41 || 0.41</oasis:entry>
         <oasis:entry colname="col5">0.95 || 0.95</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><italic>grd</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M379" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>mlt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">1.39 || 1.76</oasis:entry>
         <oasis:entry colname="col4">18.24 || 18.32</oasis:entry>
         <oasis:entry colname="col5">3.23 || 2.91</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M380" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">62.13 || 95.86</oasis:entry>
         <oasis:entry colname="col4">617.23 || 715.60</oasis:entry>
         <oasis:entry colname="col5">2.53 || 2.17</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M381" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">38.84 || 44.99</oasis:entry>
         <oasis:entry colname="col4">356.07 || 384.23</oasis:entry>
         <oasis:entry colname="col5">2.84 || 2.59</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M382" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">1.89 || 1.96</oasis:entry>
         <oasis:entry colname="col4">18.74 || 18.72</oasis:entry>
         <oasis:entry colname="col5">1.55 || 1.55</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M383" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.34 || 0.33</oasis:entry>
         <oasis:entry colname="col4">0.42 || 0.42</oasis:entry>
         <oasis:entry colname="col5">0.92 || 0.92</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><italic>loieau</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M384" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>mlt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">1.46 || 1.65</oasis:entry>
         <oasis:entry colname="col4">18.10 || 18.14</oasis:entry>
         <oasis:entry colname="col5">3.13 || 2.94</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M385" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">134.24 || 306.95</oasis:entry>
         <oasis:entry colname="col4">303.37 || 320.17</oasis:entry>
         <oasis:entry colname="col5">1.33 || 0.82</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M386" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">14.27 || 72.51</oasis:entry>
         <oasis:entry colname="col4">333.68 || 375.33</oasis:entry>
         <oasis:entry colname="col5">2.81 || 1.67</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M387" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">1.10 || 1.17</oasis:entry>
         <oasis:entry colname="col4">0.55 || 0.55</oasis:entry>
         <oasis:entry colname="col5">0.48 || 0.47</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M388" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">2.66 || 3.65</oasis:entry>
         <oasis:entry colname="col4">14.36 || 14.35</oasis:entry>
         <oasis:entry colname="col5">1.64 || 1.48</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M389" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.38 || 0.38</oasis:entry>
         <oasis:entry colname="col4">0.43 || 0.41</oasis:entry>
         <oasis:entry colname="col5">0.92 || 0.89</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><italic>vic3l</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M390" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>mlt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">1.62 || 1.98</oasis:entry>
         <oasis:entry colname="col4">18.23 || 18.15</oasis:entry>
         <oasis:entry colname="col5">2.86 || 2.59</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M391" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.15 || 0.14</oasis:entry>
         <oasis:entry colname="col4">0.15 || 0.15</oasis:entry>
         <oasis:entry colname="col5">0.80 || 0.83</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M392" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">84.36 || 86.63</oasis:entry>
         <oasis:entry colname="col4">122.29 || 121.54</oasis:entry>
         <oasis:entry colname="col5">1.03 || 1.00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M393" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>msl</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">170.56 || 178.35</oasis:entry>
         <oasis:entry colname="col4">361.36 || 359.62</oasis:entry>
         <oasis:entry colname="col5">1.01 || 1.01</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M394" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>bsl</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">1799.74 || 1799.74</oasis:entry>
         <oasis:entry colname="col4">704.74 || 702.97</oasis:entry>
         <oasis:entry colname="col5">0.44 || 0.44</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M395" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.12 || 0.12</oasis:entry>
         <oasis:entry colname="col4">0.33 || 0.32</oasis:entry>
         <oasis:entry colname="col5">1.26 || 1.24</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M396" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mtext mathvariant="italic">sm</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.50 || 0.50</oasis:entry>
         <oasis:entry colname="col4">0.23 || 0.23</oasis:entry>
         <oasis:entry colname="col5">0.45 || 0.45</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M397" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.80 || 0.80</oasis:entry>
         <oasis:entry colname="col4">0.26 || 0.26</oasis:entry>
         <oasis:entry colname="col5">0.34 || 0.34</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M398" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">50.00 || 49.45</oasis:entry>
         <oasis:entry colname="col4">19.93 || 19.89</oasis:entry>
         <oasis:entry colname="col5">0.60 || 0.60</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M399" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.44 || 0.43</oasis:entry>
         <oasis:entry colname="col4">0.31 || 0.30</oasis:entry>
         <oasis:entry colname="col5">0.64 || 0.64</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>


</app>

<app id="App1.Ch1.S2">
  <label>Appendix B</label><title>CONUS  –  CAMELS: regionalization</title>

<table-wrap id="TB1"><label>Table B1</label><caption><p id="d2e9083">Summary of model operators and their associated parameters. For each operator, the parameter name, description, initial value, and allowable value range are provided.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Operator name</oasis:entry>
         <oasis:entry colname="col2">Parameter name</oasis:entry>
         <oasis:entry colname="col3">Parameter description</oasis:entry>
         <oasis:entry colname="col4">Parameter initial value</oasis:entry>
         <oasis:entry colname="col5">Parameter range</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M400" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">snw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>ssn</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M401" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>mlt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Melt coefficient (<inline-formula><mml:math id="M402" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">°</mml:mi><mml:msup><mml:mi mathvariant="normal">C</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">1</oasis:entry>
         <oasis:entry colname="col5">[0.01, 100]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M403" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>gr4</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M404" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum capacity of the production reservoir (<inline-formula><mml:math id="M405" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">200</oasis:entry>
         <oasis:entry colname="col5">[1, 2000]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M406" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum capacity of the transfer reservoir (<inline-formula><mml:math id="M407" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">500</oasis:entry>
         <oasis:entry colname="col5">[1, 2000]</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M408" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Exchange coefficient (<inline-formula><mml:math id="M409" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">d</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">[<inline-formula><mml:math id="M410" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>50, 0]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M411" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">hy</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>kw</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M412" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Alpha kinematic wave parameter (–)</oasis:entry>
         <oasis:entry colname="col4">5</oasis:entry>
         <oasis:entry colname="col5">[0.001, 50]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M413" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Beta kinematic wave parameter (–)</oasis:entry>
         <oasis:entry colname="col4">0.6</oasis:entry>
         <oasis:entry colname="col5">[0.001, 1]</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="TB2"><label>Table B2</label><caption><p id="d2e9394">Median KGE obtained in regionalization mapping calibration–validation over four groups of randomly selected basins.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="center"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Group</oasis:entry>
         <oasis:entry colname="col2">Calibration <inline-formula><mml:math id="M414" display="inline"><mml:mrow><mml:msub><mml:mtext>KGE</mml:mtext><mml:mn mathvariant="normal">50</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Spatial validation <inline-formula><mml:math id="M415" display="inline"><mml:mrow><mml:msub><mml:mtext>KGE</mml:mtext><mml:mn mathvariant="normal">50</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">Temporal validation <inline-formula><mml:math id="M416" display="inline"><mml:mrow><mml:msub><mml:mtext>KGE</mml:mtext><mml:mn mathvariant="normal">50</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">Spatiotemporal validation <inline-formula><mml:math id="M417" display="inline"><mml:mrow><mml:msub><mml:mtext>KGE</mml:mtext><mml:mn mathvariant="normal">50</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">0</oasis:entry>
         <oasis:entry colname="col2">0.65</oasis:entry>
         <oasis:entry colname="col3">0.62</oasis:entry>
         <oasis:entry colname="col4">0.65</oasis:entry>
         <oasis:entry colname="col5">0.65</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">1</oasis:entry>
         <oasis:entry colname="col2">0.62</oasis:entry>
         <oasis:entry colname="col3">0.58</oasis:entry>
         <oasis:entry colname="col4">0.65</oasis:entry>
         <oasis:entry colname="col5">0.58</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2</oasis:entry>
         <oasis:entry colname="col2">0.65</oasis:entry>
         <oasis:entry colname="col3">0.65</oasis:entry>
         <oasis:entry colname="col4">0.64</oasis:entry>
         <oasis:entry colname="col5">0.67</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">3</oasis:entry>
         <oasis:entry colname="col2">0.65</oasis:entry>
         <oasis:entry colname="col3">0.63</oasis:entry>
         <oasis:entry colname="col4">0.65</oasis:entry>
         <oasis:entry colname="col5">0.63</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</app>

<app id="App1.Ch1.S3">
  <label>Appendix C</label><title>France  –  Aude: high-resolution regionalization</title>

<table-wrap id="TC1"><label>Table C1</label><caption><p id="d2e9561">Summary of model operators and their associated parameters. For each operator, the parameter name, description, initial value, and allowable value range are provided.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Operator name</oasis:entry>
         <oasis:entry colname="col2">Parameter name</oasis:entry>
         <oasis:entry colname="col3">Parameter description</oasis:entry>
         <oasis:entry colname="col4">Parameter initial value</oasis:entry>
         <oasis:entry colname="col5">Parameter range</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M418" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>gr4</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M419" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum capacity of the production reservoir (<inline-formula><mml:math id="M420" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">200</oasis:entry>
         <oasis:entry colname="col5">[1, 2000]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M421" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Maximum capacity of the transfer reservoir (<inline-formula><mml:math id="M422" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">500</oasis:entry>
         <oasis:entry colname="col5">[1, 2000]</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M423" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Exchange coefficient (<inline-formula><mml:math id="M424" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">h</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">0</oasis:entry>
         <oasis:entry colname="col5">[<inline-formula><mml:math id="M425" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>20, 0]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M426" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">hy</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <italic>kw</italic></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M427" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Alpha kinematic wave parameter (–)</oasis:entry>
         <oasis:entry colname="col4">5</oasis:entry>
         <oasis:entry colname="col5">[0.001, 50]</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M428" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">Beta kinematic wave parameter (–)</oasis:entry>
         <oasis:entry colname="col4">0.6</oasis:entry>
         <oasis:entry colname="col5">[0.001, 1]</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</app>

<app id="App1.Ch1.S4">
  <label>Appendix D</label><title><monospace>smash</monospace> operators</title>
      <p id="d2e9811">This section describes the various operators available in <monospace>smash</monospace> with mathematical or numerical expressions, input data <inline-formula><mml:math id="M429" display="inline"><mml:mrow><mml:mfenced close="]" open="["><mml:mrow><mml:mi mathvariant="bold-italic">I</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">D</mml:mi></mml:mrow></mml:mfenced><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, tunable conceptual parameters <inline-formula><mml:math id="M430" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">θ</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, and simulated states and fluxes <inline-formula><mml:math id="M431" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">U</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mfenced close="]" open="["><mml:mrow><mml:mi>Q</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">h</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold-italic">q</mml:mi></mml:mrow></mml:mfenced><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. These operators are written below for a given pixel <inline-formula><mml:math id="M432" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> of the 2D spatial domain <inline-formula><mml:math id="M433" display="inline"><mml:mi mathvariant="normal">Ω</mml:mi></mml:math></inline-formula> and for a time <inline-formula><mml:math id="M434" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> in the simulation window <inline-formula><mml:math id="M435" display="inline"><mml:mrow><mml:mfenced open="]" close="]"><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>.</p>
<sec id="App1.Ch1.S4.SS1">
  <label>D1</label><title>Snow operator <inline-formula><mml:math id="M436" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">snw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></title>
      <p id="d2e9958"><list list-type="bullet">
            <list-item>

      <p id="d2e9963"><bold><italic>zero</italic></bold></p>

      <p id="d2e9968">This snow operator simply means that there is no snow operator.

                  <disp-formula id="App1.Ch1.S4.Ex1"><mml:math id="M437" display="block"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></disp-formula>

                Here <inline-formula><mml:math id="M438" display="inline"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is the melt flux.</p>
            </list-item>
            <list-item>

      <p id="d2e10010"><bold><italic>ssn</italic></bold></p>

      <p id="d2e10015">This snow operator is a simple degree-day snow operator.</p>

      <p id="d2e10018">Update the snow reservoir state <inline-formula><mml:math id="M439" display="inline"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math id="M440" display="inline"><mml:mrow><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>∈</mml:mo><mml:mfenced open="]" close="["><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>:

                  <disp-formula id="App1.Ch1.S4.Ex2"><mml:math id="M441" display="block"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mi>S</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

                Compute the melt flux <inline-formula><mml:math id="M442" display="inline"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>:

                      <disp-formula specific-use="align"><mml:math id="M443" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mfenced open="{" close=""><mml:mtable columnspacing="1em" rowspacing="0.2ex" class="cases" columnalign="left left" framespacing="0em"><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if </mml:mtext><mml:msub><mml:mi>T</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>min⁡</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mtext>mlt</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced></mml:mrow></mml:mtd><mml:mtd><mml:mtext>otherwise.</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                Update the snow reservoir state <inline-formula><mml:math id="M444" display="inline"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                  <disp-formula id="App1.Ch1.S4.Ex5"><mml:math id="M445" display="block"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

                with <inline-formula><mml:math id="M446" display="inline"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> being the melt flux, <inline-formula><mml:math id="M447" display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> the snow, <inline-formula><mml:math id="M448" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the temperature, <inline-formula><mml:math id="M449" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>mlt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the melt coefficient, and <inline-formula><mml:math id="M450" display="inline"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the state of the snow reservoir.</p>
            </list-item>
          </list></p>
</sec>
<sec id="App1.Ch1.S4.SS2">
  <label>D2</label><title>Hydrological operator <inline-formula><mml:math id="M451" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">hy</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></title>
      <p id="d2e10400"><list list-type="bullet">
            <list-item>

      <p id="d2e10405"><bold><italic>gr4</italic></bold></p>

      <p id="d2e10410">This hydrological operator is derived from the GR4 model <xref ref-type="bibr" rid="bib1.bibx75" id="paren.135"/>.
                <def-list>
                  <def-item><term><bold>Interception</bold></term><def>

      <p id="d2e10423">Compute interception evapotranspiration <inline-formula><mml:math id="M452" display="inline"><mml:mrow><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M453" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="false">min⁡</mml:mo><mml:mo mathsize="1.1em">(</mml:mo><mml:mi>E</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>P</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>+</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo mathsize="1.1em">)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Compute the neutralized precipitation <inline-formula><mml:math id="M454" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and evapotranspiration <inline-formula><mml:math id="M455" display="inline"><mml:mrow><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M456" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="false">max⁡</mml:mo><mml:mo mathsize="1.1em">(</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>P</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>-</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo mathsize="1.1em">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>E</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Update the normalized interception reservoir state <inline-formula><mml:math id="M457" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M458" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>P</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
                  </def></def-item>
                  <def-item><term><bold>Production</bold></term><def>

      <p id="d2e10952">Compute the production infiltrating precipitation <inline-formula><mml:math id="M459" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and evapotranspiration <inline-formula><mml:math id="M460" display="inline"><mml:mrow><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M461" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>⋅</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>tanh⁡</mml:mi><mml:mfenced close=")" open="("><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced></mml:mrow><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mi>tanh⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>-</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>⋅</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>tanh⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced></mml:mrow><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mi>tanh⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Update the normalized production reservoir state <inline-formula><mml:math id="M462" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex17"><mml:math id="M463" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

                      Compute the production runoff <inline-formula><mml:math id="M464" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M465" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mfenced open="{" close=""><mml:mtable class="cases" rowspacing="0.2ex" columnspacing="1em" columnalign="left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mtext mathvariant="normal">if </mml:mtext><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mo mathsize="1.1em">(</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo mathsize="1.1em">)</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mtext mathvariant="normal">otherwise</mml:mtext><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Compute the production percolation <inline-formula><mml:math id="M466" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mtext>erc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M467" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>p</mml:mi><mml:mtext>erc</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>⋅</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">4</mml:mn><mml:mn mathvariant="normal">9</mml:mn></mml:mfrac></mml:mstyle><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">4</mml:mn></mml:msup></mml:mrow></mml:mfenced><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Update the normalized production reservoir state <inline-formula><mml:math id="M468" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex22"><mml:math id="M469" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mtext>erc</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
                  </def></def-item>
                  <def-item><term><bold>Exchange</bold></term><def>

      <p id="d2e11900">Compute the exchange flux <inline-formula><mml:math id="M470" display="inline"><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex23"><mml:math id="M471" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>l</mml:mi><mml:mtext>exc</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mtext>exc</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mn mathvariant="normal">7</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
                  </def></def-item>
                  <def-item><term><bold>Transfer</bold></term><def>

      <p id="d2e11991">Split the production runoff <inline-formula><mml:math id="M472" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> into two branches (transfer and direct), <inline-formula><mml:math id="M473" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M474" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mtext mathvariant="italic">rd</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M475" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>p</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.9</mml:mn><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mtext>erc</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mtext>exc</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>p</mml:mi><mml:mtext mathvariant="italic">rd</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.1</mml:mn><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mtext>erc</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Update the normalized transfer reservoir state <inline-formula><mml:math id="M476" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex26"><mml:math id="M477" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="false">max⁡</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

                      Compute the transfer branch elemental discharge <inline-formula><mml:math id="M478" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>r</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M479" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>q</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>-</mml:mo><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfenced><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Update the normalized transfer reservoir state <inline-formula><mml:math id="M480" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex29"><mml:math id="M481" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

                      Compute the direct branch elemental discharge <inline-formula><mml:math id="M482" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex30"><mml:math id="M483" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>q</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="false">max⁡</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>p</mml:mi><mml:mtext mathvariant="italic">rd</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mtext>exc</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

                      Compute the elemental discharge <inline-formula><mml:math id="M484" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex31"><mml:math id="M485" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

                      with <inline-formula><mml:math id="M486" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> being the elemental discharge, <inline-formula><mml:math id="M487" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> the precipitation, <inline-formula><mml:math id="M488" display="inline"><mml:mi>E</mml:mi></mml:math></inline-formula> the potential evapotranspiration, <inline-formula><mml:math id="M489" display="inline"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the melt flux from the snow operator, <inline-formula><mml:math id="M490" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the maximum capacity of the interception reservoir, <inline-formula><mml:math id="M491" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the maximum capacity of the production reservoir, <inline-formula><mml:math id="M492" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the maximum capacity of the transfer reservoir, <inline-formula><mml:math id="M493" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the exchange coefficient, <inline-formula><mml:math id="M494" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover></mml:math></inline-formula> the state of the normalized interception reservoir, <inline-formula><mml:math id="M495" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover></mml:math></inline-formula> the state of the normalized production reservoir, and <inline-formula><mml:math id="M496" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:math></inline-formula> the state of the normalized transfer reservoir.</p>
                  </def></def-item>
                </def-list></p>
            </list-item>
            <list-item>

      <p id="d2e12826"><bold><italic>gr5</italic></bold></p>

      <p id="d2e12831">This hydrological operator is derived from the GR4 model <xref ref-type="bibr" rid="bib1.bibx58" id="paren.136"/>. It consists of a GR4-like model structure (see above) with a modified exchange flux with two parameters to account for seasonal variations.
                <def-list>
                  <def-item><term><bold>Interception</bold></term><def>

      <p id="d2e12844">Same as <italic>gr4</italic> Interception</p>
                  </def></def-item>
                  <def-item><term><bold>Production</bold></term><def>

      <p id="d2e12857">Same as <italic>gr4</italic> Production</p>
                  </def></def-item>
                  <def-item><term><bold>Exchange</bold></term><def>

      <p id="d2e12870">Compute the exchange flux <inline-formula><mml:math id="M497" display="inline"><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex32"><mml:math id="M498" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>l</mml:mi><mml:mtext>exc</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mtext>exc</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mn mathvariant="normal">7</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
                  </def></def-item>
                  <def-item><term><bold>Transfer</bold></term><def>

      <p id="d2e12961">Same as <italic>gr4</italic> Transfer, with <inline-formula><mml:math id="M499" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> being the elemental discharge, <inline-formula><mml:math id="M500" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> the precipitation, <inline-formula><mml:math id="M501" display="inline"><mml:mi>E</mml:mi></mml:math></inline-formula> the potential evapotranspiration, <inline-formula><mml:math id="M502" display="inline"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the melt flux from the snow operator, <inline-formula><mml:math id="M503" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the maximum capacity of the interception reservoir, <inline-formula><mml:math id="M504" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the maximum capacity of the production reservoir, <inline-formula><mml:math id="M505" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the maximum capacity of the transfer reservoir, <inline-formula><mml:math id="M506" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the exchange coefficient, <inline-formula><mml:math id="M507" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext>exc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the exchange threshold, <inline-formula><mml:math id="M508" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:math></inline-formula> the state of the normalized interception reservoir, <inline-formula><mml:math id="M509" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:math></inline-formula> the state of the normalized production reservoir, and <inline-formula><mml:math id="M510" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:math></inline-formula> the state of the normalized transfer reservoir.</p>
                  </def></def-item>
                </def-list></p>
            </list-item>
            <list-item>

      <p id="d2e13107"><bold><italic>grd</italic></bold></p>

      <p id="d2e13112">This hydrological operator is derived from the GR models and is a simplified structure used in <xref ref-type="bibr" rid="bib1.bibx48" id="text.137"/>.
                <def-list>
                  <def-item><term><bold>Interception</bold></term><def>

      <p id="d2e13125">Compute the interception evapotranspiration <inline-formula><mml:math id="M511" display="inline"><mml:mrow><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex33"><mml:math id="M512" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="false">min⁡</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mi>E</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>P</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

                      Compute the neutralized precipitation <inline-formula><mml:math id="M513" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and evapotranspiration <inline-formula><mml:math id="M514" display="inline"><mml:mrow><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M515" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="false">max⁡</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>P</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>E</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
                  </def></def-item>
                  <def-item><term><bold>Production</bold></term><def>

      <p id="d2e13383">Same as <italic>gr4</italic> Production</p>
                  </def></def-item>
                  <def-item><term><bold>Transfer</bold></term><def>

      <p id="d2e13396">Update the normalized transfer reservoir state <inline-formula><mml:math id="M516" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex36"><mml:math id="M517" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="false">max⁡</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

                      Compute the transfer branch elemental discharge <inline-formula><mml:math id="M518" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>r</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M519" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>q</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>-</mml:mo><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfenced><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Update the normalized transfer reservoir state <inline-formula><mml:math id="M520" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex39"><mml:math id="M521" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

                      Compute the elemental discharge <inline-formula><mml:math id="M522" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex40"><mml:math id="M523" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

                      with <inline-formula><mml:math id="M524" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> being the elemental discharge, <inline-formula><mml:math id="M525" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> the precipitation, <inline-formula><mml:math id="M526" display="inline"><mml:mi>E</mml:mi></mml:math></inline-formula> the potential evapotranspiration, <inline-formula><mml:math id="M527" display="inline"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the melt flux from the snow operator, <inline-formula><mml:math id="M528" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the maximum capacity of the production reservoir, <inline-formula><mml:math id="M529" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the maximum capacity of the transfer reservoir, <inline-formula><mml:math id="M530" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:math></inline-formula> the state of the normalized production reservoir, and <inline-formula><mml:math id="M531" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:math></inline-formula> the state of the normalized transfer reservoir.</p>
                  </def></def-item>
                </def-list></p>
            </list-item>
            <list-item>

      <p id="d2e13917"><bold><italic>loieau</italic></bold></p>

      <p id="d2e13922">This hydrological operator is derived from the GR model <xref ref-type="bibr" rid="bib1.bibx34" id="paren.138"/>.
                <def-list>
                  <def-item><term><bold>Interception</bold></term><def>

      <p id="d2e13935">Same as <italic>gr4</italic> Interception</p>
                  </def></def-item>
                  <def-item><term><bold>Production</bold></term><def>

      <p id="d2e13948">Same as <italic>gr4</italic> Production</p>
                  </def></def-item>
                  <def-item><term><bold>Transfer</bold></term><def>

      <p id="d2e13961">Split the production runoff <inline-formula><mml:math id="M532" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> into two branches (transfer and direct), <inline-formula><mml:math id="M533" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M534" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mtext mathvariant="italic">rd</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M535" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>p</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.9</mml:mn><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mtext>erc</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>p</mml:mi><mml:mtext mathvariant="italic">rd</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.1</mml:mn><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mtext>erc</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Update the normalized transfer reservoir state <inline-formula><mml:math id="M536" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex43"><mml:math id="M537" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="false">max⁡</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

                      Compute the transfer branch elemental discharge <inline-formula><mml:math id="M538" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>r</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M539" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>q</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>-</mml:mo><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfenced><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Update the normalized transfer reservoir state <inline-formula><mml:math id="M540" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex46"><mml:math id="M541" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

                      Compute the direct branch elemental discharge <inline-formula><mml:math id="M542" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex47"><mml:math id="M543" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>q</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="false">max⁡</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi>p</mml:mi><mml:mtext mathvariant="italic">rd</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

                      Compute the elemental discharge <inline-formula><mml:math id="M544" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex48"><mml:math id="M545" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>b</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>d</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

                      with <inline-formula><mml:math id="M546" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> being the elemental discharge, <inline-formula><mml:math id="M547" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> the precipitation, <inline-formula><mml:math id="M548" display="inline"><mml:mi>E</mml:mi></mml:math></inline-formula> the potential evapotranspiration, <inline-formula><mml:math id="M549" display="inline"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the melt flux from the snow operator, <inline-formula><mml:math id="M550" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the maximum capacity of the production reservoir, <inline-formula><mml:math id="M551" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the maximum capacity of the transfer reservoir, <inline-formula><mml:math id="M552" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the transfer coefficient, <inline-formula><mml:math id="M553" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>a</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:math></inline-formula> the state of the normalized production reservoir, and <inline-formula><mml:math id="M554" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:math></inline-formula> the state of the normalized transfer reservoir.</p>
                  </def></def-item>
                </def-list></p>
            </list-item>
            <list-item>

      <p id="d2e14749"><bold><italic>vic3l</italic></bold></p>

      <p id="d2e14754">This hydrological operator is derived from the VIC model <xref ref-type="bibr" rid="bib1.bibx59" id="paren.139"/>.
                <def-list>
                  <def-item><term><bold>Canopy layer interception</bold></term><def>

      <p id="d2e14767">Compute the canopy layer interception evapotranspiration <inline-formula><mml:math id="M555" display="inline"><mml:mrow><mml:msub><mml:mi>e</mml:mi><mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M556" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>e</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo movablelimits="false">min⁡</mml:mo><mml:mo mathsize="1.5em">(</mml:mo><mml:mi>E</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>cl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi>P</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>cl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo mathsize="1.5em">)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Compute the neutralized precipitation <inline-formula><mml:math id="M557" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and evapotranspiration <inline-formula><mml:math id="M558" display="inline"><mml:mrow><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M559" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="false">max⁡</mml:mo><mml:mo mathsize="1.1em">(</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>P</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>-</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>cl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo mathsize="1.1em">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>E</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Update the normalized canopy layer interception state <inline-formula><mml:math id="M560" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>cl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M561" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>cl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>cl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>-</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mi>c</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
                  </def></def-item>
                  <def-item><term><bold>Upper soil layer evapotranspiration</bold></term><def>

      <p id="d2e15271">Compute the maximum infiltration <inline-formula><mml:math id="M562" display="inline"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and the corresponding soil saturation infiltration <inline-formula><mml:math id="M563" display="inline"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M564" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi>b</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mtext>usl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>⋅</mml:mo><mml:mo mathsize="1.5em">(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>b</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:msup><mml:mo mathsize="1.5em">)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Compute the upper soil layer evapotranspiration <inline-formula><mml:math id="M565" display="inline"><mml:mrow><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex59"><mml:math id="M566" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mfenced open="{" close=""><mml:mtable class="cases" rowspacing="0.2ex" columnspacing="1em" columnalign="left left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if </mml:mtext><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>≥</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>otherwise</mml:mtext><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

                      with <inline-formula><mml:math id="M567" display="inline"><mml:mi mathvariant="italic">β</mml:mi></mml:math></inline-formula> being the ARNO evapotranspiration beta function <xref ref-type="bibr" rid="bib1.bibx84" id="paren.140"/>.</p>

      <p id="d2e15605">Update the normalized upper soil layer reservoir state <inline-formula><mml:math id="M568" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex60"><mml:math id="M569" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>e</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>usl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
                  </def></def-item>
                  <def-item><term><bold>Infiltration</bold></term><def>

      <p id="d2e15714">Compute the maximum capacity <inline-formula><mml:math id="M570" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, soil moisture <inline-formula><mml:math id="M571" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and relative state <inline-formula><mml:math id="M572" display="inline"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> of the first two layers:

                            <disp-formula specific-use="align"><mml:math id="M573" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>c</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mtext>usl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mtext>msl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>w</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mtext>usl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>+</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>msl</mml:mtext></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mtext>msl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>h</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Compute maximum <inline-formula><mml:math id="M574" display="inline"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and infiltration <inline-formula><mml:math id="M575" display="inline"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M576" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi>b</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>i</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>⋅</mml:mo><mml:mo mathsize="1.5em">(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>b</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:msup><mml:mo mathsize="1.5em">)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Compute infiltration <inline-formula><mml:math id="M577" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex68"><mml:math id="M578" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi>i</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mfenced open="{" close=""><mml:mtable columnspacing="1em" rowspacing="0.2ex" class="cases" columnalign="left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mtext mathvariant="normal">if </mml:mtext><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>&gt;</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mrow><mml:mi>b</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mtext mathvariant="normal">otherwise</mml:mtext><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

                      Distribute infiltration between the  upper two layers:

                            <disp-formula specific-use="align"><mml:math id="M579" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>i</mml:mi><mml:mtext>usl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="false">min⁡</mml:mo><mml:mo mathsize="1.1em">(</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mtext>usl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi>i</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo mathsize="1.1em">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>i</mml:mi><mml:mtext>msl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="false">min⁡</mml:mo><mml:mo mathsize="1.1em">(</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>msl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mtext>msl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi>i</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mtext>usl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo mathsize="1.1em">)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Update the reservoir states:

                            <disp-formula specific-use="align"><mml:math id="M580" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mtext>usl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>msl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>msl</mml:mtext></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mtext>msl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Compute runoff:

                            <disp-formula id="App1.Ch1.S4.Ex75"><mml:math id="M581" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>q</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mtext>usl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>i</mml:mi><mml:mtext>msl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
                  </def></def-item>
                  <def-item><term><bold>Drainage</bold></term><def>

      <p id="d2e16863">Compute the soil moisture in the first two layers:

                            <disp-formula specific-use="align"><mml:math id="M582" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>w</mml:mi><mml:mtext>usl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mtext>usl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>w</mml:mi><mml:mtext>msl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>msl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mtext>msl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Compute the initial drainage flux:

                            <disp-formula id="App1.Ch1.S4.Ex78"><mml:math id="M583" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>d</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mtext>bc</mml:mtext></mml:msub></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

                      Update the drainage flux:

                            <disp-formula specific-use="align"><mml:math id="M584" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>d</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo movablelimits="false">min⁡</mml:mo><mml:mo mathsize="1.1em">(</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo movablelimits="false">min⁡</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mtext>usl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>c</mml:mi><mml:mtext>msl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mtext>msl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:mo mathsize="1.1em">)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Update normalized reservoir states:

                            <disp-formula specific-use="align"><mml:math id="M585" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>usl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>msl</mml:mtext></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>msl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mtext>umsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>msl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      The same approach is performed for drainage between medium and bottom soil layers. For brevity, we skip the first steps and directly give the update equations.</p>

      <p id="d2e17375">Update  the normalized medium and bottom reservoir states:

                            <disp-formula specific-use="align"><mml:math id="M586" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>msl</mml:mtext></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>msl</mml:mtext></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mtext mathvariant="italic">mbsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>msl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>bsl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>bsl</mml:mtext></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mtext mathvariant="italic">mbsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>bsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
                  </def></def-item>
                  <def-item><term><bold>Baseflow</bold></term><def>

      <p id="d2e17560">Compute baseflow <inline-formula><mml:math id="M587" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula specific-use="align"><mml:math id="M588" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>q</mml:mi><mml:mi>b</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mfenced open="{" close=""><mml:mtable columnspacing="1em" rowspacing="0.2ex" class="cases" columnalign="left left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mtext mathvariant="italic">sm</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>bsl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow/></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mtext mathvariant="normal">if </mml:mtext><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>bsl</mml:mtext></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>≤</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow/></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtable class="array" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mtext mathvariant="italic">sm</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>bsl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mtext mathvariant="italic">sm</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:msup><mml:mfenced close=")" open="("><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>bsl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mtd><mml:mtd><mml:mrow/></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mtext mathvariant="normal">otherwise</mml:mtext><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                      Update the normalized bottom soil layer reservoir:

                            <disp-formula id="App1.Ch1.S4.Ex87"><mml:math id="M589" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>bsl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>bsl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>b</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>bsl</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

                      with <inline-formula><mml:math id="M590" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> being the elemental discharge, <inline-formula><mml:math id="M591" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> the precipitation, <inline-formula><mml:math id="M592" display="inline"><mml:mi>E</mml:mi></mml:math></inline-formula> the potential evapotranspiration, <inline-formula><mml:math id="M593" display="inline"><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mtext mathvariant="italic">lt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the melt flux from the snow operator, <inline-formula><mml:math id="M594" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula> the variable infiltration curve parameter, <inline-formula><mml:math id="M595" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the maximum capacity of the upper soil layer, <inline-formula><mml:math id="M596" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>msl</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the maximum capacity of the medium soil layer, <inline-formula><mml:math id="M597" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mtext>bsl</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the maximum capacity of the bottom soil layer, <inline-formula><mml:math id="M598" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the saturated hydraulic conductivity, <inline-formula><mml:math id="M599" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mtext>bc</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the Brooks and Corey exponent, <inline-formula><mml:math id="M600" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mtext mathvariant="italic">sm</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the maximum velocity of baseflow, <inline-formula><mml:math id="M601" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the nonlinear baseflow threshold maximum velocity, <inline-formula><mml:math id="M602" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the nonlinear baseflow threshold soil moisture, <inline-formula><mml:math id="M603" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>cl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover></mml:math></inline-formula> the state of the normalized canopy layer, <inline-formula><mml:math id="M604" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>usl</mml:mtext></mml:msub></mml:mrow><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover></mml:math></inline-formula> the state of the normalized upper soil layer, <inline-formula><mml:math id="M605" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>msl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover></mml:math></inline-formula> the state of the normalized medium soil layer, and <inline-formula><mml:math id="M606" display="inline"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext>bsl</mml:mtext></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover></mml:math></inline-formula> the state of the normalized bottom soil layer.</p>
                  </def></def-item>
                </def-list></p>
            </list-item>
          </list></p>
</sec>
<sec id="App1.Ch1.S4.SS3">
  <label>D3</label><title>Routing operator <inline-formula><mml:math id="M607" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">M</mml:mi><mml:mtext mathvariant="italic">rr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></title>
      <p id="d2e18205"><list list-type="bullet">
            <list-item>

      <p id="d2e18210"><bold><italic>lag0</italic></bold></p>

      <p id="d2e18215">This routing operator is a simple aggregation of upstream discharge to downstream discharge following the drainage plan.
                <def-list>
                  <def-item><term><bold>Upstream discharge</bold></term><def>

      <p id="d2e18225">Compute the upstream discharge <inline-formula><mml:math id="M608" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mtext>up</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex88"><mml:math id="M609" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>q</mml:mi><mml:mtext>up</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mfenced open="{" close=""><mml:mtable class="cases" columnspacing="1em" rowspacing="0.2ex" columnalign="left left" framespacing="0em"><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if </mml:mtext><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="normal">∅</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>∈</mml:mo><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:munder><mml:mi>Q</mml:mi><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>otherwise</mml:mtext><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

                      where <inline-formula><mml:math id="M610" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the set of upstream cells flowing into cell <inline-formula><mml:math id="M611" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>.</p>
                  </def></def-item>
                  <def-item><term><bold>Surface discharge</bold></term><def>

      <p id="d2e18341">Compute the surface discharge <inline-formula><mml:math id="M612" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex89"><mml:math id="M613" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi>Q</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mtext>up</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

                      where <inline-formula><mml:math id="M614" display="inline"><mml:mrow><mml:mi mathvariant="italic">α</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is a unit conversion factor from <inline-formula><mml:math id="M615" display="inline"><mml:mrow><mml:mtext>mm</mml:mtext><mml:mo>⋅</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M616" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup><mml:mo>⋅</mml:mo><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> for a single cell.</p>

      <p id="d2e18472"><inline-formula><mml:math id="M617" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula> is the surface discharge, <inline-formula><mml:math id="M618" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the elemental discharge, and <inline-formula><mml:math id="M619" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is a 2D spatial domain that corresponds to all upstream cells flowing into cell <inline-formula><mml:math id="M620" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>, i.e., the whole upstream catchment. Note that <inline-formula><mml:math id="M621" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is a subset of <inline-formula><mml:math id="M622" display="inline"><mml:mi mathvariant="normal">Ω</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M623" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>⊂</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:math></inline-formula>, and for the most upstream cells <inline-formula><mml:math id="M624" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="normal">∅</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
                  </def></def-item>
                </def-list></p>
            </list-item>
            <list-item>

      <p id="d2e18564"><bold><italic>lr</italic></bold></p>

      <p id="d2e18569">This routing operator uses a linear reservoir to route upstream discharge to downstream discharge following the drainage plan.
                <def-list>
                  <def-item><term><bold>Upstream discharge</bold></term><def>

      <p id="d2e18579">Same as <italic>lag0</italic> Upstream discharge</p>
                  </def></def-item>
                  <def-item><term><bold>Surface discharge</bold></term><def>

      <p id="d2e18592">Update the routing reservoir state <inline-formula><mml:math id="M625" display="inline"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext mathvariant="italic">lr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex90"><mml:math id="M626" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>h</mml:mi><mml:mtext mathvariant="italic">lr</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mtext mathvariant="italic">lr</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi>q</mml:mi><mml:mtext>up</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

                      where <inline-formula><mml:math id="M627" display="inline"><mml:mrow><mml:mi mathvariant="italic">β</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is a conversion factor from <inline-formula><mml:math id="M628" display="inline"><mml:mrow><mml:mtext>mm</mml:mtext><mml:mo>⋅</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M629" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup><mml:mo>⋅</mml:mo><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> for the entire upstream domain <inline-formula><mml:math id="M630" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p>

      <p id="d2e18749">Compute the routed discharge <inline-formula><mml:math id="M631" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mtext mathvariant="italic">rt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex91"><mml:math id="M632" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>q</mml:mi><mml:mtext mathvariant="italic">rt</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mtext mathvariant="italic">lr</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>exp⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn mathvariant="normal">60</mml:mn><mml:mo>×</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mtext mathvariant="italic">lr</mml:mtext></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

                      Update the routing reservoir state <inline-formula><mml:math id="M633" display="inline"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mtext mathvariant="italic">lr</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex92"><mml:math id="M634" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>h</mml:mi><mml:mtext mathvariant="italic">lr</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mtext mathvariant="italic">lr</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>t</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mtext mathvariant="italic">rt</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

                      Compute the surface discharge <inline-formula><mml:math id="M635" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula>:

                            <disp-formula id="App1.Ch1.S4.Ex93"><mml:math id="M636" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi>Q</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">β</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mtext mathvariant="italic">rt</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

                      where <inline-formula><mml:math id="M637" display="inline"><mml:mrow><mml:mi mathvariant="italic">α</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is a conversion factor from <inline-formula><mml:math id="M638" display="inline"><mml:mrow><mml:mtext>mm</mml:mtext><mml:mo>⋅</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M639" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup><mml:mo>⋅</mml:mo><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> for a single cell.</p>
                  </def></def-item>
                </def-list></p>
            </list-item>
            <list-item>

      <p id="d2e19050"><bold><italic>kw</italic></bold></p>

      <p id="d2e19055">This routing operator is based on a conceptual 1D kinematic wave model that is numerically solved with a linearized implicit numerical scheme <xref ref-type="bibr" rid="bib1.bibx20" id="paren.141"/>. This is applicable given the drainage plan <inline-formula><mml:math id="M640" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">D</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mi>x</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula> that enables the routing problem to be reduced to 1D.</p>

      <p id="d2e19075">The kinematic wave model is a simplification of the 1D Saint-Venant hydraulic equations.</p>

      <p id="d2e19078">First, the mass conservation equation is written as

                      <disp-formula id="App1.Ch1.S4.E9" content-type="numbered"><label>D1</label><mml:math id="M641" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>A</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:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mi>q</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

                where <inline-formula><mml:math id="M642" display="inline"><mml:mrow><mml:msub><mml:mo>∂</mml:mo><mml:mo>□</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula> denotes partial differentiation with respect to time or space, <inline-formula><mml:math id="M643" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> is the cross-sectional flow area, <inline-formula><mml:math id="M644" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula> is the discharge, and <inline-formula><mml:math id="M645" display="inline"><mml:mi>q</mml:mi></mml:math></inline-formula> represents lateral inflows.</p>

      <p id="d2e19152">The momentum equation is simplified by assuming that the water surface slope equals the bed slope; i.e., the flow is locally uniform and gradually varied:

                      <disp-formula id="App1.Ch1.S4.E10" content-type="numbered"><label>D2</label><mml:math id="M646" display="block"><mml:mstyle class="stylechange" displaystyle="true"/><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>S</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>S</mml:mi><mml:mi>f</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

                where <inline-formula><mml:math id="M647" display="inline"><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the bed slope, and <inline-formula><mml:math id="M648" display="inline"><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the friction slope. This implies that the energy grade line is parallel to the channel bottom.</p>

      <p id="d2e19200">This simplification leads to an empirical relation between discharge and flow area or depth, as described by <xref ref-type="bibr" rid="bib1.bibx20" id="text.142"/>:

                      <disp-formula id="App1.Ch1.S4.E11" content-type="numbered"><label>D3</label><mml:math id="M649" display="block"><mml:mstyle class="stylechange" displaystyle="true"/><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi>A</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub><mml:msup><mml:mi>Q</mml:mi><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

                where <inline-formula><mml:math id="M650" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M651" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> are two empirical constants that can also be related to the Manning friction law.</p>

      <p id="d2e19256">Injecting the parameterization from Eq. (<xref ref-type="disp-formula" rid="App1.Ch1.S4.E11"/>) into the mass conservation equation (Eq. <xref ref-type="disp-formula" rid="App1.Ch1.S4.E9"/>) yields the following one-equation form of the kinematic wave model <xref ref-type="bibr" rid="bib1.bibx20" id="paren.143"/>:

                      <disp-formula id="App1.Ch1.S4.E12" content-type="numbered"><label>D4</label><mml:math id="M652" display="block"><mml:mstyle class="stylechange" displaystyle="true"/><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub><mml:msup><mml:mi>Q</mml:mi><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>Q</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>q</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

                For the sake of clarity, the following variables are renamed for this section and the finite-difference numerical scheme.</p>
            </list-item>
          </list></p>

<table-wrap id="TD1"><label>Table D1</label><caption><p id="d2e19333">Renamed variables.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="2">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Before</oasis:entry>
         <oasis:entry colname="col2">After</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M653" display="inline"><mml:mrow><mml:mi>Q</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M654" display="inline"><mml:mrow><mml:msubsup><mml:mi>Q</mml:mi><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M655" display="inline"><mml:mrow><mml:mi>Q</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M656" display="inline"><mml:mrow><mml:msubsup><mml:mi>Q</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M657" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M658" display="inline"><mml:mrow><mml:msubsup><mml:mi>q</mml:mi><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M659" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M660" display="inline"><mml:mrow><mml:msubsup><mml:mi>q</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e19528"><def-list>
            <def-item><term><bold>Upstream discharge</bold></term><def>

      <p id="d2e19537">Same as <italic>lag0</italic> Upstream discharge with <inline-formula><mml:math id="M661" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mtext>up</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> denoted <inline-formula><mml:math id="M662" display="inline"><mml:mrow><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>j</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>.</p>
            </def></def-item>
            <def-item><term><bold>Surface discharge</bold></term><def>

      <p id="d2e19579">Compute the intermediate variables <inline-formula><mml:math id="M663" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M664" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>:

                      <disp-formula specific-use="align"><mml:math id="M665" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>=</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub><mml:msup><mml:mfenced close=")" open="("><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi>Q</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>j</mml:mi></mml:msubsup></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mfenced><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>

      <p id="d2e19706">Compute the intermediate variables <inline-formula><mml:math id="M666" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M667" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M668" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>:

                      <disp-formula specific-use="align"><mml:math id="M669" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>j</mml:mi></mml:msubsup><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:msubsup><mml:mi>Q</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi>q</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>q</mml:mi><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:msubsup></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

                Compute the surface discharge <inline-formula><mml:math id="M670" display="inline"><mml:mrow><mml:msubsup><mml:mi>Q</mml:mi><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>:

                  <disp-formula id="App1.Ch1.S4.Ex99"><mml:math id="M671" display="block"><mml:mrow><mml:msubsup><mml:mi>Q</mml:mi><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:mi>Q</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

                with <inline-formula><mml:math id="M672" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula> being the surface discharge, <inline-formula><mml:math id="M673" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the elemental discharge, <inline-formula><mml:math id="M674" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the alpha kinematic wave parameter, <inline-formula><mml:math id="M675" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mtext mathvariant="italic">kw</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> the beta kinematic wave parameter, and <inline-formula><mml:math id="M676" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> a 2D spatial domain that corresponds to all upstream cells flowing into cell <inline-formula><mml:math id="M677" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>. Note that <inline-formula><mml:math id="M678" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is a subset of <inline-formula><mml:math id="M679" display="inline"><mml:mi mathvariant="normal">Ω</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M680" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>⊂</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:math></inline-formula>, and for the most upstream cells <inline-formula><mml:math id="M681" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="normal">∅</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
            </def></def-item>
          </def-list></p>
</sec>
</app>

<app id="App1.Ch1.S5">
  <label>Appendix E</label><title>CPU information</title>
      <p id="d2e20059"><preformat><![CDATA[Architecture:             x86_64
  CPU op-mode(s):         32 bit, 64 bit
  Address sizes:          48 bits physical, 48 bits virtual
  Byte order:             Little Endian
CPU(s):                   192
  On-line CPU(s) list:    0-191
Vendor ID:                AuthenticAMD
  Model name:             AMD EPYC 7643 48-Core Processor
    CPU family:           25
    Model:                1
    Thread(s) per core:   2
    Core(s) per socket:   48
    Socket(s):            2
    Stepping:             1
    Frequency boost:      enabled
    CPU max MHz:          2300.0000
    CPU min MHz:          1500.0000
    BogoMIPS:             4591.48
Virtualization features:
  Virtualization:         AMD-V
Caches (sum of all):
  L1d:                    3 MiB (96 instances)
  L1i:                    3 MiB (96 instances)
  L2:                     48 MiB (96 instances)
  L3:                     512 MiB (16 instances)
NUMA:
  NUMA node(s):           2
  NUMA node0 CPU(s):      0-47,96-143
  NUMA node1 CPU(s):      48-95,144-191]]></preformat></p>
</app>
  </app-group><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d2e20068">The source code of <monospace>smash</monospace>, version 1.0, is available and preserved on multiple platforms: GitHub at <uri>https://github.com/DassHydro/smash/tree/v1.0.2</uri> (last access: 25 July 2025), PyPI at <uri>https://pypi.org/project/hydro-smash/1.0.2</uri> (last access: 25 July 2025), and Zenodo at <ext-link xlink:href="https://doi.org/10.5281/zenodo.14841726" ext-link-type="DOI">10.5281/zenodo.14841726</ext-link> <xref ref-type="bibr" rid="bib1.bibx23" id="paren.144"/> (last access: 25 July 2025). The datasets presented in this paper are also available on Zenodo at <ext-link xlink:href="https://doi.org/10.5281/zenodo.14865491" ext-link-type="DOI">10.5281/zenodo.14865491</ext-link> <xref ref-type="bibr" rid="bib1.bibx24" id="paren.145"/> (last access: 25 July 2025). <monospace>smash</monospace> is released under the GPL-3 license and is developed openly at <uri>https://github.com/DassHydro/smash</uri> (last access: 25 July 2025). The documentation is accessible at <uri>https://smash.recover.inrae.fr</uri> (last access: 25 July 2025).</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e20105">FC: lead developer of <monospace>smash</monospace> v1.0, conceptualization, numerical experiments, result analyses, paper preparation. NNTH: main developer of <monospace>smash</monospace> v1.0, conceptualization, result analyses, paper preparation. PAG: co-developer, conceptualization, research plan and supervision, result analyses, paper preparation, funding. MJA: co-developer of <monospace>smash</monospace> v1.0, main developer of the first wrapping and differentiable code, paper review. DO: main developer of the first Fortran code, paper review. BR: co-developer of <monospace>smash</monospace> v1.0, result analyses, research co-supervision, paper review. TDF, AEB, JD: contribution to co-development of <monospace>smash</monospace> v1.0, paper review. PJ: result analyses, paper review, funding.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e20126">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="d2e20132">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. While Copernicus Publications makes every effort to include appropriate place names, the final responsibility lies with the authors.</p>
  </notes><ack><title>Acknowledgements</title><p id="d2e20138">The French national flood forecasting center, Service Central Vigicrues (ex. SCHAPI), is gratefully acknowledged for software development, operational application, and long-term collaboration on flood forecasting and data sharing. During the preparation of this work, the authors used Mistral AI in order to correct and improve the English language. After using this tool, the authors reviewed and edited the content as needed and take full responsibility for the content of the publication.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e20143">This research was supported by the Agence Nationale de la Recherche MUFFINS project (grant no. ANR-21-CE04-0021-01).</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d2e20150">This paper was edited by Dalei Hao and reviewed by two anonymous referees.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bibx1"><label>Addor et al.(2017)</label><mixed-citation>Addor, N., Newman, A. J., Mizukami, N., and Clark, M. P.: The CAMELS data set: catchment attributes and meteorology for large-sample studies, Hydrol. Earth Syst. Sci., 21, 5293–5313, <ext-link xlink:href="https://doi.org/10.5194/hess-21-5293-2017" ext-link-type="DOI">10.5194/hess-21-5293-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Aerts et al.(2022)</label><mixed-citation>Aerts, J. P. M., Hut, R. W., van de Giesen, N. C., Drost, N., van Verseveld, W. J., Weerts, A. H., and Hazenberg, P.: Large-sample assessment of varying spatial resolution on the streamflow estimates of the wflow_sbm hydrological model, Hydrol. Earth Syst. Sci., 26, 4407–4430, <ext-link xlink:href="https://doi.org/10.5194/hess-26-4407-2022" ext-link-type="DOI">10.5194/hess-26-4407-2022</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Andréassian et al.(2009)</label><mixed-citation>Andréassian, V., Perrin, C., Berthet, L., Le Moine, N., Lerat, J., Loumagne, C., Oudin, L., Mathevet, T., Ramos, M.-H., and Valéry, A.: HESS Opinions “Crash tests for a standardized evaluation of hydrological models”, Hydrol. Earth Syst. Sci., 13, 1757–1764, <ext-link xlink:href="https://doi.org/10.5194/hess-13-1757-2009" ext-link-type="DOI">10.5194/hess-13-1757-2009</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Bates et al.(2010)</label><mixed-citation>Bates, P. D., Horritt, M. S., and Fewtrell, T. J.: A simple inertial formulation of the shallow water equations for efficient two-dimensional flood inundation modelling, J. Hydrol., 387, 33–45, <ext-link xlink:href="https://doi.org/10.1016/j.jhydrol.2010.03.027" ext-link-type="DOI">10.1016/j.jhydrol.2010.03.027</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Beck et al.(2016)</label><mixed-citation>Beck, H. E., van Dijk, A. I. J. M., de Roo, A., Miralles, D. G., McVicar, T. R., Schellekens, J., and Bruijnzeel, L. A.: Global-scale regionalization of hydrologic model parameters, Water Resour. Res., 52, 3599–3622, <ext-link xlink:href="https://doi.org/10.1002/2015WR018247" ext-link-type="DOI">10.1002/2015WR018247</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Beck et al.(2019)</label><mixed-citation>Beck, H. E., Wood, E. F., Pan, M., Fisher, C. K., Miralles, D. G., van Dijk, A. I. J. M., McVicar, T. R., and Adler, R. F.: MSWEP V2 global 3-hourly 0.1° precipitation: methodology and quantitative assessment, B. Am. Meteorol. Soc., 100, 473–500, <ext-link xlink:href="https://doi.org/10.1175/BAMS-D-17-0138.1" ext-link-type="DOI">10.1175/BAMS-D-17-0138.1</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Beck et al.(2020)</label><mixed-citation>Beck, H. E., Pan, M., Lin, P., Seibert, J., van Dijk, A. I. J. M., and Wood, E. F.: Global fully distributed parameter regionalization based on observed streamflow from 4,229 headwater catchments, J. Geophys. Res.-Atmos., 125, e2019JD031485, <ext-link xlink:href="https://doi.org/10.1029/2019JD031485" ext-link-type="DOI">10.1029/2019JD031485</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Bertalanffy(1968)</label><mixed-citation> Bertalanffy, L. V.: General System Theory: Foundations, Development, Applications, G. Braziller, ISBN 0807600156, 1968.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Beven(1987)</label><mixed-citation>Beven, K.: Towards a new paradigm in hydrology, in: Water for the Future: Hydrology in Perspective, IAHS Publication, <uri>https://agupubs.onlinelibrary.wiley.com/doi/10.1029/2020wr028091</uri>, 1987.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Beven(1989)</label><mixed-citation>Beven, K.: Changing ideas in hydrology – the case of physically-based models, J. Hydrol., 105, 157–172, <ext-link xlink:href="https://doi.org/10.1016/0022-1694(89)90101-7" ext-link-type="DOI">10.1016/0022-1694(89)90101-7</ext-link>, 1989.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Beven(1993)</label><mixed-citation>Beven, K.: Prophecy, reality and uncertainty in distributed hydrological modelling, Adv. Water Resour., 16, 41–51, <ext-link xlink:href="https://doi.org/10.1016/0309-1708(93)90028-E" ext-link-type="DOI">10.1016/0309-1708(93)90028-E</ext-link>, 1993.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Beven(2001)</label><mixed-citation>Beven, K.: How far can we go in distributed hydrological modelling?, Hydrol. Earth Syst. Sci., 5, 1–12, <ext-link xlink:href="https://doi.org/10.5194/hess-5-1-2001" ext-link-type="DOI">10.5194/hess-5-1-2001</ext-link>, 2001.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Beven(2011)</label><mixed-citation>Beven, K. J.: Rainfall – Runoff Modelling, The Primer, John Wiley and Sons, LTD, <ext-link xlink:href="https://doi.org/10.1002/9781119951001" ext-link-type="DOI">10.1002/9781119951001</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Bierkens et al.(2015)</label><mixed-citation>Bierkens, M. F. P., Bell, V. A., Burek, P., Chaney, N., Condon, L. E., David, C. H., de Roo, A., Döll, P., Drost, N., Famiglietti, J. S., Flörke, M., Gochis, D. J., Houser, P., Hut, R., Keune, J., Kollet, S., Maxwell, R. M., Reager, J. T., Samaniego, L., Sudicky, E., Sutanudjaja, E. H., van de Giesen, N., Winsemius, H., and Wood, E. F.: Hyper-resolution global hydrological modelling: what is next?, Hydrol. Process., 29, 310–320, <ext-link xlink:href="https://doi.org/10.1002/hyp.10391" ext-link-type="DOI">10.1002/hyp.10391</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Blöschl and Sivapalan(1995)</label><mixed-citation>Blöschl, G. and Sivapalan, M.: Scale issues in hydrological modelling: a review, Hydrol. Process., 9, 251–290, <ext-link xlink:href="https://doi.org/10.1002/hyp.3360090305" ext-link-type="DOI">10.1002/hyp.3360090305</ext-link>, 1995.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Bouaziz et al.(2021)</label><mixed-citation>Bouaziz, L. J. E., Fenicia, F., Thirel, G., de Boer-Euser, T., Buitink, J., Brauer, C. C., De Niel, J., Dewals, B. J., Drogue, G., Grelier, B., Melsen, L. A., Moustakas, S., Nossent, J., Pereira, F., Sprokkereef, E., Stam, J., Weerts, A. H., Willems, P., Savenije, H. H. G., and Hrachowitz, M.: Behind the scenes of streamflow model performance, Hydrol. Earth Syst. Sci., 25, 1069–1095, <ext-link xlink:href="https://doi.org/10.5194/hess-25-1069-2021" ext-link-type="DOI">10.5194/hess-25-1069-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Brisset et al.(2018)</label><mixed-citation>Brisset, P., Monnier, J., Garambois, P.-A., and Roux, H.: On the assimilation of altimetric data in 1D Saint-Venant river flow models, Adv. Water Resour., 119, 41–59, <ext-link xlink:href="https://doi.org/10.1016/j.advwatres.2018.06.004" ext-link-type="DOI">10.1016/j.advwatres.2018.06.004</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Castaings et al.(2009)</label><mixed-citation>Castaings, W., Dartus, D., Le Dimet, F.-X., and Saulnier, G.-M.: Sensitivity analysis and parameter estimation for distributed hydrological modeling: potential of variational methods, Hydrol. Earth Syst. Sci., 13, 503–517, <ext-link xlink:href="https://doi.org/10.5194/hess-13-503-2009" ext-link-type="DOI">10.5194/hess-13-503-2009</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Champeaux et al.(2009)</label><mixed-citation>Champeaux, J.-L., Dupuy, P., Laurantin, O., Soulan, I., Tabary, P., and Soubeyroux, J.-M.: Les mesures de précipitations et l'estimation des lames d'eau à Météo-France : état de l'art et perspectives, La Houille Blanche, 95, 28–34, <ext-link xlink:href="https://doi.org/10.1051/lhb/2009052" ext-link-type="DOI">10.1051/lhb/2009052</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Chow et al.(1998)</label><mixed-citation>Chow, V. T., Maidment, D. R., and Mays, L. W.: Applied Hydrology, in: McGraw-Hill Series in Water Resources and Environmental Engineering, McGraw-Hill, ISBN 9780070108103, <uri>https://wecivilengineers.wordpress.com/wp-content/uploads/2017/10/applied-hydrology-ven-te-chow.pdf</uri> (last access: 25 July 2025), 1998.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Clark et al.(2017)</label><mixed-citation>Clark, M. P., Bierkens, M. F. P., Samaniego, L., Woods, R. A., Uijlenhoet, R., Bennett, K. E., Pauwels, V. R. N., Cai, X., Wood, A. W., and Peters-Lidard, C. D.: The evolution of process-based hydrologic models: historical challenges and the collective quest for physical realism, Hydrol. Earth Syst. Sci., 21, 3427–3440, <ext-link xlink:href="https://doi.org/10.5194/hess-21-3427-2017" ext-link-type="DOI">10.5194/hess-21-3427-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Colleoni et al.(2022)</label><mixed-citation>Colleoni, F., Garambois, P.-A., Javelle, P., Jay-Allemand, M., and Arnaud, P.: Adjoint-based spatially distributed calibration of a grid GR-based parsimonious hydrological model over 312 French catchments with SMASH platform, EGUsphere [preprint], <ext-link xlink:href="https://doi.org/10.5194/egusphere-2022-506" ext-link-type="DOI">10.5194/egusphere-2022-506</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Colleoni et al.(2025a)</label><mixed-citation>Colleoni, F., Huynh, N. N. T., Garambois, P.-A., Jay-Allemand, M., Organde, D., Renard, B., De Fournas, T., El Baz, A., Demargne, J., and Javelle, P.: SMASH v1.0.2, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.14841726" ext-link-type="DOI">10.5281/zenodo.14841726</ext-link>, 2025a.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Colleoni et al.(2025b)</label><mixed-citation>Colleoni, F., Huynh, N. N. T., Garambois, P.-A., Jay-Allemand, M., Organde, D., Renard, B., De Fournas, T., El Baz, A., Demargne, J., and Javelle, P.: SMASH v1.0.2 cases, Zenodo [data set], <ext-link xlink:href="https://doi.org/10.5281/zenodo.14865491" ext-link-type="DOI">10.5281/zenodo.14865491</ext-link>, 2025b.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Dagum and Menon(1998)</label><mixed-citation>Dagum, L. and Menon, R.: OpenMP: an industry standard API for shared-memory programming, IEEE Computational Science and Engineering, 5, 46–55, <ext-link xlink:href="https://doi.org/10.1109/99.660313" ext-link-type="DOI">10.1109/99.660313</ext-link>, 1998.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>De Lavenne et al.(2019)</label><mixed-citation> De Lavenne, A., Andréassian, V., Thirel, G., Ramos, M.-H., and Perrin, C.: A regularization approach to improve the sequential calibration of a semidistributed hydrological model, Water Resour. Res., 55, 8821–8839, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Dooge(1986)</label><mixed-citation>Dooge, J. C. I.: Looking for hydrologic laws, Water Resour. Res., 22, 46S–58S, <ext-link xlink:href="https://doi.org/10.1029/WR022i09Sp0046S" ext-link-type="DOI">10.1029/WR022i09Sp0046S</ext-link>, 1986.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Duan et al.(2006)</label><mixed-citation>Duan, Q., Schaake, J., Andréassian, V., Franks, S., Goteti, G., Gupta, H., Gusev, Y., Habets, F., Hall, A., Hay, L., Hogue, T., Huang, M., Leavesley, G., Liang, X., Nasonova, O., Noilhan, J., Oudin, L., Sorooshian, S., Wagener, T., and Wood, E.: Model Parameter Estimation Experiment (MOPEX): an overview of science strategy and major results from the second and third workshops, J. Hydrol., 320, 3–17, <ext-link xlink:href="https://doi.org/10.1016/j.jhydrol.2005.07.031" ext-link-type="DOI">10.1016/j.jhydrol.2005.07.031</ext-link>, 2006.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Eilander(2023)</label><mixed-citation>Eilander, D.: pyFlwDir, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.7759261" ext-link-type="DOI">10.5281/zenodo.7759261</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Eilander et al.(2021)</label><mixed-citation>Eilander, D., van Verseveld, W., Yamazaki, D., Weerts, A., Winsemius, H. C., and Ward, P. J.: A hydrography upscaling method for scale-invariant parametrization of distributed hydrological models, Hydrol. Earth Syst. Sci., 25, 5287–5313, <ext-link xlink:href="https://doi.org/10.5194/hess-25-5287-2021" ext-link-type="DOI">10.5194/hess-25-5287-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Feng et al.(2024)</label><mixed-citation>Feng, D., Beck, H., de Bruijn, J., Sahu, R. K., Satoh, Y., Wada, Y., Liu, J., Pan, M., Lawson, K., and Shen, C.: Deep dive into hydrologic simulations at global scale: harnessing the power of deep learning and physics-informed differentiable models (<inline-formula><mml:math id="M682" display="inline"><mml:mi mathvariant="italic">δ</mml:mi></mml:math></inline-formula>HBV-globe1.0-hydroDL), Geosci. Model Dev., 17, 7181–7198, <ext-link xlink:href="https://doi.org/10.5194/gmd-17-7181-2024" ext-link-type="DOI">10.5194/gmd-17-7181-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Fenicia et al.(2011)</label><mixed-citation>Fenicia, F., Kavetski, D., and Savenije, H. H.: Elements of a flexible approach for conceptual hydrological modeling: 1. Motivation and theoretical development, Water Resour. Res., 47, 11, <ext-link xlink:href="https://doi.org/10.1029/2010WR010174" ext-link-type="DOI">10.1029/2010WR010174</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Ficchì et al.(2019)</label><mixed-citation>Ficchì, A., Perrin, C., and Andréassian, V.: Hydrological modelling at multiple sub-daily time steps: model improvement via flux-matching, J. Hydrol., 575, 1308–1327, <ext-link xlink:href="https://doi.org/10.1016/j.jhydrol.2019.05.084" ext-link-type="DOI">10.1016/j.jhydrol.2019.05.084</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Folton and Arnaud(2020)</label><mixed-citation>Folton, N. and Arnaud, P.: Indicateurs sur la ressource en eau estimés par une modélisation pluie-débit régionalisée: la base de données Web LoiEau, La Houille Blanche, 106, 22–29, <ext-link xlink:href="https://doi.org/10.1051/lhb/2020034" ext-link-type="DOI">10.1051/lhb/2020034</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>Garavaglia et al.(2017)</label><mixed-citation>Garavaglia, F., Le Lay, M., Gottardi, F., Garçon, R., Gailhard, J., Paquet, E., and Mathevet, T.: Impact of model structure on flow simulation and hydrological realism: from a lumped to a semi-distributed approach, Hydrol. Earth Syst. Sci., 21, 3937–3952, <ext-link xlink:href="https://doi.org/10.5194/hess-21-3937-2017" ext-link-type="DOI">10.5194/hess-21-3937-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>Gupta et al.(2009)</label><mixed-citation>Gupta, H. V., Kling, H., Yilmaz, K. K., and Martinez, G. F.: Decomposition of the mean squared error and NSE performance criteria: implications for improving hydrological modelling, J. Hydrol., 377, 80–91, <ext-link xlink:href="https://doi.org/10.1016/j.jhydrol.2009.08.003" ext-link-type="DOI">10.1016/j.jhydrol.2009.08.003</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>Gupta et al.(2014)</label><mixed-citation>Gupta, H. V., Perrin, C., Blöschl, G., Montanari, A., Kumar, R., Clark, M., and Andréassian, V.: Large-sample hydrology: a need to balance depth with breadth, Hydrol. Earth Syst. Sci., 18, 463–477, <ext-link xlink:href="https://doi.org/10.5194/hess-18-463-2014" ext-link-type="DOI">10.5194/hess-18-463-2014</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Harris et al.(2020)</label><mixed-citation>Harris, C. R., Millman, K. J., van der Walt, S. J., Gommers, R., Virtanen, P., Cournapeau, D., Wieser, E., Taylor, J., Berg, S., Smith, N. J., Kern, R., Picus, M., Hoyer, S., van Kerkwijk, M. H., Brett, M., Haldane, A., del Río, J. F., Wiebe, M., Peterson, P., Gérard-Marchant, P., Sheppard, K., Reddy, T., Weckesser, W., Abbasi, H., Gohlke, C., and Oliphant, T. E.: Array programming with NumPy, Nature, 585, 357–362, <ext-link xlink:href="https://doi.org/10.1038/s41586-020-2649-2" ext-link-type="DOI">10.1038/s41586-020-2649-2</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>Hascoet and Pascual(2013)</label><mixed-citation> Hascoet, L. and Pascual, V.: The Tapenade automatic differentiation tool: principles, model, and specification, ACM T. Math. Software, 39, 1–43, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Hengl et al.(2017)</label><mixed-citation>Hengl, T., Mendes de Jesus, J., Heuvelink, G. B. M., Ruiperez Gonzalez, M., Kilibarda, M., Blagotić, A., Shangguan, W., Wright, M. N., Geng, X., Bauer-Marschallinger, B., Guevara, M. A., Vargas, R., MacMillan, R. A., Batjes, N. H., Leenaars, J. G. B., Ribeiro, E., Wheeler, I., Mantel, S., and Kempen, B.: SoilGrids250m: global gridded soil information based on machine learning, PLoS One, 12, 1–40, <ext-link xlink:href="https://doi.org/10.1371/journal.pone.0169748" ext-link-type="DOI">10.1371/journal.pone.0169748</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx41"><label>Hersbach et al.(2020)</label><mixed-citation>Hersbach, H., Bell, B., Berrisford, P., Hirahara, S., Horányi, A., Muñoz-Sabater, J., Nicolas, J., Peubey, C., Radu, R., Schepers, D., Simmons, A., Soci, C., Abdalla, S., Abellan, X., Balsamo, G., Bechtold, P., Biavati, G., Bidlot, J., Bonavita, M., De Chiara, G., Dahlgren, P., Dee, D., Diamantakis, M., Dragani, R., Flemming, J., Forbes, R., Fuentes, M., Geer, A., Haimberger, L., Healy, S., Hogan, R. J., Hólm, E., Janisková, M., Keeley, S., Laloyaux, P., Lopez, P., Lupu, C., Radnoti, G., de Rosnay, P., Rozum, I., Vamborg, F., Villaume, S., and Thépaut, J.-N.: The ERA5 global reanalysis, Q. J. Roy. Meteor. Soc., 146, 1999–2049, <ext-link xlink:href="https://doi.org/10.1002/qj.3803" ext-link-type="DOI">10.1002/qj.3803</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx42"><label>Hirpa et al.(2018)</label><mixed-citation>Hirpa, F. A., Salamon, P., Beck, H. E., Lorini, V., Alfieri, L., Zsoter, E., and Dadson, S. J.: Calibration of the Global Flood Awareness System (GloFAS) using daily streamflow data, J. Hydrol., 566, 595–606, <ext-link xlink:href="https://doi.org/10.1016/j.jhydrol.2018.09.052" ext-link-type="DOI">10.1016/j.jhydrol.2018.09.052</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx43"><label>Hrachowitz and Clark(2017)</label><mixed-citation>Hrachowitz, M. and Clark, M. P.: HESS Opinions: The complementary merits of competing modelling philosophies in hydrology, Hydrol. Earth Syst. Sci., 21, 3953–3973, <ext-link xlink:href="https://doi.org/10.5194/hess-21-3953-2017" ext-link-type="DOI">10.5194/hess-21-3953-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx44"><label>Huynh et al.(2023)</label><mixed-citation>Huynh, N. N. T., Garambois, P.-A., Colleoni, F., and Javelle, P.: Signatures-and-sensitivity-based multi-criteria variational calibration for distributed hydrological modeling applied to Mediterranean floods, J. Hydrol., 625, 129992, <ext-link xlink:href="https://doi.org/10.1016/j.jhydrol.2023.129992" ext-link-type="DOI">10.1016/j.jhydrol.2023.129992</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx45"><label>Huynh et al.(2024a)</label><mixed-citation>Huynh, N. N. T., Garambois, P.-A., Colleoni, F., Renard, B., Monnier, J., and Roux, H.: Multiscale learnable physical modeling and data assimilation framework: application to high-resolution regionalized hydrological simulation of flash flood, Authorea Preprints, <ext-link xlink:href="https://doi.org/10.22541/au.170709054.44271526/v2" ext-link-type="DOI">10.22541/au.170709054.44271526/v2</ext-link>, 2024a.</mixed-citation></ref>
      <ref id="bib1.bibx46"><label>Huynh et al.(2024b)</label><mixed-citation>Huynh, N. N. T., Garambois, P.-A., Colleoni, F., Renard, B., Roux, H., Demargne, J., Jay-Allemand, M., and Javelle, P.: Learning regionalization using accurate spatial cost gradients within a differentiable high-resolution hydrological model: application to the French Mediterranean region, Water Resour. Res., 60, e2024WR037544, <ext-link xlink:href="https://doi.org/10.1029/2024WR037544" ext-link-type="DOI">10.1029/2024WR037544</ext-link>, 2024b.</mixed-citation></ref>
      <ref id="bib1.bibx47"><label>Huynh et al.(2025)</label><mixed-citation>Huynh, N. N. T., Garambois, P.-A., Renard, B., Colleoni, F., Monnier, J., and Roux, H.: A Distributed Hybrid Physics-AI Framework for Learning Corrections of Internal Hydrological Fluxes and Enhancing High-Resolution Regionalized Flood Modeling, EGUsphere [preprint], <ext-link xlink:href="https://doi.org/10.5194/egusphere-2024-3665" ext-link-type="DOI">10.5194/egusphere-2024-3665</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx48"><label>Jay-Allemand et al.(2020)</label><mixed-citation>Jay-Allemand, M., Javelle, P., Gejadze, I., Arnaud, P., Malaterre, P.-O., Fine, J.-A., and Organde, D.: On the potential of variational calibration for a fully distributed hydrological model: application on a Mediterranean catchment, Hydrol. Earth Syst. Sci., 24, 5519–5538, <ext-link xlink:href="https://doi.org/10.5194/hess-24-5519-2020" ext-link-type="DOI">10.5194/hess-24-5519-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx49"><label>Jay-Allemand et al.(2022)</label><mixed-citation>Jay-Allemand, M., Colleoni, F., Garambois, P.-A., Javelle, P., and Demargne, J.: SMASH – patially distributed Modelling and Assimilation for Hydrology: Python wrapping towards enhances research-to-operations transfer, IAHS 2022 – Montpellier, poster, <uri>https://hal.science/hal-03683657</uri> (last access: 25 July 2025), 2022.</mixed-citation></ref>
      <ref id="bib1.bibx50"><label>Jay-Allemand et al.(2024)</label><mixed-citation>Jay-Allemand, M., Demargne, J., Garambois, P.-A., Javelle, P., Gejadze, I., Colleoni, F., Organde, D., Arnaud, P., and Fouchier, C.: Spatially distributed calibration of a hydrological model with variational optimization constrained by physiographic maps for flash flood forecasting in France, Proc. IAHS, 385, 281–290, <ext-link xlink:href="https://doi.org/10.5194/piahs-385-281-2024" ext-link-type="DOI">10.5194/piahs-385-281-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx51"><label>Kermode(2020)</label><mixed-citation>Kermode, J. R.: f90wrap: an automated tool for constructing deep Python interfaces to modern Fortran codes, J. Phys. Condens. Matter, <ext-link xlink:href="https://doi.org/10.1088/1361-648X/ab82d2" ext-link-type="DOI">10.1088/1361-648X/ab82d2</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx52"><label>Kingma and Ba(2014)</label><mixed-citation>Kingma, D. P. and Ba, J.: Adam: a method for stochastic optimization, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.1412.6980" ext-link-type="DOI">10.48550/arXiv.1412.6980</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx53"><label>Klemeš(1983)</label><mixed-citation>Klemeš, V.: Conceptualization and scale in hydrology, J. Hydrol., 65, 1–23, <ext-link xlink:href="https://doi.org/10.1016/0022-1694(83)90208-1" ext-link-type="DOI">10.1016/0022-1694(83)90208-1</ext-link>, 1983.</mixed-citation></ref>
      <ref id="bib1.bibx54"><label>Kratzert et al.(2023)</label><mixed-citation>Kratzert, F., Nearing, G., Addor, N., Erickson, T., Gauch, M., Gilon, O., Gudmundsson, L., Hassidim, A., Klotz, D., Nevo, S., Shalev, G., and Matias, Y.: Caravan – a global community dataset for large-sample hydrology, Scientific Data, 10, 61, <ext-link xlink:href="https://doi.org/10.1038/s41597-023-01975-w" ext-link-type="DOI">10.1038/s41597-023-01975-w</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx55"><label>Lane et al.(2019)</label><mixed-citation>Lane, R. A., Coxon, G., Freer, J. E., Wagener, T., Johnes, P. J., Bloomfield, J. P., Greene, S., Macleod, C. J. A., and Reaney, S. M.: Benchmarking the predictive capability of hydrological models for river flow and flood peak predictions across over 1000 catchments in Great Britain, Hydrol. Earth Syst. Sci., 23, 4011–4032, <ext-link xlink:href="https://doi.org/10.5194/hess-23-4011-2019" ext-link-type="DOI">10.5194/hess-23-4011-2019</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx56"><label>Leblois and Sauquet(1999)</label><mixed-citation>Leblois, E. and Sauquet, E.: Grid elevation models in hydrology – Part 1: Principales and literrature review; Part2: HydroDEM, User's manual, Tech. rep., Cemagref, <uri>https://hess.copernicus.org/articles/14/99/2010/hess-14-99-2010.pdf</uri>, 1999.</mixed-citation></ref>
      <ref id="bib1.bibx57"><label>Lee et al.(2012)</label><mixed-citation>Lee, H., Seo, D.-J., Liu, Y., Koren, V., McKee, P., and Corby, R.: Variational assimilation of streamflow into operational distributed hydrologic models: effect of spatiotemporal scale of adjustment, Hydrol. Earth Syst. Sci., 16, 2233–2251, <ext-link xlink:href="https://doi.org/10.5194/hess-16-2233-2012" ext-link-type="DOI">10.5194/hess-16-2233-2012</ext-link>, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx58"><label>Le Moine(2008)</label><mixed-citation>Le Moine, N.: Le bassin versant de surface vu par le souterrain: une voie d'amélioration des performances et du réalisme des modles pluie-débit ?, PhD thesis, Cemagref, UR HBAN, Antony, <uri>https://theses.hal.science/tel-02591478</uri> (last access: 25 July 2025), 2008.</mixed-citation></ref>
      <ref id="bib1.bibx59"><label>Liang et al.(1994)</label><mixed-citation>Liang, X., Lettenmaier, D. P., Wood, E. F., and Burges, S. J.: A simple hydrologically based model of land surface water and energy fluxes for general circulation models, J. Geophys. Res.-Atmos., 99, 14415–14428, <ext-link xlink:href="https://doi.org/10.1029/94JD00483" ext-link-type="DOI">10.1029/94JD00483</ext-link>, 1994.</mixed-citation></ref>
      <ref id="bib1.bibx60"><label>Liu and Gupta(2007)</label><mixed-citation> Liu, Y. and Gupta, H. V.: Uncertainty in hydrologic modeling: toward an integrated data assimilation framework, Water Resour. Res., 43, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx61"><label>Mathevet(2005)</label><mixed-citation>Mathevet, T.: Quels modeles pluie-debit globaux au pas de temps horaire? Développements empiriques et intercomparaison de modeles sur un large échantillon de bassins versants, PhD thesis, ENGREF, 463 pp., <uri>https://hal.inrae.fr/tel-02587642v1</uri> (last access: 25 July 2025), 2005.</mixed-citation></ref>
      <ref id="bib1.bibx62"><label>Mathevet et al.(2020)</label><mixed-citation>Mathevet, T., Gupta, H., Perrin, C., Andréassian, V., and Le Moine, N.: Assessing the performance and robustness of two conceptual rainfall-runoff models on a worldwide sample of watersheds, J. Hydrol., 585, 124698, <ext-link xlink:href="https://doi.org/10.1016/j.jhydrol.2020.124698" ext-link-type="DOI">10.1016/j.jhydrol.2020.124698</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx63"><label>Milly(1994)</label><mixed-citation>Milly, P.: Climate, interseasonal storage of soil water, and the annual water balance, Adv. Water Resour., 17, 19–24, <ext-link xlink:href="https://doi.org/10.1016/0309-1708(94)90020-5" ext-link-type="DOI">10.1016/0309-1708(94)90020-5</ext-link>, 1994.</mixed-citation></ref>
      <ref id="bib1.bibx64"><label>Mizukami et al.(2017)</label><mixed-citation>Mizukami, N., Clark, M. P., Newman, A. J., Wood, A. W., Gutmann, E. D., Nijssen, B., Rakovec, O., and Samaniego, L.: Towards seamless large-domain parameter estimation for hydrologic models, Water Resour. Res., 53, 8020–8040, <ext-link xlink:href="https://doi.org/10.1002/2017WR020401" ext-link-type="DOI">10.1002/2017WR020401</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx65"><label>Mizukami et al.(2019)</label><mixed-citation>Mizukami, N., Rakovec, O., Newman, A. J., Clark, M. P., Wood, A. W., Gupta, H. V., and Kumar, R.: On the choice of calibration metrics for “high-flow” estimation using hydrologic models, Hydrol. Earth Syst. Sci., 23, 2601–2614, <ext-link xlink:href="https://doi.org/10.5194/hess-23-2601-2019" ext-link-type="DOI">10.5194/hess-23-2601-2019</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx66"><label>Monnier(2024)</label><mixed-citation>Monnier, J.: Data Assimilation – Inverse Problems, Assimilation, Control, Learning, INSA Toulouse, <uri>https://www.math.univ-toulouse.fr/~jmonnie/Enseignement/CourseVDA.pdf</uri> (last access: 25 July 2025), 2024.</mixed-citation></ref>
      <ref id="bib1.bibx67"><label>Monnier et al.(2016)</label><mixed-citation>Monnier, J., Couderc, F., Dartus, D., Larnier, K., Madec, R., and Vila, J.-P.: Inverse algorithms for 2D shallow water equations in presence of wet dry fronts: application to flood plain dynamics, Adv. Water Resour., 97, 11–24, <ext-link xlink:href="https://doi.org/10.1016/j.advwatres.2016.07.005" ext-link-type="DOI">10.1016/j.advwatres.2016.07.005</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx68"><label>Newman et al.(2015)</label><mixed-citation>Newman, A. J., Clark, M. P., Sampson, K., Wood, A., Hay, L. E., Bock, A., Viger, R. J., Blodgett, D., Brekke, L., Arnold, J. R., Hopson, T., and Duan, Q.: Development of a large-sample watershed-scale hydrometeorological data set for the contiguous USA: data set characteristics and assessment of regional variability in hydrologic model performance, Hydrol. Earth Syst. Sci., 19, 209–223, <ext-link xlink:href="https://doi.org/10.5194/hess-19-209-2015" ext-link-type="DOI">10.5194/hess-19-209-2015</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx69"><label>Organde et al.(2013)</label><mixed-citation> Organde, D., Arnaud, P., Fine, J.-A., Fouchier, C., Folton, N., and Lavabre, J.: Régionalisation d'une méthode de prédétermination de crue sur l'ensemble du territoire français: la méthode SHYREG, Revue des Sciences de l'Eau, 26, 65–78, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx70"><label>Orth et al.(2015)</label><mixed-citation>Orth, R., Staudinger, M., Seneviratne, S. I., Seibert, J., and Zappa, M.: Does model performance improve with complexity? A case study with three hydrological models, J. Hydrol., 523, 147–159, <ext-link xlink:href="https://doi.org/10.1016/j.jhydrol.2015.01.044" ext-link-type="DOI">10.1016/j.jhydrol.2015.01.044</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx71"><label>Oudin et al.(2005)</label><mixed-citation>Oudin, L., Hervieu, F., Michel, C., Perrin, C., Andréassian, V., Anctil, F., and Loumagne, C.: Which potential evapotranspiration input for a lumped rainfall–runoff model?: Part 2 – Towards a simple and efficient potential evapotranspiration model for rainfall–runoff modelling, J. Hydrol., 303, 290–306, <ext-link xlink:href="https://doi.org/10.1016/j.jhydrol.2004.08.026" ext-link-type="DOI">10.1016/j.jhydrol.2004.08.026</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx72"><label>pandas development team(2020)</label><mixed-citation>pandas development team: pandas-dev/pandas: Pandas, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.3509134" ext-link-type="DOI">10.5281/zenodo.3509134</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx73"><label>Peredo et al.(2022)</label><mixed-citation>Peredo, D., Ramos, M.-H. V. A., and Oudin, L.: Investigating hydrological model versatility to simulate extreme flood events, Hydrolog. Sci. J., 67, 628–645, <ext-link xlink:href="https://doi.org/10.1080/02626667.2022.2030864" ext-link-type="DOI">10.1080/02626667.2022.2030864</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx74"><label>Perrin et al.(2001)</label><mixed-citation>Perrin, C., Michel, C., and Andréassian, V.: Does a large number of parameters enhance model performance? Comparative assessment of common catchment model structures on 429 catchments, J. Hydrol., 242, 275–301, <ext-link xlink:href="https://doi.org/10.1016/S0022-1694(00)00393-0" ext-link-type="DOI">10.1016/S0022-1694(00)00393-0</ext-link>, 2001.</mixed-citation></ref>
      <ref id="bib1.bibx75"><label>Perrin et al.(2003)</label><mixed-citation> Perrin, C., Michel, C., and Andrèassian, V.: Improvement of a parsimonious model for streamflow simulation, J. Hydrol., 279, 275–289, 2003.</mixed-citation></ref>
      <ref id="bib1.bibx76"><label>Piotte et al.(2020)</label><mixed-citation>Piotte, O., Montmerle, T., Fouchier, C., Belleudy, A., Garandeau, L., Janet, B., Jauffret, C., Demargne, J., and Organde, D.: Les évolutions du service d'avertissement sur les pluies intenses et les crues soudaines en France, La Houille Blanche, 106, 75–84, <ext-link xlink:href="https://doi.org/10.1051/lhb/2020055" ext-link-type="DOI">10.1051/lhb/2020055</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx77"><label>Pujol et al.(2022)</label><mixed-citation>Pujol, L., Garambois, P.-A., and Monnier, J.: Multi-dimensional hydrological-hydraulic model with variational data assimilation for river networks and floodplains, EGUsphere [preprint], <ext-link xlink:href="https://doi.org/10.5194/egusphere-2022-10" ext-link-type="DOI">10.5194/egusphere-2022-10</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx78"><label>Quintana-Seguí et al.(2008)</label><mixed-citation>Quintana-Seguí, P., Le Moigne, P., Durand, Y., Martin, E., Habets, F., Baillon, M., Canellas, C., Franchisteguy, L., and Morel, S.: Analysis of near-surface atmospheric variables: validation of the SAFRAN analysis over France, J. Appl. Meteorol., 47, 92, <ext-link xlink:href="https://doi.org/10.1175/2007JAMC1636.1" ext-link-type="DOI">10.1175/2007JAMC1636.1</ext-link>, 2008.</mixed-citation></ref>
      <ref id="bib1.bibx79"><label>Reed et al.(2004)</label><mixed-citation> Reed, S., Koren, V., Smith, M., Zhang, Z., Moreda, F., Seo, D.-J., and DMIP Participants: Overall distributed model intercomparison project results, J. Hydrol., 298, 27–60, 2004.</mixed-citation></ref>
      <ref id="bib1.bibx80"><label>Refsgaard(1997)</label><mixed-citation>Refsgaard, J. C.: Parameterisation, calibration and validation of distributed hydrological models, J. Hydrol., 198, 69–97, <ext-link xlink:href="https://doi.org/10.1016/S0022-1694(96)03329-X" ext-link-type="DOI">10.1016/S0022-1694(96)03329-X</ext-link>, 1997.</mixed-citation></ref>
      <ref id="bib1.bibx81"><label>Samaniego et al.(2010)</label><mixed-citation>Samaniego, L., Kumar, R., and Attinger, S.: Multiscale parameter regionalization of a grid-based hydrologic model at the mesoscale, Water Resour. Res., 46, <ext-link xlink:href="https://doi.org/10.1029/2008WR007327" ext-link-type="DOI">10.1029/2008WR007327</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx82"><label>Sebben et al.(2013)</label><mixed-citation>Sebben, M. L., Werner, A. D., Liggett, J. E., Partington, D., and Simmons, C. T.: On the testing of fully integrated surface subsurface hydrological models, Hydrol. Process., 27, 1276–1285, <ext-link xlink:href="https://doi.org/10.1002/hyp.9630" ext-link-type="DOI">10.1002/hyp.9630</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx83"><label>Shen et al.(2023)</label><mixed-citation>Shen, C., Appling, A. P., Gentine, P., Bandai, T., Gupta, H., Tartakovsky, A., Baity-Jesi, M., Fenicia, F., Kifer, D., Li, L., Liu, X., Ren, W., Zheng, Y., Harman, C. J., Clark, M., Farthing, M., Feng, D., Kumar, P., Aboelyazeed, D., Rahmani, F., Song, Y., Beck, H. E., Bindas, T., Dwivedi, D., Fang, K., Höge, M., Rackauckas, C., Mohanty, B., Roy, T., Xu, C., and Lawson, K.: Differentiable modelling to unify machine learning and physical models for geosciences, Nature Reviews Earth and Environment, 4, 552–567, <ext-link xlink:href="https://doi.org/10.1038/s43017-023-00450-9" ext-link-type="DOI">10.1038/s43017-023-00450-9</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx84"><label>Todini(1996)</label><mixed-citation>Todini, E.: The ARNO rainfall – runoff model, J. Hydrol., 175, 339–382, <ext-link xlink:href="https://doi.org/10.1016/S0022-1694(96)80016-3" ext-link-type="DOI">10.1016/S0022-1694(96)80016-3</ext-link>, 1996.</mixed-citation></ref>
      <ref id="bib1.bibx85"><label>Towler et al.(2023)</label><mixed-citation>Towler, E., Foks, S. S., Dugger, A. L., Dickinson, J. E., Essaid, H. I., Gochis, D., Viger, R. J., and Zhang, Y.: Benchmarking high-resolution hydrologic model performance of long-term retrospective streamflow simulations in the contiguous United States, Hydrol. Earth Syst. Sci., 27, 1809–1825, <ext-link xlink:href="https://doi.org/10.5194/hess-27-1809-2023" ext-link-type="DOI">10.5194/hess-27-1809-2023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx86"><label>van Verseveld et al.(2024)</label><mixed-citation>van Verseveld, W. J., Weerts, A. H., Visser, M., Buitink, J., Imhoff, R. O., Boisgontier, H., Bouaziz, L., Eilander, D., Hegnauer, M., ten Velden, C., and Russell, B.: Wflow_sbm v0.7.3, a spatially distributed hydrological model: from global data to local applications, Geosci. Model Dev., 17, 3199–3234, <ext-link xlink:href="https://doi.org/10.5194/gmd-17-3199-2024" ext-link-type="DOI">10.5194/gmd-17-3199-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx87"><label>Vereecken et al.(2019)</label><mixed-citation>Vereecken, H., Weihermüller, L., Assouline, S., Šimůnek, J., Verhoef, A., Herbst, M., Archer, N., Mohanty, B., Montzka, C., Vanderborght, J., Balsamo, G., Bechtold, M., Boone, A., Chadburn, S., Cuntz, M., Decharme, B., Ducharne, A., Ek, M., Garrigues, S., Goergen, K., Ingwersen, J., Kollet, S., Lawrence, D. M., Li, Q., Or, D., Swenson, S., de Vrese, P., Walko, R., Wu, Y., and Xue, Y.: Infiltration from the pedon to global grid scales: an overview and outlook for land surface modeling, Vadose Zone J., 18, 180191, <ext-link xlink:href="https://doi.org/10.2136/vzj2018.10.0191" ext-link-type="DOI">10.2136/vzj2018.10.0191</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx88"><label>Vidal et al.(2010)</label><mixed-citation>Vidal, J.-P., Martin, E., Franchistéguy, L., Baillon, M., and Soubeyroux, J.-M.: A 50-year high-resolution atmospheric reanalysis over France with the Safran system, Int. J. Climatol., 30, 1627–1644, <ext-link xlink:href="https://doi.org/10.1002/joc.2003" ext-link-type="DOI">10.1002/joc.2003</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx89"><label>Virtanen et al.(2020)</label><mixed-citation>Virtanen, P., Gommers, R., Oliphant, T. E., Haberland, M., Reddy, T., Cournapeau, D., Burovski, E., Peterson, P., Weckesser, W., Bright, J., van der Walt, S. J., Brett, M., Wilson, J., Millman, K. J., Mayorov, N., Nelson, A. R. J., Jones, E., Kern, R., Larson, E., Carey, C. J., Polat, İ., Feng, Y., Moore, E. W., VanderPlas, J., Laxalde, D., Perktold, J., Cimrman, R., Henriksen, I., Quintero, E. A., Harris, C. R., Archibald, A. M., Ribeiro, A. H., Pedregosa, F., van Mulbregt, P., and SciPy 1.0 Contributors: SciPy 1.0: fundamental algorithms for scientific computing in Python, Nat. Methods, 17, 261–272, <ext-link xlink:href="https://doi.org/10.1038/s41592-019-0686-2" ext-link-type="DOI">10.1038/s41592-019-0686-2</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx90"><label>Wood et al.(2011)</label><mixed-citation>Wood, E. F., Roundy, J. K., Troy, T. J., van Beek, L. P. H., Bierkens, M. F. P., Blyth, E., de Roo, A., Döll, P., Ek, M., Famiglietti, J., Gochis, D., van de Giesen, N., Houser, P., Jaffé, P. R., Kollet, S., Lehner, B., Lettenmaier, D. P., Peters-Lidard, C., Sivapalan, M., Sheffield, J., Wade, A., and Whitehead, P.: Hyperresolution global land surface modeling: meeting a grand challenge for monitoring Earth's terrestrial water, Water Resour. Res., 47, <ext-link xlink:href="https://doi.org/10.1029/2010WR010090" ext-link-type="DOI">10.1029/2010WR010090</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx91"><label>Xu et al.(2022)</label><mixed-citation>Xu, D., Bisht, G., Sargsyan, K., Liao, C., and Leung, L. R.: Using a surrogate-assisted Bayesian framework to calibrate the runoff-generation scheme in the Energy Exascale Earth System Model (E3SM) v1, Geosci. Model Dev., 15, 5021–5043, <ext-link xlink:href="https://doi.org/10.5194/gmd-15-5021-2022" ext-link-type="DOI">10.5194/gmd-15-5021-2022</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx92"><label>Yamazaki et al.(2017)</label><mixed-citation>Yamazaki, D., Ikeshima, D., Tawatari, R., Yamaguchi, T., O'Loughlin, F., Neal, J. C., Sampson, C. C., Kanae, S., and Bates, P. D.: A high-accuracy map of global terrain elevations, Geophys. Res. Lett., 44, 5844–5853, <ext-link xlink:href="https://doi.org/10.1002/2017GL072874" ext-link-type="DOI">10.1002/2017GL072874</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx93"><label>Yang et al.(2019)</label><mixed-citation>Yang, Y., Pan, M., Beck, H. E., Fisher, C. K., Beighley, R. E., Kao, S.-C., Hong, Y., and Wood, E. F.: In quest of calibration density and consistency in hydrologic modeling: distributed parameter calibration against streamflow characteristics, Water Resour. Res., 55, 7784–7803, <ext-link xlink:href="https://doi.org/10.1029/2018WR024178" ext-link-type="DOI">10.1029/2018WR024178</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx94"><label>Zhu et al.(1997)</label><mixed-citation> Zhu, C., Byrd, R. H., Lu, P., and Nocedal, J.: Algorithm 778: L-BFGS-B: Fortran Subroutines for Large-Scale Bound-Constrained Optimization, ACM T. Math. Software, 23, 550–560, 1997.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html><span style="" class="text typewriter">smash</span> v1.0: a differentiable and regionalizable high-resolution hydrological modeling and data assimilation framework</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Addor et al.(2017)</label><mixed-citation>
       Addor, N., Newman, A. J., Mizukami, N., and Clark, M. P.: The CAMELS data set: catchment attributes and meteorology for large-sample studies, Hydrol. Earth Syst. Sci., 21, 5293–5313, <a href="https://doi.org/10.5194/hess-21-5293-2017" target="_blank">https://doi.org/10.5194/hess-21-5293-2017</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Aerts et al.(2022)</label><mixed-citation>
       Aerts, J. P. M., Hut, R. W., van de Giesen, N. C., Drost, N., van Verseveld, W. J., Weerts, A. H., and Hazenberg, P.: Large-sample assessment of varying spatial resolution on the streamflow estimates of the wflow_sbm hydrological model, Hydrol. Earth Syst. Sci., 26, 4407–4430, <a href="https://doi.org/10.5194/hess-26-4407-2022" target="_blank">https://doi.org/10.5194/hess-26-4407-2022</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Andréassian et al.(2009)</label><mixed-citation>
       Andréassian, V., Perrin, C., Berthet, L., Le Moine, N., Lerat, J., Loumagne, C., Oudin, L., Mathevet, T., Ramos, M.-H., and Valéry, A.: HESS Opinions “Crash tests for a standardized evaluation of hydrological models”, Hydrol. Earth Syst. Sci., 13, 1757–1764, <a href="https://doi.org/10.5194/hess-13-1757-2009" target="_blank">https://doi.org/10.5194/hess-13-1757-2009</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Bates et al.(2010)</label><mixed-citation>
       Bates, P. D., Horritt, M. S., and Fewtrell, T. J.: A simple inertial formulation of the shallow water equations for efficient two-dimensional flood inundation modelling, J. Hydrol., 387, 33–45, <a href="https://doi.org/10.1016/j.jhydrol.2010.03.027" target="_blank">https://doi.org/10.1016/j.jhydrol.2010.03.027</a>, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Beck et al.(2016)</label><mixed-citation>
       Beck, H. E., van Dijk, A. I. J. M., de Roo, A., Miralles, D. G., McVicar, T. R., Schellekens, J., and Bruijnzeel, L. A.: Global-scale regionalization of hydrologic model parameters, Water Resour. Res., 52, 3599–3622, <a href="https://doi.org/10.1002/2015WR018247" target="_blank">https://doi.org/10.1002/2015WR018247</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Beck et al.(2019)</label><mixed-citation>
       Beck, H. E., Wood, E. F., Pan, M., Fisher, C. K., Miralles, D. G., van Dijk, A. I. J. M., McVicar, T. R., and Adler, R. F.: MSWEP V2 global 3-hourly 0.1° precipitation: methodology and quantitative assessment, B. Am. Meteorol. Soc., 100, 473–500, <a href="https://doi.org/10.1175/BAMS-D-17-0138.1" target="_blank">https://doi.org/10.1175/BAMS-D-17-0138.1</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Beck et al.(2020)</label><mixed-citation>
       Beck, H. E., Pan, M., Lin, P., Seibert, J., van Dijk, A. I. J. M., and Wood, E. F.: Global fully distributed parameter regionalization based on observed streamflow from 4,229 headwater catchments, J. Geophys. Res.-Atmos., 125, e2019JD031485, <a href="https://doi.org/10.1029/2019JD031485" target="_blank">https://doi.org/10.1029/2019JD031485</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Bertalanffy(1968)</label><mixed-citation>
      
Bertalanffy, L. V.: General System Theory: Foundations, Development, Applications, G. Braziller, ISBN 0807600156, 1968.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Beven(1987)</label><mixed-citation>
      
Beven, K.: Towards a new paradigm in hydrology, in: Water for the Future: Hydrology in Perspective, IAHS Publication, <a href="https://agupubs.onlinelibrary.wiley.com/doi/10.1029/2020wr028091" target="_blank"/>, 1987.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Beven(1989)</label><mixed-citation>
       Beven, K.: Changing ideas in hydrology – the case of physically-based models, J. Hydrol., 105, 157–172, <a href="https://doi.org/10.1016/0022-1694(89)90101-7" target="_blank">https://doi.org/10.1016/0022-1694(89)90101-7</a>, 1989.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Beven(1993)</label><mixed-citation>
       Beven, K.: Prophecy, reality and uncertainty in distributed hydrological modelling, Adv. Water Resour., 16, 41–51, <a href="https://doi.org/10.1016/0309-1708(93)90028-E" target="_blank">https://doi.org/10.1016/0309-1708(93)90028-E</a>, 1993.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Beven(2001)</label><mixed-citation>
       Beven, K.: How far can we go in distributed hydrological modelling?, Hydrol. Earth Syst. Sci., 5, 1–12, <a href="https://doi.org/10.5194/hess-5-1-2001" target="_blank">https://doi.org/10.5194/hess-5-1-2001</a>, 2001.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Beven(2011)</label><mixed-citation>
      
Beven, K. J.: Rainfall – Runoff Modelling, The Primer, John Wiley and Sons, LTD, <a href="https://doi.org/10.1002/9781119951001" target="_blank">https://doi.org/10.1002/9781119951001</a>, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Bierkens et al.(2015)</label><mixed-citation>
       Bierkens, M. F. P., Bell, V. A., Burek, P., Chaney, N., Condon, L. E., David, C. H., de Roo, A., Döll, P., Drost, N., Famiglietti, J. S., Flörke, M., Gochis, D. J., Houser, P., Hut, R., Keune, J., Kollet, S., Maxwell, R. M., Reager, J. T., Samaniego, L., Sudicky, E., Sutanudjaja, E. H., van de Giesen, N., Winsemius, H., and Wood, E. F.: Hyper-resolution global hydrological modelling: what is next?, Hydrol. Process., 29, 310–320, <a href="https://doi.org/10.1002/hyp.10391" target="_blank">https://doi.org/10.1002/hyp.10391</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Blöschl and Sivapalan(1995)</label><mixed-citation>
       Blöschl, G. and Sivapalan, M.: Scale issues in hydrological modelling: a review, Hydrol. Process., 9, 251–290, <a href="https://doi.org/10.1002/hyp.3360090305" target="_blank">https://doi.org/10.1002/hyp.3360090305</a>, 1995.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Bouaziz et al.(2021)</label><mixed-citation>
       Bouaziz, L. J. E., Fenicia, F., Thirel, G., de Boer-Euser, T., Buitink, J., Brauer, C. C., De Niel, J., Dewals, B. J., Drogue, G., Grelier, B., Melsen, L. A., Moustakas, S., Nossent, J., Pereira, F., Sprokkereef, E., Stam, J., Weerts, A. H., Willems, P., Savenije, H. H. G., and Hrachowitz, M.: Behind the scenes of streamflow model performance, Hydrol. Earth Syst. Sci., 25, 1069–1095, <a href="https://doi.org/10.5194/hess-25-1069-2021" target="_blank">https://doi.org/10.5194/hess-25-1069-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Brisset et al.(2018)</label><mixed-citation>
       Brisset, P., Monnier, J., Garambois, P.-A., and Roux, H.: On the assimilation of altimetric data in 1D Saint-Venant river flow models, Adv. Water Resour., 119, 41–59, <a href="https://doi.org/10.1016/j.advwatres.2018.06.004" target="_blank">https://doi.org/10.1016/j.advwatres.2018.06.004</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Castaings et al.(2009)</label><mixed-citation>
       Castaings, W., Dartus, D., Le Dimet, F.-X., and Saulnier, G.-M.: Sensitivity analysis and parameter estimation for distributed hydrological modeling: potential of variational methods, Hydrol. Earth Syst. Sci., 13, 503–517, <a href="https://doi.org/10.5194/hess-13-503-2009" target="_blank">https://doi.org/10.5194/hess-13-503-2009</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Champeaux et al.(2009)</label><mixed-citation>
       Champeaux, J.-L., Dupuy, P., Laurantin, O., Soulan, I., Tabary, P., and Soubeyroux, J.-M.: Les mesures de précipitations et l'estimation des lames d'eau à Météo-France : état de l'art et perspectives, La Houille Blanche, 95, 28–34, <a href="https://doi.org/10.1051/lhb/2009052" target="_blank">https://doi.org/10.1051/lhb/2009052</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Chow et al.(1998)</label><mixed-citation>
      
Chow, V. T., Maidment, D. R., and Mays, L. W.: Applied Hydrology, in: McGraw-Hill Series in Water Resources and Environmental Engineering, McGraw-Hill, ISBN 9780070108103, <a href="https://wecivilengineers.wordpress.com/&#xA;wp-content/uploads/2017/10/applied-hydrology-ven-te-chow.pdf" target="_blank"/> (last access: 25 July 2025), 1998.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Clark et al.(2017)</label><mixed-citation>
       Clark, M. P., Bierkens, M. F. P., Samaniego, L., Woods, R. A., Uijlenhoet, R., Bennett, K. E., Pauwels, V. R. N., Cai, X., Wood, A. W., and Peters-Lidard, C. D.: The evolution of process-based hydrologic models: historical challenges and the collective quest for physical realism, Hydrol. Earth Syst. Sci., 21, 3427–3440, <a href="https://doi.org/10.5194/hess-21-3427-2017" target="_blank">https://doi.org/10.5194/hess-21-3427-2017</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Colleoni et al.(2022)</label><mixed-citation>
      
Colleoni, F., Garambois, P.-A., Javelle, P., Jay-Allemand, M., and Arnaud, P.: Adjoint-based spatially distributed calibration of a grid GR-based parsimonious hydrological model over 312 French catchments with SMASH platform, EGUsphere [preprint], <a href="https://doi.org/10.5194/egusphere-2022-506" target="_blank">https://doi.org/10.5194/egusphere-2022-506</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Colleoni et al.(2025a)</label><mixed-citation>
      
Colleoni, F., Huynh, N. N. T., Garambois, P.-A., Jay-Allemand, M., Organde, D., Renard, B., De Fournas, T., El Baz, A., Demargne, J., and Javelle, P.: SMASH v1.0.2, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.14841726" target="_blank">https://doi.org/10.5281/zenodo.14841726</a>, 2025a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Colleoni et al.(2025b)</label><mixed-citation>
      
Colleoni, F., Huynh, N. N. T., Garambois, P.-A., Jay-Allemand, M., Organde, D., Renard, B., De Fournas, T., El Baz, A., Demargne, J., and Javelle, P.: SMASH v1.0.2 cases, Zenodo [data set], <a href="https://doi.org/10.5281/zenodo.14865491" target="_blank">https://doi.org/10.5281/zenodo.14865491</a>, 2025b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Dagum and Menon(1998)</label><mixed-citation>
       Dagum, L. and Menon, R.: OpenMP: an industry standard API for shared-memory programming, IEEE Computational Science and Engineering, 5, 46–55, <a href="https://doi.org/10.1109/99.660313" target="_blank">https://doi.org/10.1109/99.660313</a>, 1998.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>De Lavenne et al.(2019)</label><mixed-citation>
       De Lavenne, A., Andréassian, V., Thirel, G., Ramos, M.-H., and Perrin, C.: A regularization approach to improve the sequential calibration of a semidistributed hydrological model, Water Resour. Res., 55, 8821–8839, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Dooge(1986)</label><mixed-citation>
       Dooge, J. C. I.: Looking for hydrologic laws, Water Resour. Res., 22, 46S–58S, <a href="https://doi.org/10.1029/WR022i09Sp0046S" target="_blank">https://doi.org/10.1029/WR022i09Sp0046S</a>, 1986.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Duan et al.(2006)</label><mixed-citation>
       Duan, Q., Schaake, J., Andréassian, V., Franks, S., Goteti, G., Gupta, H., Gusev, Y., Habets, F., Hall, A., Hay, L., Hogue, T., Huang, M., Leavesley, G., Liang, X., Nasonova, O., Noilhan, J., Oudin, L., Sorooshian, S., Wagener, T., and Wood, E.: Model Parameter Estimation Experiment (MOPEX): an overview of science strategy and major results from the second and third workshops, J. Hydrol., 320, 3–17, <a href="https://doi.org/10.1016/j.jhydrol.2005.07.031" target="_blank">https://doi.org/10.1016/j.jhydrol.2005.07.031</a>, 2006.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Eilander(2023)</label><mixed-citation>
       Eilander, D.: pyFlwDir, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.7759261" target="_blank">https://doi.org/10.5281/zenodo.7759261</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Eilander et al.(2021)</label><mixed-citation>
       Eilander, D., van Verseveld, W., Yamazaki, D., Weerts, A., Winsemius, H. C., and Ward, P. J.: A hydrography upscaling method for scale-invariant parametrization of distributed hydrological models, Hydrol. Earth Syst. Sci., 25, 5287–5313, <a href="https://doi.org/10.5194/hess-25-5287-2021" target="_blank">https://doi.org/10.5194/hess-25-5287-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Feng et al.(2024)</label><mixed-citation>
       Feng, D., Beck, H., de Bruijn, J., Sahu, R. K., Satoh, Y., Wada, Y., Liu, J., Pan, M., Lawson, K., and Shen, C.: Deep dive into hydrologic simulations at global scale: harnessing the power of deep learning and physics-informed differentiable models (<i>δ</i>HBV-globe1.0-hydroDL), Geosci. Model Dev., 17, 7181–7198, <a href="https://doi.org/10.5194/gmd-17-7181-2024" target="_blank">https://doi.org/10.5194/gmd-17-7181-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Fenicia et al.(2011)</label><mixed-citation>
      
Fenicia, F., Kavetski, D., and Savenije, H. H.: Elements of a flexible approach for conceptual hydrological modeling: 1. Motivation and theoretical development, Water Resour. Res., 47, 11, <a href="https://doi.org/10.1029/2010WR010174" target="_blank">https://doi.org/10.1029/2010WR010174</a>, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Ficchì et al.(2019)</label><mixed-citation>
       Ficchì, A., Perrin, C., and Andréassian, V.: Hydrological modelling at multiple sub-daily time steps: model improvement via flux-matching, J. Hydrol., 575, 1308–1327, <a href="https://doi.org/10.1016/j.jhydrol.2019.05.084" target="_blank">https://doi.org/10.1016/j.jhydrol.2019.05.084</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Folton and Arnaud(2020)</label><mixed-citation>
       Folton, N. and Arnaud, P.: Indicateurs sur la ressource en eau estimés par une modélisation pluie-débit régionalisée: la base de données Web LoiEau, La Houille Blanche, 106, 22–29, <a href="https://doi.org/10.1051/lhb/2020034" target="_blank">https://doi.org/10.1051/lhb/2020034</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>Garavaglia et al.(2017)</label><mixed-citation>
       Garavaglia, F., Le Lay, M., Gottardi, F., Garçon, R., Gailhard, J., Paquet, E., and Mathevet, T.: Impact of model structure on flow simulation and hydrological realism: from a lumped to a semi-distributed approach, Hydrol. Earth Syst. Sci., 21, 3937–3952, <a href="https://doi.org/10.5194/hess-21-3937-2017" target="_blank">https://doi.org/10.5194/hess-21-3937-2017</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>Gupta et al.(2009)</label><mixed-citation>
       Gupta, H. V., Kling, H., Yilmaz, K. K., and Martinez, G. F.: Decomposition of the mean squared error and NSE performance criteria: implications for improving hydrological modelling, J. Hydrol., 377, 80–91, <a href="https://doi.org/10.1016/j.jhydrol.2009.08.003" target="_blank">https://doi.org/10.1016/j.jhydrol.2009.08.003</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>Gupta et al.(2014)</label><mixed-citation>
       Gupta, H. V., Perrin, C., Blöschl, G., Montanari, A., Kumar, R., Clark, M., and Andréassian, V.: Large-sample hydrology: a need to balance depth with breadth, Hydrol. Earth Syst. Sci., 18, 463–477, <a href="https://doi.org/10.5194/hess-18-463-2014" target="_blank">https://doi.org/10.5194/hess-18-463-2014</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Harris et al.(2020)</label><mixed-citation>
       Harris, C. R., Millman, K. J., van der Walt, S. J., Gommers, R., Virtanen, P., Cournapeau, D., Wieser, E., Taylor, J., Berg, S., Smith, N. J., Kern, R., Picus, M., Hoyer, S., van Kerkwijk, M. H., Brett, M., Haldane, A., del Río, J. F., Wiebe, M., Peterson, P., Gérard-Marchant, P., Sheppard, K., Reddy, T., Weckesser, W., Abbasi, H., Gohlke, C., and Oliphant, T. E.: Array programming with NumPy, Nature, 585, 357–362, <a href="https://doi.org/10.1038/s41586-020-2649-2" target="_blank">https://doi.org/10.1038/s41586-020-2649-2</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>Hascoet and Pascual(2013)</label><mixed-citation>
       Hascoet, L. and Pascual, V.: The Tapenade automatic differentiation tool: principles, model, and specification, ACM T. Math. Software, 39, 1–43, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Hengl et al.(2017)</label><mixed-citation>
       Hengl, T., Mendes de Jesus, J., Heuvelink, G. B. M., Ruiperez Gonzalez, M., Kilibarda, M., Blagotić, A., Shangguan, W., Wright, M. N., Geng, X., Bauer-Marschallinger, B., Guevara, M. A., Vargas, R., MacMillan, R. A., Batjes, N. H., Leenaars, J. G. B., Ribeiro, E., Wheeler, I., Mantel, S., and Kempen, B.: SoilGrids250m: global gridded soil information based on machine learning, PLoS One, 12, 1–40, <a href="https://doi.org/10.1371/journal.pone.0169748" target="_blank">https://doi.org/10.1371/journal.pone.0169748</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>Hersbach et al.(2020)</label><mixed-citation>
       Hersbach, H., Bell, B., Berrisford, P., Hirahara, S., Horányi, A., Muñoz-Sabater, J., Nicolas, J., Peubey, C., Radu, R., Schepers, D., Simmons, A., Soci, C., Abdalla, S., Abellan, X., Balsamo, G., Bechtold, P., Biavati, G., Bidlot, J., Bonavita, M., De Chiara, G., Dahlgren, P., Dee, D., Diamantakis, M., Dragani, R., Flemming, J., Forbes, R., Fuentes, M., Geer, A., Haimberger, L., Healy, S., Hogan, R. J., Hólm, E., Janisková, M., Keeley, S., Laloyaux, P., Lopez, P., Lupu, C., Radnoti, G., de Rosnay, P., Rozum, I., Vamborg, F., Villaume, S., and Thépaut, J.-N.: The ERA5 global reanalysis, Q. J. Roy. Meteor. Soc., 146, 1999–2049, <a href="https://doi.org/10.1002/qj.3803" target="_blank">https://doi.org/10.1002/qj.3803</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>Hirpa et al.(2018)</label><mixed-citation>
       Hirpa, F. A., Salamon, P., Beck, H. E., Lorini, V., Alfieri, L., Zsoter, E., and Dadson, S. J.: Calibration of the Global Flood Awareness System (GloFAS) using daily streamflow data, J. Hydrol., 566, 595–606, <a href="https://doi.org/10.1016/j.jhydrol.2018.09.052" target="_blank">https://doi.org/10.1016/j.jhydrol.2018.09.052</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>Hrachowitz and Clark(2017)</label><mixed-citation>
       Hrachowitz, M. and Clark, M. P.: HESS Opinions: The complementary merits of competing modelling philosophies in hydrology, Hydrol. Earth Syst. Sci., 21, 3953–3973, <a href="https://doi.org/10.5194/hess-21-3953-2017" target="_blank">https://doi.org/10.5194/hess-21-3953-2017</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>Huynh et al.(2023)</label><mixed-citation>
       Huynh, N. N. T., Garambois, P.-A., Colleoni, F., and Javelle, P.: Signatures-and-sensitivity-based multi-criteria variational calibration for distributed hydrological modeling applied to Mediterranean floods, J. Hydrol., 625, 129992, <a href="https://doi.org/10.1016/j.jhydrol.2023.129992" target="_blank">https://doi.org/10.1016/j.jhydrol.2023.129992</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>Huynh et al.(2024a)</label><mixed-citation>
       Huynh, N. N. T., Garambois, P.-A., Colleoni, F., Renard, B., Monnier, J., and Roux, H.: Multiscale learnable physical modeling and data assimilation framework: application to high-resolution regionalized hydrological simulation of flash flood, Authorea Preprints, <a href="https://doi.org/10.22541/au.170709054.44271526/v2" target="_blank">https://doi.org/10.22541/au.170709054.44271526/v2</a>, 2024a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>Huynh et al.(2024b)</label><mixed-citation>
       Huynh, N. N. T., Garambois, P.-A., Colleoni, F., Renard, B., Roux, H., Demargne, J., Jay-Allemand, M., and Javelle, P.: Learning regionalization using accurate spatial cost gradients within a differentiable high-resolution hydrological model: application to the French Mediterranean region, Water Resour. Res., 60, e2024WR037544, <a href="https://doi.org/10.1029/2024WR037544" target="_blank">https://doi.org/10.1029/2024WR037544</a>, 2024b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib47"><label>Huynh et al.(2025)</label><mixed-citation>
      
Huynh, N. N. T., Garambois, P.-A., Renard, B., Colleoni, F., Monnier, J., and Roux, H.: A Distributed Hybrid Physics-AI Framework for Learning Corrections of Internal Hydrological Fluxes and Enhancing High-Resolution Regionalized Flood Modeling, EGUsphere [preprint], <a href="https://doi.org/10.5194/egusphere-2024-3665" target="_blank">https://doi.org/10.5194/egusphere-2024-3665</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib48"><label>Jay-Allemand et al.(2020)</label><mixed-citation>
       Jay-Allemand, M., Javelle, P., Gejadze, I., Arnaud, P., Malaterre, P.-O., Fine, J.-A., and Organde, D.: On the potential of variational calibration for a fully distributed hydrological model: application on a Mediterranean catchment, Hydrol. Earth Syst. Sci., 24, 5519–5538, <a href="https://doi.org/10.5194/hess-24-5519-2020" target="_blank">https://doi.org/10.5194/hess-24-5519-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib49"><label>Jay-Allemand et al.(2022)</label><mixed-citation>
      
Jay-Allemand, M., Colleoni, F., Garambois, P.-A., Javelle, P., and Demargne, J.: SMASH – patially distributed Modelling and Assimilation for Hydrology: Python wrapping towards enhances research-to-operations transfer, IAHS 2022 – Montpellier, poster, <a href="https://hal.science/hal-03683657" target="_blank"/> (last access: 25 July 2025), 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib50"><label>Jay-Allemand et al.(2024)</label><mixed-citation>
       Jay-Allemand, M., Demargne, J., Garambois, P.-A., Javelle, P., Gejadze, I., Colleoni, F., Organde, D., Arnaud, P., and Fouchier, C.: Spatially distributed calibration of a hydrological model with variational optimization constrained by physiographic maps for flash flood forecasting in France, Proc. IAHS, 385, 281–290, <a href="https://doi.org/10.5194/piahs-385-281-2024" target="_blank">https://doi.org/10.5194/piahs-385-281-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib51"><label>Kermode(2020)</label><mixed-citation>
       Kermode, J. R.: f90wrap: an automated tool for constructing deep Python interfaces to modern Fortran codes, J. Phys. Condens. Matter, <a href="https://doi.org/10.1088/1361-648X/ab82d2" target="_blank">https://doi.org/10.1088/1361-648X/ab82d2</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib52"><label>Kingma and Ba(2014)</label><mixed-citation>
      
Kingma, D. P. and Ba, J.: Adam: a method for stochastic optimization, arXiv [preprint], <a href="https://doi.org/10.48550/arXiv.1412.6980" target="_blank">https://doi.org/10.48550/arXiv.1412.6980</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib53"><label>Klemeš(1983)</label><mixed-citation>
       Klemeš, V.: Conceptualization and scale in hydrology, J. Hydrol., 65, 1–23, <a href="https://doi.org/10.1016/0022-1694(83)90208-1" target="_blank">https://doi.org/10.1016/0022-1694(83)90208-1</a>, 1983.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib54"><label>Kratzert et al.(2023)</label><mixed-citation>
       Kratzert, F., Nearing, G., Addor, N., Erickson, T., Gauch, M., Gilon, O., Gudmundsson, L., Hassidim, A., Klotz, D., Nevo, S., Shalev, G., and Matias, Y.: Caravan – a global community dataset for large-sample hydrology, Scientific Data, 10, 61, <a href="https://doi.org/10.1038/s41597-023-01975-w" target="_blank">https://doi.org/10.1038/s41597-023-01975-w</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib55"><label>Lane et al.(2019)</label><mixed-citation>
       Lane, R. A., Coxon, G., Freer, J. E., Wagener, T., Johnes, P. J., Bloomfield, J. P., Greene, S., Macleod, C. J. A., and Reaney, S. M.: Benchmarking the predictive capability of hydrological models for river flow and flood peak predictions across over 1000 catchments in Great Britain, Hydrol. Earth Syst. Sci., 23, 4011–4032, <a href="https://doi.org/10.5194/hess-23-4011-2019" target="_blank">https://doi.org/10.5194/hess-23-4011-2019</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib56"><label>Leblois and Sauquet(1999)</label><mixed-citation>
      
Leblois, E. and Sauquet, E.: Grid elevation models in hydrology – Part 1: Principales and literrature review; Part2: HydroDEM, User's manual, Tech. rep., Cemagref, <a href="https://hess.copernicus.org/articles/14/99/2010/hess-14-99-2010.pdf" target="_blank"/>, 1999.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib57"><label>Lee et al.(2012)</label><mixed-citation>
       Lee, H., Seo, D.-J., Liu, Y., Koren, V., McKee, P., and Corby, R.: Variational assimilation of streamflow into operational distributed hydrologic models: effect of spatiotemporal scale of adjustment, Hydrol. Earth Syst. Sci., 16, 2233–2251, <a href="https://doi.org/10.5194/hess-16-2233-2012" target="_blank">https://doi.org/10.5194/hess-16-2233-2012</a>, 2012.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib58"><label>Le Moine(2008)</label><mixed-citation>
      
Le Moine, N.: Le bassin versant de surface vu par le souterrain: une voie d'amélioration des performances et du réalisme des modles pluie-débit ?, PhD thesis, Cemagref, UR HBAN, Antony, <a href="https://theses.hal.science/tel-02591478" target="_blank"/> (last access: 25 July 2025), 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib59"><label>Liang et al.(1994)</label><mixed-citation>
       Liang, X., Lettenmaier, D. P., Wood, E. F., and Burges, S. J.: A simple hydrologically based model of land surface water and energy fluxes for general circulation models, J. Geophys. Res.-Atmos., 99, 14415–14428, <a href="https://doi.org/10.1029/94JD00483" target="_blank">https://doi.org/10.1029/94JD00483</a>, 1994.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib60"><label>Liu and Gupta(2007)</label><mixed-citation>
       Liu, Y. and Gupta, H. V.: Uncertainty in hydrologic modeling: toward an integrated data assimilation framework, Water Resour. Res., 43, 2007.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib61"><label>Mathevet(2005)</label><mixed-citation>
      
Mathevet, T.: Quels modeles pluie-debit globaux au pas de temps horaire? Développements empiriques et intercomparaison de modeles sur un large échantillon de bassins versants, PhD thesis, ENGREF, 463&thinsp;pp., <a href="https://hal.inrae.fr/tel-02587642v1" target="_blank"/> (last access: 25 July 2025), 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib62"><label>Mathevet et al.(2020)</label><mixed-citation>
       Mathevet, T., Gupta, H., Perrin, C., Andréassian, V., and Le Moine, N.: Assessing the performance and robustness of two conceptual rainfall-runoff models on a worldwide sample of watersheds, J. Hydrol., 585, 124698, <a href="https://doi.org/10.1016/j.jhydrol.2020.124698" target="_blank">https://doi.org/10.1016/j.jhydrol.2020.124698</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib63"><label>Milly(1994)</label><mixed-citation>
       Milly, P.: Climate, interseasonal storage of soil water, and the annual water balance, Adv. Water Resour., 17, 19–24, <a href="https://doi.org/10.1016/0309-1708(94)90020-5" target="_blank">https://doi.org/10.1016/0309-1708(94)90020-5</a>, 1994.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib64"><label>Mizukami et al.(2017)</label><mixed-citation>
       Mizukami, N., Clark, M. P., Newman, A. J., Wood, A. W., Gutmann, E. D., Nijssen, B., Rakovec, O., and Samaniego, L.: Towards seamless large-domain parameter estimation for hydrologic models, Water Resour. Res., 53, 8020–8040, <a href="https://doi.org/10.1002/2017WR020401" target="_blank">https://doi.org/10.1002/2017WR020401</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib65"><label>Mizukami et al.(2019)</label><mixed-citation>
       Mizukami, N., Rakovec, O., Newman, A. J., Clark, M. P., Wood, A. W., Gupta, H. V., and Kumar, R.: On the choice of calibration metrics for “high-flow” estimation using hydrologic models, Hydrol. Earth Syst. Sci., 23, 2601–2614, <a href="https://doi.org/10.5194/hess-23-2601-2019" target="_blank">https://doi.org/10.5194/hess-23-2601-2019</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib66"><label>Monnier(2024)</label><mixed-citation>
      
Monnier, J.: Data Assimilation – Inverse Problems, Assimilation, Control, Learning, INSA Toulouse, <a href="https://www.math.univ-toulouse.fr/~jmonnie/Enseignement/CourseVDA.pdf" target="_blank"/> (last access: 25 July 2025), 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib67"><label>Monnier et al.(2016)</label><mixed-citation>
       Monnier, J., Couderc, F., Dartus, D., Larnier, K., Madec, R., and Vila, J.-P.: Inverse algorithms for 2D shallow water equations in presence of wet dry fronts: application to flood plain dynamics, Adv. Water Resour., 97, 11–24, <a href="https://doi.org/10.1016/j.advwatres.2016.07.005" target="_blank">https://doi.org/10.1016/j.advwatres.2016.07.005</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib68"><label>Newman et al.(2015)</label><mixed-citation>
       Newman, A. J., Clark, M. P., Sampson, K., Wood, A., Hay, L. E., Bock, A., Viger, R. J., Blodgett, D., Brekke, L., Arnold, J. R., Hopson, T., and Duan, Q.: Development of a large-sample watershed-scale hydrometeorological data set for the contiguous USA: data set characteristics and assessment of regional variability in hydrologic model performance, Hydrol. Earth Syst. Sci., 19, 209–223, <a href="https://doi.org/10.5194/hess-19-209-2015" target="_blank">https://doi.org/10.5194/hess-19-209-2015</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib69"><label>Organde et al.(2013)</label><mixed-citation>
       Organde, D., Arnaud, P., Fine, J.-A., Fouchier, C., Folton, N., and Lavabre, J.: Régionalisation d'une méthode de prédétermination de crue sur l'ensemble du territoire français: la méthode SHYREG, Revue des Sciences de l'Eau, 26, 65–78, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib70"><label>Orth et al.(2015)</label><mixed-citation>
       Orth, R., Staudinger, M., Seneviratne, S. I., Seibert, J., and Zappa, M.: Does model performance improve with complexity? A case study with three hydrological models, J. Hydrol., 523, 147–159, <a href="https://doi.org/10.1016/j.jhydrol.2015.01.044" target="_blank">https://doi.org/10.1016/j.jhydrol.2015.01.044</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib71"><label>Oudin et al.(2005)</label><mixed-citation>
       Oudin, L., Hervieu, F., Michel, C., Perrin, C., Andréassian, V., Anctil, F., and Loumagne, C.: Which potential evapotranspiration input for a lumped rainfall–runoff model?: Part 2 – Towards a simple and efficient potential evapotranspiration model for rainfall–runoff modelling, J. Hydrol., 303, 290–306, <a href="https://doi.org/10.1016/j.jhydrol.2004.08.026" target="_blank">https://doi.org/10.1016/j.jhydrol.2004.08.026</a>, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib72"><label>pandas development team(2020)</label><mixed-citation>
       pandas development team: pandas-dev/pandas: Pandas, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.3509134" target="_blank">https://doi.org/10.5281/zenodo.3509134</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib73"><label>Peredo et al.(2022)</label><mixed-citation>
      
Peredo, D., Ramos, M.-H. V. A., and Oudin, L.: Investigating hydrological model versatility to simulate extreme flood events, Hydrolog. Sci. J., 67, 628–645, <a href="https://doi.org/10.1080/02626667.2022.2030864" target="_blank">https://doi.org/10.1080/02626667.2022.2030864</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib74"><label>Perrin et al.(2001)</label><mixed-citation>
       Perrin, C., Michel, C., and Andréassian, V.: Does a large number of parameters enhance model performance? Comparative assessment of common catchment model structures on 429 catchments, J. Hydrol., 242, 275–301, <a href="https://doi.org/10.1016/S0022-1694(00)00393-0" target="_blank">https://doi.org/10.1016/S0022-1694(00)00393-0</a>, 2001.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib75"><label>Perrin et al.(2003)</label><mixed-citation>
       Perrin, C., Michel, C., and Andrèassian, V.: Improvement of a parsimonious model for streamflow simulation, J. Hydrol., 279, 275–289, 2003.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib76"><label>Piotte et al.(2020)</label><mixed-citation>
       Piotte, O., Montmerle, T., Fouchier, C., Belleudy, A., Garandeau, L., Janet, B., Jauffret, C., Demargne, J., and Organde, D.: Les évolutions du service d'avertissement sur les pluies intenses et les crues soudaines en France, La Houille Blanche, 106, 75–84, <a href="https://doi.org/10.1051/lhb/2020055" target="_blank">https://doi.org/10.1051/lhb/2020055</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib77"><label>Pujol et al.(2022)</label><mixed-citation>
      
Pujol, L., Garambois, P.-A., and Monnier, J.: Multi-dimensional hydrological-hydraulic model with variational data assimilation for river networks and floodplains, EGUsphere [preprint], <a href="https://doi.org/10.5194/egusphere-2022-10" target="_blank">https://doi.org/10.5194/egusphere-2022-10</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib78"><label>Quintana-Seguí et al.(2008)</label><mixed-citation>
       Quintana-Seguí, P., Le Moigne, P., Durand, Y., Martin, E., Habets, F., Baillon, M., Canellas, C., Franchisteguy, L., and Morel, S.: Analysis of near-surface atmospheric variables: validation of the SAFRAN analysis over France, J. Appl. Meteorol., 47, 92, <a href="https://doi.org/10.1175/2007JAMC1636.1" target="_blank">https://doi.org/10.1175/2007JAMC1636.1</a>, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib79"><label>Reed et al.(2004)</label><mixed-citation>
      
Reed, S., Koren, V., Smith, M., Zhang, Z., Moreda, F., Seo, D.-J., and DMIP Participants: Overall distributed model intercomparison project results, J. Hydrol., 298, 27–60, 2004.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib80"><label>Refsgaard(1997)</label><mixed-citation>
       Refsgaard, J. C.: Parameterisation, calibration and validation of distributed hydrological models, J. Hydrol., 198, 69–97, <a href="https://doi.org/10.1016/S0022-1694(96)03329-X" target="_blank">https://doi.org/10.1016/S0022-1694(96)03329-X</a>, 1997.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib81"><label>Samaniego et al.(2010)</label><mixed-citation>
       Samaniego, L., Kumar, R., and Attinger, S.: Multiscale parameter regionalization of a grid-based hydrologic model at the mesoscale, Water Resour. Res., 46, <a href="https://doi.org/10.1029/2008WR007327" target="_blank">https://doi.org/10.1029/2008WR007327</a>, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib82"><label>Sebben et al.(2013)</label><mixed-citation>
       Sebben, M. L., Werner, A. D., Liggett, J. E., Partington, D., and Simmons, C. T.: On the testing of fully integrated surface subsurface hydrological models, Hydrol. Process., 27, 1276–1285, <a href="https://doi.org/10.1002/hyp.9630" target="_blank">https://doi.org/10.1002/hyp.9630</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib83"><label>Shen et al.(2023)</label><mixed-citation>
       Shen, C., Appling, A. P., Gentine, P., Bandai, T., Gupta, H., Tartakovsky, A., Baity-Jesi, M., Fenicia, F., Kifer, D., Li, L., Liu, X., Ren, W., Zheng, Y., Harman, C. J., Clark, M., Farthing, M., Feng, D., Kumar, P., Aboelyazeed, D., Rahmani, F., Song, Y., Beck, H. E., Bindas, T., Dwivedi, D., Fang, K., Höge, M., Rackauckas, C., Mohanty, B., Roy, T., Xu, C., and Lawson, K.: Differentiable modelling to unify machine learning and physical models for geosciences, Nature Reviews Earth and Environment, 4, 552–567, <a href="https://doi.org/10.1038/s43017-023-00450-9" target="_blank">https://doi.org/10.1038/s43017-023-00450-9</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib84"><label>Todini(1996)</label><mixed-citation>
       Todini, E.: The ARNO rainfall – runoff model, J. Hydrol., 175, 339–382, <a href="https://doi.org/10.1016/S0022-1694(96)80016-3" target="_blank">https://doi.org/10.1016/S0022-1694(96)80016-3</a>, 1996.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib85"><label>Towler et al.(2023)</label><mixed-citation>
       Towler, E., Foks, S. S., Dugger, A. L., Dickinson, J. E., Essaid, H. I., Gochis, D., Viger, R. J., and Zhang, Y.: Benchmarking high-resolution hydrologic model performance of long-term retrospective streamflow simulations in the contiguous United States, Hydrol. Earth Syst. Sci., 27, 1809–1825, <a href="https://doi.org/10.5194/hess-27-1809-2023" target="_blank">https://doi.org/10.5194/hess-27-1809-2023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib86"><label>van Verseveld et al.(2024)</label><mixed-citation>
       van Verseveld, W. J., Weerts, A. H., Visser, M., Buitink, J., Imhoff, R. O., Boisgontier, H., Bouaziz, L., Eilander, D., Hegnauer, M., ten Velden, C., and Russell, B.: Wflow_sbm v0.7.3, a spatially distributed hydrological model: from global data to local applications, Geosci. Model Dev., 17, 3199–3234, <a href="https://doi.org/10.5194/gmd-17-3199-2024" target="_blank">https://doi.org/10.5194/gmd-17-3199-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib87"><label>Vereecken et al.(2019)</label><mixed-citation>
       Vereecken, H., Weihermüller, L., Assouline, S., Šimůnek, J., Verhoef, A., Herbst, M., Archer, N., Mohanty, B., Montzka, C., Vanderborght, J., Balsamo, G., Bechtold, M., Boone, A., Chadburn, S., Cuntz, M., Decharme, B., Ducharne, A., Ek, M., Garrigues, S., Goergen, K., Ingwersen, J., Kollet, S., Lawrence, D. M., Li, Q., Or, D., Swenson, S., de Vrese, P., Walko, R., Wu, Y., and Xue, Y.: Infiltration from the pedon to global grid scales: an overview and outlook for land surface modeling, Vadose Zone J., 18, 180191, <a href="https://doi.org/10.2136/vzj2018.10.0191" target="_blank">https://doi.org/10.2136/vzj2018.10.0191</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib88"><label>Vidal et al.(2010)</label><mixed-citation>
       Vidal, J.-P., Martin, E., Franchistéguy, L., Baillon, M., and Soubeyroux, J.-M.: A 50-year high-resolution atmospheric reanalysis over France with the Safran system, Int. J. Climatol., 30, 1627–1644, <a href="https://doi.org/10.1002/joc.2003" target="_blank">https://doi.org/10.1002/joc.2003</a>, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib89"><label>Virtanen et al.(2020)</label><mixed-citation>
       Virtanen, P., Gommers, R., Oliphant, T. E., Haberland, M., Reddy, T., Cournapeau, D., Burovski, E., Peterson, P., Weckesser, W., Bright, J., van der Walt, S. J., Brett, M., Wilson, J., Millman, K. J., Mayorov, N., Nelson, A. R. J., Jones, E., Kern, R., Larson, E., Carey, C. J., Polat, İ., Feng, Y., Moore, E. W., VanderPlas, J., Laxalde, D., Perktold, J., Cimrman, R., Henriksen, I., Quintero, E. A., Harris, C. R., Archibald, A. M., Ribeiro, A. H., Pedregosa, F., van Mulbregt, P., and SciPy 1.0 Contributors: SciPy 1.0: fundamental algorithms for scientific computing in Python, Nat. Methods, 17, 261–272, <a href="https://doi.org/10.1038/s41592-019-0686-2" target="_blank">https://doi.org/10.1038/s41592-019-0686-2</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib90"><label>Wood et al.(2011)</label><mixed-citation>
       Wood, E. F., Roundy, J. K., Troy, T. J., van Beek, L. P. H., Bierkens, M. F. P., Blyth, E., de Roo, A., Döll, P., Ek, M., Famiglietti, J., Gochis, D., van de Giesen, N., Houser, P., Jaffé, P. R., Kollet, S., Lehner, B., Lettenmaier, D. P., Peters-Lidard, C., Sivapalan, M., Sheffield, J., Wade, A., and Whitehead, P.: Hyperresolution global land surface modeling: meeting a grand challenge for monitoring Earth's terrestrial water, Water Resour. Res., 47, <a href="https://doi.org/10.1029/2010WR010090" target="_blank">https://doi.org/10.1029/2010WR010090</a>, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib91"><label>Xu et al.(2022)</label><mixed-citation>
       Xu, D., Bisht, G., Sargsyan, K., Liao, C., and Leung, L. R.: Using a surrogate-assisted Bayesian framework to calibrate the runoff-generation scheme in the Energy Exascale Earth System Model (E3SM) v1, Geosci. Model Dev., 15, 5021–5043, <a href="https://doi.org/10.5194/gmd-15-5021-2022" target="_blank">https://doi.org/10.5194/gmd-15-5021-2022</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib92"><label>Yamazaki et al.(2017)</label><mixed-citation>
       Yamazaki, D., Ikeshima, D., Tawatari, R., Yamaguchi, T., O'Loughlin, F., Neal, J. C., Sampson, C. C., Kanae, S., and Bates, P. D.: A high-accuracy map of global terrain elevations, Geophys. Res. Lett., 44, 5844–5853, <a href="https://doi.org/10.1002/2017GL072874" target="_blank">https://doi.org/10.1002/2017GL072874</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib93"><label>Yang et al.(2019)</label><mixed-citation>
       Yang, Y., Pan, M., Beck, H. E., Fisher, C. K., Beighley, R. E., Kao, S.-C., Hong, Y., and Wood, E. F.: In quest of calibration density and consistency in hydrologic modeling: distributed parameter calibration against streamflow characteristics, Water Resour. Res., 55, 7784–7803, <a href="https://doi.org/10.1029/2018WR024178" target="_blank">https://doi.org/10.1029/2018WR024178</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib94"><label>Zhu et al.(1997)</label><mixed-citation>
       Zhu, C., Byrd, R. H., Lu, P., and Nocedal, J.: Algorithm 778: L-BFGS-B: Fortran Subroutines for Large-Scale Bound-Constrained Optimization, ACM T. Math. Software, 23, 550–560, 1997.

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