<?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-19-2657-2026</article-id><title-group><article-title>Validation strategies for deep learning-based groundwater level time series prediction using exogenous meteorological input features</article-title><alt-title>Validation strategies for deep learning-based groundwater level time series prediction</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Doll</surname><given-names>Fabienne</given-names></name>
          <email>Fabienne.Doll@kit.edu</email>
        <ext-link>https://orcid.org/0009-0003-5455-7162</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Liesch</surname><given-names>Tanja</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-8648-5333</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Wetzel</surname><given-names>Maria</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-2289-2156</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Kunz</surname><given-names>Stefan</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-7074-1865</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Broda</surname><given-names>Stefan</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-6858-6368</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>Institute of Applied Geosciences, Division of Hydrogeology, Karlsruhe Institute of Technology, Karlsruhe, Germany</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Federal Institute for Geosciences and Natural Resources, Berlin, Germany</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Fabienne Doll (Fabienne.Doll@kit.edu)</corresp></author-notes><pub-date><day>7</day><month>April</month><year>2026</year></pub-date>
      
      <volume>19</volume>
      <issue>7</issue>
      <fpage>2657</fpage><lpage>2675</lpage>
      <history>
        <date date-type="received"><day>23</day><month>July</month><year>2025</year></date>
           <date date-type="rev-request"><day>8</day><month>September</month><year>2025</year></date>
           <date date-type="rev-recd"><day>16</day><month>December</month><year>2025</year></date>
           <date date-type="accepted"><day>27</day><month>January</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Fabienne Doll et al.</copyright-statement>
        <copyright-year>2026</copyright-year>
      <license license-type="open-access"><license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p></license></permissions><self-uri xlink:href="https://gmd.copernicus.org/articles/19/2657/2026/gmd-19-2657-2026.html">This article is available from https://gmd.copernicus.org/articles/19/2657/2026/gmd-19-2657-2026.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/19/2657/2026/gmd-19-2657-2026.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/19/2657/2026/gmd-19-2657-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e124">Due to the growing reliance on machine learning (ML) approaches for predicting groundwater levels (GWL), it is important to examine the methods used for performance estimation. A suitable performance estimation method provides the most accurate estimate of the accuracy the model would achieve on completely unseen test data to provide a solid basis for model selection decisions. This paper investigates the suitability of the following performance estimation strategies (validation methods) for predicting GWL: blocked cross-validation (bl-CV), repeated out-of-sample validation (repOOS) and out-of-sample validation (OOS). The strategies are tested on an one-dimensional convolutional neural network (1D-CNN) and a long-short-term memory (LSTM) network. Unlike previous comparative studies, which mainly focused on autoregressive models, this work uses a non-autoregressive approach based on exogenous meteorological input features without incorporating past groundwater levels for groundwater level time series prediction. A dataset of 100 GWL time series was used to evaluate the performance of the different validation methods. The study concludes that bl-CV provides the most representative performance estimates of actual model performance compared to the other two validation methods examined. The most commonly used OOS validation yielded the most uncertain performance estimate in this study. The results underscore the importance of carefully selecting a performance estimation strategy to ensure that model comparisons and adjustments are made on a reliable basis.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>Bundesministerium für Forschung, Technologie und Raumfahrt</funding-source>
<award-id>02WGW1662B</award-id>
</award-group>
</funding-group>
</article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e136">The utilization of machine learning (ML) approaches to predict groundwater levels (GWL) has increased over the last two decades <xref ref-type="bibr" rid="bib1.bibx33" id="paren.1"/>. The variety of prediction models ranges from simple methods such as tree-based models <xref ref-type="bibr" rid="bib1.bibx23" id="paren.2"><named-content content-type="pre">e.g.</named-content></xref> to more complex deep learning (DL) methods such as artificial neural networks (ANN) <xref ref-type="bibr" rid="bib1.bibx14 bib1.bibx20 bib1.bibx24" id="paren.3"><named-content content-type="pre">e.g.</named-content></xref>, long-short-term memory (LSTM) networks <xref ref-type="bibr" rid="bib1.bibx37 bib1.bibx38 bib1.bibx39 bib1.bibx16" id="paren.4"><named-content content-type="pre">e.g.</named-content></xref> or one-dimensional convolutional neural networks (1D-CNN) <xref ref-type="bibr" rid="bib1.bibx38 bib1.bibx32 bib1.bibx17" id="paren.5"><named-content content-type="pre">e.g.</named-content></xref>. According to the review study by <xref ref-type="bibr" rid="bib1.bibx33" id="text.6"/>, the most commonly used input features for GWL prediction are historical GWL (34 %), precipitation (23 %) and temperature (15 %). Depending on the type of aquifer and the geographical location of the GWL observation well, other features such as sea level or groundwater abstraction rates are also used as input features <xref ref-type="bibr" rid="bib1.bibx33" id="paren.7"/>. In GWL prediction, we are faced with an increasing number of potential prediction models, a growing number of hyperparameters for increasingly complex models, and a large number of possible input features. In order to find the right method for a particular application, it is necessary to compare the individual methods and to evaluate the results correctly. There is a general consensus on the usual approach to selecting an appropriate prediction method, described for example in <xref ref-type="bibr" rid="bib1.bibx13" id="text.8"/>: (i) Select a model, appropriate hyperparameters (e.g. learning rate, batch size, hidden size, number of epochs) and a set of promising input features. (ii) Train the model on the training data set. (iii) Evaluate the performance based on prediction error on the validation data set (validation error). To select an appropriate method, steps (i) to (iii) can be performed several times with different model configurations and compared on the basis of the validation error.  Since fitting the model based on the validation error may result in overfitting to the validation data set, the final model should be retested on a completely unknown test data set to obtain the final model error and to get an idea of the generalization ability of the model <xref ref-type="bibr" rid="bib1.bibx13" id="paren.9"/>. Splitting the data into training, validation, and test sets ensures that the model is ultimately evaluated on completely unseen data.</p>
      <p id="d2e175">As model fitting and selection should only rely on training and validation data, an appropriate validation method is required to provide an accurate and robust estimate of the error the model would produce on completely unseen data. The choice of the optimal validation method depends primarily on the prediction problem and the characteristics of the data. For time-series, and particularly hydro(geo-)logical time series, which often exhibit autocorrelation and non-stationarity, performance estimation becomes challenging.</p>
      <p id="d2e178">Standard out-of-sample validation (OOS), in which part of the latest data is reserved for validation and older data is reserved for training <xref ref-type="bibr" rid="bib1.bibx34" id="paren.10"/>, is often used in groundwater level prediction <xref ref-type="bibr" rid="bib1.bibx2" id="paren.11"/>. However, this approach can be problematic if exceptional years, such as very dry periods with low groundwater recharge, occur for example only in the validation or test set but not in the training data. This situation leads to a distribution imbalance between training, validation, and test data, which can significantly skew performance estimates. Also the hyperparameters selected based on the validation phase may not have been determined optimally, which, in addition to the distorted performance estimate, also limits the generalization ability of the model on unseen data <xref ref-type="bibr" rid="bib1.bibx30" id="paren.12"/>. To mitigate this risk, alternative strategies such as cross-validation (CV) or repeated out-of-sample validation (repOOS) can be employed. While standard CV is popular for independent and identically distributed (i.i.d) data <xref ref-type="bibr" rid="bib1.bibx3" id="paren.13"/> and beneficial for small datasets <xref ref-type="bibr" rid="bib1.bibx13 bib1.bibx7" id="paren.14"/>, its naive application to time series is problematic because it disrupts temporal dependencies and may allow future data to predict the past <xref ref-type="bibr" rid="bib1.bibx3 bib1.bibx13" id="paren.15"/>. In addition, the aspect of potential non-stationarity (changing mean and variances over time or presence of long-term trends) is generally not taken into account in CV <xref ref-type="bibr" rid="bib1.bibx5" id="paren.16"/>. Modified approaches like blocked cross-validation (bl-CV) <xref ref-type="bibr" rid="bib1.bibx31" id="paren.17"/> preserve temporal structure by avoiding random shuffling, enabling more robust validation for dependent data. Earlier studies from other domains have shown that CV methods are the most reliable performance estimators for autoregressive prediction of stationary time series <xref ref-type="bibr" rid="bib1.bibx5 bib1.bibx6 bib1.bibx11" id="paren.18"><named-content content-type="pre">e.g.</named-content></xref>. For the autoregressive forecasting of non-stationary time series, on the other hand, according to <xref ref-type="bibr" rid="bib1.bibx11" id="text.19"/>, the repOOS method provided the most accurate estimates. In these studies, different model types were examined, including linear models, support vector regression, multilayer perceptrons, rule-based methods, and ensemble methods such as random forest models <xref ref-type="bibr" rid="bib1.bibx5 bib1.bibx6 bib1.bibx7 bib1.bibx10 bib1.bibx11" id="paren.20"/>. To the best of the authors' knowledge, there is no study in the domain of GWL time series prediction that systematically compares different methods for performance estimation. This research gap is addressed by the present work.</p>
      <p id="d2e217">We demonstrate the applicability of <inline-formula><mml:math id="M1" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-fold bl-CV for GWL time series prediction and enable a direct comparison with simple OOS validation, the most commonly used method for performance estimation in GWL prediction <xref ref-type="bibr" rid="bib1.bibx2" id="paren.21"/>, as well as with repOOS, which has been identified as the most accurate method for autoregressive prediction of non-stationary time series in the study by <xref ref-type="bibr" rid="bib1.bibx11" id="text.22"/>. Previous comparative studies have been limited to autoregressive forecasting approaches <xref ref-type="bibr" rid="bib1.bibx4 bib1.bibx5 bib1.bibx6 bib1.bibx7 bib1.bibx11" id="paren.23"><named-content content-type="pre">e.g.</named-content></xref>. In contrast, this study applies a non-autoregressive approach, which assumes that future groundwater levels are significantly influenced by past meteorological events – particularly precipitation and temperature. Accordingly, only meteorological input features are used. A practical advantage of this approach is the ability to make long-term predictions (e.g., for 10, 50, or 100 years) based on climate scenarios.  A 1D-CNN and LSTM model are employed as time series prediction models. These architectures have not been considered in any of the previous comparative studies, but have been proven to be reliable and robust for GWL prediction before <xref ref-type="bibr" rid="bib1.bibx38" id="paren.24"><named-content content-type="pre">e.g</named-content></xref>. By comparing OOS, bl-CV, and repOOS, this study contributes to methodological development in hydrogeological research by explicitly basing performance estimation on a real-world application in GWL time series prediction. The investigations are based on GWL time series from 100 groundwater monitoring wells in the federal state of Brandenburg (Germany), which were classified as stationary (constant mean and variance over the entire series) or non-stationary (changing mean and variance over the entire series) using a global stationarity assessment.</p>
      <p id="d2e244">The following research questions are to be answered in the course of this work: <list list-type="bullet"><list-item>
      <p id="d2e249">Are there differences in the quality of the performance estimates of the three tested validation methods in the GWL time series prediction?</p></list-item><list-item>
      <p id="d2e253">Which validation method provides the most robust performance estimate in general, for stationary and for non-stationary groundwater conditions?</p></list-item><list-item>
      <p id="d2e258">Do our results agree with the results of previous studies in the field of autoregressive time series forecasting in other disciplines, or are there differences?</p></list-item></list></p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Theory and Background</title>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Validation methods</title>
<sec id="Ch1.S2.SS1.SSS1">
  <label>2.1.1</label><title>Out-of-sample validation (OOS)</title>
      <p id="d2e283">The standard type of OOS refers to a validation process in which the data set is chronologically divided into subsets. After separating the test data, which often represents the most recent data, the older part of the remaining data is used as training data, while the newer part is used for validation. With the OOS, the validation error of the individual validation data set at the end of the time series is obtained as the performance estimate (see Fig. <xref ref-type="fig" rid="F1"/>a). The training and validation subsets are often divided according to percentage of the total data set (e.g. 80 % training data and 20 % validation data). A division of subsets by calendar year, to account for seasonal behavior in environmental time series, is also common practice <xref ref-type="bibr" rid="bib1.bibx38 bib1.bibx17" id="paren.25"><named-content content-type="pre">e.g.</named-content></xref>. The OOS approach is most straightforward, as it comes closest to the actual application of time series forecasting, namely predicting the future from the past. In addition, this approach takes into account the assumption that the future is linked to the past and that past processes therefore influence the future. The weakness of OOS is that the validation data set may differ in its properties from those of the training and test datasets, and the resulting validation error could be unrepresentative <xref ref-type="bibr" rid="bib1.bibx5" id="paren.26"/>.</p>
      <p id="d2e296">For a more robust performance estimate, it is recommended to apply the OOS strategy to multiple validation periods <xref ref-type="bibr" rid="bib1.bibx34" id="paren.27"/>. One possible approach for this is the repOOS approach, in which the OOS validation is performed multiple times with different, possibly overlapping training and validation periods <xref ref-type="bibr" rid="bib1.bibx10 bib1.bibx11" id="paren.28"/>. This is done by randomly selecting a split point from an available split window within the time series. A fixed fraction (e.g. 60 %) of the data before this split point serves as the training data set and a fixed fraction (e.g. 10 %) after this point serves as the validation data set. Thus, the length of the available split window is limited by the size of the training and validation data <xref ref-type="bibr" rid="bib1.bibx10 bib1.bibx11" id="paren.29"/>. The final validation error of the repOOS is the mean of the validation errors of all repetitions. The splitting scheme for one repetition of repOOS validation is illustrated in Fig. <xref ref-type="fig" rid="F1"/>b.</p>
</sec>
<sec id="Ch1.S2.SS1.SSS2">
  <label>2.1.2</label><title><inline-formula><mml:math id="M2" display="inline"><mml:mi>K</mml:mi></mml:math></inline-formula>-fold blocked cross-validation (bl-CV)</title>
      <p id="d2e325">When using standard <inline-formula><mml:math id="M3" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-fold CV, the dataset is split into <inline-formula><mml:math id="M4" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> equally sized, non-overlapping subsets (folds). Typically, the data is shuffled randomly  before creating these folds. After splitting, <inline-formula><mml:math id="M5" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> folds are used for training, while the remaining fold serves as validation data. In time series forecasting, however, random shuffling can be problematic because it breaks the temporal dependencies within the data. If future values of the target variable are to be predicted from past values of the input features, the chronological input–output relationship must be preserved. This holds for both sequence-based time series models and models that work with simpler input–output pairs (e.g., multilayer perceptrons or random forests). Randomly mixing a time-ordered dataset before constructing these pairs is therefore not appropriate. Once input-output pairs have been generated in a temporally consistent way, they can be randomly shuffled, provided that potential overlaps between training and test data are considered. We describe this procedure in more detail in the next section, Sect. <xref ref-type="sec" rid="Ch1.S2.SS2"/>. The correctly aligned input–output pairs can then be used in the usual manner with the respective prediction models.</p>
      <p id="d2e356">Alternatively <xref ref-type="bibr" rid="bib1.bibx31" id="text.30"/> used <inline-formula><mml:math id="M6" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-fold CV, where the data is not randomly shuffled before being divided into folds. Without random shuffling, the temporal relationship within the folds is preserved, only the temporal relationship between the folds is interrupted. This method is referred to in the literature as blocked cross-validation (bl-CV) <xref ref-type="bibr" rid="bib1.bibx5 bib1.bibx11" id="paren.31"><named-content content-type="pre">e.g.</named-content></xref>. An example of a <inline-formula><mml:math id="M7" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-fold bl-CV (<inline-formula><mml:math id="M8" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula>) is shown in Fig. <xref ref-type="fig" rid="F1"/>c. Regardless of whether the data were shuffled before splitting or not, a <inline-formula><mml:math id="M9" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-fold CV results in <inline-formula><mml:math id="M10" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> validation errors, one for each split. To obtain a final performance estimate, the mean of the <inline-formula><mml:math id="M11" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> validation errors is calculated. The combination of <inline-formula><mml:math id="M12" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> validation errors usually gives a more robust performance estimate than the individual validation error of the OOS described in Sect. <xref ref-type="sec" rid="Ch1.S2.SS1.SSS1"/>.</p>

      <fig id="F1" specific-use="star"><label>Figure 1</label><caption><p id="d2e428">Schematic representation of OOS validation split <bold>(a)</bold>, the splitting scheme of one repetition repOOS <bold>(b)</bold> and <inline-formula><mml:math id="M13" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-fold bl-CV (<inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula>) <bold>(c)</bold>.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/2657/2026/gmd-19-2657-2026-f01.png"/>

          </fig>

</sec>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Cross-validation in time teries prediction</title>
<sec id="Ch1.S2.SS2.SSS1">
  <label>2.2.1</label><title>Autoregressive time series prediction</title>
      <p id="d2e481">A time series is a sequential series of numerical values measured over a certain period of time:

              <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M15" display="block"><mml:mrow><mml:mi mathvariant="bold">Y</mml:mi><mml:mo>=</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo mathvariant="italic">}</mml:mo><mml:mo>,</mml:mo><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:msub><mml:mi>y</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>∈</mml:mo><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow></mml:math></disp-formula>

            Here, <inline-formula><mml:math id="M16" display="inline"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the value of  <inline-formula><mml:math id="M17" display="inline"><mml:mi mathvariant="bold">Y</mml:mi></mml:math></inline-formula> at time <inline-formula><mml:math id="M18" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M19" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> is the total length of <inline-formula><mml:math id="M20" display="inline"><mml:mi mathvariant="bold">Y</mml:mi></mml:math></inline-formula>. Time series forecasting refers to the problem of predicting a future value from a time series  <inline-formula><mml:math id="M21" display="inline"><mml:mi mathvariant="bold">Y</mml:mi></mml:math></inline-formula> based on a given number of past observations (lags). In the case of autoregressive modeling, a regression  is performed to predict the next value of  <inline-formula><mml:math id="M22" display="inline"><mml:mi mathvariant="bold">Y</mml:mi></mml:math></inline-formula> using the previous <inline-formula><mml:math id="M23" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> lags of  <inline-formula><mml:math id="M24" display="inline"><mml:mi mathvariant="bold">Y</mml:mi></mml:math></inline-formula>. Given a fixed number of <inline-formula><mml:math id="M25" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> lags and a forecast horizon <inline-formula><mml:math id="M26" display="inline"><mml:mrow><mml:mi>h</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, the time series is transformed as follows:

              <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M27" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mi mathvariant="normal">AR</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfenced open="[" close="]"><mml:mtable class="matrix" columnalign="center center center center" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mi mathvariant="bold-italic">y</mml:mi><mml:mo>=</mml:mo><mml:mfenced close="]" open="["><mml:mtable class="matrix" columnalign="center" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e826">Each row of the input feature matrix <inline-formula><mml:math id="M28" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mi mathvariant="normal">AR</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> represents a input feature vector formed by the past <inline-formula><mml:math id="M29" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> lags of <inline-formula><mml:math id="M30" display="inline"><mml:mi mathvariant="bold">Y</mml:mi></mml:math></inline-formula>, while the target vector <inline-formula><mml:math id="M31" display="inline"><mml:mi mathvariant="bold-italic">y</mml:mi></mml:math></inline-formula> contains the corresponding target value, which is the next observed value in the time series  <inline-formula><mml:math id="M32" display="inline"><mml:mi mathvariant="bold">Y</mml:mi></mml:math></inline-formula>. For instance the first row of the feature matrix <inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mi mathvariant="normal">AR</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are therefore the input features <inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> and the corresponding taget value <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is in the first row of the target vector. In this form, input feature matrix <inline-formula><mml:math id="M36" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mi mathvariant="normal">AR</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and target vector <inline-formula><mml:math id="M37" display="inline"><mml:mi mathvariant="bold-italic">y</mml:mi></mml:math></inline-formula> can be used for the regression to find a suitable regression function, mapping the <inline-formula><mml:math id="M38" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>-dimensional input feature vectors to their respective target values.</p>
      <p id="d2e954">It should be noted that this type of time series embedding leads to large overlaps between the rows of <inline-formula><mml:math id="M39" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mi mathvariant="normal">AR</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M40" display="inline"><mml:mi mathvariant="bold-italic">y</mml:mi></mml:math></inline-formula>, which introduces statistical dependencies between the training and validation data. In particular, a target value <inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> in the validation data set may already appear in the lagged input of the training data set. This violates the assumption of statistical independence required in traditional CV <xref ref-type="bibr" rid="bib1.bibx3 bib1.bibx5" id="paren.32"/> and can lead to a distorted performance assessment, since the model already has access to target values from the validation data set during training.</p>
      <p id="d2e989">This overlap problem is mitigated by modified CV approaches, such as those proposed in <xref ref-type="bibr" rid="bib1.bibx22" id="text.33"/>, or by hv-blocked CV presented by <xref ref-type="bibr" rid="bib1.bibx26" id="text.34"/>. The bl-CV described in Sect. <xref ref-type="sec" rid="Ch1.S2.SS1.SSS2"/> is also suitable for this dependent setting, as the overlap only occurs at the boundaries of the training and validation data. According to <xref ref-type="bibr" rid="bib1.bibx7" id="text.35"/>, however, random shuffling of assigned input-output pairs (related rows of <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mi mathvariant="normal">AR</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M43" display="inline"><mml:mi mathvariant="bold-italic">y</mml:mi></mml:math></inline-formula>) can be performed for autoregressive predictions as long as the model residuals remain serially uncorrelated, which is the case if the model is well fitted to the data.</p>
</sec>
<sec id="Ch1.S2.SS2.SSS2">
  <label>2.2.2</label><title>Time series prediction with exogenous features</title>
      <p id="d2e1030">In addition to the purely autoregressive approach described in Sect. <xref ref-type="sec" rid="Ch1.S2.SS2.SSS1"/>, feature sequences of <inline-formula><mml:math id="M44" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> lags from other time series can be included (exogenous input features). The inclusion of exogenous input features can improve the accuracy of the forecast, as the target variable may be correlated with other influencing factors <xref ref-type="bibr" rid="bib1.bibx9" id="paren.36"/>.</p>
      <p id="d2e1045">It is also possible to discard the autoregressive approach and consider only <inline-formula><mml:math id="M45" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> lags of exogenous input features. Given an exogenous time series <inline-formula><mml:math id="M46" display="inline"><mml:mi mathvariant="bold">X</mml:mi></mml:math></inline-formula>, which has the same length as the target time series <inline-formula><mml:math id="M47" display="inline"><mml:mi mathvariant="bold">Y</mml:mi></mml:math></inline-formula> (see Eq. <xref ref-type="disp-formula" rid="Ch1.E1"/>):

              <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M48" display="block"><mml:mrow><mml:mi mathvariant="bold">X</mml:mi><mml:mo>=</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo mathvariant="italic">}</mml:mo><mml:mo>,</mml:mo><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:msub><mml:mi>x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>∈</mml:mo><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M49" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the value of <inline-formula><mml:math id="M50" display="inline"><mml:mi mathvariant="bold">X</mml:mi></mml:math></inline-formula> at time <inline-formula><mml:math id="M51" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>, we can construct the following input feature matrix  <inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mi mathvariant="normal">EX</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and the corresponding target vector <inline-formula><mml:math id="M53" display="inline"><mml:mi mathvariant="bold-italic">y</mml:mi></mml:math></inline-formula>, assuming a fixed number of <inline-formula><mml:math id="M54" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> lags and a prediction horizon of <inline-formula><mml:math id="M55" display="inline"><mml:mrow><mml:mi>h</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>:

              <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M56" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mi mathvariant="normal">EX</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfenced open="[" close="]"><mml:mtable class="matrix" columnalign="center center center center" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mi mathvariant="normal">⋯</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mi mathvariant="bold-italic">y</mml:mi><mml:mo>=</mml:mo><mml:mfenced close="]" open="["><mml:mtable class="matrix" columnalign="center" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e1389">Contrary to the matrix <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mi mathvariant="normal">AR</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> described in Eq. (<xref ref-type="disp-formula" rid="Ch1.E2"/>) each row of the new input feature matrix <inline-formula><mml:math id="M58" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mi mathvariant="normal">EX</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> contains a input feature vector formed by the past <inline-formula><mml:math id="M59" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> lags of the exogenous time series <inline-formula><mml:math id="M60" display="inline"><mml:mi mathvariant="bold">X</mml:mi></mml:math></inline-formula>. The target vector <inline-formula><mml:math id="M61" display="inline"><mml:mi mathvariant="bold-italic">y</mml:mi></mml:math></inline-formula> remains the same as in the autoregressive case, containing the corresponding target value, which is the next observed value in the time series <inline-formula><mml:math id="M62" display="inline"><mml:mi mathvariant="bold">Y</mml:mi></mml:math></inline-formula>. For instance the first row of the input feature matrix <inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mi mathvariant="normal">EX</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are therefore the input features <inline-formula><mml:math id="M64" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> and the corresponding target value <inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is in the first row of the target vector <inline-formula><mml:math id="M66" display="inline"><mml:mi mathvariant="bold-italic">y</mml:mi></mml:math></inline-formula>. While the structure of <inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mi mathvariant="normal">EX</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> differs from the autoregressive input feature matrix <inline-formula><mml:math id="M68" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mi mathvariant="normal">AR</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the target vector <inline-formula><mml:math id="M69" display="inline"><mml:mi mathvariant="bold-italic">y</mml:mi></mml:math></inline-formula> is unaffected. As in the autoregressive case, the input feature matrix <inline-formula><mml:math id="M70" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mi mathvariant="normal">EX</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and the target vector <inline-formula><mml:math id="M71" display="inline"><mml:mi mathvariant="bold-italic">y</mml:mi></mml:math></inline-formula> can be used for the regression to find a suitable regression function that maps the <inline-formula><mml:math id="M72" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>-dimensional input feature vectors to their respective target values.</p>
      <p id="d2e1567">The exogenous approach uses external time series for forecasting, unlike the autoregressive approach which uses past values of the target variable as input features. This approach does not rely on potential autocorrelations within the target series, but on cross-correlations between the target variable and one or more exogenous time series. Because input features and target values originate from distinct time series, the exogenous approach is less constrained by validation techniques than the autoregressive approach. As can be seen in Eq. (<xref ref-type="disp-formula" rid="Ch1.E4"/>), the target values remain unique, with only consecutive values of the exogenous input features potentially appearing multiple times.</p>
</sec>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Experimental design</title>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Target time series</title>
      <p id="d2e1589">The GWL target time series originate from groundwater monitoring wells of the State Office for the Environment Brandenburg (LfU), publicly available on the Water Information Platform of the federal state Brandenburg. Initially, 809 GWL time series covering the period from at least 1 January  1990, to 28 December  2020, were considered. Preprocessing involved aggregating on a weekly basis (Monday), applying linear interpolation for measurement gaps of up to four weeks, and imputing larger gaps (up to 52 weeks) using an iterative imputer based on Bayesian Ridge from scikit-learn <xref ref-type="bibr" rid="bib1.bibx25" id="paren.37"/>.</p>
      <p id="d2e1595">To capture different groundwater level dynamics, all 809 time series were classified according to their global stationarity behavior. A time series was considered weakly stationary if its mean and variance remained constant over time and its autocovariance depended only on the time lag, representing a stable system. In contrast, non-stationary time series indicate time-dependent processes, such as long-term trends or potential anthropogenic influences. Stationarity was assessed globally across the entire time series by applying two complementary statistical tests: the augmented Dickey-Fuller Unit Root (ADF) test and the Kwiatkowski-Phillips-Schmidt-Shin (KPSS) test, using default settings from the Python statsmodels package <xref ref-type="bibr" rid="bib1.bibx29" id="paren.38"/>. A series was classified as stationary only if both tests indicated stationarity. Otherwise, it was classified as non-stationary. This analysis resulted in 294 time series being identified as weakly stationary, while 515 time series were classified as non-stationary. In the following, time series identified as weakly stationary will be referred to as stationary time series.</p>
      <p id="d2e1602">To reduce the computational effort, a subset of 100 GWL time series, consisting of 50 stationary and 50 non-stationary time series, was randomly selected (see Fig. <xref ref-type="fig" rid="F2"/>) <xref ref-type="bibr" rid="bib1.bibx15" id="paren.39"/>. Selecting equal numbers of both stationary and non-stationary groundwater level time series ensures that the data set includes time series with both constant means and variances and time series with changing means and variances over time, as well as long-term trends. Using this method, we were able to ensure a balanced selection of time series that reflects the full range of groundwater level variability in our data set.</p>

      <fig id="F2" specific-use="star"><label>Figure 2</label><caption><p id="d2e1613">Map of the monitoring wells in the initial data set (809 monitoring wells) (semi-transparent colors) and the selected 100 monitoring wells used in this study (non-transparent colors). Colors indicate whether the time series are stationary (blue) or non-stationary (red).</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2657/2026/gmd-19-2657-2026-f02.jpg"/>

        </fig>

</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Input time series</title>
      <p id="d2e1630">The meteorological parameters precipitation sum (<inline-formula><mml:math id="M73" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>), mean air temperature (<inline-formula><mml:math id="M74" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>), minimum air temperature (<inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>), maximum air temperature (<inline-formula><mml:math id="M76" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) and relative humidity (rH) were used as exogenous features for the GWL forecasts. These were obtained from the publicly accessible HYRAS-DE v.5.0 dataset of the German Weather Service (DWD) <xref ref-type="bibr" rid="bib1.bibx27 bib1.bibx28" id="paren.40"/>. The HYRAS-DE v.5.0 dataset is a 5 <inline-formula><mml:math id="M77" display="inline"><mml:mrow><mml:mo>×</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">km</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> raster dataset based on meteorological observations from weather monitoring sites around Germany. For each of the selected groundwater (GW) monitoring sites, the daily HYRAS data were extracted and aggregated to weekly values (Monday). As an additional input parameter, we used a sinusoidal curve fitted to the mean air temperature (<inline-formula><mml:math id="M78" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sin</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) to capture possible seasonal patterns <xref ref-type="bibr" rid="bib1.bibx38" id="paren.41"/>.</p>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>Prediction task and model design</title>
      <p id="d2e1709">We applied a weekly sequence-to-value time series forecast, in which the future GWL (forecast horizon <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:mi>h</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> week) was predicted based on a sequence of <inline-formula><mml:math id="M80" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>-lags (<inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo></mml:mrow></mml:math></inline-formula> 52 weeks) from the exogenous meteorological input time series (this form of data embedding was explained in Sect. <xref ref-type="sec" rid="Ch1.S2.SS2.SSS2"/>). We opted for weekly time steps, as these accurately reflect the dynamics of most aquifers and offer a good balance between data availability and the required amount of training data. The length of the meteorological input sequence was set to 52 weeks in order to map a complete annual cycle and thus fully account for seasonal influences <xref ref-type="bibr" rid="bib1.bibx21" id="paren.42"><named-content content-type="pre">e.g</named-content></xref>.</p>
      <p id="d2e1748">Since we have selected weekly input and target time series from 1 January 1990 to 28 December 2020 (Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/>) and an input sequence length of 52 weeks, the predictable GWL time series begins on 31 December 1990 (first predictable value) and ends on 28 December 2020 (last value of the time series). The feature and target data were scaled to a range between 0 and 1 (MinMaxScaler; scikit-learn, <xref ref-type="bibr" rid="bib1.bibx25" id="altparen.43"/>) before each training run based on the corresponding training data. For the prediction task, 1D-CNN and an LSTM were implemented using Keras <xref ref-type="bibr" rid="bib1.bibx12" id="paren.44"/>. The corresponding model architectures and selected hyperparameters are presented in Fig. <xref ref-type="fig" rid="F3"/>.</p>

      <fig id="F3" specific-use="star"><label>Figure 3</label><caption><p id="d2e1763">The model structure and the combination of the hyperparameters of the <bold>(a)</bold> 1D-CNN and the <bold>(b)</bold> LSTM model.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2657/2026/gmd-19-2657-2026-f03.png"/>

        </fig>


</sec>
<sec id="Ch1.S3.SS4">
  <label>3.4</label><title>Training, validation and testing strategy</title>
      <p id="d2e1788">The objective was to assess the suitability of the three validation methods (bl-CV, repOOS, OOS) to provide the most accurate performance estimate of the actual model performance based on the unseen test data. To create this test data set, the most recent 20 % of the measurements from each GWL time series were separated from the rest of the data. This portion is referred as the out-set <xref ref-type="bibr" rid="bib1.bibx7" id="paren.45"/>. The separation of the test data was based on the standard OOS principle (Sect. <xref ref-type="sec" rid="Ch1.S2.SS1.SSS1"/>). We chose this approach for separating the test data because our experiment was designed to simulate a real-world application where the most recent data (representative of future data) are not available during model development and parameter tuning based on the training and validation data.</p>
      <p id="d2e1796">The remaining 80 % of the data was used to adapt the training and to validate the prediction model. This data formed the so-called in-set <xref ref-type="bibr" rid="bib1.bibx7" id="paren.46"/>. Within this in-set, the model was trained and validated in three different ways:</p>
      <p id="d2e1802"><list list-type="bullet">
            <list-item>

      <p id="d2e1807"><italic>OOS (Fig. <xref ref-type="fig" rid="F1"/>a)</italic>. The model was trained and validated once with OOS training and validation split.</p>
            </list-item>
            <list-item>

      <p id="d2e1817"><italic>repOOS (Fig. <xref ref-type="fig" rid="F1"/>b).</italic> The model was repeatedly trained and validated using an out-of-sample training and validation split, controlled by the random choice of the split point in the split window. For the repOOS procedure, 60 % of the in-set was selected as training data and the following 10 % as validation data, according to <xref ref-type="bibr" rid="bib1.bibx11" id="text.47"/>. The available split window thus had a length of 30 %, starting after 60 % and ending at 90 % of the length of the in-set. The number of repetitions performed for this study was nrep <inline-formula><mml:math id="M82" display="inline"><mml:mrow><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula>.</p>
            </list-item>
            <list-item>

      <p id="d2e1840"><italic>bl-CV (Fig. <xref ref-type="fig" rid="F1"/>c).</italic> The model went through the <inline-formula><mml:math id="M83" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-folds of the <inline-formula><mml:math id="M84" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-fold bl-CV. The number of folds chosen for this study was <inline-formula><mml:math id="M85" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> in order to keep the validation periods as long as possible and to limit the computing effort.</p>
            </list-item>
          </list></p>
      <p id="d2e1875">In each training and validation split, an early stopping callback was set to determine the optimal number of training epochs based on the validation data and to avoid overfitting. In this way, each training and validation split provides both a prediction of the validation dataset and an estimate of the optimal number of training epochs. Since the model performance depends on the initialization of the model weights, an ensemble of 10 independent prediction models was implemented.  Each model in the ensemble was initialized separately with a fixed random seed to ensure reproducibility. This resulted in five validation predictions and five optimal epoch values for the repOOS and <inline-formula><mml:math id="M86" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-fold bl-CV and in one validation prediction and one optimal epoch value for the OOS for each of the 10 ensemble members. To consolidate the results of the 10 ensemble members, the median prediction and epoch number was calculated. The exact procedure is described in detail below:</p>
<sec id="Ch1.S3.SS4.SSS1">
  <label>3.4.1</label><title>Procedure for OOS</title>
      <p id="d2e1893"><list list-type="bullet">
              <list-item>

      <p id="d2e1898">For the training and validation step, the 10 independently initialized models provided: <list list-type="custom"><list-item><label>–</label>
      <p id="d2e1903">10 predictions of the validation dataset,</p></list-item><list-item><label>–</label>
      <p id="d2e1907">10 optimal number of training epochs.</p></list-item></list></p>
              </list-item>
              <list-item>

      <p id="d2e1913">These 10 validation predictions and epoch numbers were combined into: <list list-type="custom"><list-item><label>–</label>
      <p id="d2e1918">A single median prediction of the validation dataset,</p></list-item><list-item><label>–</label>
      <p id="d2e1922">A single median optimal number of epochs (<monospace>Epochs_OOS</monospace>).</p></list-item></list></p>
              </list-item>
              <list-item>

      <p id="d2e1931">The root mean squared error (RMSE) between the median validation prediction and the actual measured GWL was calculated (<monospace>RMSE<sub>in</sub>_OOS</monospace>).</p>
              </list-item>
            </list></p>
</sec>
<sec id="Ch1.S3.SS4.SSS2">
  <label>3.4.2</label><title>Procedure for repOOS (nrep = 5)</title>
      <p id="d2e1950"><list list-type="bullet">
              <list-item>

      <p id="d2e1955">The 10 initializations were built for each repetition, resulting in: <list list-type="custom"><list-item><label>–</label>
      <p id="d2e1960">10 predictions of the validation dataset,</p></list-item><list-item><label>–</label>
      <p id="d2e1964">10 optimal numbers of training epochs,</p></list-item><list-item><label>–</label>
      <p id="d2e1968">These 10 validation predictions and epoch numbers were combined into: <list list-type="custom"><list-item><label>–</label>
      <p id="d2e1973">A single median prediction of the validation dataset,</p></list-item><list-item><label>–</label>
      <p id="d2e1977">A single median optimal number of epochs,</p></list-item><list-item><label>–</label>
      <p id="d2e1981">The RMSE between the median validation prediction and the actual measured GWL was calculated.</p></list-item></list></p></list-item></list></p>
              </list-item>
              <list-item>

      <p id="d2e1987">After completing the five repetitions of repOOS, this gives: <list list-type="custom"><list-item><label>–</label>
      <p id="d2e1992">Five RMSE (one per repetition),</p></list-item><list-item><label>–</label>
      <p id="d2e1996">Five estimates of the optimal number of epochs (one per repetition).</p></list-item></list></p>
              </list-item>
              <list-item>

      <p id="d2e2002">Finally, the mean of these five values was computed to obtain: <list list-type="custom"><list-item><label>–</label>
      <p id="d2e2007">The final repOOS in-set error (<monospace>RMSE<sub>in</sub>_repOOS</monospace>),</p></list-item><list-item><label>–</label>
      <p id="d2e2017">The final repOOS epoch estimate (<monospace>Epochs_repOOS</monospace>).</p></list-item></list></p>
              </list-item>
            </list></p>
</sec>
<sec id="Ch1.S3.SS4.SSS3">
  <label>3.4.3</label><title>Procedure for <inline-formula><mml:math id="M87" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-fold bl-CV (<inline-formula><mml:math id="M88" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula>)</title>
      <p id="d2e2053"><list list-type="bullet">
              <list-item>

      <p id="d2e2058">The 10 initializations were built for each fold, resulting in: <list list-type="custom"><list-item><label>–</label>
      <p id="d2e2063">10 predictions of the validation dataset,</p></list-item><list-item><label>–</label>
      <p id="d2e2067">10 optimal numbers of training epochs,</p></list-item><list-item><label>–</label>
      <p id="d2e2071">These 10 validation predictions and epoch numbers were combined into: <list list-type="custom"><list-item><label>–</label>
      <p id="d2e2076">A single median prediction of the validation dataset,</p></list-item><list-item><label>–</label>
      <p id="d2e2080">A single median optimal number of epochs,</p></list-item><list-item><label>–</label>
      <p id="d2e2084">The RMSE between the median validation prediction and the actual measured GWL was calculated.</p></list-item></list></p></list-item></list></p>
              </list-item>
              <list-item>

      <p id="d2e2090">After completing the 5-fold bl-CV, this gives: <list list-type="custom"><list-item><label>–</label>
      <p id="d2e2095">Five RMSE (one per fold),</p></list-item><list-item><label>–</label>
      <p id="d2e2099">Five estimates of the optimal number of epochs (one per fold).</p></list-item></list></p>
              </list-item>
              <list-item>

      <p id="d2e2105">Finally, the mean of these five values was computed to obtain: <list list-type="custom"><list-item><label>–</label>
      <p id="d2e2110">The final bl-CV in-set error (<monospace>RMSE<sub>in</sub>_bl-CV</monospace>),</p></list-item><list-item><label>–</label>
      <p id="d2e2120">The final bl-CV in-set epoch estimate (<monospace>Epochs_bl-CV</monospace>).</p></list-item></list></p>
              </list-item>
            </list></p>
      <p id="d2e2128">It should be noted that in this study the training and validation data split of the last fold (Fold 5) of the 5-fold bl-CV corresponds exactly to the data split used in OOS (compare Fig. <xref ref-type="fig" rid="F1"/> a and c). Therefore, the validation results from the last fold of the 5-fold bl-CV and those of the OOS are the same. The results of bl-CV include those of OOS (Fold 5) and the other four folds (Fold 1–4).</p>
      <p id="d2e2133">After validation at the in-set, the model is retrained with all the data from the in-set and the out-set is predicted. The number of training epochs in the out-set is determined by the optimum number of epochs determined during the corresponding validation of the in-set (<monospace>Epochs_OOS</monospace>, <monospace>Epochs_repOOS</monospace>, <monospace>Epochs_bl-CV</monospace>). The retraining and out-set prediction was also repeated for each of the 10 different initializations, and finally the median of the 10 ensemble predictions was calculated to obtain the final out-set prediction. Consequently, three predictions of the out-set are created. This prediction of the out-set allows the calculation of the RMSE between measured and predicted GWL of the out-set (<monospace>RMSE<sub>out</sub>_OOS</monospace>, <monospace>RMSE<sub>out</sub>_repOOS</monospace>, <monospace>RMSE<sub>out</sub>_bl-CV</monospace>) (see Fig. <xref ref-type="fig" rid="F4"/>).</p>

      <fig id="F4" specific-use="star"><label>Figure 4</label><caption><p id="d2e2169">Illustration of the validation and testing process: Based on the validation methods in the in-set, the optimal number of training epochs (<monospace>Epochs</monospace>) and the model error in the in-set (<monospace>RMSE<sub>in</sub></monospace>) are determined. The model is then retrained with all the data from the in-set up to the number of training epochs determined by the respective validation method. The out-set is predicted and the prediction error (<monospace>RMSE<sub>out</sub></monospace>) is determined.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/2657/2026/gmd-19-2657-2026-f04.png"/>

          </fig>

</sec>
</sec>
<sec id="Ch1.S3.SS5">
  <label>3.5</label><title>Performance estimation measurement</title>
      <p id="d2e2201">As described in Sect. <xref ref-type="sec" rid="Ch1.S3.SS4"/>, each validation procedure leads to a performance estimate <monospace>RMSE<sub>in</sub></monospace>, which represents the prediction error in the in-set. The corresponding predictions of the out-set lead to the <monospace>RMSE<sub>out</sub></monospace>, which represents the actual error of the model on the unseen out-set. To compare <monospace>RMSE<sub>in</sub></monospace> and <monospace>RMSE<sub>out</sub></monospace>, two addiational metrics were calculated following <xref ref-type="bibr" rid="bib1.bibx7" id="paren.48"/>: absolute predictive accuracy error (APAE) and predictive accuracy error (PAE).

            <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M89" display="block"><mml:mrow><mml:mi mathvariant="normal">APAE</mml:mi><mml:mo>=</mml:mo><mml:mo>|</mml:mo><mml:msub><mml:mi mathvariant="normal">RMSE</mml:mi><mml:mi mathvariant="normal">in</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="normal">RMSE</mml:mi><mml:mi mathvariant="normal">out</mml:mi></mml:msub><mml:mo>|</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e2255">APAE can be used to determine the absolute error between the (<monospace>RMSE<sub>in</sub></monospace>) and (<monospace>RMSE<sub>out</sub></monospace>). The smaller the APAE, the better the performance estimation of the corresponding validation method.

            <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M90" display="block"><mml:mrow><mml:mi mathvariant="normal">PAE</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="normal">RMSE</mml:mi><mml:mi mathvariant="normal">in</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="normal">RMSE</mml:mi><mml:mi mathvariant="normal">out</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e2289">PAE shows whether the (<monospace>RMSE<sub>in</sub></monospace>) of the corresponding validation method overestimates or underestimates the (<monospace>RMSE<sub>out</sub></monospace>) (bias of the performance estimate). A positive PAE means the validation method overestimated the true error (pessimistic estimate). A negative PAE indicates that the validation method underestimated the true error (optimistic estimate). As we predicted groundwater levels in meters above sea level (m a.s.l.), the RMSE, APAE, and PAE are in meters. One APAE and one PAE  were calculated for each validation method, after training, validating and testing the 1D-CNN and LSTM for each time series.</p>
</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Results and discussion</title>
      <p id="d2e2311">The comparison of APAE and PAE of the three performance estimation methods (Fig. <xref ref-type="fig" rid="F5"/>) shows consistent patterns in terms of precision and bias for both prediction models across all 100 time series. The bl-CV yields the lowest median APAE values (1D-CNN: 0.03; LSTM: 0.03), followed by repOOS (1D-CNN: 0.05; LSTM: 0.04) and OOS (1D-CNN: 0.06; LSTM: 0.05) (Fig. <xref ref-type="fig" rid="F5"/>a and b, left). The corresponding interquartile range (IQR) values are smaller for bl-CV and repOOS, while OOS shows the largest spread. The median PAE are very small, with bl-CV and repOOS exhibiting median PAE values max. 0.01, and OOS also remaining small (1D-CNN: 0.04; LSTM: 0.02).</p>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e2320"><bold>(a)</bold> and <bold>(b)</bold> APAE achieved per validation method across all 100 GWL time series (left), only for the 50 stationary time series (center), only for the 50 non-stationary time series (right); <bold>(c)</bold> and <bold>(d)</bold> PAE achieved per validation method across all 100 time series analyzed (left), only for the 50 stationary time series (center), only for the 50 non-stationary time series (right).</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2657/2026/gmd-19-2657-2026-f05.png"/>

      </fig>

      <p id="d2e2340">Differences become more apparent when distinguishing between stationary (<inline-formula><mml:math id="M91" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula>) and non-stationary (<inline-formula><mml:math id="M92" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula>) time series. For stationary time series, median APAE values are low for all three validation methods. For the 1D-CNN, medians are 0.02 (bl-CV), 0.02 (repOOS), and 0.04 (OOS). For the LSTM, they are 0.02 (bl-CV), 0.04 (repOOS), and 0.03 (OOS). Median PAE values for stationary time series remain small (max 0.03) across all validation methods. For non-stationary time series, median APAE and the dispersion increase. For 1D-CNN, median APAE are 0.06 (bl-CV), 0.06 (repOOS), and 0.08 (OOS). For the LSTM, they are 0.04 (bl-CV), 0.06 (repOOS), and 0.08 (OOS). Median PAE remain small but show larger dispersion. The IQR of the PAE increases for all validation methods (up to 0.16 for OOS with 1D-CNN). Overall, non-stationarity is associated with wider error distributions, indicating more variability in performance estimation across all validation approaches. It should also be emphasized that outliers in the APAE/PAE values are predominantly caused by non-stationary time series. In some cases, there are high discrepancies between <monospace>RMSE<sub>in</sub></monospace> and <monospace>RMSE<sub>out</sub></monospace> due to differences in the distribution of the validation and test data sets, leading to incorrect estimation of the test error (<monospace>RMSE<sub>out</sub></monospace>) based on the validation error (<monospace>RMSE<sub>in</sub></monospace>).</p>
      <p id="d2e2389">Figure <xref ref-type="fig" rid="F6"/> illustrates the relationship between <monospace>RMSE<sub>in</sub></monospace> and <monospace>RMSE<sub>out</sub></monospace> for stationary (left) and non-stationary (right) time series. Each point shows the <monospace>RMSE<sub>in</sub></monospace> and <monospace>RMSE<sub>out</sub></monospace> of one time series. The distance of the points from the diagonal line (<monospace>RMSE<sub>in</sub></monospace> = <monospace>RMSE<sub>out</sub></monospace>) indicates the resulting APAE. Points located above the diagonal reflect a positive deviation, indicating an overestimation of <monospace>RMSE<sub>out</sub></monospace>, while points below the diagonal reflect a negative deviation, indicating an underestimation of <monospace>RMSE<sub>out</sub></monospace>. A visual analysis of the scatter plots reveals that the points corresponding to OOS exhibit a greater spread around the diagonal compared to those of bl-CV and repOOS. This increased dispersion is also reflected by the larger IQR observed in the box-plots in Fig. <xref ref-type="fig" rid="F5"/>, both for stationary and non-stationary time series. The scatter plot for stationary time series shows that OOS estimates <monospace>RMSE<sub>out</sub></monospace> less accurately (i.e., with greater deviation from the diagonal) and more frequently overestimates it (points above the diagonal) compared to bl-CV and repOOS. These time series display slightly abnormal GWL conditions during the OOS validation period in comparison to previous years, conditions that the model fails to predict accurately. In contrast, the GWL conditions in the out-set more closely resemble those observed prior to the OOS validation period.</p>
      <p id="d2e2442">An analysis of the scatter plots for the non-stationary time series in Fig. <xref ref-type="fig" rid="F6"/> (right) display that the prediction errors for non-stationary time series are higher than those for stationary time series in both in-set and out-set. As a result, the prediction uncertainty is considerably greater for non-stationary time series. Moreover, Fig. <xref ref-type="fig" rid="F6"/> (right) illustrates that the spread of the data points across all validation methods is generally large and increases with higher <monospace>RMSE<sub>out</sub></monospace>. This suggests that the robustness of performance estimates decreases as prediction errors increase, since larger APAE values reflect poorer model fit. The limited prediction accuracy and the resulting suboptimal performance estimates are most evident in non-stationary time series. This effect is attributable to the presence of trends or abrupt changes that cannot be adequately captured by the meteorological input sequences. A notable pattern is the tendency of OOS to overestimate high <monospace>RMSE<sub>out</sub></monospace>, while bl-CV and repOOS tend to underestimate them (see Fig. <xref ref-type="fig" rid="F6"/>, right).</p>

      <fig id="F6" specific-use="star"><label>Figure 6</label><caption><p id="d2e2463">Point plot of the achieved <monospace>RMSE<sub>in</sub></monospace> and <monospace>RMSE<sub>out</sub></monospace> of the 1D-CNN (top) and the LSTM (bottom). Each point represents the <monospace>RMSE<sub>in</sub></monospace> and the <monospace>RMSE<sub>out</sub></monospace> of a time series validated and tested with the corresponding validation method. Left: stationary time series; Right: non-stationary time series.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2657/2026/gmd-19-2657-2026-f06.png"/>

      </fig>

      <p id="d2e2492">Figure <xref ref-type="fig" rid="F7"/> displays the LSTM-based in-set predictions (left) with <monospace>RMSE<sub>in</sub></monospace> values in the titles and the corresponding out-set predictions (right) with the respective <monospace>RMSE<sub>out</sub></monospace> in the titles for the stationary time series 42.</p>
      <p id="d2e2507">The in-set predictions of bl-CV shows that for folds 1–4 (1991 to the beginning of 2010), the model predictions closely follow the observed groundwater levels. However, the LSTM model tends to overestimate low groundwater levels. This changes in the subsequent period (fold 5, 2010 to the end of 2014), which corresponds to the OOS validation period (see Fig. <xref ref-type="fig" rid="F7"/>, center), higher groundwater levels occur more frequently and are underestimated by the model. Since the RMSE for bl-CV is calculated over all folds, the influence of the deviations in fold 5 is reduced. This results in a more robust performance estimate that is less sensitive to specific deviations (APAE: 0.03). A similar effect is observed for repOOS, where components of repetitions 3 and 5 also lie within the 2010–2014 period (see Fig. <xref ref-type="fig" rid="F7"/>, bottom). However, the remaining repetitions cover different time spans, further reducing the influence of outlier periods. As a result, the average RMSE across all repetitions provides a more robust performance estimate (APAE: 0.06). In contrast, OOS relies on a single validation period, making its performance estimate highly sensitive to local anomalies in the data (APAE: 0.12). The results of the 1D-CNN model allow the same conclusions to be drawn as the LSTM results discussed above and are therefore not discussed separately. The 1D-CNN-based in-set and out-set predictions with the corresponding RMSE are shown in Fig. <xref ref-type="fig" rid="FA1"/>.</p>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e2519">Plot of time series 42 (stationary time series, identified with global ADF and KPSS analysis). Top: LSTM based validation forecasts of the 5-folds of the bl-CV (left) and test forecasts of the bl-CV model (right); Middle: LSTM based validation forecast of the OOS validation period (left) and test predictions of the OOS model (right); Bottom: LSTM based validation predictions of the repetitions of repOOS (left) and test predictions of the repOOS model (right).</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2657/2026/gmd-19-2657-2026-f07.png"/>

      </fig>

      <p id="d2e2528">An example of validation inconsistency can be seen in Fig. <xref ref-type="fig" rid="F8"/> in time series 96. This time series shows an increase in groundwater levels from 1992 to a peak between 1994 and 1996. This is followed by a long recession period until 2008. The groundwater level then rises again within a few years, reaching the level already achieved in the mid-1990s, and then slowly falls again. The high groundwater levels of the mid-1990s and the years from 2011 to 2015 cannot be predicted well by the LSTM model, which is why the in-set predictions for these years show high deviations from the measured values. The lower groundwater levels could be explained by the meteorological input time series trends and enable a more accurate prediction of groundwater levels in these years. Averaging the RMSE of the individual validation periods for bl-CV and repOOS means that a larger amount of data from different periods within the time series are used for validation, which increases the robustness of the error estimation especially for bl-CV (APAE: 0.03 (bl-CV) and 0.09 (repOOS)). For OOS, only a single validation period is used, which carries the risk of being unrepresentative for the subsequent test period; this risk is particularly high with non-stationary time series (APAE: 0.19 (OOS)).</p>

      <fig id="F8" specific-use="star"><label>Figure 8</label><caption><p id="d2e2535">Plot of time series 96 (non-stationary time series, identified with global ADF and KPSS analysis). Top: LSTM based validation forecasts of the 5-folds of the bl-CV (left) and test forecasts of the bl-CV model (right); Middle: LSTM based validation forecast of the OOS validation period (left) and test predictions of the OOS model (right); Bottom: LSTM based validation predictions of the repetitions of repOOS (left) and test predictions of the repOOS model (right).</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2657/2026/gmd-19-2657-2026-f08.png"/>

      </fig>

      <p id="d2e2544">These findings underscore the need for particular care when evaluating non-stationary time series. In such cases, there is a heightened risk that the statistical properties (e.g., mean, variance) of the training, validation, and test periods differ. These discrepancies complicate both the prediction and the evaluation processes, posing greater challenges than stationary time series.</p>
      <p id="d2e2547">The APAE and PAE values calculated and described in this chapter are presented in numerical form in  Table <xref ref-type="table" rid="TA1"/> (1D-CNN) and Table <xref ref-type="table" rid="TA2"/> (LSTM) in the Appendix. An overview of the resulting <monospace>RMSE<sub>in</sub></monospace> and <monospace>RMSE<sub>out</sub></monospace> values can also be found in Table <xref ref-type="table" rid="TA3"/> (1D-CNN) and Table <xref ref-type="table" rid="TA4"/>.</p>
</sec>
<sec id="Ch1.S5" sec-type="conclusions">
  <label>5</label><title>Conclusions</title>
      <p id="d2e2578">Choosing a suitable method for performance evaluation is a key step in the development and validation of prediction models. In hydrogeological modeling, this aspect has received little attention so far. In other disciplines, validation approaches such as CV or OOS have already been extensively investigated with regard to their suitability for evaluating autoregressive time series forecasting <xref ref-type="bibr" rid="bib1.bibx4 bib1.bibx5 bib1.bibx6 bib1.bibx7 bib1.bibx11" id="paren.49"><named-content content-type="pre">e.g.</named-content></xref>. Several of these studies show that bl-CV provides the most robust and accurate performance estimates for stationary time series <xref ref-type="bibr" rid="bib1.bibx4 bib1.bibx5 bib1.bibx6 bib1.bibx11" id="paren.50"/>, while <xref ref-type="bibr" rid="bib1.bibx11" id="text.51"/> recommended repOOS for non-stationary time series.</p>
      <p id="d2e2592">In hydrogeology, however, long-term forecasts are often required. This reduces the relevance of autoregressive models and increases the importance of purely exogenous input data, such as meteorological drivers, which are available as climate forecasts. The results of existing studies on autoregressive models can therefore only be applied to a limited extent to the prediction of (GWL) using exogenous variables. The present study addresses this gap by applying three validation methods (bl-CV, repOOS, and OOS) for the prediction of 100 GWL time series (50 stationary, 50 non-stationary) based on meteorological input data (precipitation, air temperature [mean, minimum, maximum], relative humidity, and a seasonal temperature sine curve). The GWL for the coming week was predicted from a 52-week meteorological input sequence. To evaluate the validation methods, APAE and PAE were calculated according to <xref ref-type="bibr" rid="bib1.bibx7" id="text.52"/>.</p>
      <p id="d2e2598">The results show that bl-CV provides the most accurate and robust performance estimates, both across all 100 time series and separately for stationary and non-stationary series. repOOS follows in second place, while OOS has the most unreliable estimates. The higher robustness of bl-CV and repOOS can be attributed to the fact that both methods take multiple validation periods into account, whereas OOS uses only a single period and is therefore more susceptible to outliers. Although a direct comparison with studies on autoregressive forecasts is only possible to a limited extent, the results confirm the findings of <xref ref-type="bibr" rid="bib1.bibx4" id="text.53"/>, <xref ref-type="bibr" rid="bib1.bibx5" id="text.54"/>, <xref ref-type="bibr" rid="bib1.bibx6" id="text.55"/> and <xref ref-type="bibr" rid="bib1.bibx11" id="text.56"/>, according to which bl-CV is a suitable choice for stationary time series. For non-stationary time series, however, the results differ from the autoregressive case in <xref ref-type="bibr" rid="bib1.bibx11" id="text.57"/>: Contrary to what is recommended there, bl-CV proves to be more accurate and robust for performance estimation than repOOS in our study. Furthermore, the results suggest that predictions from stationary GWL time series led to more robust forecasts and more reliable performance estimates. In contrast, non-stationary time series were associated with higher prediction errors and increased uncertainty in the performance assessment of all investigated validation methods. The stationary time series GWL showed less complex patterns, which could be captured more effectively by meteorological input variables and consequently predicted more accurately by the 1D-CNN and LSTM models across the entire time series. Non-stationary time series, on the other hand, exhibited more complex, time-dependent structures, which made accurate predictions over different periods within the time series and thus also correct performance estimation more difficult. These more difficult conditions require particular caution when interpreting the validation results. Even taking test errors into account, a technical evaluation is necessary to ensure that validation and test periods are indeed representative. For future studies, especially in the case of non-stationary time series, it may be useful to deviate from the consecutive validation approaches commonly used in time series forecasting and instead investigate deterministic data splitting methods. Such methods are recommended by <xref ref-type="bibr" rid="bib1.bibx40" id="text.58"/> for hydrological precipitation-runoff models to ensure the consistency of the statistical distribution in the individual sub-datasets. Although bl-CV and repOOS partially compensate for distribution differences between training, validation, and test data by selecting and positioning several validation periods, a discrepancy between the final test period and the preceding periods may still remain in non-stationary series. Selecting sufficiently large and representative validation and test periods can mitigate the influence of anomalous periods and improve the validity of performance estimates, ultimately supporting more informed and resilient groundwater management decisions.</p>
</sec>

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

<app id="App1.Ch1.S1">
  <label>Appendix A</label><title/>

<table-wrap id="TA1"><label>Table A1</label><caption><p id="d2e2635">Descriptive statistics for APAE and PAE (total, stationary, non-stationary) for 1D-CNN.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="10">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right" colsep="1"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right" colsep="1"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right"/>
     <oasis:colspec colnum="10" colname="col10" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry rowsep="1" namest="col2" nameend="col4" align="center" colsep="1">Total (<inline-formula><mml:math id="M93" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">100</mml:mn></mml:mrow></mml:math></inline-formula>) </oasis:entry>
         <oasis:entry rowsep="1" namest="col5" nameend="col7" align="center" colsep="1">Stationary (<inline-formula><mml:math id="M94" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula>) </oasis:entry>
         <oasis:entry rowsep="1" namest="col8" nameend="col10" align="center">Non-stationary (<inline-formula><mml:math id="M95" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula>) </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">bl-CV</oasis:entry>
         <oasis:entry colname="col3">repOOS</oasis:entry>
         <oasis:entry colname="col4">OOS</oasis:entry>
         <oasis:entry colname="col5">bl-CV</oasis:entry>
         <oasis:entry colname="col6">repOOS</oasis:entry>
         <oasis:entry colname="col7">OOS</oasis:entry>
         <oasis:entry colname="col8">bl-CV</oasis:entry>
         <oasis:entry colname="col9">repOOS</oasis:entry>
         <oasis:entry colname="col10">OOS</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col10">APAE </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">mean</oasis:entry>
         <oasis:entry colname="col2">0.06</oasis:entry>
         <oasis:entry colname="col3">0.07</oasis:entry>
         <oasis:entry colname="col4">0.10</oasis:entry>
         <oasis:entry colname="col5">0.03</oasis:entry>
         <oasis:entry colname="col6">0.03</oasis:entry>
         <oasis:entry colname="col7">0.05</oasis:entry>
         <oasis:entry colname="col8">0.09</oasis:entry>
         <oasis:entry colname="col9">0.10</oasis:entry>
         <oasis:entry colname="col10">0.14</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">std</oasis:entry>
         <oasis:entry colname="col2">0.10</oasis:entry>
         <oasis:entry colname="col3">0.11</oasis:entry>
         <oasis:entry colname="col4">0.11</oasis:entry>
         <oasis:entry colname="col5">0.02</oasis:entry>
         <oasis:entry colname="col6">0.03</oasis:entry>
         <oasis:entry colname="col7">0.05</oasis:entry>
         <oasis:entry colname="col8">0.13</oasis:entry>
         <oasis:entry colname="col9">0.15</oasis:entry>
         <oasis:entry colname="col10">0.14</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">min</oasis:entry>
         <oasis:entry colname="col2">0.00</oasis:entry>
         <oasis:entry colname="col3">0.00</oasis:entry>
         <oasis:entry colname="col4">0.00</oasis:entry>
         <oasis:entry colname="col5">0.00</oasis:entry>
         <oasis:entry colname="col6">0.00</oasis:entry>
         <oasis:entry colname="col7">0.00</oasis:entry>
         <oasis:entry colname="col8">0.00</oasis:entry>
         <oasis:entry colname="col9">0.00</oasis:entry>
         <oasis:entry colname="col10">0.00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">25 %</oasis:entry>
         <oasis:entry colname="col2">0.01</oasis:entry>
         <oasis:entry colname="col3">0.02</oasis:entry>
         <oasis:entry colname="col4">0.03</oasis:entry>
         <oasis:entry colname="col5">0.01</oasis:entry>
         <oasis:entry colname="col6">0.01</oasis:entry>
         <oasis:entry colname="col7">0.02</oasis:entry>
         <oasis:entry colname="col8">0.02</oasis:entry>
         <oasis:entry colname="col9">0.03</oasis:entry>
         <oasis:entry colname="col10">0.04</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">50 %</oasis:entry>
         <oasis:entry colname="col2">0.03</oasis:entry>
         <oasis:entry colname="col3">0.05</oasis:entry>
         <oasis:entry colname="col4">0.06</oasis:entry>
         <oasis:entry colname="col5">0.02</oasis:entry>
         <oasis:entry colname="col6">0.02</oasis:entry>
         <oasis:entry colname="col7">0.04</oasis:entry>
         <oasis:entry colname="col8">0.06</oasis:entry>
         <oasis:entry colname="col9">0.06</oasis:entry>
         <oasis:entry colname="col10">0.08</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">75 %</oasis:entry>
         <oasis:entry colname="col2">0.07</oasis:entry>
         <oasis:entry colname="col3">0.08</oasis:entry>
         <oasis:entry colname="col4">0.13</oasis:entry>
         <oasis:entry colname="col5">0.04</oasis:entry>
         <oasis:entry colname="col6">0.05</oasis:entry>
         <oasis:entry colname="col7">0.07</oasis:entry>
         <oasis:entry colname="col8">0.09</oasis:entry>
         <oasis:entry colname="col9">0.09</oasis:entry>
         <oasis:entry colname="col10">0.18</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">max</oasis:entry>
         <oasis:entry colname="col2">0.63</oasis:entry>
         <oasis:entry colname="col3">0.72</oasis:entry>
         <oasis:entry colname="col4">0.62</oasis:entry>
         <oasis:entry colname="col5">0.09</oasis:entry>
         <oasis:entry colname="col6">0.10</oasis:entry>
         <oasis:entry colname="col7">0.24</oasis:entry>
         <oasis:entry colname="col8">0.63</oasis:entry>
         <oasis:entry colname="col9">0.72</oasis:entry>
         <oasis:entry colname="col10">0.62</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col10">PAE </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">mean</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M96" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.02</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M97" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.01</oasis:entry>
         <oasis:entry colname="col4">0.04</oasis:entry>
         <oasis:entry colname="col5">0.00</oasis:entry>
         <oasis:entry colname="col6">0.01</oasis:entry>
         <oasis:entry colname="col7">0.04</oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M98" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.03</oasis:entry>
         <oasis:entry colname="col9"><inline-formula><mml:math id="M99" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.04</oasis:entry>
         <oasis:entry colname="col10">0.05</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">std</oasis:entry>
         <oasis:entry colname="col2">0.11</oasis:entry>
         <oasis:entry colname="col3">0.13</oasis:entry>
         <oasis:entry colname="col4">0.14</oasis:entry>
         <oasis:entry colname="col5">0.04</oasis:entry>
         <oasis:entry colname="col6">0.04</oasis:entry>
         <oasis:entry colname="col7">0.06</oasis:entry>
         <oasis:entry colname="col8">0.15</oasis:entry>
         <oasis:entry colname="col9">0.17</oasis:entry>
         <oasis:entry colname="col10">0.19</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">min</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M100" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.63</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M101" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.72</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M102" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.62</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M103" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.09</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M104" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.10</oasis:entry>
         <oasis:entry colname="col7"><inline-formula><mml:math id="M105" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.07</oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M106" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.63</oasis:entry>
         <oasis:entry colname="col9"><inline-formula><mml:math id="M107" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.72</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M108" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.62</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">25 %</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M109" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.03</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M110" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.03</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M111" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.01</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M112" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.02</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M113" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.02</oasis:entry>
         <oasis:entry colname="col7">0.00</oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M114" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.08</oasis:entry>
         <oasis:entry colname="col9"><inline-formula><mml:math id="M115" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.06</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M116" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.02</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">50 %</oasis:entry>
         <oasis:entry colname="col2">0.00</oasis:entry>
         <oasis:entry colname="col3">0.01</oasis:entry>
         <oasis:entry colname="col4">0.04</oasis:entry>
         <oasis:entry colname="col5">0.00</oasis:entry>
         <oasis:entry colname="col6">0.01</oasis:entry>
         <oasis:entry colname="col7">0.03</oasis:entry>
         <oasis:entry colname="col8">0.00</oasis:entry>
         <oasis:entry colname="col9">0.01</oasis:entry>
         <oasis:entry colname="col10">0.04</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">75 %</oasis:entry>
         <oasis:entry colname="col2">0.02</oasis:entry>
         <oasis:entry colname="col3">0.05</oasis:entry>
         <oasis:entry colname="col4">0.09</oasis:entry>
         <oasis:entry colname="col5">0.02</oasis:entry>
         <oasis:entry colname="col6">0.04</oasis:entry>
         <oasis:entry colname="col7">0.06</oasis:entry>
         <oasis:entry colname="col8">0.03</oasis:entry>
         <oasis:entry colname="col9">0.06</oasis:entry>
         <oasis:entry colname="col10">0.14</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">max</oasis:entry>
         <oasis:entry colname="col2">0.21</oasis:entry>
         <oasis:entry colname="col3">0.17</oasis:entry>
         <oasis:entry colname="col4">0.44</oasis:entry>
         <oasis:entry colname="col5">0.07</oasis:entry>
         <oasis:entry colname="col6">0.09</oasis:entry>
         <oasis:entry colname="col7">0.24</oasis:entry>
         <oasis:entry colname="col8">0.21</oasis:entry>
         <oasis:entry colname="col9">0.17</oasis:entry>
         <oasis:entry colname="col10">0.44</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="TA2"><label>Table A2</label><caption><p id="d2e3374">Descriptive statistics for APAE and PAE (total, stationary, non-stationary) for LSTM.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="10">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right" colsep="1"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right" colsep="1"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right"/>
     <oasis:colspec colnum="10" colname="col10" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry rowsep="1" namest="col2" nameend="col4" align="center" colsep="1">Total (<inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">100</mml:mn></mml:mrow></mml:math></inline-formula>) </oasis:entry>
         <oasis:entry rowsep="1" namest="col5" nameend="col7" align="center" colsep="1">Stationary (<inline-formula><mml:math id="M118" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula>) </oasis:entry>
         <oasis:entry rowsep="1" namest="col8" nameend="col10" align="center">Non-stationary (<inline-formula><mml:math id="M119" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula>) </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">bl-CV</oasis:entry>
         <oasis:entry colname="col3">repOOS</oasis:entry>
         <oasis:entry colname="col4">OOS</oasis:entry>
         <oasis:entry colname="col5">bl-CV</oasis:entry>
         <oasis:entry colname="col6">repOOS</oasis:entry>
         <oasis:entry colname="col7">OOS</oasis:entry>
         <oasis:entry colname="col8">bl-CV</oasis:entry>
         <oasis:entry colname="col9">repOOS</oasis:entry>
         <oasis:entry colname="col10">OOS</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col10">APAE </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">mean</oasis:entry>
         <oasis:entry colname="col2">0.06</oasis:entry>
         <oasis:entry colname="col3">0.07</oasis:entry>
         <oasis:entry colname="col4">0.09</oasis:entry>
         <oasis:entry colname="col5">0.03</oasis:entry>
         <oasis:entry colname="col6">0.04</oasis:entry>
         <oasis:entry colname="col7">0.05</oasis:entry>
         <oasis:entry colname="col8">0.09</oasis:entry>
         <oasis:entry colname="col9">0.09</oasis:entry>
         <oasis:entry colname="col10">0.13</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">std</oasis:entry>
         <oasis:entry colname="col2">0.10</oasis:entry>
         <oasis:entry colname="col3">0.11</oasis:entry>
         <oasis:entry colname="col4">0.12</oasis:entry>
         <oasis:entry colname="col5">0.02</oasis:entry>
         <oasis:entry colname="col6">0.04</oasis:entry>
         <oasis:entry colname="col7">0.05</oasis:entry>
         <oasis:entry colname="col8">0.13</oasis:entry>
         <oasis:entry colname="col9">0.15</oasis:entry>
         <oasis:entry colname="col10">0.15</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">min</oasis:entry>
         <oasis:entry colname="col2">0.00</oasis:entry>
         <oasis:entry colname="col3">0.00</oasis:entry>
         <oasis:entry colname="col4">0.00</oasis:entry>
         <oasis:entry colname="col5">0.00</oasis:entry>
         <oasis:entry colname="col6">0.00</oasis:entry>
         <oasis:entry colname="col7">0.00</oasis:entry>
         <oasis:entry colname="col8">0.00</oasis:entry>
         <oasis:entry colname="col9">0.00</oasis:entry>
         <oasis:entry colname="col10">0.00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">25 %</oasis:entry>
         <oasis:entry colname="col2">0.01</oasis:entry>
         <oasis:entry colname="col3">0.02</oasis:entry>
         <oasis:entry colname="col4">0.02</oasis:entry>
         <oasis:entry colname="col5">0.01</oasis:entry>
         <oasis:entry colname="col6">0.02</oasis:entry>
         <oasis:entry colname="col7">0.02</oasis:entry>
         <oasis:entry colname="col8">0.02</oasis:entry>
         <oasis:entry colname="col9">0.02</oasis:entry>
         <oasis:entry colname="col10">0.03</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">50 %</oasis:entry>
         <oasis:entry colname="col2">0.03</oasis:entry>
         <oasis:entry colname="col3">0.04</oasis:entry>
         <oasis:entry colname="col4">0.05</oasis:entry>
         <oasis:entry colname="col5">0.02</oasis:entry>
         <oasis:entry colname="col6">0.04</oasis:entry>
         <oasis:entry colname="col7">0.03</oasis:entry>
         <oasis:entry colname="col8">0.04</oasis:entry>
         <oasis:entry colname="col9">0.06</oasis:entry>
         <oasis:entry colname="col10">0.08</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">75 %</oasis:entry>
         <oasis:entry colname="col2">0.07</oasis:entry>
         <oasis:entry colname="col3">0.08</oasis:entry>
         <oasis:entry colname="col4">0.11</oasis:entry>
         <oasis:entry colname="col5">0.04</oasis:entry>
         <oasis:entry colname="col6">0.06</oasis:entry>
         <oasis:entry colname="col7">0.07</oasis:entry>
         <oasis:entry colname="col8">0.09</oasis:entry>
         <oasis:entry colname="col9">0.11</oasis:entry>
         <oasis:entry colname="col10">0.17</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">max</oasis:entry>
         <oasis:entry colname="col2">0.69</oasis:entry>
         <oasis:entry colname="col3">0.86</oasis:entry>
         <oasis:entry colname="col4">0.59</oasis:entry>
         <oasis:entry colname="col5">0.10</oasis:entry>
         <oasis:entry colname="col6">0.22</oasis:entry>
         <oasis:entry colname="col7">0.21</oasis:entry>
         <oasis:entry colname="col8">0.69</oasis:entry>
         <oasis:entry colname="col9">0.86</oasis:entry>
         <oasis:entry colname="col10">0.59</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col10">PAE </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">mean</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M120" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.03</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M121" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.01</oasis:entry>
         <oasis:entry colname="col4">0.03</oasis:entry>
         <oasis:entry colname="col5">0.00</oasis:entry>
         <oasis:entry colname="col6">0.01</oasis:entry>
         <oasis:entry colname="col7">0.02</oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M122" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.06</oasis:entry>
         <oasis:entry colname="col9"><inline-formula><mml:math id="M123" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.04</oasis:entry>
         <oasis:entry colname="col10">0.04</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">std</oasis:entry>
         <oasis:entry colname="col2">0.11</oasis:entry>
         <oasis:entry colname="col3">0.13</oasis:entry>
         <oasis:entry colname="col4">0.14</oasis:entry>
         <oasis:entry colname="col5">0.03</oasis:entry>
         <oasis:entry colname="col6">0.06</oasis:entry>
         <oasis:entry colname="col7">0.07</oasis:entry>
         <oasis:entry colname="col8">0.15</oasis:entry>
         <oasis:entry colname="col9">0.18</oasis:entry>
         <oasis:entry colname="col10">0.19</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">min</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M124" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.69</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M125" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.86</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M126" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.59</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M127" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.10</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M128" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.22</oasis:entry>
         <oasis:entry colname="col7"><inline-formula><mml:math id="M129" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.21</oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M130" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.69</oasis:entry>
         <oasis:entry colname="col9"><inline-formula><mml:math id="M131" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.86</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M132" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.59</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">25 %</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M133" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.05</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M134" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.04</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M135" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.02</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M136" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.02</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M137" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.02</oasis:entry>
         <oasis:entry colname="col7"><inline-formula><mml:math id="M138" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.02</oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M139" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.09</oasis:entry>
         <oasis:entry colname="col9"><inline-formula><mml:math id="M140" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.07</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M141" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.03</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">50 %</oasis:entry>
         <oasis:entry colname="col2">0.00</oasis:entry>
         <oasis:entry colname="col3">0.01</oasis:entry>
         <oasis:entry colname="col4">0.02</oasis:entry>
         <oasis:entry colname="col5">0.00</oasis:entry>
         <oasis:entry colname="col6">0.02</oasis:entry>
         <oasis:entry colname="col7">0.02</oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M142" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.02</oasis:entry>
         <oasis:entry colname="col9">0.00</oasis:entry>
         <oasis:entry colname="col10">0.03</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">75 %</oasis:entry>
         <oasis:entry colname="col2">0.02</oasis:entry>
         <oasis:entry colname="col3">0.05</oasis:entry>
         <oasis:entry colname="col4">0.08</oasis:entry>
         <oasis:entry colname="col5">0.02</oasis:entry>
         <oasis:entry colname="col6">0.05</oasis:entry>
         <oasis:entry colname="col7">0.04</oasis:entry>
         <oasis:entry colname="col8">0.02</oasis:entry>
         <oasis:entry colname="col9">0.04</oasis:entry>
         <oasis:entry colname="col10">0.10</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">max</oasis:entry>
         <oasis:entry colname="col2">0.17</oasis:entry>
         <oasis:entry colname="col3">0.24</oasis:entry>
         <oasis:entry colname="col4">0.53</oasis:entry>
         <oasis:entry colname="col5">0.06</oasis:entry>
         <oasis:entry colname="col6">0.10</oasis:entry>
         <oasis:entry colname="col7">0.21</oasis:entry>
         <oasis:entry colname="col8">0.17</oasis:entry>
         <oasis:entry colname="col9">0.24</oasis:entry>
         <oasis:entry colname="col10">0.53</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="TA3"><label>Table A3</label><caption><p id="d2e4127">Descriptive statistics for RMSE (in-set and out-set, total, stationary, non-stationary) for 1D-CNN.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="10">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right" colsep="1"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right" colsep="1"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right"/>
     <oasis:colspec colnum="10" colname="col10" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry rowsep="1" namest="col2" nameend="col4" align="center" colsep="1">Total (<inline-formula><mml:math id="M143" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">100</mml:mn></mml:mrow></mml:math></inline-formula>) </oasis:entry>
         <oasis:entry rowsep="1" namest="col5" nameend="col7" align="center" colsep="1">Stationary (<inline-formula><mml:math id="M144" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula>) </oasis:entry>
         <oasis:entry rowsep="1" namest="col8" nameend="col10" align="center">Non-stationary (<inline-formula><mml:math id="M145" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula>) </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">bl-CV</oasis:entry>
         <oasis:entry colname="col3">repOOS</oasis:entry>
         <oasis:entry colname="col4">OOS</oasis:entry>
         <oasis:entry colname="col5">bl-CV</oasis:entry>
         <oasis:entry colname="col6">repOOS</oasis:entry>
         <oasis:entry colname="col7">OOS</oasis:entry>
         <oasis:entry colname="col8">bl-CV</oasis:entry>
         <oasis:entry colname="col9">repOOS</oasis:entry>
         <oasis:entry colname="col10">OOS</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col10">RMSE (in-set) </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">mean</oasis:entry>
         <oasis:entry colname="col2">0.18</oasis:entry>
         <oasis:entry colname="col3">0.18</oasis:entry>
         <oasis:entry colname="col4">0.24</oasis:entry>
         <oasis:entry colname="col5">0.15</oasis:entry>
         <oasis:entry colname="col6">0.16</oasis:entry>
         <oasis:entry colname="col7">0.19</oasis:entry>
         <oasis:entry colname="col8">0.21</oasis:entry>
         <oasis:entry colname="col9">0.20</oasis:entry>
         <oasis:entry colname="col10">0.29</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">std</oasis:entry>
         <oasis:entry colname="col2">0.10</oasis:entry>
         <oasis:entry colname="col3">0.08</oasis:entry>
         <oasis:entry colname="col4">0.19</oasis:entry>
         <oasis:entry colname="col5">0.08</oasis:entry>
         <oasis:entry colname="col6">0.07</oasis:entry>
         <oasis:entry colname="col7">0.09</oasis:entry>
         <oasis:entry colname="col8">0.12</oasis:entry>
         <oasis:entry colname="col9">0.09</oasis:entry>
         <oasis:entry colname="col10">0.24</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">min</oasis:entry>
         <oasis:entry colname="col2">0.06</oasis:entry>
         <oasis:entry colname="col3">0.06</oasis:entry>
         <oasis:entry colname="col4">0.06</oasis:entry>
         <oasis:entry colname="col5">0.06</oasis:entry>
         <oasis:entry colname="col6">0.06</oasis:entry>
         <oasis:entry colname="col7">0.06</oasis:entry>
         <oasis:entry colname="col8">0.08</oasis:entry>
         <oasis:entry colname="col9">0.09</oasis:entry>
         <oasis:entry colname="col10">0.08</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">25 %</oasis:entry>
         <oasis:entry colname="col2">0.11</oasis:entry>
         <oasis:entry colname="col3">0.12</oasis:entry>
         <oasis:entry colname="col4">0.14</oasis:entry>
         <oasis:entry colname="col5">0.10</oasis:entry>
         <oasis:entry colname="col6">0.12</oasis:entry>
         <oasis:entry colname="col7">0.13</oasis:entry>
         <oasis:entry colname="col8">0.13</oasis:entry>
         <oasis:entry colname="col9">0.14</oasis:entry>
         <oasis:entry colname="col10">0.15</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">50 %</oasis:entry>
         <oasis:entry colname="col2">0.15</oasis:entry>
         <oasis:entry colname="col3">0.16</oasis:entry>
         <oasis:entry colname="col4">0.18</oasis:entry>
         <oasis:entry colname="col5">0.13</oasis:entry>
         <oasis:entry colname="col6">0.14</oasis:entry>
         <oasis:entry colname="col7">0.16</oasis:entry>
         <oasis:entry colname="col8">0.16</oasis:entry>
         <oasis:entry colname="col9">0.18</oasis:entry>
         <oasis:entry colname="col10">0.20</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">75 %</oasis:entry>
         <oasis:entry colname="col2">0.22</oasis:entry>
         <oasis:entry colname="col3">0.23</oasis:entry>
         <oasis:entry colname="col4">0.26</oasis:entry>
         <oasis:entry colname="col5">0.16</oasis:entry>
         <oasis:entry colname="col6">0.18</oasis:entry>
         <oasis:entry colname="col7">0.22</oasis:entry>
         <oasis:entry colname="col8">0.26</oasis:entry>
         <oasis:entry colname="col9">0.24</oasis:entry>
         <oasis:entry colname="col10">0.34</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">max</oasis:entry>
         <oasis:entry colname="col2">0.56</oasis:entry>
         <oasis:entry colname="col3">0.43</oasis:entry>
         <oasis:entry colname="col4">1.17</oasis:entry>
         <oasis:entry colname="col5">0.44</oasis:entry>
         <oasis:entry colname="col6">0.39</oasis:entry>
         <oasis:entry colname="col7">0.41</oasis:entry>
         <oasis:entry colname="col8">0.56</oasis:entry>
         <oasis:entry colname="col9">0.43</oasis:entry>
         <oasis:entry colname="col10">1.17</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col10">RMSE (out-set) </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">mean</oasis:entry>
         <oasis:entry colname="col2">0.20</oasis:entry>
         <oasis:entry colname="col3">0.19</oasis:entry>
         <oasis:entry colname="col4">0.19</oasis:entry>
         <oasis:entry colname="col5">0.15</oasis:entry>
         <oasis:entry colname="col6">0.15</oasis:entry>
         <oasis:entry colname="col7">0.15</oasis:entry>
         <oasis:entry colname="col8">0.24</oasis:entry>
         <oasis:entry colname="col9">0.24</oasis:entry>
         <oasis:entry colname="col10">0.24</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">std</oasis:entry>
         <oasis:entry colname="col2">0.17</oasis:entry>
         <oasis:entry colname="col3">0.17</oasis:entry>
         <oasis:entry colname="col4">0.17</oasis:entry>
         <oasis:entry colname="col5">0.08</oasis:entry>
         <oasis:entry colname="col6">0.08</oasis:entry>
         <oasis:entry colname="col7">0.08</oasis:entry>
         <oasis:entry colname="col8">0.21</oasis:entry>
         <oasis:entry colname="col9">0.21</oasis:entry>
         <oasis:entry colname="col10">0.21</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">min</oasis:entry>
         <oasis:entry colname="col2">0.05</oasis:entry>
         <oasis:entry colname="col3">0.06</oasis:entry>
         <oasis:entry colname="col4">0.05</oasis:entry>
         <oasis:entry colname="col5">0.05</oasis:entry>
         <oasis:entry colname="col6">0.06</oasis:entry>
         <oasis:entry colname="col7">0.05</oasis:entry>
         <oasis:entry colname="col8">0.06</oasis:entry>
         <oasis:entry colname="col9">0.06</oasis:entry>
         <oasis:entry colname="col10">0.06</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">25 %</oasis:entry>
         <oasis:entry colname="col2">0.11</oasis:entry>
         <oasis:entry colname="col3">0.11</oasis:entry>
         <oasis:entry colname="col4">0.11</oasis:entry>
         <oasis:entry colname="col5">0.09</oasis:entry>
         <oasis:entry colname="col6">0.09</oasis:entry>
         <oasis:entry colname="col7">0.10</oasis:entry>
         <oasis:entry colname="col8">0.13</oasis:entry>
         <oasis:entry colname="col9">0.12</oasis:entry>
         <oasis:entry colname="col10">0.12</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">50 %</oasis:entry>
         <oasis:entry colname="col2">0.15</oasis:entry>
         <oasis:entry colname="col3">0.15</oasis:entry>
         <oasis:entry colname="col4">0.15</oasis:entry>
         <oasis:entry colname="col5">0.13</oasis:entry>
         <oasis:entry colname="col6">0.13</oasis:entry>
         <oasis:entry colname="col7">0.13</oasis:entry>
         <oasis:entry colname="col8">0.18</oasis:entry>
         <oasis:entry colname="col9">0.18</oasis:entry>
         <oasis:entry colname="col10">0.16</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">75 %</oasis:entry>
         <oasis:entry colname="col2">0.22</oasis:entry>
         <oasis:entry colname="col3">0.20</oasis:entry>
         <oasis:entry colname="col4">0.21</oasis:entry>
         <oasis:entry colname="col5">0.16</oasis:entry>
         <oasis:entry colname="col6">0.16</oasis:entry>
         <oasis:entry colname="col7">0.16</oasis:entry>
         <oasis:entry colname="col8">0.25</oasis:entry>
         <oasis:entry colname="col9">0.24</oasis:entry>
         <oasis:entry colname="col10">0.24</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">max</oasis:entry>
         <oasis:entry colname="col2">1.16</oasis:entry>
         <oasis:entry colname="col3">1.15</oasis:entry>
         <oasis:entry colname="col4">1.15</oasis:entry>
         <oasis:entry colname="col5">0.43</oasis:entry>
         <oasis:entry colname="col6">0.40</oasis:entry>
         <oasis:entry colname="col7">0.40</oasis:entry>
         <oasis:entry colname="col8">1.16</oasis:entry>
         <oasis:entry colname="col9">1.15</oasis:entry>
         <oasis:entry colname="col10">1.15</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="TA4"><label>Table A4</label><caption><p id="d2e4740">Descriptive statistics for RMSE (in-set and out-set, total, stationary, non-stationary) for LSTM.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="10">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right" colsep="1"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right" colsep="1"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right"/>
     <oasis:colspec colnum="10" colname="col10" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry rowsep="1" namest="col2" nameend="col4" align="center" colsep="1">Total (<inline-formula><mml:math id="M146" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">100</mml:mn></mml:mrow></mml:math></inline-formula>) </oasis:entry>
         <oasis:entry rowsep="1" namest="col5" nameend="col7" align="center" colsep="1">Stationary (<inline-formula><mml:math id="M147" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula>) </oasis:entry>
         <oasis:entry rowsep="1" namest="col8" nameend="col10" align="center">Non-stationary (<inline-formula><mml:math id="M148" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula>) </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">bl-CV</oasis:entry>
         <oasis:entry colname="col3">repOOS</oasis:entry>
         <oasis:entry colname="col4">OOS</oasis:entry>
         <oasis:entry colname="col5">bl-CV</oasis:entry>
         <oasis:entry colname="col6">repOOS</oasis:entry>
         <oasis:entry colname="col7">OOS</oasis:entry>
         <oasis:entry colname="col8">bl-CV</oasis:entry>
         <oasis:entry colname="col9">repOOS</oasis:entry>
         <oasis:entry colname="col10">OOS</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col10">RMSE (in-set) </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">mean</oasis:entry>
         <oasis:entry colname="col2">0.17</oasis:entry>
         <oasis:entry colname="col3">0.18</oasis:entry>
         <oasis:entry colname="col4">0.22</oasis:entry>
         <oasis:entry colname="col5">0.14</oasis:entry>
         <oasis:entry colname="col6">0.16</oasis:entry>
         <oasis:entry colname="col7">0.16</oasis:entry>
         <oasis:entry colname="col8">0.19</oasis:entry>
         <oasis:entry colname="col9">0.19</oasis:entry>
         <oasis:entry colname="col10">0.28</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">std</oasis:entry>
         <oasis:entry colname="col2">0.09</oasis:entry>
         <oasis:entry colname="col3">0.08</oasis:entry>
         <oasis:entry colname="col4">0.19</oasis:entry>
         <oasis:entry colname="col5">0.07</oasis:entry>
         <oasis:entry colname="col6">0.06</oasis:entry>
         <oasis:entry colname="col7">0.08</oasis:entry>
         <oasis:entry colname="col8">0.10</oasis:entry>
         <oasis:entry colname="col9">0.10</oasis:entry>
         <oasis:entry colname="col10">0.25</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">min</oasis:entry>
         <oasis:entry colname="col2">0.06</oasis:entry>
         <oasis:entry colname="col3">0.05</oasis:entry>
         <oasis:entry colname="col4">0.05</oasis:entry>
         <oasis:entry colname="col5">0.06</oasis:entry>
         <oasis:entry colname="col6">0.05</oasis:entry>
         <oasis:entry colname="col7">0.05</oasis:entry>
         <oasis:entry colname="col8">0.08</oasis:entry>
         <oasis:entry colname="col9">0.07</oasis:entry>
         <oasis:entry colname="col10">0.06</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">25 %</oasis:entry>
         <oasis:entry colname="col2">0.10</oasis:entry>
         <oasis:entry colname="col3">0.12</oasis:entry>
         <oasis:entry colname="col4">0.12</oasis:entry>
         <oasis:entry colname="col5">0.09</oasis:entry>
         <oasis:entry colname="col6">0.12</oasis:entry>
         <oasis:entry colname="col7">0.11</oasis:entry>
         <oasis:entry colname="col8">0.12</oasis:entry>
         <oasis:entry colname="col9">0.12</oasis:entry>
         <oasis:entry colname="col10">0.14</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">50 %</oasis:entry>
         <oasis:entry colname="col2">0.14</oasis:entry>
         <oasis:entry colname="col3">0.15</oasis:entry>
         <oasis:entry colname="col4">0.15</oasis:entry>
         <oasis:entry colname="col5">0.12</oasis:entry>
         <oasis:entry colname="col6">0.14</oasis:entry>
         <oasis:entry colname="col7">0.14</oasis:entry>
         <oasis:entry colname="col8">0.15</oasis:entry>
         <oasis:entry colname="col9">0.16</oasis:entry>
         <oasis:entry colname="col10">0.18</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">75 %</oasis:entry>
         <oasis:entry colname="col2">0.19</oasis:entry>
         <oasis:entry colname="col3">0.21</oasis:entry>
         <oasis:entry colname="col4">0.24</oasis:entry>
         <oasis:entry colname="col5">0.15</oasis:entry>
         <oasis:entry colname="col6">0.19</oasis:entry>
         <oasis:entry colname="col7">0.20</oasis:entry>
         <oasis:entry colname="col8">0.26</oasis:entry>
         <oasis:entry colname="col9">0.23</oasis:entry>
         <oasis:entry colname="col10">0.32</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">max</oasis:entry>
         <oasis:entry colname="col2">0.45</oasis:entry>
         <oasis:entry colname="col3">0.49</oasis:entry>
         <oasis:entry colname="col4">1.20</oasis:entry>
         <oasis:entry colname="col5">0.44</oasis:entry>
         <oasis:entry colname="col6">0.34</oasis:entry>
         <oasis:entry colname="col7">0.37</oasis:entry>
         <oasis:entry colname="col8">0.45</oasis:entry>
         <oasis:entry colname="col9">0.49</oasis:entry>
         <oasis:entry colname="col10">1.20</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col10">RMSE (out-set) </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">mean</oasis:entry>
         <oasis:entry colname="col2">0.20</oasis:entry>
         <oasis:entry colname="col3">0.19</oasis:entry>
         <oasis:entry colname="col4">0.19</oasis:entry>
         <oasis:entry colname="col5">0.14</oasis:entry>
         <oasis:entry colname="col6">0.14</oasis:entry>
         <oasis:entry colname="col7">0.14</oasis:entry>
         <oasis:entry colname="col8">0.25</oasis:entry>
         <oasis:entry colname="col9">0.23</oasis:entry>
         <oasis:entry colname="col10">0.24</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">std</oasis:entry>
         <oasis:entry colname="col2">0.17</oasis:entry>
         <oasis:entry colname="col3">0.16</oasis:entry>
         <oasis:entry colname="col4">0.16</oasis:entry>
         <oasis:entry colname="col5">0.08</oasis:entry>
         <oasis:entry colname="col6">0.09</oasis:entry>
         <oasis:entry colname="col7">0.08</oasis:entry>
         <oasis:entry colname="col8">0.21</oasis:entry>
         <oasis:entry colname="col9">0.20</oasis:entry>
         <oasis:entry colname="col10">0.21</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">min</oasis:entry>
         <oasis:entry colname="col2">0.06</oasis:entry>
         <oasis:entry colname="col3">0.06</oasis:entry>
         <oasis:entry colname="col4">0.06</oasis:entry>
         <oasis:entry colname="col5">0.06</oasis:entry>
         <oasis:entry colname="col6">0.06</oasis:entry>
         <oasis:entry colname="col7">0.06</oasis:entry>
         <oasis:entry colname="col8">0.08</oasis:entry>
         <oasis:entry colname="col9">0.07</oasis:entry>
         <oasis:entry colname="col10">0.07</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">25 %</oasis:entry>
         <oasis:entry colname="col2">0.11</oasis:entry>
         <oasis:entry colname="col3">0.10</oasis:entry>
         <oasis:entry colname="col4">0.11</oasis:entry>
         <oasis:entry colname="col5">0.10</oasis:entry>
         <oasis:entry colname="col6">0.09</oasis:entry>
         <oasis:entry colname="col7">0.09</oasis:entry>
         <oasis:entry colname="col8">0.13</oasis:entry>
         <oasis:entry colname="col9">0.12</oasis:entry>
         <oasis:entry colname="col10">0.12</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">50 %</oasis:entry>
         <oasis:entry colname="col2">0.15</oasis:entry>
         <oasis:entry colname="col3">0.14</oasis:entry>
         <oasis:entry colname="col4">0.14</oasis:entry>
         <oasis:entry colname="col5">0.12</oasis:entry>
         <oasis:entry colname="col6">0.12</oasis:entry>
         <oasis:entry colname="col7">0.12</oasis:entry>
         <oasis:entry colname="col8">0.18</oasis:entry>
         <oasis:entry colname="col9">0.17</oasis:entry>
         <oasis:entry colname="col10">0.16</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">75 %</oasis:entry>
         <oasis:entry colname="col2">0.22</oasis:entry>
         <oasis:entry colname="col3">0.21</oasis:entry>
         <oasis:entry colname="col4">0.20</oasis:entry>
         <oasis:entry colname="col5">0.16</oasis:entry>
         <oasis:entry colname="col6">0.15</oasis:entry>
         <oasis:entry colname="col7">0.15</oasis:entry>
         <oasis:entry colname="col8">0.28</oasis:entry>
         <oasis:entry colname="col9">0.25</oasis:entry>
         <oasis:entry colname="col10">0.25</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">max</oasis:entry>
         <oasis:entry colname="col2">1.14</oasis:entry>
         <oasis:entry colname="col3">1.14</oasis:entry>
         <oasis:entry colname="col4">1.15</oasis:entry>
         <oasis:entry colname="col5">0.46</oasis:entry>
         <oasis:entry colname="col6">0.56</oasis:entry>
         <oasis:entry colname="col7">0.49</oasis:entry>
         <oasis:entry colname="col8">1.14</oasis:entry>
         <oasis:entry colname="col9">1.14</oasis:entry>
         <oasis:entry colname="col10">1.15</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<fig id="FA1"><label>Figure A1</label><caption><p id="d2e5352">Plot of time series 42 (stationary time series, identified with global ADF and KPSS). Top: 1D-CNN based validation forecasts of the 5-folds of the bl-CV (left) and test forecasts of the bl-CV model (right); Middle: 1D-CNN based validation forecast of the OOS validation period (left) and test predictions of the OOS model (right); Bottom: 1D-CNN based validation predictions of the repetitions of repOOS (left) and test predictions of the repOOS model (right).</p></caption>
        
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2657/2026/gmd-19-2657-2026-f09.png"/>

      </fig>

      <fig id="FA2"><label>Figure A2</label><caption><p id="d2e5365">Plot of time series 96 (non-stationary time series, identified with global ADF and KPSS). Top: 1D-CNN based validation forecasts of the 5-folds of the bl-CV (left) and test forecasts of the bl-CV model (right); Middle: 1D-CNN based validation forecast of the OOS validation period (left) and test predictions of the OOS model (right); Bottom: 1D-CNN based validation predictions of the repetitions of repOOS (left) and test predictions of the repOOS model (right).</p></caption>
        
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2657/2026/gmd-19-2657-2026-f10.png"/>

      </fig>


</app>

<app id="App1.Ch1.S2">
  <label>Appendix B</label><title>Nomenclature</title>
      <p id="d2e5386"><table-wrap position="anchor"><oasis:table><oasis:tgroup cols="2">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">1D-CNN</oasis:entry>
         <oasis:entry colname="col2">one-dimensional convolutional neural</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">network</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ADF</oasis:entry>
         <oasis:entry colname="col2">augmented Dickey-Fuller Unit Root</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">AI</oasis:entry>
         <oasis:entry colname="col2">artificial intelligence</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ANN</oasis:entry>
         <oasis:entry colname="col2">artificial neural networks</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">APAE</oasis:entry>
         <oasis:entry colname="col2">absolute predictive accuracy error</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">bl-CV</oasis:entry>
         <oasis:entry colname="col2">blocked cross-validation</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">CNN</oasis:entry>
         <oasis:entry colname="col2">convolutional neural network</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">CV</oasis:entry>
         <oasis:entry colname="col2">cross-validation</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">DL</oasis:entry>
         <oasis:entry colname="col2">deep learning</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">DWD</oasis:entry>
         <oasis:entry colname="col2">German Weather Service</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">GRU</oasis:entry>
         <oasis:entry colname="col2">gated recurrent unit</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">GW</oasis:entry>
         <oasis:entry colname="col2">groundwater</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">GWL</oasis:entry>
         <oasis:entry colname="col2">groundwater level</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">HYRAS-DE</oasis:entry>
         <oasis:entry colname="col2">hydro-meteorological gridded data</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">for Germany</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">IQR</oasis:entry>
         <oasis:entry colname="col2">interquartile range</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">KPSS</oasis:entry>
         <oasis:entry colname="col2">Kwiatkowski-Phillips-Schmidt-Shin</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">LfU</oasis:entry>
         <oasis:entry colname="col2">State Office for the Environment</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Brandenburg</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">LSTM</oasis:entry>
         <oasis:entry colname="col2">long-short-term memory</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">m a.s.l.</oasis:entry>
         <oasis:entry colname="col2">meters above sea level</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ML</oasis:entry>
         <oasis:entry colname="col2">machine learning</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">OOS</oasis:entry>
         <oasis:entry colname="col2">out-of-sample validation</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M149" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">precipitation sum</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PAE</oasis:entry>
         <oasis:entry colname="col2">predictive accuracy error</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">repOOS</oasis:entry>
         <oasis:entry colname="col2">repeated out-of-sample validation</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">rH</oasis:entry>
         <oasis:entry colname="col2">relative humidity</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">RMSE</oasis:entry>
         <oasis:entry colname="col2">root mean squared error</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M150" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">mean air temperature</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M151" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">maximum air temperature</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M152" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">min</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">minimum air temperature</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M153" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">sin</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">sinusoidal curve fitted to the mean</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">air temperature</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap></p>
</app>
  </app-group><notes notes-type="codeavailability"><title>Code availability</title>

      <p id="d2e5747">The code and data used to reproduce the models and the results of this study can be found at: <ext-link xlink:href="https://doi.org/10.5281/zenodo.18467734" ext-link-type="DOI">10.5281/zenodo.18467734</ext-link> <xref ref-type="bibr" rid="bib1.bibx15" id="paren.59"/>.</p>
  </notes><notes notes-type="dataavailability"><title>Data availability</title>

      <p id="d2e5759">The groundwater data used in this study is an anonymized subset of the publicly available data from the Brandenburg State Office for the Environment on the water information platform (<uri>https://apw.brandenburg.de</uri>, last access: 2 February 2025). The anonymized time series are also available at: <ext-link xlink:href="https://doi.org/10.5281/zenodo.18467734" ext-link-type="DOI">10.5281/zenodo.18467734</ext-link> <xref ref-type="bibr" rid="bib1.bibx15" id="paren.60"/>.</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e5774">FD: Conceptualization, methodology, software, formal analysis, investigation, visualization, writing – creation of the initial design; TL: Conceptualization, methodology, review and editing, supervision; MW: Data acquisition, data preparation, review and editing; SK: Data acquisition, data preparation, review and editing; SB: Project management, participation in conceptual discussions, review and editing.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e5780">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="d2e5786">Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. The authors bear the ultimate responsibility for providing appropriate place names. Views expressed in the text are those of the authors and do not necessarily reflect the views of the publisher.</p>
  </notes><ack><title>Acknowledgements</title><p id="d2e5792">This study was conducted using Python 3.8. The following Python libraries were applied for data preparation, implementation of the prediction model and visualization of the results: Tensorflow 2.9 <xref ref-type="bibr" rid="bib1.bibx1" id="paren.61"/>, keras 2.9 <xref ref-type="bibr" rid="bib1.bibx12" id="paren.62"/>, numpy 1.24.3 <xref ref-type="bibr" rid="bib1.bibx18" id="paren.63"/>, pandas 2.0.3 <xref ref-type="bibr" rid="bib1.bibx35" id="paren.64"/>, scikit-learn 1.3.0 <xref ref-type="bibr" rid="bib1.bibx25" id="paren.65"/>, matplotlib 3.7.2 <xref ref-type="bibr" rid="bib1.bibx19" id="paren.66"/>, scipy 1.10.1 <xref ref-type="bibr" rid="bib1.bibx36" id="paren.67"/>, statsmodels 0.14.1 <xref ref-type="bibr" rid="bib1.bibx29" id="paren.68"/>, geopandas 0.13.2 <xref ref-type="bibr" rid="bib1.bibx8" id="paren.69"/>.</p><p id="d2e5822">This work was developed as part of the project: KIMoDIs-KI-based monitoring, data management and information system for coupled prediction and early warning of groundwater low levels and salinization, which is funded by the Federal Ministry of Research, Technology and Space (BMFTR) as a joint project under the funding code 02WGW1662B for the funding measure “LURCH: Sustainable Groundwater Management” as part of the federal program “Wasser:N”. Wasser:N is part of the BMBF strategy “Research for Sustainability (FONA)”.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e5827">This research has been supported by the Bundesministerium für Forschung, Technologie und Raumfahrt (grant no. 02WGW1662B). The authors also acknowledge support by the KIT Publication Fund of the Karlsruhe Institute of Technology.The article processing charges for this open-access  publication were covered by the Karlsruhe Institute  of Technology (KIT).</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d2e5840">This paper was edited by Dan Lu and reviewed by three anonymous referees.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bibx1"><label>Abadi et al.(2015)Abadi, Agarwal, Barham, Brevdo, Chen, Citro, Corrado, Davis, Dean, Devin, Ghemawat, Goodfellow, Harp, Irving, Isard, Jia, Jozefowicz, Kaiser, Kudlur, Levenberg, Mane, Monga, Moore, Murray, Olah, Schuster, Shlens, Steiner, Sutskever, Talwar, Tucker, Vanhoucke, Vasudevan, Viegas, Vinyals, Warden, Wattenberg, Wicke, Yu, and Zheng</label><mixed-citation>Abadi, M., Agarwal, A., Barham, P., Brevdo, E., Chen, Z., Citro, C., Corrado, G. S., Davis, A., Dean, J., Devin, M., Ghemawat, S., Goodfellow, I., Harp, A., Irving, G., Isard, M., Jia, Y., Jozefowicz, R., Kaiser, L., Kudlur, M., Levenberg, J., Mane, D., Monga, R., Moore, S., Murray, D., Olah, C., Schuster, M., Shlens, J., Steiner, B., Sutskever, I., Talwar, K., Tucker, P., Vanhoucke, V., Vasudevan, V., Viegas, F., Vinyals, O., Warden, P., Wattenberg, M., Wicke, M., Yu, Y., and Zheng, X.: TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems, <uri>https://www.tensorflow.org/</uri> (last access: 14 April 2025), 2015.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Ahmadi et al.(2022)Ahmadi, Olyaei, Heydari, Emami, Zeynolabedin, Ghomlaghi, Daccache, Fogg, and Sadegh</label><mixed-citation>Ahmadi, A., Olyaei, M., Heydari, Z., Emami, M., Zeynolabedin, A., Ghomlaghi, A., Daccache, A., Fogg, G. E., and Sadegh, M.: Groundwater Level Modeling with Machine Learning: A Systematic Review and Meta-Analysis, Water, 14, 949, <ext-link xlink:href="https://doi.org/10.3390/w14060949" ext-link-type="DOI">10.3390/w14060949</ext-link>,  2022.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Arlot and Celisse(2010)</label><mixed-citation>Arlot, S. and Celisse, A.: A survey of cross-validation procedures for model selection, Statistics Surveys, 4, 40–79, <ext-link xlink:href="https://doi.org/10.1214/09-SS054" ext-link-type="DOI">10.1214/09-SS054</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Bergmeir and Benítez(2011)</label><mixed-citation>Bergmeir, C. and Benítez, J. M.: Forecaster performance evaluation with cross-validation and variants, in: 2011 11th International Conference on Intelligent Systems Design and Applications, IEEE, 849–854, <ext-link xlink:href="https://doi.org/10.1109/ISDA.2011.6121763" ext-link-type="DOI">10.1109/ISDA.2011.6121763</ext-link>,  2011.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Bergmeir and Benítez(2012)</label><mixed-citation>Bergmeir, C. and Benítez, J. M.: On the use of cross-validation for time series predictor evaluation, Information Sciences, 191, 192–213, <ext-link xlink:href="https://doi.org/10.1016/j.ins.2011.12.028" ext-link-type="DOI">10.1016/j.ins.2011.12.028</ext-link>, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Bergmeir et al.(2014)Bergmeir, Costantini, and Benítez</label><mixed-citation>Bergmeir, C., Costantini, M., and Benítez, J. M.: On the usefulness of cross-validation for directional forecast evaluation, Computational Statistics &amp; Data Analysis, 76, 132–143, <ext-link xlink:href="https://doi.org/10.1016/j.csda.2014.02.001" ext-link-type="DOI">10.1016/j.csda.2014.02.001</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Bergmeir et al.(2018)Bergmeir, Hyndman, and Koo</label><mixed-citation>Bergmeir, C., Hyndman, R. J., and Koo, B.: A note on the validity of cross-validation for evaluating autoregressive time series prediction, Computational Statistics &amp; Data Analysis, 120, 70–83, <ext-link xlink:href="https://doi.org/10.1016/j.csda.2017.11.003" ext-link-type="DOI">10.1016/j.csda.2017.11.003</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Bossche et al.(2023)Bossche, Jordahl, Fleischmann, McBride, Wasserman, Richards, Badaracco, Snow, Tratner, Gerard, Ward, Perry, Farmer, Hjelle, Taves, Hoeven, Cochran, rraymondgh, Gillies, Caria, Culbertson, Bartos, Eubank, Bell, sangarshanan, Flavin, Rey, maxalbert, Bilogur, and Ren</label><mixed-citation>Bossche, J. V. d., Jordahl, K., Fleischmann, M., McBride, J., Wasserman, J., Richards, M., Badaracco, A. G., Snow, A. D., Tratner, J., Gerard, J., Ward, B., Perry, M., Farmer, C., Hjelle, G. A., Taves, M., Hoeven, E. t., Cochran, M., rraymondgh, Gillies, S., Caria, G., Culbertson, L., Bartos, M., Eubank, N., Bell, R., sangarshanan, Flavin, J., Rey, S., maxalbert, Bilogur, A., and Ren, C.: geopandas/geopandas: v0.13.2, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.8009629" ext-link-type="DOI">10.5281/zenodo.8009629</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Castilho(2020)</label><mixed-citation>Castilho, C. M.: Time Series Forecasting with exogenous factors: Statistical vs. Machine Learning approaches, PhD thesis, Faculdade de Economia, Universidade do Porto,  <uri>https://repositorio-aberto.up.pt/bitstream/10216/141197/2/433647.pdf</uri> (last access: 10 March 2025), 2020.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Cerqueira et al.(2017)Cerqueira, Torgo, Smailović, and Mozetič</label><mixed-citation>Cerqueira, V., Torgo, L., Smailović, J., and Mozetič, I.: A Comparative Study of Performance Estimation Methods for Time Series Forecasting, in: 2017 IEEE International Conference on Data Science and Advanced Analytics (DSAA), IEEE, 529–538, <ext-link xlink:href="https://doi.org/10.1109/DSAA.2017.7" ext-link-type="DOI">10.1109/DSAA.2017.7</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Cerqueira et al.(2020)Cerqueira, Torgo, and Mozetič</label><mixed-citation>Cerqueira, V., Torgo, L., and Mozetič, I.: Evaluating time series forecasting models: an empirical study on performance estimation methods, Machine Learning, 109, 1997–2028, <ext-link xlink:href="https://doi.org/10.1007/s10994-020-05910-7" ext-link-type="DOI">10.1007/s10994-020-05910-7</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Chollet(2015)</label><mixed-citation>Chollet, F.: Keras,  <uri>https://keras.io</uri> (last access: 7 March 2025), 2015.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Chollet(2021)</label><mixed-citation> Chollet, F.: Deep Learning with Python, Second Edition, Manning Publications Co. LLC, New York, ISBN 978-1-61729-686-4, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Derbela and Nouiri(2020)</label><mixed-citation>Derbela, M. and Nouiri, I.: Intelligent approach to predict future groundwater level based on artificial neural networks (ANN), Euro-Mediterranean Journal for Environmental Integration, 5, 51, <ext-link xlink:href="https://doi.org/10.1007/s41207-020-00185-9" ext-link-type="DOI">10.1007/s41207-020-00185-9</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Doll et al.(2026)Doll, Liesch, Wetzel, Kunz, and Broda</label><mixed-citation>Doll, F., Liesch, T., Wetzel, M., Kunz, S., and Broda, S.: Data and Code to Validation Strategies for Deep Learning-Based Groundwater Level Time Series Prediction Using Exogenous Meteorological Input Features, Zenodo [code, data set], <ext-link xlink:href="https://doi.org/10.5281/zenodo.18467734" ext-link-type="DOI">10.5281/zenodo.18467734</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Gholizadeh et al.(2023)Gholizadeh, Zhang, Frame, Gu, and Green</label><mixed-citation>Gholizadeh, H., Zhang, Y., Frame, J., Gu, X., and Green, C. T.: Long short-term memory models to quantify long-term evolution of streamflow discharge and groundwater depth in Alabama, Science of The Total Environment, 901, 165884, <ext-link xlink:href="https://doi.org/10.1016/j.scitotenv.2023.165884" ext-link-type="DOI">10.1016/j.scitotenv.2023.165884</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Gomez et al.(2024)Gomez, Nölscher, Hartmann, and Broda</label><mixed-citation>Gomez, M., Nölscher, M., Hartmann, A., and Broda, S.: Assessing groundwater level modelling using a 1-D convolutional neural network (CNN): linking model performances to geospatial and time series features, Hydrology and Earth System Sciences, 28, 4407–4425, <ext-link xlink:href="https://doi.org/10.5194/hess-28-4407-2024" ext-link-type="DOI">10.5194/hess-28-4407-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Harris et al.(2020)Harris, Millman, van der Walt, Gommers, Virtanen, Cournapeau, Wieser, Taylor, Berg, Smith, Kern, Picus, Hoyer, van Kerkwijk, Brett, Haldane, del Río, Wiebe, Peterson, Gérard-Marchant, Sheppard, Reddy, Weckesser, Abbasi, Gohlke, and Oliphant</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.bibx19"><label>Hunter(2007)</label><mixed-citation>Hunter, J. D.: Matplotlib: A 2D Graphics Environment, Computing in Science &amp; Engineering, 9, 90–95, <ext-link xlink:href="https://doi.org/10.1109/MCSE.2007.55" ext-link-type="DOI">10.1109/MCSE.2007.55</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Iqbal et al.(2020)Iqbal, Ali Naeem, Ahmad, Rehman, Ghani, and Farid</label><mixed-citation>Iqbal, M., Ali Naeem, U., Ahmad, A., Rehman, H.-u., Ghani, U., and Farid, T.: Relating groundwater levels with meteorological parameters using ANN technique, Measurement, 166, 108163, <ext-link xlink:href="https://doi.org/10.1016/j.measurement.2020.108163" ext-link-type="DOI">10.1016/j.measurement.2020.108163</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Kunz et al.(2025)Kunz, Schulz, Wetzel, Nölscher, Chiaburu, Biessmann, and Broda</label><mixed-citation>Kunz, S., Schulz, A., Wetzel, M., Nölscher, M., Chiaburu, T., Biessmann, F., and Broda, S.: Towards a global spatial machine learning model for seasonal groundwater level predictions in Germany, Hydrology and Earth System Sciences, 29, 3405–3433, <ext-link xlink:href="https://doi.org/10.5194/hess-29-3405-2025" ext-link-type="DOI">10.5194/hess-29-3405-2025</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>McQuarrie and Tsai(1998)</label><mixed-citation>McQuarrie, A. D. R. and Tsai, C.-L.: Regression and time series model selection, World Scientific, Singapore, ISBN 978-981-238-545-1, <ext-link xlink:href="https://doi.org/10.1142/3573" ext-link-type="DOI">10.1142/3573</ext-link>, 1998.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Moghaddam et al.(2022)Moghaddam, Ferre, Chen, Chen, and Ehsani</label><mixed-citation>Moghaddam, M. A., Ferre, T. P. A., Chen, X., Chen, K., and Ehsani, M. R.: Application of Machine Learning Methods in Inferring Surface Water Groundwater Exchanges using High Temporal Resolution Temperature Measurements, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.2201.00726" ext-link-type="DOI">10.48550/arXiv.2201.00726</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Nair(2016)</label><mixed-citation> Nair, S. S.: Groundwater level forecasting using Artificial Neural Network, Int. J. Sci. Res. Publ., 6, 234–238,  2016.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Pedregosa et al.(2011)Pedregosa, Varoquaux, Gramfort, Michel, Thirion, Grisel, Blondel, Prettenhofer, Weiss, Dubourg, Vanderplas, Passos, Cournapeau, Brucher, Perrot, and Duchesnay</label><mixed-citation>Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., and Duchesnay, É.: Scikit-learn: Machine Learning in Python, J. Mach. Learn. Res., 12, 2825–2830, <uri>http://jmlr.org/papers/v12/pedregosa11a.html</uri> (last access: 7 March 2025), 2011.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Racine(2000)</label><mixed-citation>Racine, J.: Consistent cross-validatory model-selection for dependent data: <italic>hv</italic>-block cross-validation, Journal of Econometrics, 99, 39–61, <ext-link xlink:href="https://doi.org/10.1016/S0304-4076(00)00030-0" ext-link-type="DOI">10.1016/S0304-4076(00)00030-0</ext-link>, 2000.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Rauthe et al.(2013)Rauthe, Steiner, Riediger, Mazurkiewicz, and Gratzki</label><mixed-citation>Rauthe, M., Steiner, H., Riediger, U., Mazurkiewicz, A., and Gratzki, A.: A Central European precipitation climatology – Part I: Generation and validation of a high-resolution gridded daily data set (HYRAS), Meteorologische Zeitschrift, 235–256, <ext-link xlink:href="https://doi.org/10.1127/0941-2948/2013/0436" ext-link-type="DOI">10.1127/0941-2948/2013/0436</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Razafimaharo et al.(2020)Razafimaharo, Krähenmann, Höpp, Rauthe, and Deutschländer</label><mixed-citation>Razafimaharo, C., Krähenmann, S., Höpp, S., Rauthe, M., and Deutschländer, T.: New high-resolution gridded dataset of daily mean, minimum, and maximum temperature and relative humidity for Central Europe (HYRAS), Theoretical and Applied Climatology, 142, 1531–1553, <ext-link xlink:href="https://doi.org/10.1007/s00704-020-03388-w" ext-link-type="DOI">10.1007/s00704-020-03388-w</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Seabold and Perktold(2010)</label><mixed-citation>Seabold, S. and Perktold, J.: Statsmodels: Econometric and Modeling with Python. 9th Python in Science Conference, Austin, 28 June–3 July 2010, 57–61, <ext-link xlink:href="https://doi.org/10.25080/Majora-92bf1922-011" ext-link-type="DOI">10.25080/Majora-92bf1922-011</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Shen et al.(2022)Shen, Tolson, and Mai</label><mixed-citation>Shen, H., Tolson, B. A., and Mai, J.: Time to Update the Split-Sample Approach in Hydrological Model Calibration, Water Resources Research, 58, e2021WR031523, <ext-link xlink:href="https://doi.org/10.1029/2021WR031523" ext-link-type="DOI">10.1029/2021WR031523</ext-link>,  2022.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Snijders(1988)</label><mixed-citation>Snijders, T. A. B.: On Cross-Validation for Predictor Evaluation in Time Series, in: On Model Uncertainty and its Statistical Implications, edited by: Dijkstra, T. K., Springer, Berlin, Heidelberg, 56–69, ISBN 978-3-642-61564-1, <ext-link xlink:href="https://doi.org/10.1007/978-3-642-61564-1_4" ext-link-type="DOI">10.1007/978-3-642-61564-1_4</ext-link>, 1988.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Sun et al.(2019)Sun, Scanlon, Zhang, Walling, Bhanja, Mukherjee, and Zhong</label><mixed-citation>Sun, A. Y., Scanlon, B. R., Zhang, Z., Walling, D., Bhanja, S. N., Mukherjee, A., and Zhong, Z.: Combining Physically Based Modeling and Deep Learning for Fusing GRACE Satellite Data: Can We Learn From Mismatch?, Water Resources Research, 55, 1179–1195, <ext-link xlink:href="https://doi.org/10.1029/2018WR023333" ext-link-type="DOI">10.1029/2018WR023333</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Tao et al.(2022)Tao, Hameed, Marhoon, Zounemat-Kermani, Heddam, Kim, Sulaiman, Tan, Sa’adi, Mehr, Allawi, Abba, Zain, Falah, Jamei, Bokde, Bayatvarkeshi, Al-Mukhtar, Bhagat, Tiyasha, Khedher, Al-Ansari, Shahid, and Yaseen</label><mixed-citation>Tao, H., Hameed, M. M., Marhoon, H. A., Zounemat-Kermani, M., Heddam, S., Kim, S., Sulaiman, S. O., Tan, M. L., Sa’adi, Z., Mehr, A. D., Allawi, M. F., Abba, S. I., Zain, J. M., Falah, M. W., Jamei, M., Bokde, N. D., Bayatvarkeshi, M., Al-Mukhtar, M., Bhagat, S. K., Tiyasha, T., Khedher, K. M., Al-Ansari, N., Shahid, S., and Yaseen, Z. M.: Groundwater level prediction using machine learning models: A comprehensive review, Neurocomputing, 489, 271–308, <ext-link xlink:href="https://doi.org/10.1016/j.neucom.2022.03.014" ext-link-type="DOI">10.1016/j.neucom.2022.03.014</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Tashman(2000)</label><mixed-citation>Tashman, L. J.: Out-of-sample tests of forecasting accuracy: an analysis and review, International Journal of Forecasting, 16, 437–450, <ext-link xlink:href="https://doi.org/10.1016/S0169-2070(00)00065-0" ext-link-type="DOI">10.1016/S0169-2070(00)00065-0</ext-link>, 2000.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>The Pandas Development Team(2023)</label><mixed-citation>The Pandas Development Team: pandas-dev/pandas: Pandas, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.8092754" ext-link-type="DOI">10.5281/zenodo.8092754</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>Virtanen et al.(2020)Virtanen, Gommers, Oliphant, Haberland, Reddy, Cournapeau, Burovski, Peterson, Weckesser, Bright, van der Walt, Brett, Wilson, Millman, Mayorov, Nelson, Jones, Kern, Larson, Carey, Polat, Feng, Moore, VanderPlas, Laxalde, Perktold, Cimrman, Henriksen, Quintero, Harris, Archibald, Ribeiro, Pedregosa, and van Mulbregt</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., and van Mulbregt, P.: SciPy 1.0: fundamental algorithms for scientific computing in Python, Nature 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.bibx37"><label>Vu et al.(2021)Vu, Jardani, Massei, and Fournier</label><mixed-citation>Vu, M. T., Jardani, A., Massei, N., and Fournier, M.: Reconstruction of missing groundwater level data by using Long Short-Term Memory (LSTM) deep neural network, Journal of Hydrology, 597, 125776, <ext-link xlink:href="https://doi.org/10.1016/j.jhydrol.2020.125776" ext-link-type="DOI">10.1016/j.jhydrol.2020.125776</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Wunsch et al.(2021)Wunsch, Liesch, and Broda</label><mixed-citation>Wunsch, A., Liesch, T., and Broda, S.: Groundwater level forecasting with artificial neural networks: a comparison of long short-term memory (LSTM), convolutional neural networks (CNNs), and non-linear autoregressive networks with exogenous input (NARX), Hydrology and Earth System Sciences, 25, 1671–1687, <ext-link xlink:href="https://doi.org/10.5194/hess-25-1671-2021" ext-link-type="DOI">10.5194/hess-25-1671-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>Zhang et al.(2018)Zhang, Zhu, Zhang, Ye, and Yang</label><mixed-citation>Zhang, J., Zhu, Y., Zhang, X., Ye, M., and Yang, J.: Developing a Long Short-Term Memory (LSTM) based model for predicting water table depth in agricultural areas, Journal of Hydrology, 561, 918–929, <ext-link xlink:href="https://doi.org/10.1016/j.jhydrol.2018.04.065" ext-link-type="DOI">10.1016/j.jhydrol.2018.04.065</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Zheng et al.(2022)Zheng, Chen, Maier, and Gupta</label><mixed-citation>Zheng, F., Chen, J., Maier, H. R., and Gupta, H.: Achieving Robust and Transferable Performance for Conservation-Based Models of Dynamical Physical Systems, Water Resources Research, 58, e2021WR031818, <ext-link xlink:href="https://doi.org/10.1029/2021WR031818" ext-link-type="DOI">10.1029/2021WR031818</ext-link>,  2022.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>Validation strategies for deep learning-based groundwater level time series prediction using exogenous meteorological input features</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Abadi et al.(2015)Abadi, Agarwal, Barham, Brevdo, Chen, Citro,
Corrado, Davis, Dean, Devin, Ghemawat, Goodfellow, Harp, Irving, Isard, Jia,
Jozefowicz, Kaiser, Kudlur, Levenberg, Mane, Monga, Moore, Murray, Olah,
Schuster, Shlens, Steiner, Sutskever, Talwar, Tucker, Vanhoucke, Vasudevan,
Viegas, Vinyals, Warden, Wattenberg, Wicke, Yu, and
Zheng</label><mixed-citation>
      
Abadi, M., Agarwal, A., Barham, P., Brevdo, E., Chen, Z., Citro, C., Corrado,
G. S., Davis, A., Dean, J., Devin, M., Ghemawat, S., Goodfellow, I., Harp,
A., Irving, G., Isard, M., Jia, Y., Jozefowicz, R., Kaiser, L., Kudlur, M.,
Levenberg, J., Mane, D., Monga, R., Moore, S., Murray, D., Olah, C.,
Schuster, M., Shlens, J., Steiner, B., Sutskever, I., Talwar, K., Tucker, P.,
Vanhoucke, V., Vasudevan, V., Viegas, F., Vinyals, O., Warden, P.,
Wattenberg, M., Wicke, M., Yu, Y., and Zheng, X.: TensorFlow:
Large-Scale Machine Learning on Heterogeneous Distributed
Systems, <a href="https://www.tensorflow.org/" target="_blank"/> (last access: 14 April 2025), 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Ahmadi et al.(2022)Ahmadi, Olyaei, Heydari, Emami, Zeynolabedin,
Ghomlaghi, Daccache, Fogg, and Sadegh</label><mixed-citation>
      
Ahmadi, A., Olyaei, M., Heydari, Z., Emami, M., Zeynolabedin, A., Ghomlaghi,
A., Daccache, A., Fogg, G. E., and Sadegh, M.: Groundwater Level Modeling
with Machine Learning: A Systematic Review and Meta-Analysis,
Water, 14, 949, <a href="https://doi.org/10.3390/w14060949" target="_blank">https://doi.org/10.3390/w14060949</a>,  2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Arlot and Celisse(2010)</label><mixed-citation>
      
Arlot, S. and Celisse, A.: A survey of cross-validation procedures for model
selection, Statistics Surveys, 4, 40–79, <a href="https://doi.org/10.1214/09-SS054" target="_blank">https://doi.org/10.1214/09-SS054</a>, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Bergmeir and Benítez(2011)</label><mixed-citation>
      
Bergmeir, C. and Benítez, J. M.: Forecaster performance evaluation with
cross-validation and variants, in: 2011 11th International Conference on
Intelligent Systems Design and Applications, IEEE, 849–854,
<a href="https://doi.org/10.1109/ISDA.2011.6121763" target="_blank">https://doi.org/10.1109/ISDA.2011.6121763</a>,  2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Bergmeir and Benítez(2012)</label><mixed-citation>
      
Bergmeir, C. and Benítez, J. M.: On the use of cross-validation for time
series predictor evaluation, Information Sciences, 191, 192–213,
<a href="https://doi.org/10.1016/j.ins.2011.12.028" target="_blank">https://doi.org/10.1016/j.ins.2011.12.028</a>, 2012.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Bergmeir et al.(2014)Bergmeir, Costantini, and
Benítez</label><mixed-citation>
      
Bergmeir, C., Costantini, M., and Benítez, J. M.: On the usefulness of
cross-validation for directional forecast evaluation, Computational
Statistics &amp; Data Analysis, 76, 132–143, <a href="https://doi.org/10.1016/j.csda.2014.02.001" target="_blank">https://doi.org/10.1016/j.csda.2014.02.001</a>,
2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Bergmeir et al.(2018)Bergmeir, Hyndman, and Koo</label><mixed-citation>
      
Bergmeir, C., Hyndman, R. J., and Koo, B.: A note on the validity of
cross-validation for evaluating autoregressive time series prediction,
Computational Statistics &amp; Data Analysis, 120, 70–83,
<a href="https://doi.org/10.1016/j.csda.2017.11.003" target="_blank">https://doi.org/10.1016/j.csda.2017.11.003</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Bossche et al.(2023)Bossche, Jordahl, Fleischmann, McBride,
Wasserman, Richards, Badaracco, Snow, Tratner, Gerard, Ward, Perry, Farmer,
Hjelle, Taves, Hoeven, Cochran, rraymondgh, Gillies, Caria, Culbertson,
Bartos, Eubank, Bell, sangarshanan, Flavin, Rey, maxalbert, Bilogur, and
Ren</label><mixed-citation>
      
Bossche, J. V. d., Jordahl, K., Fleischmann, M., McBride, J., Wasserman, J.,
Richards, M., Badaracco, A. G., Snow, A. D., Tratner, J., Gerard, J., Ward,
B., Perry, M., Farmer, C., Hjelle, G. A., Taves, M., Hoeven, E. t., Cochran,
M., rraymondgh, Gillies, S., Caria, G., Culbertson, L., Bartos, M., Eubank,
N., Bell, R., sangarshanan, Flavin, J., Rey, S., maxalbert, Bilogur, A.,
and Ren, C.: geopandas/geopandas: v0.13.2, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.8009629" target="_blank">https://doi.org/10.5281/zenodo.8009629</a>,
2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Castilho(2020)</label><mixed-citation>
      
Castilho, C. M.: Time Series Forecasting with exogenous factors:
Statistical vs. Machine Learning approaches, PhD thesis, Faculdade de
Economia, Universidade do Porto,  <a href="https://repositorio-aberto.up.pt/bitstream/10216/141197/2/433647.pdf" target="_blank"/> (last access: 10 March 2025), 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Cerqueira et al.(2017)Cerqueira, Torgo, Smailović, and
Mozetič</label><mixed-citation>
      
Cerqueira, V., Torgo, L., Smailović, J., and Mozetič, I.: A Comparative
Study of Performance Estimation Methods for Time Series
Forecasting, in: 2017 IEEE International Conference on Data
Science and Advanced Analytics (DSAA), IEEE, 529–538,
<a href="https://doi.org/10.1109/DSAA.2017.7" target="_blank">https://doi.org/10.1109/DSAA.2017.7</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Cerqueira et al.(2020)Cerqueira, Torgo, and
Mozetič</label><mixed-citation>
      
Cerqueira, V., Torgo, L., and Mozetič, I.: Evaluating time series forecasting
models: an empirical study on performance estimation methods, Machine
Learning, 109, 1997–2028, <a href="https://doi.org/10.1007/s10994-020-05910-7" target="_blank">https://doi.org/10.1007/s10994-020-05910-7</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Chollet(2015)</label><mixed-citation>
      
Chollet, F.: Keras,  <a href="https://keras.io" target="_blank"/> (last access: 7 March 2025), 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Chollet(2021)</label><mixed-citation>
      
Chollet, F.: Deep Learning with Python, Second Edition, Manning
Publications Co. LLC, New York, ISBN 978-1-61729-686-4,
2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Derbela and Nouiri(2020)</label><mixed-citation>
      
Derbela, M. and Nouiri, I.: Intelligent approach to predict future groundwater
level based on artificial neural networks (ANN), Euro-Mediterranean Journal
for Environmental Integration, 5, 51, <a href="https://doi.org/10.1007/s41207-020-00185-9" target="_blank">https://doi.org/10.1007/s41207-020-00185-9</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Doll et al.(2026)Doll, Liesch, Wetzel, Kunz, and
Broda</label><mixed-citation>
      
Doll, F., Liesch, T., Wetzel, M., Kunz, S., and Broda, S.: Data and Code to
Validation Strategies for Deep Learning-Based Groundwater Level
Time Series Prediction Using Exogenous Meteorological Input
Features, Zenodo [code, data set], <a href="https://doi.org/10.5281/zenodo.18467734" target="_blank">https://doi.org/10.5281/zenodo.18467734</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Gholizadeh et al.(2023)Gholizadeh, Zhang, Frame, Gu, and
Green</label><mixed-citation>
      
Gholizadeh, H., Zhang, Y., Frame, J., Gu, X., and Green, C. T.: Long short-term
memory models to quantify long-term evolution of streamflow discharge and
groundwater depth in Alabama, Science of The Total Environment, 901,
165884, <a href="https://doi.org/10.1016/j.scitotenv.2023.165884" target="_blank">https://doi.org/10.1016/j.scitotenv.2023.165884</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Gomez et al.(2024)Gomez, Nölscher, Hartmann, and
Broda</label><mixed-citation>
      
Gomez, M., Nölscher, M., Hartmann, A., and Broda, S.: Assessing groundwater level modelling using a 1-D convolutional neural network (CNN): linking model performances to geospatial and time series features, Hydrology and
Earth System Sciences, 28, 4407–4425, <a href="https://doi.org/10.5194/hess-28-4407-2024" target="_blank">https://doi.org/10.5194/hess-28-4407-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Harris et al.(2020)Harris, Millman, van der Walt, Gommers, Virtanen,
Cournapeau, Wieser, Taylor, Berg, Smith, Kern, Picus, Hoyer, van Kerkwijk,
Brett, Haldane, del Río, Wiebe, Peterson, Gérard-Marchant, Sheppard, Reddy,
Weckesser, Abbasi, Gohlke, and Oliphant</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.bib19"><label>Hunter(2007)</label><mixed-citation>
      
Hunter, J. D.: Matplotlib: A 2D Graphics Environment, Computing in
Science &amp; Engineering, 9, 90–95, <a href="https://doi.org/10.1109/MCSE.2007.55" target="_blank">https://doi.org/10.1109/MCSE.2007.55</a>, 2007.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Iqbal et al.(2020)Iqbal, Ali Naeem, Ahmad, Rehman, Ghani, and
Farid</label><mixed-citation>
      
Iqbal, M., Ali Naeem, U., Ahmad, A., Rehman, H.-u., Ghani, U., and Farid, T.:
Relating groundwater levels with meteorological parameters using ANN
technique, Measurement, 166, 108163,
<a href="https://doi.org/10.1016/j.measurement.2020.108163" target="_blank">https://doi.org/10.1016/j.measurement.2020.108163</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Kunz et al.(2025)Kunz, Schulz, Wetzel, Nölscher, Chiaburu,
Biessmann, and Broda</label><mixed-citation>
      
Kunz, S., Schulz, A., Wetzel, M., Nölscher, M., Chiaburu, T., Biessmann, F., and Broda, S.: Towards a global spatial machine learning model for seasonal groundwater level predictions in Germany, Hydrology and Earth System
Sciences, 29, 3405–3433, <a href="https://doi.org/10.5194/hess-29-3405-2025" target="_blank">https://doi.org/10.5194/hess-29-3405-2025</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>McQuarrie and Tsai(1998)</label><mixed-citation>
      
McQuarrie, A. D. R. and Tsai, C.-L.: Regression and time series model
selection, World Scientific, Singapore, ISBN 978-981-238-545-1,
<a href="https://doi.org/10.1142/3573" target="_blank">https://doi.org/10.1142/3573</a>, 1998.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Moghaddam et al.(2022)Moghaddam, Ferre, Chen, Chen, and
Ehsani</label><mixed-citation>
      
Moghaddam, M. A., Ferre, T. P. A., Chen, X., Chen, K., and Ehsani, M. R.:
Application of Machine Learning Methods in Inferring Surface
Water Groundwater Exchanges using High Temporal Resolution
Temperature Measurements, arXiv [preprint], <a href="https://doi.org/10.48550/arXiv.2201.00726" target="_blank">https://doi.org/10.48550/arXiv.2201.00726</a>,
2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Nair(2016)</label><mixed-citation>
      
Nair, S. S.: Groundwater level forecasting using Artificial Neural
Network, Int. J. Sci. Res. Publ., 6, 234–238,  2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Pedregosa et al.(2011)Pedregosa, Varoquaux, Gramfort, Michel,
Thirion, Grisel, Blondel, Prettenhofer, Weiss, Dubourg, Vanderplas, Passos,
Cournapeau, Brucher, Perrot, and Duchesnay</label><mixed-citation>
      
Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., and Duchesnay, É.:
Scikit-learn: Machine Learning in Python, J. Mach. Learn.
Res., 12, 2825–2830,
<a href="http://jmlr.org/papers/v12/pedregosa11a.html" target="_blank"/> (last access: 7 March 2025), 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Racine(2000)</label><mixed-citation>
      
Racine, J.: Consistent cross-validatory model-selection for dependent data:
<i>hv</i>-block cross-validation, Journal of Econometrics, 99, 39–61,
<a href="https://doi.org/10.1016/S0304-4076(00)00030-0" target="_blank">https://doi.org/10.1016/S0304-4076(00)00030-0</a>, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Rauthe et al.(2013)Rauthe, Steiner, Riediger, Mazurkiewicz, and
Gratzki</label><mixed-citation>
      
Rauthe, M., Steiner, H., Riediger, U., Mazurkiewicz, A., and Gratzki, A.: A
Central European precipitation climatology – Part I: Generation
and validation of a high-resolution gridded daily data set (HYRAS),
Meteorologische Zeitschrift, 235–256, <a href="https://doi.org/10.1127/0941-2948/2013/0436" target="_blank">https://doi.org/10.1127/0941-2948/2013/0436</a>,
2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Razafimaharo et al.(2020)Razafimaharo, Krähenmann, Höpp, Rauthe,
and Deutschländer</label><mixed-citation>
      
Razafimaharo, C., Krähenmann, S., Höpp, S., Rauthe, M., and Deutschländer,
T.: New high-resolution gridded dataset of daily mean, minimum, and maximum
temperature and relative humidity for Central Europe (HYRAS),
Theoretical and Applied Climatology, 142, 1531–1553,
<a href="https://doi.org/10.1007/s00704-020-03388-w" target="_blank">https://doi.org/10.1007/s00704-020-03388-w</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Seabold and Perktold(2010)</label><mixed-citation>
      
Seabold, S. and Perktold, J.: Statsmodels: Econometric and Modeling with Python. 9th Python in Science Conference, Austin, 28 June–3 July 2010, 57–61, <a href="https://doi.org/10.25080/Majora-92bf1922-011" target="_blank">https://doi.org/10.25080/Majora-92bf1922-011</a>, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Shen et al.(2022)Shen, Tolson, and Mai</label><mixed-citation>
      
Shen, H., Tolson, B. A., and Mai, J.: Time to Update the Split-Sample
Approach in Hydrological Model Calibration, Water Resources Research,
58, e2021WR031523, <a href="https://doi.org/10.1029/2021WR031523" target="_blank">https://doi.org/10.1029/2021WR031523</a>,  2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Snijders(1988)</label><mixed-citation>
      
Snijders, T. A. B.: On Cross-Validation for Predictor Evaluation in
Time Series, in: On Model Uncertainty and its Statistical
Implications, edited by: Dijkstra, T. K., Springer, Berlin,
Heidelberg, 56–69, ISBN 978-3-642-61564-1, <a href="https://doi.org/10.1007/978-3-642-61564-1_4" target="_blank">https://doi.org/10.1007/978-3-642-61564-1_4</a>, 1988.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Sun et al.(2019)Sun, Scanlon, Zhang, Walling, Bhanja, Mukherjee, and
Zhong</label><mixed-citation>
      
Sun, A. Y., Scanlon, B. R., Zhang, Z., Walling, D., Bhanja, S. N., Mukherjee,
A., and Zhong, Z.: Combining Physically Based Modeling and Deep
Learning for Fusing GRACE Satellite Data: Can We Learn From
Mismatch?, Water Resources Research, 55, 1179–1195,
<a href="https://doi.org/10.1029/2018WR023333" target="_blank">https://doi.org/10.1029/2018WR023333</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Tao et al.(2022)Tao, Hameed, Marhoon, Zounemat-Kermani, Heddam, Kim,
Sulaiman, Tan, Sa’adi, Mehr, Allawi, Abba, Zain, Falah, Jamei, Bokde,
Bayatvarkeshi, Al-Mukhtar, Bhagat, Tiyasha, Khedher, Al-Ansari, Shahid, and
Yaseen</label><mixed-citation>
      
Tao, H., Hameed, M. M., Marhoon, H. A., Zounemat-Kermani, M., Heddam, S., Kim,
S., Sulaiman, S. O., Tan, M. L., Sa’adi, Z., Mehr, A. D., Allawi, M. F.,
Abba, S. I., Zain, J. M., Falah, M. W., Jamei, M., Bokde, N. D.,
Bayatvarkeshi, M., Al-Mukhtar, M., Bhagat, S. K., Tiyasha, T., Khedher,
K. M., Al-Ansari, N., Shahid, S., and Yaseen, Z. M.: Groundwater level
prediction using machine learning models: A comprehensive review,
Neurocomputing, 489, 271–308, <a href="https://doi.org/10.1016/j.neucom.2022.03.014" target="_blank">https://doi.org/10.1016/j.neucom.2022.03.014</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Tashman(2000)</label><mixed-citation>
      
Tashman, L. J.: Out-of-sample tests of forecasting accuracy: an analysis and
review, International Journal of Forecasting, 16, 437–450,
<a href="https://doi.org/10.1016/S0169-2070(00)00065-0" target="_blank">https://doi.org/10.1016/S0169-2070(00)00065-0</a>, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>The Pandas Development
Team(2023)</label><mixed-citation>
      
The Pandas Development Team: pandas-dev/pandas: Pandas, Zenodo [code],
<a href="https://doi.org/10.5281/zenodo.8092754" target="_blank">https://doi.org/10.5281/zenodo.8092754</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>Virtanen et al.(2020)Virtanen, Gommers, Oliphant, Haberland, Reddy,
Cournapeau, Burovski, Peterson, Weckesser, Bright, van der Walt, Brett,
Wilson, Millman, Mayorov, Nelson, Jones, Kern, Larson, Carey, Polat, Feng,
Moore, VanderPlas, Laxalde, Perktold, Cimrman, Henriksen, Quintero, Harris,
Archibald, Ribeiro, Pedregosa, and van Mulbregt</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., and van Mulbregt, P.: SciPy 1.0: fundamental
algorithms for scientific computing in Python, Nature 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.bib37"><label>Vu et al.(2021)Vu, Jardani, Massei, and
Fournier</label><mixed-citation>
      
Vu, M. T., Jardani, A., Massei, N., and Fournier, M.: Reconstruction of missing
groundwater level data by using Long Short-Term Memory (LSTM) deep
neural network, Journal of Hydrology, 597, 125776,
<a href="https://doi.org/10.1016/j.jhydrol.2020.125776" target="_blank">https://doi.org/10.1016/j.jhydrol.2020.125776</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Wunsch et al.(2021)Wunsch, Liesch, and
Broda</label><mixed-citation>
      
Wunsch, A., Liesch, T., and Broda, S.: Groundwater level forecasting with artificial neural networks: a comparison of long short-term memory (LSTM), convolutional neural networks (CNNs), and non-linear autoregressive networks with exogenous input (NARX), Hydrology and Earth System Sciences, 25, 1671–1687, <a href="https://doi.org/10.5194/hess-25-1671-2021" target="_blank">https://doi.org/10.5194/hess-25-1671-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>Zhang et al.(2018)Zhang, Zhu, Zhang, Ye, and
Yang</label><mixed-citation>
      
Zhang, J., Zhu, Y., Zhang, X., Ye, M., and Yang, J.: Developing a Long
Short-Term Memory (LSTM) based model for predicting water table depth
in agricultural areas, Journal of Hydrology, 561, 918–929,
<a href="https://doi.org/10.1016/j.jhydrol.2018.04.065" target="_blank">https://doi.org/10.1016/j.jhydrol.2018.04.065</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Zheng et al.(2022)Zheng, Chen, Maier, and
Gupta</label><mixed-citation>
      
Zheng, F., Chen, J., Maier, H. R., and Gupta, H.: Achieving Robust and
Transferable Performance for Conservation-Based Models of
Dynamical Physical Systems, Water Resources Research, 58,
e2021WR031818, <a href="https://doi.org/10.1029/2021WR031818" target="_blank">https://doi.org/10.1029/2021WR031818</a>,  2022.

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