<?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-8895-2026</article-id><title-group><article-title>A deep learning framework for gridding daily climate variables from a sparse station network</article-title><alt-title>A deep learning framework for gridding daily climate variables </alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Dumitrescu</surname><given-names>Alexandru</given-names></name>
          <email>alexandru.dumitrescu@gmail.com</email>
        <ext-link>https://orcid.org/0000-0002-3361-483X</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>Department of Climatology, Meteo Romania (National Meteorological Administration), Bucharest, 013686, Romania</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Alexandru Dumitrescu (alexandru.dumitrescu@gmail.com)</corresp></author-notes><pub-date><day>21</day><month>September</month><year>2026</year></pub-date>
      
      <volume>19</volume>
      <issue>18</issue>
      <fpage>8895</fpage><lpage>8913</lpage>
      <history>
        <date date-type="received"><day>15</day><month>January</month><year>2026</year></date>
           <date date-type="rev-request"><day>4</day><month>March</month><year>2026</year></date>
           <date date-type="rev-recd"><day>26</day><month>August</month><year>2026</year></date>
           <date date-type="accepted"><day>4</day><month>September</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Alexandru Dumitrescu</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/8895/2026/gmd-19-8895-2026.html">This article is available from https://gmd.copernicus.org/articles/19/8895/2026/gmd-19-8895-2026.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/19/8895/2026/gmd-19-8895-2026.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/19/8895/2026/gmd-19-8895-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e78">High-resolution gridded climate datasets are essential for Earth system modelling and impact assessments, yet generating them from sparse, irregularly distributed station networks remains a significant challenge, particularly in regions with complex topography. This study evaluates the Spatial Multi-Attention Conditional Neural Process (SMACNP), a probabilistic deep learning framework, for the daily spatial interpolation of air temperature and precipitation, marking the first application of its localized encoder variant to the challenge of gridding climate data from a sparse station network. We investigate two distinct encoder configurations – Global and Localized – to determine the optimal structural prior for capturing spatial dependencies in data-scarce regimes. The models were developed and evaluated using data from a sparse network of meteorological stations in Romania from 2020 to 2023. To ensure applicability for long-term historical reconstruction, the input features were restricted to static topographic predictors derived from a Digital Elevation Model (DEM). Performance was benchmarked against Regression Kriging (RK), a standard geostatistical baseline that incorporates these same topographic covariates. Results demonstrate that the SMACNP architectures substantially outperform the RK baseline for both variables. The SMACNP (Localized) configuration, which utilizes an attention mechanism, emerged as the most robust model, achieving the lowest Mean Absolute Error (MAE) and the highest correlation across the majority of seasons. The performance gains were particularly pronounced for precipitation, where the deep learning models effectively captured fine-scale spatial heterogeneity and non-linearities that traditional methods tended to over-smooth. Furthermore, the SMACNP framework demonstrated superior uncertainty quantification; while RK exhibited significant overconfidence in precipitation estimates, the SMACNP (Localized) model produced well-calibrated probabilistic predictions with near-ideal empirical coverage. These findings indicate that localized neural process-based models offer a powerful, scalable, and physically plausible alternative to geostatistical methods for generating high-quality gridded climate datasets in complex, data-sparse environments.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>HORIZON EUROPE Framework Programme</funding-source>
<award-id>Grant agreement n° 101081377</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="d2e90">Daily gridded climate datasets are essential inputs for a wide range of models and impact assessments. Producing these fields from sparse, irregularly distributed station networks remains challenging, especially over complex terrain (Hijmans et al., 2005). Air temperature tends to vary smoothly with controls such as elevation and latitude, whereas precipitation is intermittent, highly skewed, and spatially and temporally discontinuous (Daly et al., 1994). This problem is particularly critical in areas characterized by complex topography, where local factors like elevation and wind exposure introduce nonstationary relationships and heterogeneous spatial dependencies that challenge traditional geostatistical assumptions (Diggle and Ribeiro, 2007). Classical interpolators such as inverse distance weighting and kriging – including regression kriging (RK) – are widely used baselines (Hengl et al., 2007; Li and Heap, 2014). Their performance can degrade where covariance structure is nonstationary or relationships with covariates are nonlinear, conditions common in topographically complex regions. While machine-learning approaches, particularly tree ensembles such as random forest and gradient boosting, often improve accuracy by leveraging rich covariates (e.g., satellite products, elevation, and reanalysis fields), they can still be limited in modeling the most complex spatial dependencies (Appelhans et al., 2015; Iwase and Takenawa, 2024; Sekulić et al., 2021).</p>
      <p id="d2e93">Deep learning (DL) provides a powerful alternative, offering flexible, data-driven representations capable of modelling the complex spatial and temporal non-linear relationships inherent in climate data (Reichstein et al., 2019). Conditional Neural Processes (CNPs), for instance,  learn distributions over functions from context points while providing uncertainty estimates (Garnelo et al., 2018). The convolutional variant, the Convolutional Conditional Neural Process (ConvCNP), uses translation-equivariant, continuous convolutions to capture local spatial dependencies and is well suited to gridded queries (Gordon et al., 2019; Vaughan et al., 2022). Attentive Neural Processes build on this by introducing cross-attention from target queries to context points, improving the handling of heterogeneity among observations (Kim et al., 2019).  In parallel, Transformers, originating in natural language processing and later adapted to vision, provide a direct solution for leveraging rich covariate information from irregularly spaced stations. They use attention so each element can weight all others when forming its representation (Dosovitskiy et al., 2020; Vaswani et al., 2017). In spatial problems, this means that when geographic coordinates and relevant covariates (e.g., elevation) are encoded, a query at a target location can up-weight both nearby and distant stations that are most informative (e.g., those at similar elevation), directly addressing a key weakness of traditional distance-based interpolators. The Spatial Multi Attention Conditional Neural Process (SMACNP) exemplifies this approach by combining cross-attention from target queries to context stations with specialized spatial and feature-wise attention to capture distance-dependent structure and predictor correlations for interpolating point measurements (Bao et al., 2024b). Building on this, Gridded Transformer Neural Processes (GriddedTNP) were recently introduced to tackle the scalability issues of Transformer Neural Processes (TNPs) for large, unstructured spatio-temporal datasets like weather data, by employing specialized gridded pseudo-tokens for efficient attention (Ashman et al., 2024). Similarly, Graph Neural Processes (GNPs) combine Graph Neural Networks (GNNs) with Neural Processes (NPs) to explicitly model relationships and dependencies defined by a graph structure (Carr and Wingate, 2019). Taking a different structural approach,  Bao et al. (2024a) introduced a two-stage framework, the Location-Embedded Graph Neural Networks-Residual Neural Processes (LEGNN-RNP), in which a graph neural network enhanced by self-attention-based location embeddings generates an initial prediction, while a subsequent residual neural process models the spatial structure of the remaining errors, refining the final prediction and quantifying uncertainty in a manner similar to RK.</p>
      <p id="d2e96">Despite these architectural advancements, the application of such probabilistic deep learning frameworks to extremely sparse observation networks in regions with complex topography remains under-explored. Our preliminary experiments in this specific context revealed that alternative architectures, such as the ConvCNP and GriddedTNP, struggled to generalize effectively when relying solely on static topographic predictors. We present a case study evaluating the SMACNP deep learning architecture for gridding daily temperature and precipitation over Romania from a sparse national station network (156 stations). Romania provides a challenging testbed combining complex Carpathian topography, sparse and irregular station coverage, and mixed precipitation regimes. While the methodology is general and transferable to other regions with similar data availability, the evaluation presented here is specific to Romania and should be interpreted accordingly. To the best of our knowledge, this represents the first application of the SMACNP architecture, specifically its localized encoder variant, to the challenge of gridding daily climate data from a sparse observation network. Performance is compared with Regression Kriging (RK), which serves as the geostatistical baseline, for the period 2020–2023. The contributions of this study are: (i) a systematic evaluation of the SMACNP architecture for daily climate gridding over complex terrain, demonstrating its advantage over RK for both temperature and precipitation; (ii) a comparison of global and localized attention configurations, showing that restricting attention to spatial neighbours improves interpolation from sparse, irregular networks; and (iii) a comprehensive uncertainty assessment including probabilistic calibration, precipitation occurrence skill, and climate-relevant extreme indices.</p>
      <p id="d2e99">The remainder of this paper is structured as follows. Section 2 describes the datasets employed and the preprocessing procedures. Section 3 outlines the methodological framework, including a detailed description of RK and SMACNP, and presents the experimental setup. Section 4 reports the results, with a focus on interpolation accuracy and predictive uncertainty. Finally, Sects. 5 and 6 discuss and summarize the main findings and provide concluding remarks. Our focus is on spatially aware probabilistic DL models (SMACNP and its variants) that natively handle irregular station sets and provide calibrated uncertainties. Our formal comparison focuses on RK as the geostatistical reference and on the neural-process architectures considered in this study. The conclusions are therefore restricted to these evaluated methods and should not be interpreted as a general comparison with all machine-learning interpolation approaches.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Study area and data</title>
      <p id="d2e110">The study is conducted over Romania, a region characterized by complex topography including the Carpathian Mountains, plateaus, and plains. We use daily meteorological station data and a topographic variable extracted from high-resolution Digital Elevation Model (DEM) to develop and evaluate the interpolation models. </p>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Meteorological and topographic datasets</title>
      <p id="d2e121">The primary dataset consists of daily homogenized mean air temperature (°C) and total precipitation (mm) from a network of meteorological stations across Romania, spanning 2020–2023. The complete dataset and associated station metadata can be accessed through the Zenodo repository (Dumitrescu, 2025). While the experiments in this study are conducted on this recent period, the proposed method is ultimately intended for application to the full long-term dataset covering 1901 to the present (Dumitrescu et al., 2025). The station data are pre-partitioned into a training set (130 stations), used for model development and validation, and a held-out test set (26 stations), used exclusively for final performance evaluation for all the models selected in the study (Fig. 1). To ensure strict evaluation integrity, the 26 test stations were selected randomly once before any model development and remained fixed throughout the study. These 26 stations were completely excluded from the training pool. The available days were split temporally into 80 % for training and 20 % for validation (early stopping and model selection). The final evaluation was performed across all days in the 2020–2023 period by conditioning on the 130 training-pool stations and predicting exclusively at the 26 held-out test stations, ensuring a strict spatial out-of-sample evaluation.</p>

      <fig id="F1" specific-use="star"><label>Figure 1</label><caption><p id="d2e126">Spatial distribution of the 156 meteorological stations used in this study, overlaid on the SRTM digital elevation model of Romania. Training stations (<inline-formula><mml:math id="M1" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">130</mml:mn></mml:mrow></mml:math></inline-formula>, blue circles) and held-out test stations (<inline-formula><mml:math id="M2" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">26</mml:mn></mml:mrow></mml:math></inline-formula>, red triangles) were assigned by random spatial split. The inset histogram shows the elevation distribution of training and test stations, confirming that both subsets span the full altitudinal range of the network (0–2544 m). Coordinates are in the Dealul Piscului 1970 projection (EPSG:31700). Inset map shows Romania's location within Europe. SRTM data © NASA/NGA.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8895/2026/gmd-19-8895-2026-f01.png"/>

        </fig>

      <p id="d2e159">Topographic and geographic predictors are derived from a high-resolution DEM (Jarvis et al., 2008). These predictors serve as covariates in the RK model and as static input features for the DL models. We restricted our input predictors to those derived from topographic data because the primary objective of this study is to identify an interpolation model configuration suitable for application to long-term daily climate time series (1901–present). For this extended historical period, dynamic covariates such as satellite products and land cover datasets are unavailable or inconsistent. Limiting the input to static, topographically derived predictors ensures temporal consistency and model applicability across the full-time span.</p>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Spatio-temporal covariates</title>
      <p id="d2e170">A set of predictor variables was engineered to capture the primary drivers of spatial and temporal climate variability. These are grouped into static spatial predictors and dynamic temporal predictors.</p>
      <p id="d2e173">Derived directly from the DEM for every station and grid point location, spatial predictors include smoothed elevation (<italic>smooth_elev</italic>), a topographic position index (<italic>topo_position</italic>), distance to the Black Sea (<italic>dist_to_coast</italic>), and geographic coordinates (<italic>latwgs</italic>, <italic>lonwgs</italic>) (Fig. 2) (Daly et al., 2008).</p>

      <fig id="F2" specific-use="star"><label>Figure 2</label><caption><p id="d2e193">Normalized static predictors used as model inputs (range 0–1): <bold>(a)</bold> smoothed elevation (smooth_elev), <bold>(b)</bold> topographic position index (topo_position), <bold>(c)</bold> distance to the Black Sea coast (dist_to_coast), <bold>(d)</bold> latitude (latwgs), and <bold>(e)</bold> longitude (lonwgs). Coordinates are in the Dealul Piscului 1970 projection (EPSG:31700). SRTM data © NASA/NGA.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8895/2026/gmd-19-8895-2026-f02.png"/>

        </fig>

      <p id="d2e218">Calculated for each day to capture seasonal and long-term patterns, temporal predictors represent cyclical patterns without discontinuities, the day of the year and the month are transformed into sine and cosine components (<italic>day_sin</italic>, <italic>day_cos</italic>, <italic>month_sin</italic>, <italic>month_cos</italic>). A <italic>year_scaled</italic> variable, representing the year linearly scaled to the [0, 1] range over the analysis period, is included to account for inter-annual trends. These predictors are concatenated to form a feature vector for each observation point (<italic>context</italic>) and prediction grid point (<italic>target</italic>).</p>
      <p id="d2e243">To assess whether the station network adequately represents the prediction domain,  Fig. 3 compares the distributions of the three key static predictors – smoothed elevation, topographic position index, and distance to the Black Sea coast – across training stations, test stations, and the prediction grid (restricted to cells within Romania's national territory). The training and test station distributions are closely aligned across all predictors, confirming that the random <inline-formula><mml:math id="M3" display="inline"><mml:mrow><mml:mn mathvariant="normal">130</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">26</mml:mn></mml:mrow></mml:math></inline-formula> split is representative. Crucially, the prediction grid falls almost entirely within the training data envelope: only 0.4 % of grid cells exceed the maximum training-station elevation, 0.1 % exceed the maximum topographic position, and 0.5 % exceed the maximum distance to coast. These results indicate that the model operates predominantly within its training distribution during grid-scale prediction, with extrapolation limited to a small number of extreme-topography cells.</p>

      <fig id="F3" specific-use="star"><label>Figure 3</label><caption><p id="d2e260">Distribution of key static predictors across training stations (<inline-formula><mml:math id="M4" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">130</mml:mn></mml:mrow></mml:math></inline-formula>), test stations (<inline-formula><mml:math id="M5" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">26</mml:mn></mml:mrow></mml:math></inline-formula>), and prediction grid cells within Romania (<inline-formula><mml:math id="M6" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">38</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mn mathvariant="normal">144</mml:mn></mml:mrow></mml:math></inline-formula>). <bold>(a–c)</bold> Violin plots with overlaid box plots for smoothed elevation, topographic position index, and distance to the Black Sea coast, respectively; the mean value (<inline-formula><mml:math id="M7" display="inline"><mml:mi mathvariant="italic">μ</mml:mi></mml:math></inline-formula>) for each distribution is indicated at the top of the panels. <bold>(d–f)</bold> Kernel density estimates for the same three predictors. Predictor values are shown in their normalized <inline-formula><mml:math id="M8" display="inline"><mml:mrow><mml:mfenced close="]" open="["><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> form.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8895/2026/gmd-19-8895-2026-f03.png"/>

        </fig>

</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Data preprocessing</title>
      <p id="d2e344">The raw data are processed into a format suitable for training the deep learning models. This involves normalization of the target variables and structuring the data into daily context and target sets.</p>
      <p id="d2e347">The two climate variables, temperature and precipitation, are normalized independently. The daily mean temperature (<italic>tavg)</italic> is linearly scaled to a [0, 1] range using a <italic>Min-Max scaler</italic> fitted on the training data (Pedregosa et al., 2011). Raw precipitation (<italic>prec</italic>) values <inline-formula><mml:math id="M9" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> are transformed via <inline-formula><mml:math id="M10" display="inline"><mml:mrow><mml:mi mathvariant="normal">log</mml:mi><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi>p</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> to handle zero values and reduce skewness, and the transformed values are then scaled to the range [0, 1].</p>
      <p id="d2e384">The parameters of these scalers are saved and used to de-normalize the model's predictions back to their original physical units (°C and mm) during validation and inference.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Methods</title>
      <p id="d2e396">The core of our study is the comparison of a standard approach – the geostatistical method Regression Kriging (RK) – with deep learning architectures, namely the Spatial Multi-Attention Conditional Neural Process (SMACNP). Unlike RK, the deep learning models are used to jointly predict both air temperature and precipitation in a single realisation. The modelling approach differs fundamentally for the two variables due to their distinct statistical characteristics: air temperature, a continuous variable, is modelled directly, whereas daily precipitation, which is intermittent and non-negative, is handled using a two-part hurdle modelling framework in all tested configurations. </p>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Regression Kriging (RK)</title>
      <p id="d2e407">For air temperature, RK is applied directly to observed values. For precipitation, we employ a hurdle framework where occurrence and amount are modelled independently. In both cases, the field is decomposed into a deterministic trend estimated via multiple linear regression on all static and temporal predictor variables (smoothed elevation, topographic position index, distance to coast, geographic coordinates, and cyclic day-of-year/month/year encodings), and a stochastic residual interpolated using Ordinary Kriging with a spherical semi-variogram model. The variogram parameters (partial sill, range, and nugget) are estimated automatically for each daily field via weighted least-squares fitting. The detailed mathematical formulation is provided in Appendix A.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>SMACNP</title>
      <p id="d2e418">The Spatial Multi-Attention Conditional Neural Process (SMACNP) is a probabilistic deep learning model designed for interpolating sparse and irregularly distributed spatio-temporal data. It employs an encoder-decoder architecture that maps a set of observed context points to predictive distributions at unobserved target locations.</p>
      <p id="d2e421">The model is conditioned on a set of <inline-formula><mml:math id="M11" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> context points representing observed data. Each context point consists of spatial coordinates (<inline-formula><mml:math id="M12" display="inline"><mml:mi mathvariant="bold-italic">s</mml:mi></mml:math></inline-formula>), a vector of auxiliary attributes (<inline-formula><mml:math id="M13" display="inline"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:math></inline-formula>), and the corresponding climate variable measurement (<inline-formula><mml:math id="M14" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>). Predictions are made at a set of <inline-formula><mml:math id="M15" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> target locations, each defined by its spatial coordinates (<inline-formula><mml:math id="M16" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>) and attributes (<inline-formula><mml:math id="M17" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>) (Fig. 4).</p>

      <fig id="F4" specific-use="star"><label>Figure 4</label><caption><p id="d2e484">SMACNP architecture with dual encoder configurations. Three encoding pathways produce latent representations: spatial (<inline-formula><mml:math id="M18" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>) via Laplace attention, mean attributes (<inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>), and variance (<inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>). The mean and variance pathways offer interchangeable configurations: Global  –  full <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>×</mml:mo><mml:mi>M</mml:mi></mml:mrow></mml:math></inline-formula> attention on attributes only; Localized  –  k-NN attention on spatial coordinates plus attributes with optional positional encoding. Note that the variance pathway excludes observations (<inline-formula><mml:math id="M22" display="inline"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) in both configurations to enable proper uncertainty estimation. Shared MLP decoders output temperature (<inline-formula><mml:math id="M23" display="inline"><mml:mi mathvariant="italic">μ</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>) and precipitation (probability <inline-formula><mml:math id="M25" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M26" display="inline"><mml:mi mathvariant="italic">μ</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M27" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>) predictions.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8895/2026/gmd-19-8895-2026-f04.png"/>

        </fig>

      <p id="d2e594">The encoder is composed of three parallel pathways that process the input data into latent representations (Fig. 4):</p>
      <p id="d2e597"><list list-type="custom">
            <list-item><label>i.</label>

      <p id="d2e602"><italic>Spatial Pathway (Mean Location Encoder).</italic> This pathway captures the spatial structure of the observations. It projects the concatenation of context coordinates and observations through a Multi-Layer Perceptron (MLP – a feedforward neural network applying successive linear transformations with nonlinear activations), then applies Laplace Attention – a distance-based weighting kernel using a configurable <inline-formula><mml:math id="M28" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> norm (<inline-formula><mml:math id="M29" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> for Manhattan distance, <inline-formula><mml:math id="M30" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> for Euclidean distance):

                  <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M31" display="block"><mml:mrow><mml:mi>w</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>∝</mml:mo><mml:mi mathvariant="normal">exp</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="italic">τ</mml:mi><mml:mo>⋅</mml:mo><mml:mo>∥</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msub><mml:mo>∥</mml:mo><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula>

                where <inline-formula><mml:math id="M32" display="inline"><mml:mi mathvariant="italic">τ</mml:mi></mml:math></inline-formula> is a learnable temperature parameter. This produces a location-based representation <inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> that encodes the spatial structure of the data.</p>
            </list-item>
            <list-item><label>ii.</label>

      <p id="d2e717"><italic>Attribute Pathway (Mean Attribute Encoder).</italic> This pathway computes an attribute-based representation <inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> using Multi-Head Attention. The mechanism operates through three vectors – Query (<inline-formula><mml:math id="M35" display="inline"><mml:mi mathvariant="bold">Q</mml:mi></mml:math></inline-formula>), Key (<inline-formula><mml:math id="M36" display="inline"><mml:mi mathvariant="bold">K</mml:mi></mml:math></inline-formula>), and Value (<inline-formula><mml:math id="M37" display="inline"><mml:mi mathvariant="bold">V</mml:mi></mml:math></inline-formula>) – that can be understood intuitively in the context of spatial interpolation. The Query encodes <italic>what the target location needs</italic>: “find stations with similar geographic and seasonal characteristics to mine” (e.g., similar elevation, topographic position, and time of year). The Key encodes <italic>what each context station offers</italic>: its own geographic and seasonal characteristics, which are compared against the Query to determine relevance. The Value contains <italic>the actual information to transfer</italic>: the context station's characteristics together with its observed measurements (temperature, precipitation). The attention output is a weighted combination of <inline-formula><mml:math id="M38" display="inline"><mml:mi mathvariant="bold">V</mml:mi></mml:math></inline-formula>, where stations whose Key is most similar to the target's Query receive the highest weights  –  effectively retrieving weather observations from the most geographically and seasonally relevant stations. The two encoder configurations differ in how <inline-formula><mml:math id="M39" display="inline"><mml:mi mathvariant="bold">Q</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M40" display="inline"><mml:mi mathvariant="bold">K</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M41" display="inline"><mml:mi mathvariant="bold">V</mml:mi></mml:math></inline-formula> are constructed (Table 1): The Localized configuration restricts attention to the <inline-formula><mml:math id="M42" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> nearest spatial neighbors, introducing an inductive bias towards spatial locality that is well-suited for meteorological interpolation.</p>
            </list-item>
            <list-item><label>iii.</label>

      <p id="d2e803"><italic>Variance Pathway.</italic> This pathway produces a representation <inline-formula><mml:math id="M43" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> for estimating predictive uncertainty. It uses the same attention mechanism as the attribute pathway, but crucially excludes the observations (<inline-formula><mml:math id="M44" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>) from the Value vectors. This prevents the model from memorizing input-output relationships and enables well-calibrated uncertainty estimates that reflect the information available at each target location.</p>
            </list-item>
          </list></p>

<table-wrap id="T1" specific-use="star"><label>Table 1</label><caption><p id="d2e831">Definition of the query, key, and value inputs used by the Global and Localized SMACNP configurations.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Component</oasis:entry>
         <oasis:entry colname="col2">Global Configuration</oasis:entry>
         <oasis:entry colname="col3">Localized Configuration</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Query (<inline-formula><mml:math id="M45" display="inline"><mml:mi mathvariant="bold">Q</mml:mi></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col2">Target attributes (<inline-formula><mml:math id="M46" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col3">Target coordinates <inline-formula><mml:math id="M47" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> attributes (<inline-formula><mml:math id="M48" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M49" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Key (<inline-formula><mml:math id="M50" display="inline"><mml:mi mathvariant="bold">K</mml:mi></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col2">Context attributes (<inline-formula><mml:math id="M51" display="inline"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col3">Context coordinates <inline-formula><mml:math id="M52" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> attributes of <inline-formula><mml:math id="M53" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-nearest neighbors (<inline-formula><mml:math id="M54" display="inline"><mml:mi mathvariant="bold-italic">s</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M55" display="inline"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:math></inline-formula>)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Value (<inline-formula><mml:math id="M56" display="inline"><mml:mi mathvariant="bold">V</mml:mi></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col2">Context attributes <inline-formula><mml:math id="M57" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> observations (<inline-formula><mml:math id="M58" display="inline"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M59" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col3">Context coordinates <inline-formula><mml:math id="M60" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> attributes <inline-formula><mml:math id="M61" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> observations of <inline-formula><mml:math id="M62" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-nearest neighbors (<inline-formula><mml:math id="M63" display="inline"><mml:mi mathvariant="bold-italic">s</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M64" display="inline"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M65" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Attention scope</oasis:entry>
         <oasis:entry colname="col2">All <inline-formula><mml:math id="M66" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> context points (<inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>×</mml:mo><mml:mi>M</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M68" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-nearest spatial neighbors (<inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>×</mml:mo><mml:mi>M</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Key property</oasis:entry>
         <oasis:entry colname="col2">Attribute-only similarity</oasis:entry>
         <oasis:entry colname="col3">Spatial locality <inline-formula><mml:math id="M70" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> attribute similarity</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e1127">The latent representations are routed to specialized decoder heads, each implemented as an MLP. The spatial and attribute representations (<inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M72" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>) are concatenated with target information and fed to the heads predicting mean values and probabilities. The variance representation (<inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>) is similarly combined with target information and fed to the variance heads.</p>
      <p id="d2e1163">The decoder produces parameters for two predictive distributions. Air temperature is represented by a Gaussian distribution parameterized by its mean (<inline-formula><mml:math id="M74" display="inline"><mml:mi mathvariant="italic">μ</mml:mi></mml:math></inline-formula>) and variance (<inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>); the mean uses a linear activation, while the variance uses a Softplus activation to ensure positivity. Precipitation is represented by a hurdle model that separates occurrence from amount. A Bernoulli component models precipitation occurrence via logistic activation, while a Gaussian component models the normalized, log-transformed precipitation amount conditional on occurrence. The corresponding variance is constrained to be positive using a Softplus activation.</p>
      <p id="d2e1185">The model is trained end-to-end by minimizing a combined loss comprising the Gaussian negative log-likelihood (NLL) for temperature, binary cross-entropy for precipitation occurrence, and Gaussian NLL for the normalized, log-transformed precipitation amount on wet days. To address class imbalance between rainy and dry days, the BCE loss incorporates a positive class weight. The full loss equations are provided in Appendix C.</p>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>Experimental setup</title>
      <p id="d2e1196">Although the source observations can be stored as station-day records, SMACNP does not treat them as independent tabular samples. Each day is represented as a spatial interpolation task consisting of a set of observed context stations and a set of target locations. The training protocol involves two nested levels of data partitioning. First, the available days (2020–2023) are split into 80 % for training and 20 % for validation; the validation set is used exclusively for early stopping and model checkpoint selection. Second, within each training day, the 130 training-pool stations are randomly partitioned into a context set (<inline-formula><mml:math id="M76" display="inline"><mml:mo lspace="0mm">∼</mml:mo></mml:math></inline-formula> 50 % of stations, used as model input) and the training loss is evaluated at all 130 stations (“on-the-grid” training). This means the model must learn both to reconstruct observations at context stations and to interpolate at the remaining non-context stations – the latter constituting the genuine test of generalization at each training step. The context partition is re-randomized at every training step, ensuring that every station regularly serves in both roles and that the model learns to interpolate from arbitrary subsets. All data normalization (min–max scaling) is fitted exclusively on the training-pool stations and applied without re-fitting to the test stations at evaluation time. An extensive hyperparameter optimization (HPO) was conducted for the SMACNP model for both <italic>global</italic> and <italic>localized</italic> encoder configurations to identify the optimal architecture and training settings. The HPO process was managed using the Optuna framework (Akiba et al., 2019). For each model variant, we executed a total of 1000 trials. The optimization was guided by a Tree-structured Parzen Estimator (TPE) sampler, initialized with a fixed random seed to ensure reproducibility. The objective for each trial was to minimize the model's validation loss. While the learning rate was included in the hyperparameter search space (ranging from <inline-formula><mml:math id="M77" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M78" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>), other training parameters were held constant. We used the <italic>AdamW</italic> optimizer with a weight decay of <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>. The learning rate was managed by a scheduler configured to reduce the rate upon plateauing validation loss. To efficiently explore the search space, we implemented an aggressive early-stopping strategy, training each trial for up to 1500 epochs. A patient pruner (wrapping a median pruner) was configured to terminate unpromising trials. Trials were pruned if their validation loss exceeded the median of previously completed trials for consecutive checks (patience of 5 checks), performed every 10 epochs after an initial warmup period (150 epochs).</p>
      <p id="d2e1270">The search spaces for the two configurations, including embedding dimensions, attention heads, and learning rates, are detailed in Appendix B. A constraint was enforced to ensure that embedding dimensions (r_dim, v_dim) were divisible by the number of attention heads.</p>
      <p id="d2e1273">Following the optimization process, the configurations yielding the lowest validation loss were selected for the final training and evaluation (Table B1). The SMACNP (Global) configuration favoured a balanced architecture with a representation dimension (r_dim) of 128 and a variance dimension (v_dim) of 256. It utilized a shallower decoder (2 MLP layers) and higher attention complexity (16 heads) with minimal regularization (dropout rate of 0.1 and no layer normalization).</p>
      <p id="d2e1276">The SMACNP (Localized) configuration achieved optimal performance with a neighbourhood size <inline-formula><mml:math id="M80" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">15</mml:mn></mml:mrow></mml:math></inline-formula> and, like the global variant, utilized the Manhattan distance metric (<inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>) for the Laplace attention. The architecture favored a highly asymmetric embedding structure, allocating significant capacity to the variance (<inline-formula><mml:math id="M82" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">dim</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">512</mml:mn></mml:mrow></mml:math></inline-formula>) and location (<inline-formula><mml:math id="M83" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">dim</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">256</mml:mn></mml:mrow></mml:math></inline-formula>) pathways while keeping the representation dimension compact (<inline-formula><mml:math id="M84" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">dim</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">64</mml:mn></mml:mrow></mml:math></inline-formula>). The decoder was deeper than the global variant (3 vs. 2 MLP layers), but the optimization selected the same lightweight regularization – dropout rate of 0.1 and no Layer Normalization – suggesting that the inductive bias of localized attention provides sufficient regularization on its own. Both models converged to similar learning rates (<inline-formula><mml:math id="M85" display="inline"><mml:mrow><mml:mn mathvariant="normal">4.93</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> for the global variant, <inline-formula><mml:math id="M86" display="inline"><mml:mrow><mml:mn mathvariant="normal">4.19</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> for the localized one).</p>
</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Results</title>
      <p id="d2e1394">We evaluated the results both qualitatively, by plotting multiannual-mean maps to verify that the predictions follow the expected spatial distribution of the analysed variables, and quantitatively, by computing accuracy metrics and corresponding plots using independent station data withheld from the training and prediction processes.</p>
      <p id="d2e1397">Visually, the outputs for air temperature from the three models are remarkably consistent (Fig. 5a), showing nearly identical spatial distributions, successfully capturing the expected climatological patterns driven by the topography. All methods correctly identify the same locations for the coldest areas in the mountain ranges and the warmest areas in the lowlands, displaying comparable temperature gradients. This suggests that the deep learning models are fully capable of reproducing the dominant geographical factors influencing temperature distribution as effectively as the geostatistical baseline. Similar to the temperature results, all three models successfully represent the fundamental influence of topography on precipitation (Fig. 5b). However, the visual differences in spatial detail are much more pronounced here.</p>
      <p id="d2e1400">The SMACNP Localized precipitation fields exhibit finer spatial detail than RK, particularly over the Carpathian arc where orographic gradients are steepest. Whether this additional detail reflects genuine skill in resolving local precipitation patterns or spatial artefacts would require validation against independent high-resolution observations (e.g., radar composites or dense temporary networks), which is beyond the scope of this study.</p>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e1406">Comparison of predicted mean annual temperature <bold>(a)</bold> and precipitation <bold>(b)</bold> from three models: RK, SMACNP (Global), and SMACNP (Localized).</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/8895/2026/gmd-19-8895-2026-f05.png"/>

      </fig>

      <p id="d2e1421">The density scatter plots in  Fig. 6 demonstrate that all three models provide highly accurate predictions for daily mean temperature (panel a), with points clustering tightly along the <inline-formula><mml:math id="M87" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>:</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> line of perfect agreement. The RK baseline achieves a correlation of 0.989 but exhibits slightly larger dispersion around the <inline-formula><mml:math id="M88" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>:</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> line compared to the deep learning models, resulting in a higher MAE (0.938 °C). Both deep learning configurations outperform the baseline, with the SMACNP (Localized) variant achieving the best overall performance (MAE <inline-formula><mml:math id="M89" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.803 °C, RMSE <inline-formula><mml:math id="M90" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1.108 °C), surpassing the SMACNP (Global) configuration (MAE <inline-formula><mml:math id="M91" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.838 °C). Across all models, prediction errors are slightly more pronounced in the tails of the distribution, yet the high density of points near the diagonal indicates strong agreement across the majority of the temperature range.</p>
      <p id="d2e1469">In contrast, the performance gap between the methods is more distinct for daily precipitation (panel b). Both SMACNP configurations substantially outperform the RK baseline, which suffers from larger errors (MAE <inline-formula><mml:math id="M92" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1.181 mm) and a lower correlation (0.692). The SMACNP (Localized) model again delivers the strongest performance, achieving the lowest MAE (1.050 mm) and a correlation of 0.749, representing a notable improvement over the geostatistical baseline. While all models struggle with extreme precipitation events – a common challenge in climatological modelling – the deep learning approaches demonstrate a superior ability to capture the variability of moderate-to-high rainfall events compared to RK.</p>

      <fig id="F6" specific-use="star"><label>Figure 6</label><caption><p id="d2e1481">Density scatter plots of predicted versus actual <bold>(a)</bold> daily mean temperature (°C) and <bold>(b)</bold> daily precipitation (mm) for the three models on the test dataset: RK, SMACNP (Global), and SMACNP (Localized). For temperature, the colour of each hexagonal bin indicates point density on a linear scale, while for precipitation (zero-inflated data), density is shown on a logarithmic scale. The dashed red line represents the <inline-formula><mml:math id="M93" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>:</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> line of perfect agreement.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/8895/2026/gmd-19-8895-2026-f06.png"/>

      </fig>

      <p id="d2e1508">Across all seasons, SMACNP (Localized) and SMACNP (Global) consistently outperform the RK model for both precipitation and temperature (Table 2).  For temperature, all models perform well, with correlations exceeding 0.94 in all cases. SMACNP (Localized) surpasses the others across all four seasons, consistently achieving the lowest MAE and RMSE, reflecting its superior advantage in capturing fine-scale temperature variations compared to both the Global variant and the RK baseline. For precipitation, SMACNP (Localized) demonstrates dominant performance, achieving the lowest MAE and RMSE across all seasons, as well as the highest correlations (e.g., 0.808 in DJF). While SMACNP (Global) remains competitive, SMACNP (Localized) outperforms it even in summer (JJA), yielding the lowest RMSE (4.958) and highest correlation (0.677). The RK model exhibits the weakest performance, particularly for precipitation during JJA, where RMSE reaches 5.374. Overall, the results demonstrate that neural process–based models substantially enhance predictive accuracy over the baseline RK approach, especially for precipitation, where spatial heterogeneity and nonlinearity are more pronounced. Based on its superior performance across the majority of metrics – particularly MAE – and seasons, SMACNP (Localized) emerges as the most consistently high-performing method overall.</p>

<table-wrap id="T2" specific-use="star"><label>Table 2</label><caption><p id="d2e1515">Seasonal evaluation metrics for temperature and precipitation across all models. Bold values indicate the best-performing model for each metric and season.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="8">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right" colsep="1"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Season</oasis:entry>
         <oasis:entry colname="col2">Method</oasis:entry>
         <oasis:entry namest="col3" nameend="col5" align="center" colsep="1">Temperature </oasis:entry>
         <oasis:entry namest="col6" nameend="col8" align="center">Precipitation </oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">MAE</oasis:entry>
         <oasis:entry colname="col4">RMSE</oasis:entry>
         <oasis:entry colname="col5">CORR</oasis:entry>
         <oasis:entry colname="col6">MAE</oasis:entry>
         <oasis:entry colname="col7">RMSE</oasis:entry>
         <oasis:entry colname="col8">CORR</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">DJF</oasis:entry>
         <oasis:entry colname="col2">RK</oasis:entry>
         <oasis:entry colname="col3">1.038</oasis:entry>
         <oasis:entry colname="col4">1.445</oasis:entry>
         <oasis:entry colname="col5">0.947</oasis:entry>
         <oasis:entry colname="col6">0.862</oasis:entry>
         <oasis:entry colname="col7">2.289</oasis:entry>
         <oasis:entry colname="col8">0.758</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SMACNP (Global)</oasis:entry>
         <oasis:entry colname="col3">0.950</oasis:entry>
         <oasis:entry colname="col4">1.327</oasis:entry>
         <oasis:entry colname="col5">0.957</oasis:entry>
         <oasis:entry colname="col6">0.796</oasis:entry>
         <oasis:entry colname="col7">2.205</oasis:entry>
         <oasis:entry colname="col8">0.780</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SMACNP (Localized)</oasis:entry>
         <oasis:entry colname="col3"><bold>0.902</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>1.296</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.957</bold></oasis:entry>
         <oasis:entry colname="col6"><bold>0.756</bold></oasis:entry>
         <oasis:entry colname="col7"><bold>2.066</bold></oasis:entry>
         <oasis:entry colname="col8"><bold>0.808</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">MAM</oasis:entry>
         <oasis:entry colname="col2">RK</oasis:entry>
         <oasis:entry colname="col3">0.889</oasis:entry>
         <oasis:entry colname="col4">1.176</oasis:entry>
         <oasis:entry colname="col5">0.982</oasis:entry>
         <oasis:entry colname="col6">1.034</oasis:entry>
         <oasis:entry colname="col7">2.773</oasis:entry>
         <oasis:entry colname="col8">0.727</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SMACNP (Global)</oasis:entry>
         <oasis:entry colname="col3">0.798</oasis:entry>
         <oasis:entry colname="col4">1.060</oasis:entry>
         <oasis:entry colname="col5">0.984</oasis:entry>
         <oasis:entry colname="col6">0.915</oasis:entry>
         <oasis:entry colname="col7">2.509</oasis:entry>
         <oasis:entry colname="col8">0.783</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SMACNP (Localized)</oasis:entry>
         <oasis:entry colname="col3"><bold>0.737</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.985</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.986</bold></oasis:entry>
         <oasis:entry colname="col6"><bold>0.903</bold></oasis:entry>
         <oasis:entry colname="col7"><bold>2.497</bold></oasis:entry>
         <oasis:entry colname="col8"><bold>0.784</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">JJA</oasis:entry>
         <oasis:entry colname="col2">RK</oasis:entry>
         <oasis:entry colname="col3">0.856</oasis:entry>
         <oasis:entry colname="col4">1.131</oasis:entry>
         <oasis:entry colname="col5">0.969</oasis:entry>
         <oasis:entry colname="col6">1.912</oasis:entry>
         <oasis:entry colname="col7">5.374</oasis:entry>
         <oasis:entry colname="col8">0.606</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SMACNP (Global)</oasis:entry>
         <oasis:entry colname="col3">0.742</oasis:entry>
         <oasis:entry colname="col4">0.987</oasis:entry>
         <oasis:entry colname="col5">0.972</oasis:entry>
         <oasis:entry colname="col6">1.769</oasis:entry>
         <oasis:entry colname="col7">5.100</oasis:entry>
         <oasis:entry colname="col8">0.655</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SMACNP (Localized)</oasis:entry>
         <oasis:entry colname="col3"><bold>0.733</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.961</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.973</bold></oasis:entry>
         <oasis:entry colname="col6"><bold>1.739</bold></oasis:entry>
         <oasis:entry colname="col7"><bold>4.958</bold></oasis:entry>
         <oasis:entry colname="col8"><bold>0.677</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">SON</oasis:entry>
         <oasis:entry colname="col2">RK</oasis:entry>
         <oasis:entry colname="col3">0.973</oasis:entry>
         <oasis:entry colname="col4">1.301</oasis:entry>
         <oasis:entry colname="col5">0.978</oasis:entry>
         <oasis:entry colname="col6">0.907</oasis:entry>
         <oasis:entry colname="col7">2.859</oasis:entry>
         <oasis:entry colname="col8">0.787</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SMACNP (Global)</oasis:entry>
         <oasis:entry colname="col3">0.866</oasis:entry>
         <oasis:entry colname="col4">1.185</oasis:entry>
         <oasis:entry colname="col5">0.981</oasis:entry>
         <oasis:entry colname="col6">0.817</oasis:entry>
         <oasis:entry colname="col7">2.670</oasis:entry>
         <oasis:entry colname="col8">0.815</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SMACNP (Localized)</oasis:entry>
         <oasis:entry colname="col3"><bold>0.845</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>1.160</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.982</bold></oasis:entry>
         <oasis:entry colname="col6"><bold>0.793</bold></oasis:entry>
         <oasis:entry colname="col7"><bold>2.570</bold></oasis:entry>
         <oasis:entry colname="col8"><bold>0.830</bold></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e1941">To validate the choice of SMACNP over alternative neural process architectures, we also evaluated ConvCNP (Gordon et al., 2019) and GriddedTNP (Ashman et al., 2024), two grid-based models that discretize station observations onto a regular grid before processing with a convolutional backbone. For temperature, neither grid-based architecture matched SMACNP Localized: GriddedTNP achieved an MAE of 1.05 °C – approaching Regression Kriging (0.94 °C) – while ConvCNP yielded 1.53 °C. For precipitation, both models performed competitively, with ConvCNP (MAE <inline-formula><mml:math id="M94" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1.11 mm) approaching SMACNP Localized (1.05 mm) and GriddedTNP (1.22 mm) approaching RK (1.18 mm). The asymmetric performance across variables reflects a fundamental architectural trade-off: grid discretization preserves the large-scale spatial patterns that drive precipitation but smooths the fine-scale topographic contrasts critical for resolving temperature lapse rates in complex terrain. SMACNP's station-to-station attention mechanism avoids this information loss, explaining its consistent superiority across both variables.</p>
      <p id="d2e1951">To complement the error analysis, we further examine how well the models quantify uncertainty and represent the full precipitation distribution (Fig. 7 and  Table 3). For temperature (panel a), the <inline-formula><mml:math id="M95" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>-score distributions show mean values generally close to zero (Table 3; <inline-formula><mml:math id="M96" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="normal">mean</mml:mi><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mi>z</mml:mi><mml:mo>|</mml:mo><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">0.14</mml:mn></mml:mrow></mml:math></inline-formula>), though SMACNP (Global) shows a slight positive bias (<inline-formula><mml:math id="M97" display="inline"><mml:mo lspace="0mm">+</mml:mo></mml:math></inline-formula>0.14). The RK baseline exhibits a narrow <inline-formula><mml:math id="M98" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>-score distribution (SD <inline-formula><mml:math id="M99" display="inline"><mml:mo>≈</mml:mo></mml:math></inline-formula> 0.70) resulting in conservative, over-dispersive 95 % intervals (95 % coverage <inline-formula><mml:math id="M100" display="inline"><mml:mo>≈</mml:mo></mml:math></inline-formula> 0.99). SMACNP (Global) approaches a standard normal distribution (SD <inline-formula><mml:math id="M101" display="inline"><mml:mo>≈</mml:mo></mml:math></inline-formula> 0.99) with slightly under-dispersive coverage (93.7 %), while SMACNP (Localized) maintains a standard deviation of <inline-formula><mml:math id="M102" display="inline"><mml:mo>≈</mml:mo></mml:math></inline-formula> 0.87 and achieves coverage closest to nominal (<inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow></mml:math></inline-formula>: 0.81, 95 %: 0.96). These improvements are reflected in the temperature CRPS, where both SMACNP configurations outperform RK (0.59–0.62 vs 0.72, with a slight advantage for the localized model). For precipitation amounts on wet days (panel b), all models exhibit negative mean <inline-formula><mml:math id="M104" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>-scores, indicating a systematic underestimation of the intensity of rainy events. This bias is strongest for RK (mean <inline-formula><mml:math id="M105" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>≈</mml:mo><mml:mo>-</mml:mo></mml:mrow></mml:math></inline-formula>0.70) and reduced for the SMACNP variants (<inline-formula><mml:math id="M106" display="inline"><mml:mrow><mml:mo>≈</mml:mo><mml:mo>-</mml:mo></mml:mrow></mml:math></inline-formula>0.46 to <inline-formula><mml:math id="M107" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.47). The spread of <inline-formula><mml:math id="M108" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>-scores is much larger than one for all models, reflecting the strong skewness and heavy tails of the wet-day distribution, but again the deep models show substantial gains: the standard deviation drops from <inline-formula><mml:math id="M109" display="inline"><mml:mo>≈</mml:mo></mml:math></inline-formula> 3.15 (RK) to 2.73 (SMACNP Global) and 1.92 (SMACNP Localized). The 95 % coverage on wet days increases from 0.90 for RK to about 0.93 for both SMACNP variants, indicating that extreme wet events are captured more reliably, though some under-dispersion remains. Consistently, the CRPS for wet-day precipitation decreases from 2.30 (RK) to 2.13 and 2.12 for the global and localized SMACNP models, respectively. Panel (c) focuses on precipitation occurrence, implicitly derived from the marginal predictive distributions. All models maintain high hit rates for rainy days (<inline-formula><mml:math id="M110" display="inline"><mml:mo lspace="0mm">≈</mml:mo></mml:math></inline-formula> 0.95–0.96), but they differ notably in how often they falsely predict rain. RK strongly overestimates the frequency of wet days (predicted wet fraction <inline-formula><mml:math id="M111" display="inline"><mml:mo>≈</mml:mo></mml:math></inline-formula> 0.57 vs observed <inline-formula><mml:math id="M112" display="inline"><mml:mo>≈</mml:mo></mml:math></inline-formula> 0.34), leading to a high false-alarm rate of about 0.38 and a relatively low correct-dry rate of 0.63. Both SMACNP configurations bring the predicted wet fraction much closer to the observed value (<inline-formula><mml:math id="M113" display="inline"><mml:mo lspace="0mm">≈</mml:mo></mml:math></inline-formula> 0.47–0.48), reduce the false-alarm rate to about 0.23, and increase the correct-dry rate to <inline-formula><mml:math id="M114" display="inline"><mml:mo>≈</mml:mo></mml:math></inline-formula> 0.77. This indicates fewer spurious light-rain estimates while preserving sensitivity to true rain events. The coverage summary in panel (d) integrates these results. For temperature, RK over-covers at the 95 % level (0.99), whereas SMACNP (Global) slightly under-covers (0.94) and SMACNP (Localized) is near-ideal (0.96). For wet-day precipitation, the RK intervals are too narrow in the tails (95 % coverage <inline-formula><mml:math id="M115" display="inline"><mml:mo>≈</mml:mo></mml:math></inline-formula> 0.90), while SMACNP models increase the 95 % coverage to <inline-formula><mml:math id="M116" display="inline"><mml:mo>≈</mml:mo></mml:math></inline-formula> 0.93 and modestly over-cover at 1<inline-formula><mml:math id="M117" display="inline"><mml:mi mathvariant="italic">σ</mml:mi></mml:math></inline-formula> (0.84), consistent with somewhat wider but more reliable uncertainty intervals. Finally, the CRPS scores in panel (e) summarise overall probabilistic skill in a distribution-agnostic way. For both temperature and precipitation (all days and wet days only), the two SMACNP variants consistently achieve lower CRPS than RK, with the localized version marginally outperforming the global one. Taken together, these diagnostics show that the deep learning approaches, and particularly SMACNP (Localized), not only reduce deterministic errors but also provide better-calibrated and more informative uncertainty estimates, especially for precipitation occurrence and intensity.</p>
      <p id="d2e2141">To further characterize precipitation performance, we computed seven climate-relevant diagnostics at the held-out test stations (Table 4). Wet-day frequency bias is the ratio of predicted to observed wet-day counts (threshold <inline-formula><mml:math id="M118" display="inline"><mml:mo>≥</mml:mo></mml:math></inline-formula> 1.0 mm, WMO standard), where 1.0 indicates unbiased frequency. Mean intensity bias is the ratio of mean predicted to mean observed precipitation on wet days, capturing whether the model systematically under or overestimates rainfall amounts. Wet-day MAE and wet-day RMSE measure the average absolute and root-mean-square errors, respectively, computed only on observed wet days. R95p bias and R99p bias are the percentage deviations in total precipitation from days exceeding the 95th and 99th percentiles of the observed wet-day distribution, respectively, computed per station per year following the ETCCDI standard (Klein Tank et al., 2009) and then averaged across all station-years. Rx1day bias is the percentage deviation in the mean annual maximum one-day precipitation, computed per station per year following the same standard. All models slightly overpredict wet-day frequency (<inline-formula><mml:math id="M119" display="inline"><mml:mo lspace="0mm">∼</mml:mo></mml:math></inline-formula> 20 % overestimation) and underestimate wet-day intensity, consistent with the smoothing inherent in spatial prediction methods. SMACNP Localized shows the smallest biases across all diagnostics, including frequency (1.193), intensity (0.762), aggregate extreme indices (R95p bias: <inline-formula><mml:math id="M120" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>51 %; R99p bias: <inline-formula><mml:math id="M121" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>61 %), and Rx1day (<inline-formula><mml:math id="M122" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>27 %). The underestimation of extreme precipitation totals is a known limitation of spatial interpolation from sparse networks, where individual convective events may not be captured by the nearest context stations.</p>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e2181">Seasonal uncertainty calibration and overall probabilistic verification. <bold>(a)</bold> Seasonal distributions of standardized errors (<inline-formula><mml:math id="M123" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>-scores) for temperature. <bold>(b)</bold> As in <bold>(a)</bold>, but for precipitation amounts on wet days only (observed precipitation <inline-formula><mml:math id="M124" display="inline"><mml:mo>&gt;</mml:mo></mml:math></inline-formula> 0.1 mm; sample size and wet-day fraction indicated in the panel). <inline-formula><mml:math id="M125" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula>-scores are defined as (prediction <inline-formula><mml:math id="M126" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula> observation)<inline-formula><mml:math id="M127" display="inline"><mml:mo>/</mml:mo></mml:math></inline-formula>predicted_std; the red horizontal lines mark <inline-formula><mml:math id="M128" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>1.96, corresponding to the 95 % interval of a standard normal distribution and used as a visual reference for well-calibrated predictions (mean <inline-formula><mml:math id="M129" display="inline"><mml:mo>≈</mml:mo></mml:math></inline-formula> 0, SD <inline-formula><mml:math id="M130" display="inline"><mml:mo>≈</mml:mo></mml:math></inline-formula> 1). <bold>(c)</bold> Precipitation occurrence scores implicitly derived from the marginal predictive distributions: hit rate for rain detection, correct-dry rate, and false-alarm rate (predicting rain when it is dry). <bold>(d)</bold> Empirical coverage of the nominal 1<inline-formula><mml:math id="M131" display="inline"><mml:mi mathvariant="italic">σ</mml:mi></mml:math></inline-formula> and 95 % predictive intervals for temperature and precipitation (wet days), with dashed horizontal lines indicating the expected values of 0.68 and 0.95. <bold>(e)</bold> Continuous Ranked Probability Score (CRPS) for temperature, all-day precipitation, and wet-day precipitation (lower values indicate better probabilistic skill).</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/8895/2026/gmd-19-8895-2026-f07.png"/>

      </fig>

<table-wrap id="T3" specific-use="star"><label>Table 3</label><caption><p id="d2e2277">Summary of probabilistic verification metrics for temperature and precipitation. Metrics are aggregated over all seasons and stations for the three methods (RK, SMACNP Global, SMACNP Localized). For temperature, CRPS quantifies overall probabilistic skill (lower is better), “95 % Cov” is the empirical coverage of the nominal 95 % predictive interval, and “Mean <inline-formula><mml:math id="M132" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula>” is the mean standardized error, with an ideal value of 0. For precipitation detection, scores are computed using an occurrence threshold of 0.1 mm: Hit Rate is the fraction of wet days correctly detected, FAR (false alarm rate) is the fraction of dry days on which rain is predicted, and True Dry is the fraction of dry days correctly forecast as dry. For precipitation intensity, CRPS, 95 % coverage and Mean <inline-formula><mml:math id="M133" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula> are evaluated on wet days only (observed precipitation <inline-formula><mml:math id="M134" display="inline"><mml:mo>&gt;</mml:mo></mml:math></inline-formula> 0.1 mm). An ideal model has low CRPS and FAR, high Hit Rate and True Dry, 95 % Cov close to 0.95, and <inline-formula><mml:math id="M135" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="normal">Mean</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>Z</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula> close to zero. Bold values indicate the best-performing model for each metric.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="12">
     <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"/>
     <oasis:colspec colnum="5" colname="col5" align="right" colsep="1"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:colspec colnum="8" colname="col8" align="right" colsep="1"/>
     <oasis:colspec colnum="9" colname="col9" align="right"/>
     <oasis:colspec colnum="10" colname="col10" align="right"/>
     <oasis:colspec colnum="11" colname="col11" align="right"/>
     <oasis:colspec colnum="12" colname="col12" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Method</oasis:entry>
         <oasis:entry rowsep="1" namest="col2" nameend="col5" align="center" colsep="1">Temperature </oasis:entry>
         <oasis:entry rowsep="1" namest="col6" nameend="col8" align="center" colsep="1">Precipitation (Detection) </oasis:entry>
         <oasis:entry rowsep="1" namest="col9" nameend="col12" align="center">Precipitation (Intensity) </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CRPS</oasis:entry>
         <oasis:entry colname="col3">95 % Cov</oasis:entry>
         <oasis:entry colname="col4">Mean <inline-formula><mml:math id="M136" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">SD <inline-formula><mml:math id="M137" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col6">Hit Rate</oasis:entry>
         <oasis:entry colname="col7">FAR</oasis:entry>
         <oasis:entry colname="col8">True Dry</oasis:entry>
         <oasis:entry colname="col9">CRPS</oasis:entry>
         <oasis:entry colname="col10">95 % Cov</oasis:entry>
         <oasis:entry colname="col11">Mean <inline-formula><mml:math id="M138" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col12">SD <inline-formula><mml:math id="M139" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">RK</oasis:entry>
         <oasis:entry colname="col2">0.717</oasis:entry>
         <oasis:entry colname="col3">0.986</oasis:entry>
         <oasis:entry colname="col4"><bold>–0.031</bold></oasis:entry>
         <oasis:entry colname="col5">0.703</oasis:entry>
         <oasis:entry colname="col6"><bold>0.957</bold></oasis:entry>
         <oasis:entry colname="col7">0.375</oasis:entry>
         <oasis:entry colname="col8">0.625</oasis:entry>
         <oasis:entry colname="col9">2.298</oasis:entry>
         <oasis:entry colname="col10">0.900</oasis:entry>
         <oasis:entry colname="col11"><inline-formula><mml:math id="M140" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.695</oasis:entry>
         <oasis:entry colname="col12">3.152</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">SMACNP (Global)</oasis:entry>
         <oasis:entry colname="col2">0.617</oasis:entry>
         <oasis:entry colname="col3">0.937</oasis:entry>
         <oasis:entry colname="col4">0.136</oasis:entry>
         <oasis:entry colname="col5"><bold>0.995</bold></oasis:entry>
         <oasis:entry colname="col6">0.951</oasis:entry>
         <oasis:entry colname="col7">0.230</oasis:entry>
         <oasis:entry colname="col8">0.770</oasis:entry>
         <oasis:entry colname="col9">2.134</oasis:entry>
         <oasis:entry colname="col10"><bold>0.932</bold></oasis:entry>
         <oasis:entry colname="col11"><inline-formula><mml:math id="M141" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.466</oasis:entry>
         <oasis:entry colname="col12">2.732</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">SMACNP (Localized)</oasis:entry>
         <oasis:entry colname="col2"><bold>0.594</bold></oasis:entry>
         <oasis:entry colname="col3"><bold>0.963</bold></oasis:entry>
         <oasis:entry colname="col4">0.050</oasis:entry>
         <oasis:entry colname="col5">0.874</oasis:entry>
         <oasis:entry colname="col6">0.945</oasis:entry>
         <oasis:entry colname="col7"><bold>0.226</bold></oasis:entry>
         <oasis:entry colname="col8"><bold>0.774</bold></oasis:entry>
         <oasis:entry colname="col9"><bold>2.118</bold></oasis:entry>
         <oasis:entry colname="col10">0.930</oasis:entry>
         <oasis:entry colname="col11"><bold>–0.455</bold></oasis:entry>
         <oasis:entry colname="col12"><bold>1.916</bold></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="T4" specific-use="star"><label>Table 4</label><caption><p id="d2e2581">Climate-relevant precipitation diagnostics at held-out test stations (<inline-formula><mml:math id="M142" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">26</mml:mn></mml:mrow></mml:math></inline-formula>), 2020–2023. Wet-day threshold <inline-formula><mml:math id="M143" display="inline"><mml:mrow><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.0</mml:mn></mml:mrow></mml:math></inline-formula> mm (WMO standard). Frequency and intensity biases are expressed as ratios (<inline-formula><mml:math id="M144" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.0</mml:mn><mml:mo>=</mml:mo></mml:mrow></mml:math></inline-formula> unbiased). R95p, R99p, and Rx1day biases are expressed as percentage deviations from observed values. Bold values indicate the best (closest to unbiased) performance for each diagnostic.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Diagnostic</oasis:entry>
         <oasis:entry colname="col2">RK</oasis:entry>
         <oasis:entry colname="col3">SMACNP Global</oasis:entry>
         <oasis:entry colname="col4">SMACNP Localized</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Wet-day frequency bias (pred/obs)</oasis:entry>
         <oasis:entry colname="col2">1.200</oasis:entry>
         <oasis:entry colname="col3">1.235</oasis:entry>
         <oasis:entry colname="col4"><bold>1.193</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Mean intensity bias (pred/obs)</oasis:entry>
         <oasis:entry colname="col2">0.633</oasis:entry>
         <oasis:entry colname="col3">0.746</oasis:entry>
         <oasis:entry colname="col4"><bold>0.762</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Wet-day MAE (mm)</oasis:entry>
         <oasis:entry colname="col2">3.83</oasis:entry>
         <oasis:entry colname="col3">3.46</oasis:entry>
         <oasis:entry colname="col4"><bold>3.43</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Wet-day RMSE (mm)</oasis:entry>
         <oasis:entry colname="col2">7.03</oasis:entry>
         <oasis:entry colname="col3">6.52</oasis:entry>
         <oasis:entry colname="col4"><bold>6.36</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">R95p bias (%)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M145" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>58.2</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M146" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>53.5</oasis:entry>
         <oasis:entry colname="col4"><bold>–50.9</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">R99p bias (%)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M147" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>66.1</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M148" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>63.3</oasis:entry>
         <oasis:entry colname="col4"><bold>–60.5</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Rx1day bias (%)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M149" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>31.0</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M150" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>33.5</oasis:entry>
         <oasis:entry colname="col4"><bold>–27.2</bold></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e2800">Figure 8 provides a time-series comparison of model performance for daily mean air temperature and total precipitation at the Bacău station (174 m a.m.s.l.) throughout 2023, selected from the test data subset. The figure shows the ground truth observations against the predictions from the three evaluated models.</p>
      <p id="d2e2803">For air temperature, all three models demonstrate a strong ability to capture the seasonal cycle and daily fluctuations, closely tracking the ground truth data. The shaded areas, representing the 95 % predictive intervals, are relatively narrow for all models, indicating a high degree of certainty in their temperature predictions, though the RK intervals are noticeably wider than those of the deep learning models. The MAE values inset in the plot show that the deep learning models outperform the baseline, with SMACNP (Localized) achieving the lowest MAE of 0.468 °C, followed by SMACNP (Global) at 0.488 °C, both improving upon the RK model's MAE of 0.575 °C.</p>
      <p id="d2e2806">The lower panel, illustrating total precipitation, reveals the challenges in modelling this discontinuous variable. While all models capture the timing of major precipitation events, the SMACNP (Localized) model demonstrates the best performance in predicting the magnitude of these events, as evidenced by its lower MAE of 0.663 mm. SMACNP (Global) follows closely with an MAE of 0.687 mm, while the RK model has the highest MAE at 0.789 mm. The 95 % predictive intervals are visibly wider for precipitation than for temperature across all models, reflecting the greater inherent uncertainty in predicting this variable. Notably, the predictive intervals for the deep learning models, particularly SMACNP (Localized), often envelop the observed precipitation peaks more effectively than the RK model, suggesting a more reliable quantification of uncertainty. This is especially apparent during the intense precipitation events observed in September and November.</p>
      <p id="d2e2810">Corresponding time-series comparisons for all other stations in the test set are provided in the Supplement (Figs. S1–S25), demonstrating consistent performance across diverse elevations and locations.</p>

      <fig id="F8" specific-use="star"><label>Figure 8</label><caption><p id="d2e2815">Model performance and uncertainty at Bacău station (174 m a.m.s.l.). Time series comparison of <bold>(a)</bold> daily average temperature and  <bold>(b)</bold> daily total precipitation for the year 2023. Shaded areas represent the 95 % predictive interval for each model's prediction. The inset map shows the location of the station within the study area, marked by a red dot.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/8895/2026/gmd-19-8895-2026-f08.png"/>

      </fig>

</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Discussion</title>
      <p id="d2e2839">This study evaluated the SMACNP architecture – an attentive Conditional Neural Process originally proposed for general meta-learning tasks – as a practical alternative to Regression Kriging for daily climate gridding from a sparse national station network over complex terrain.  The superior performance of the neural process models, particularly for precipitation, can be attributed to their ability to learn complex, non-linear relationships directly from the data. Unlike RK, which relies on a pre-defined linear model for the trend and a stationary variogram for the residuals, deep learning architectures can capture the intricate interplay between topography, location, and climate variables. This is especially critical for precipitation, whose spatial distribution in mountainous terrain is often intermittent, highly localized, and non-stationary conditions that violate the core assumptions of RK and explain its tendency to produce overly smooth and generalized outputs.</p>
      <p id="d2e2842">Among the two deep learning architectures, the good results of the SMACNP with a <italic>localized</italic> encoder highlights the benefit of incorporating a strong structural prior into the model design. This approach aligns with the principles driving recent breakthroughs in global weather forecasting, where models like Google's GraphCast and ECMWF AIFS have demonstrated the importance of effectively capturing local spatial dependencies (Lam et al., 2023; Moldovan et al., 2025). In our application, by restricting the attention mechanism to a <inline-formula><mml:math id="M151" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-NN, the localized encoder is explicitly guided to learn representations based on spatial proximity. This provides a powerful inductive bias for modeling climate variables, contrasting with the more flexible, but less constrained, global attention mechanism of the standard SMACNP. Moreover, the localized configuration offers superior computational efficiency when generating high-resolution grids. By limiting interactions to the <inline-formula><mml:math id="M152" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> nearest neighbours (<inline-formula><mml:math id="M153" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-NN) rather than computing global pairwise correlations, it avoids the quadratic complexity of the global encoder, making it significantly more scalable for producing dense gridded outputs. Building on this, future studies could further enhance the configuration by incorporating explicit graph structures within the encoder. Adopting Graph Neural Network (GNN) architectures would allow for sophisticated message passing between observation points, potentially capturing complex, non-linear spatial dependencies more effectively than the current attention-based neighbourhood aggregation.</p>
      <p id="d2e2869">The practical importance of well-calibrated uncertainty cannot be overstated. For applications such as flood risk assessment or agricultural modelling, an unbiased estimate of the prediction's confidence is as valuable as the prediction itself. Our analysis reveals that only SMACNP (Localized) provides reliable uncertainty estimates across both temperature and precipitation. The severe overconfidence of the RK model's precipitation uncertainties renders them impractical for risk-aware decision-making. Furthermore, the uncertainty quantification of the deep learning models could be enhanced by adopting a deep ensemble approach. As demonstrated in the creation of a global canopy height map from satellite imagery (Lang et al., 2023), training an ensemble of models with different random initializations offers a robust approach to estimate epistemic uncertainty – the model's lack of knowledge in regions or conditions underrepresented in the training data. The variation among ensemble predictions provides a direct measure of model confidence. While the inherent probabilistic design of our SMACNP (Localized) already captures aleatoric uncertainty, combining it with an ensemble strategy would yield a more comprehensive and reliable characterization of total predictive uncertainty, further supporting the adoption of such frameworks for operational climate datasets.</p>
      <p id="d2e2872">Remarkably, the SMACNP models achieved superior accuracy compared to the RK baseline, even though it was constrained to model temperature and precipitation simultaneously. While RK had the advantage of fitting distinct models for each variable, the deep learning approach demonstrated that a unified architecture could leverage shared spatio-temporal features to outperform the specialized, single-variable geostatistical models.</p>
      <p id="d2e2876">An advantage of the multivariate SMACNP framework is its ability to learn shared latent representations across climate variables. Because temperature and precipitation are predicted jointly through shared encoder pathways, the model can implicitly capture cross-variable dependencies, for instance, the coupled effects of topography on temperature lapse rates and orographic precipitation enhancement. In classical geostatistics, such dependencies can be exploited through co-kriging, which models cross-variograms between variables. The deep learning approach achieves a similar effect but extends to nonlinear relationships and scales naturally to additional variables (e.g., wind speed, humidity) through additional output heads, without requiring separate models or the estimation of additional cross-variogram parameters. While we do not present a formal univariate ablation in this study, we note that training separate single-variable models is straightforward within the SMACNP framework, and such a comparison would help quantify the benefit of joint variable learning for climate gridding.</p>
      <p id="d2e2879">The SMACNP model is designed for temporal transferability. Because the model is conditioned on actual station observations at each prediction step, it learns a spatial interpolation function that is largely independent of the specific training period. The topography-climate relationships captured by the encoder are expected to remain valid for periods outside the 2020–2023 training window, provided that the station network density and the underlying spatial structure of the climate fields do not change substantially. Extending the training period to include additional years would improve the model's exposure to rare events and extreme values, and is a priority for future development.</p>
      <p id="d2e2882">It is also pertinent to address the architectural selection for this study. During the initial phases, we evaluated other neural process variants, including the ConvCNP and GriddedTNP. However, these models failed to yield satisfactory results under the strict constraints of our experimental setup; the combination of a very sparse observation network (130 stations) and the exclusion of dynamic covariates appeared to hinder the ability of these architectures to resolve local features effectively. While GriddedTNP is designed to scale efficiently to large datasets, it likely struggled to construct a robust latent grid representation from such sparse inputs. The SMACNP architecture proved suited to this data-scarce regime because its attention mechanism explicitly models directly the relationship between specific context and target points based on topographic similarity, rather than relying on grid-based projections or convolutions that typically require denser data to perform optimally.</p>
      <p id="d2e2885">It is important to acknowledge the limitations of this study. Our analysis was intentionally restricted to static, topographically-derived predictors to ensure the developed models are applicable to long-term historical datasets where dynamic covariates like satellite imagery products are unavailable. The inclusion of dynamic predictors could further enhance model performance for modern periods. Also, the evaluation is restricted to a single country. Although Romania presents a demanding combination of topographic complexity, station sparsity, and mixed precipitation regimes, the generalizability of the results to other climatic regions and station network configurations remains to be demonstrated. In particular, the relative advantage of the localized attention mechanism may depend on factors such as station density, the dominant spatial scales of variability, and the degree of topographic control on the target variables. Extending the framework to additional countries or continental-scale networks, and assessing its performance under different data availability conditions, is a priority for future work. A more extensive comparison with alternative nonlinear machine-learning and hybrid machine-learning–geostatistical methods would be useful in future work, particularly if both point-wise accuracy and spatial characteristics of the resulting grids are evaluated.</p>
</sec>
<sec id="Ch1.S6" sec-type="conclusions">
  <label>6</label><title>Conclusions</title>
      <p id="d2e2896">In this study, we evaluated and compared a traditional geostatistical interpolation method, Regression Kriging (RK), with two advanced deep learning models, the Spatial Multi-Attention Conditional Neural Process (SMACNP) with Localized and Global encoders, for producing daily gridded fields of air temperature and precipitation from a very sparse station network in Romania.</p>
      <p id="d2e2899">The primary conclusions of this work are as follows:</p>
      <p id="d2e2902"><list list-type="order">
          <list-item>

      <p id="d2e2907">Deep learning models substantially outperform the geostatistical baseline. Both SMACNP configurations demonstrated significantly higher accuracy than RK for both climate variables. The performance gains were particularly large for precipitation, where the neural process models were better able to capture the complex, non-linear, and heterogeneous spatial patterns inherent to rainfall in a topographically diverse region.</p>
          </list-item>
          <list-item>

      <p id="d2e2913">SMACNP (Localized) is the most robust and highest-performing model. Our study identifies this specific configuration as a novel and highly effective approach for sparse data interpolation.  By explicitly leveraging local neighbourhood structure via a localized encoder, the SMACNP (Localized) model consistently achieved the best or near-best performance across most evaluation metrics and seasons. It excelled at creating detailed and realistic spatial fields while minimizing prediction errors.</p>
          </list-item>
          <list-item>

      <p id="d2e2919">Probabilistic deep learning provides superior uncertainty quantification. A key advantage of the neural process framework is its native ability to provide probabilistic predictions. The SMACNP (Localized) model, in particular, produced well-calibrated and reliable uncertainty estimates for both temperature and precipitation. In contrast, the RK model's precipitation uncertainty estimates showed signs of overconfidence, reducing their reliability.</p>
          </list-item>
        </list></p>
      <p id="d2e2924">Our findings demonstrate that a unified deep learning framework can outperform specialized univariate geostatistical models, effectively leveraging shared spatio-temporal patterns to improve accuracy across multiple climate variables simultaneously. The ability of these models to learn from data to represent complex spatial dependencies, combined with their capacity for reliable uncertainty estimation, makes them exceptionally well-suited for the development of high-quality gridded climate datasets. The results of this study provide a strong methodological foundation for the future production of a new, long-term, high-resolution daily climate dataset.</p>
</sec>

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

<app id="App1.Ch1.S1">
  <label>Appendix A</label><title>Regression Kriging Formulation</title>
      <p id="d2e2938">The temperature <inline-formula><mml:math id="M154" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula> at a location <inline-formula><mml:math id="M155" display="inline"><mml:mi>s</mml:mi></mml:math></inline-formula> is modeled as the sum of a deterministic trend <inline-formula><mml:math id="M156" display="inline"><mml:mrow><mml:mi>m</mml:mi><mml:mfenced open="(" close=")"><mml:mi>s</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula> and a stochastic, spatially correlated residual <inline-formula><mml:math id="M157" display="inline"><mml:mrow><mml:mi>R</mml:mi><mml:mfenced open="(" close=")"><mml:mi>s</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula>:

          <disp-formula id="App1.Ch1.S1.E2" content-type="numbered"><label>A1</label><mml:math id="M158" display="block"><mml:mrow><mml:mi>Z</mml:mi><mml:mfenced close=")" open="("><mml:mi>s</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:mi>m</mml:mi><mml:mfenced close=")" open="("><mml:mi>s</mml:mi></mml:mfenced><mml:mo>+</mml:mo><mml:mi>R</mml:mi><mml:mfenced close=")" open="("><mml:mi>s</mml:mi></mml:mfenced></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e3001">The prediction <inline-formula><mml:math id="M159" display="inline"><mml:mrow><mml:mover accent="true"><mml:mi>Z</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> at a target location <inline-formula><mml:math id="M160" display="inline"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is derived in three steps: <list list-type="order"><list-item>
      <p id="d2e3035">The trend <inline-formula><mml:math id="M161" display="inline"><mml:mrow><mml:mi>m</mml:mi><mml:mfenced open="(" close=")"><mml:mi>s</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula> is estimated using a multiple linear regression model based on a set of <inline-formula><mml:math id="M162" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> predictor variables <inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mi>s</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula>. The estimated trend <inline-formula><mml:math id="M164" display="inline"><mml:mrow><mml:mover accent="true"><mml:mi>m</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mfenced close=")" open="("><mml:mi>s</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula> is:<disp-formula id="App1.Ch1.S1.E3" content-type="numbered"><label>A2</label><mml:math id="M165" display="block"><mml:mrow><mml:mover accent="true"><mml:mi>m</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mfenced open="(" close=")"><mml:mi>s</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">β</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>p</mml:mi></mml:munderover><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">β</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi>k</mml:mi></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mi>s</mml:mi></mml:mfenced></mml:mrow></mml:math></disp-formula>where <inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">β</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the regression coefficients fitted using the data at the station locations.</p></list-item><list-item>
      <p id="d2e3154">The residuals at the <inline-formula><mml:math id="M167" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> station locations <inline-formula><mml:math id="M168" display="inline"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are calculated as:</p>
      <p id="d2e3175"><disp-formula id="App1.Ch1.S1.E4" content-type="numbered"><label>A3</label><mml:math id="M169" display="block"><mml:mrow><mml:mi>R</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mi>Z</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:mover accent="true"><mml:mi>m</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e3216">These residuals are then interpolated to the target location <inline-formula><mml:math id="M170" display="inline"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> using ordinary kriging (OK). The kriged residual <inline-formula><mml:math id="M171" display="inline"><mml:mrow><mml:mover accent="true"><mml:mi>R</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> is a weighted average of the observed residuals:<disp-formula id="App1.Ch1.S1.E5" content-type="numbered"><label>A4</label><mml:math id="M172" display="block"><mml:mrow><mml:mover accent="true"><mml:mi>R</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:msub><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mi>R</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula>where the weights <inline-formula><mml:math id="M173" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> come from the kriging system. The kriging weights are obtained from a spherical semi-variogram model fitted to the residuals for each daily field independently. The spherical model is defined as:<disp-formula id="App1.Ch1.S1.E6" content-type="numbered"><label>A5</label><mml:math id="M174" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="italic">γ</mml:mi><mml:mfenced open="(" close=")"><mml:mi>h</mml:mi></mml:mfenced></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mfenced close="]" open="["><mml:mrow><mml:mn mathvariant="normal">1.5</mml:mn><mml:mfenced close=")" open="("><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>h</mml:mi><mml:mi>a</mml:mi></mml:mfrac></mml:mstyle></mml:mfenced><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn><mml:msup><mml:mfenced close=")" open="("><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>h</mml:mi><mml:mi>a</mml:mi></mml:mfrac></mml:mstyle></mml:mfenced><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi mathvariant="normal">for</mml:mi><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mn mathvariant="normal">0</mml:mn><mml:mo>&lt;</mml:mo><mml:mi>h</mml:mi><mml:mo>≤</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mfenced close=")" open="("><mml:mi>h</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mi mathvariant="normal">for</mml:mi><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mi>h</mml:mi><mml:mo>&gt;</mml:mo><mml:mi>a</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the nugget, <inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the partial sill, and <inline-formula><mml:math id="M177" display="inline"><mml:mi>a</mml:mi></mml:math></inline-formula> is the range parameter. These parameters are estimated via weighted least-squares fitting (Murphy et al., 2025) separately for every daily residual field, allowing the spatial correlation structure to adapt to the day-to-day variability in the data. Because the variogram is re-fitted daily, we do not report fixed parameter values; rather, the semi-variogram captures the evolving spatial structure of the regression residuals across the time series.</p></list-item><list-item>
      <p id="d2e3451">The final temperature prediction is the sum of the estimated trend and the kriged residual:<disp-formula id="App1.Ch1.S1.E7" content-type="numbered"><label>A6</label><mml:math id="M178" display="block"><mml:mrow><mml:mover accent="true"><mml:mi>Z</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mi>m</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:mover accent="true"><mml:mi>R</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e3499">A hurdle model is used for precipitation <inline-formula><mml:math id="M179" display="inline"><mml:mrow><mml:mi>Y</mml:mi><mml:mfenced close=")" open="("><mml:mi>s</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula>, which separates the process into two parts: the probability of rain and the amount of rain if it occurs. The final prediction <inline-formula><mml:math id="M180" display="inline"><mml:mrow><mml:mover accent="true"><mml:mi>Y</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> is the statistical expectation:<disp-formula id="App1.Ch1.S1.E8" content-type="numbered"><label>A7</label><mml:math id="M181" display="block"><mml:mrow><mml:mover accent="true"><mml:mi>Y</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mi>P</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>Y</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mfenced><mml:mo>⋅</mml:mo><mml:mi>E</mml:mi><mml:mfenced open="[" close="]"><mml:mrow><mml:mi>Y</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>|</mml:mo><mml:mi>Y</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e3597">Probability of precipitation <inline-formula><mml:math id="M182" display="inline"><mml:mrow><mml:mi>P</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>Y</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> is estimated using a logistic regression model. The probability <inline-formula><mml:math id="M183" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mfenced close=")" open="("><mml:mi>s</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula> at a location <inline-formula><mml:math id="M184" display="inline"><mml:mi>s</mml:mi></mml:math></inline-formula> is modeled as:<disp-formula id="App1.Ch1.S1.E9" content-type="numbered"><label>A8</label><mml:math id="M185" display="block"><mml:mrow><mml:mi mathvariant="normal">logit</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>p</mml:mi><mml:mfenced open="(" close=")"><mml:mi>s</mml:mi></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mi mathvariant="normal">log</mml:mi><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>p</mml:mi><mml:mfenced open="(" close=")"><mml:mi>s</mml:mi></mml:mfenced></mml:mrow><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>p</mml:mi><mml:mfenced close=")" open="("><mml:mi>s</mml:mi></mml:mfenced></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">γ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>p</mml:mi></mml:munderover><mml:msub><mml:mi mathvariant="italic">γ</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mi>s</mml:mi></mml:mfenced></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e3715">The predicted probability <inline-formula><mml:math id="M186" display="inline"><mml:mrow><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> at the target location is the output of this model. The amount of precipitation, conditioned on rain occurring <inline-formula><mml:math id="M187" display="inline"><mml:mrow><mml:mi>E</mml:mi><mml:mfenced open="[" close="]"><mml:mrow><mml:mi>Y</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>|</mml:mo><mml:mi>Y</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></inline-formula> is modeled using RK on log-transformed data for rainy stations only  <inline-formula><mml:math id="M188" display="inline"><mml:mrow><mml:mi>L</mml:mi><mml:mfenced open="(" close=")"><mml:mi>s</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:mi mathvariant="normal">log</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>Y</mml:mi><mml:mfenced open="(" close=")"><mml:mi>s</mml:mi></mml:mfenced><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>. The process mirrors the RK model for temperature:</p>
      <p id="d2e3798"><list list-type="custom"><list-item><label>1.</label>
      <p id="d2e3802">A linear model is fitted for <inline-formula><mml:math id="M189" display="inline"><mml:mrow><mml:mi>L</mml:mi><mml:mfenced close=")" open="("><mml:mi>s</mml:mi></mml:mfenced></mml:mrow></mml:math></inline-formula> at rainy stations:</p>
      <p id="d2e3816"><disp-formula id="App1.Ch1.S1.E10" content-type="numbered"><label>A9</label><mml:math id="M190" display="block"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>m</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi>L</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mi>s</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">α</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>p</mml:mi></mml:munderover><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">α</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi>k</mml:mi></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mi>s</mml:mi></mml:mfenced></mml:mrow></mml:math></disp-formula></p></list-item><list-item><label>2.</label>
      <p id="d2e3875">Residuals <inline-formula><mml:math id="M191" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mi>L</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>m</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi>L</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> are computed and kriged to get <inline-formula><mml:math id="M192" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>R</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi>L</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula></p></list-item><list-item><label>3.</label>
      <p id="d2e3945">Prediction (Log-scale):<disp-formula id="App1.Ch1.S1.E11" content-type="numbered"><label>A10</label><mml:math id="M193" display="block"><mml:mrow><mml:mover accent="true"><mml:mi>L</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>m</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>L</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>R</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi>L</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e3999">The predicted amount is obtained by back-transforming the result: <inline-formula><mml:math id="M194" display="inline"><mml:mrow><mml:mi mathvariant="normal">exp</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mover accent="true"><mml:mi>L</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula></p></list-item><list-item><label>4.</label>
      <p id="d2e4028">The final precipitation prediction is the product of the two parts:<disp-formula id="App1.Ch1.S1.E12" content-type="numbered"><label>A11</label><mml:math id="M195" display="block"><mml:mrow><mml:mover accent="true"><mml:mi>Y</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:mo>⋅</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="normal">exp</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mover accent="true"><mml:mi>L</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula></p></list-item></list></p></list-item></list></p>
</app>

<app id="App1.Ch1.S2">
  <label>Appendix B</label><title>Hyperparameter Optimization Details</title>
      <p id="d2e4094">SMACNP (Global Encoder):</p>
      <p id="d2e4097"><list list-type="bullet">
          <list-item>

      <p id="d2e4102">Embedding Dimensions (r_dim, v_dim): categorical [64, 128, 256, 512]</p>
          </list-item>
          <list-item>

      <p id="d2e4108">Location Encoder Dimension (w_dim): categorical [64, 128, 256, 512]</p>
          </list-item>
          <list-item>

      <p id="d2e4114">Hidden Size: categorical [256, 512, 1024]</p>
          </list-item>
          <list-item>

      <p id="d2e4120">Attention Heads: categorical [4, 8, 16]</p>
          </list-item>
          <list-item>

      <p id="d2e4126">MLP Layers: categorical [2, 3]</p>
          </list-item>
          <list-item>

      <p id="d2e4133">Dropout Rate: float [0.1, 0.3] with a step of 0.05</p>
          </list-item>
          <list-item>

      <p id="d2e4139">Laplace Distance (<inline-formula><mml:math id="M196" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>): categorical [1.0, 2.0]</p>
          </list-item>
          <list-item>

      <p id="d2e4152">Learning Rate: float [1e-5, 5e-4] (log scale)</p>
          </list-item>
        </list></p>
      <p id="d2e4157">SMACNP (Localized Encoder):</p>
      <p id="d2e4160"><list list-type="bullet">
          <list-item>

      <p id="d2e4165">Embedding Dimensions (r_dim, v_dim): categorical [64, 128, 256, 512]</p>
          </list-item>
          <list-item>

      <p id="d2e4171">Location Encoder Dimension (w_dim): categorical [64, 128, 256, 512]</p>
          </list-item>
          <list-item>

      <p id="d2e4177">Hidden Size: categorical [256, 512, 1024]</p>
          </list-item>
          <list-item>

      <p id="d2e4183">Attention Heads: categorical [4, 8, 16]</p>
          </list-item>
          <list-item>

      <p id="d2e4189">MLP Layers: categorical [2, 3]</p>
          </list-item>
          <list-item>

      <p id="d2e4196">Dropout Rate: float [0.1, 0.3] with a step of 0.05</p>
          </list-item>
          <list-item>

      <p id="d2e4202">Localized Neighbors (<inline-formula><mml:math id="M197" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>): categorical [15, 20, 25, 30]</p>
          </list-item>
          <list-item>

      <p id="d2e4215">Laplace Distance (<inline-formula><mml:math id="M198" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>): categorical [1.0, 2.0]</p>
          </list-item>
          <list-item>

      <p id="d2e4228">Learning Rate: float [<inline-formula><mml:math id="M199" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M200" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>] (log scale)</p>
          </list-item>
        </list></p>

<table-wrap id="TB1" specific-use="star"><label>Table B1</label><caption><p id="d2e4273">Optimal hyperparameters selected via TPE optimization for the Global and Localized SMACNP configurations. n/a – not applicable.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Hyperparameter</oasis:entry>
         <oasis:entry colname="col2">SMACNP (Global)</oasis:entry>
         <oasis:entry colname="col3">SMACNP (Localized)</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Embedding Dimensions</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Representation (r_dim)</oasis:entry>
         <oasis:entry colname="col2">128</oasis:entry>
         <oasis:entry colname="col3">64</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Location (w_dim)</oasis:entry>
         <oasis:entry colname="col2">64</oasis:entry>
         <oasis:entry colname="col3">256</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Variance (v_dim)</oasis:entry>
         <oasis:entry colname="col2">256</oasis:entry>
         <oasis:entry colname="col3">512</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Hidden Size</oasis:entry>
         <oasis:entry colname="col2">512</oasis:entry>
         <oasis:entry colname="col3">512</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Architecture</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Attention Heads</oasis:entry>
         <oasis:entry colname="col2">16</oasis:entry>
         <oasis:entry colname="col3">8</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">MLP Layers</oasis:entry>
         <oasis:entry colname="col2">2</oasis:entry>
         <oasis:entry colname="col3">3</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Regularization &amp; Training</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Dropout Rate</oasis:entry>
         <oasis:entry colname="col2">0.1</oasis:entry>
         <oasis:entry colname="col3">0.1</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Layer Normalization</oasis:entry>
         <oasis:entry colname="col2">False</oasis:entry>
         <oasis:entry colname="col3">False</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Learning Rate</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M201" display="inline"><mml:mrow><mml:mn mathvariant="normal">4.93</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M202" display="inline"><mml:mrow><mml:mn mathvariant="normal">4.19</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Encoder-Specific</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Neighbors (<inline-formula><mml:math id="M203" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col2">n/a</oasis:entry>
         <oasis:entry colname="col3">15</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Distance (<inline-formula><mml:math id="M204" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col2">1.0 (Manhattan)</oasis:entry>
         <oasis:entry colname="col3">1.0 (Manhattan)</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>


</app>

<app id="App1.Ch1.S3">
  <label>Appendix C</label><title>SMACNP Mathematical Formulation</title>
<sec id="App1.Ch1.S3.SS1">
  <label>C1</label><title>Laplace Attention (Spatial Pathway)</title>
      <p id="d2e4542">The spatial pathway computes distance-based attention weights using a Laplace kernel with a configurable <inline-formula><mml:math id="M205" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> norm:

            <disp-formula id="App1.Ch1.S3.E13" content-type="numbered"><label>C1</label><mml:math id="M206" display="block"><mml:mrow><mml:mi>w</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="normal">softmax</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mfenced close="]" open="["><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="italic">τ</mml:mi><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>|</mml:mo><mml:msub><mml:mo>|</mml:mo><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M207" display="inline"><mml:mi mathvariant="italic">τ</mml:mi></mml:math></inline-formula> is a learnable temperature parameter and <inline-formula><mml:math id="M208" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> selects between <inline-formula><mml:math id="M209" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (Manhattan, <inline-formula><mml:math id="M210" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>) or <inline-formula><mml:math id="M211" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (Euclidean, <inline-formula><mml:math id="M212" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>) distance. The weighted representation is:

            <disp-formula id="App1.Ch1.S3.E14" content-type="numbered"><label>C2</label><mml:math id="M213" display="block"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>i</mml:mi></mml:munder><mml:mi>w</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>⋅</mml:mo><mml:mi mathvariant="normal">MLP</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="App1.Ch1.S3.SS2">
  <label>C2</label><title>Multi-Head Cross-Attention (Attribute and Variance Pathways)</title>
      <p id="d2e4734">The attribute and variance pathways use standard Multi-Head Attention. For a single head, the operation is defined as:

            <disp-formula id="App1.Ch1.S3.E15" content-type="numbered"><label>C3</label><mml:math id="M214" display="block"><mml:mrow><mml:mi mathvariant="normal">Attention</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="bold">Q</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold">K</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold">V</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mi mathvariant="normal">softmax</mml:mi><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mi mathvariant="bold">QK</mml:mi><mml:mi>T</mml:mi></mml:msup></mml:mrow><mml:msqrt><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:msqrt></mml:mfrac></mml:mstyle></mml:mfenced><mml:mi mathvariant="bold">V</mml:mi></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M215" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the dimension of the keys. The input sets for <inline-formula><mml:math id="M216" display="inline"><mml:mi mathvariant="bold">Q</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M217" display="inline"><mml:mi mathvariant="bold">K</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M218" display="inline"><mml:mi mathvariant="bold">V</mml:mi></mml:math></inline-formula> differ between the Global and Localized configurations and between the attribute and variance pathways, as described in Sect. 3.2 (Table 1). For the variance pathway, observations (<inline-formula><mml:math id="M219" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>) are excluded from <inline-formula><mml:math id="M220" display="inline"><mml:mi mathvariant="bold">V</mml:mi></mml:math></inline-formula> in both configurations. </p>
</sec>
<sec id="App1.Ch1.S3.SS3">
  <label>C3</label><title>Output Distributions</title>
      <p id="d2e4835">The temperature head parameterizes a Gaussian distribution:

            <disp-formula id="App1.Ch1.S3.E16" content-type="numbered"><label>C4</label><mml:math id="M221" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi>p</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi mathvariant="normal">temp</mml:mi></mml:msub><mml:mo>|</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mi mathvariant="script">N</mml:mi><mml:mfenced open="(" close=""><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi mathvariant="normal">temp</mml:mi></mml:msub><mml:mo>;</mml:mo><mml:mspace linebreak="nobreak" width="0.25em"/><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">temp</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced open="" close=")"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">temp</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e4933">The mean decoder uses a linear output activation; the variance decoder applies Softplus:

            <disp-formula id="App1.Ch1.S3.E17" content-type="numbered"><label>C5</label><mml:math id="M222" display="block"><mml:mrow><mml:msup><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>=</mml:mo><mml:mi mathvariant="normal">log</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi mathvariant="normal">exp</mml:mi><mml:mfenced open="(" close=")"><mml:mo>⋅</mml:mo></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula>

          The precipitation head employs a hurdle model:</p>
      <p id="d2e4962"><list list-type="bullet">
            <list-item>

      <p id="d2e4967">Occurrence Model (Bernoulli):

                  <disp-formula id="App1.Ch1.S3.E18" content-type="numbered"><label>C6</label><mml:math id="M223" display="block"><mml:mrow><mml:mi>p</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>y</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>|</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mi mathvariant="italic">σ</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="normal">logit</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula></p>

      <p id="d2e5021">where <inline-formula><mml:math id="M224" display="inline"><mml:mi mathvariant="italic">σ</mml:mi></mml:math></inline-formula> is the sigmoid function.</p>
            </list-item>
          </list>Amount model in normalized log-transformed space:

            <disp-formula id="App1.Ch1.S3.E19" content-type="numbered"><label>C7</label><mml:math id="M225" display="block"><mml:mrow><mml:mi>p</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mi>z</mml:mi><mml:mo>∣</mml:mo><mml:mi>y</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mi mathvariant="script">N</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>z</mml:mi><mml:mo>;</mml:mo><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="normal">prec</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfenced><mml:mo>,</mml:mo><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">prec</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="App1.Ch1.S3.SS4">
  <label>C4</label><title>Loss Functions</title>
      <p id="d2e5129">The total training loss is a weighted combination:

            <disp-formula id="App1.Ch1.S3.E20" content-type="numbered"><label>C8</label><mml:math id="M226" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mi mathvariant="normal">total</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mi mathvariant="normal">temp</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mi mathvariant="normal">precip</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e5156">Temperature loss  uses a standard Gaussian negative log-likelihood:

            <disp-formula id="App1.Ch1.S3.E21" content-type="numbered"><label>C9</label><mml:math id="M227" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mi mathvariant="normal">temp</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>N</mml:mi></mml:mfrac></mml:mstyle><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>i</mml:mi></mml:munder><mml:mfenced open="[" close="]"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">log</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>i</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:mfenced></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>i</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula>

          
          Precipitation loss uses a weighted sum of the occurrence and amount components:

            <disp-formula id="App1.Ch1.S3.E22" content-type="numbered"><label>C10</label><mml:math id="M228" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mi mathvariant="normal">precip</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">occ</mml:mi></mml:msub><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mi mathvariant="normal">BCE</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">amt</mml:mi></mml:msub><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mi mathvariant="normal">amount</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula>

          where:

                <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M229" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="App1.Ch1.S3.E23"><mml:mtd><mml:mtext>C11</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mi mathvariant="normal">BCE</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>N</mml:mi></mml:mfrac></mml:mstyle><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>i</mml:mi></mml:munder><mml:mfenced close="" open="["><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">pos</mml:mi></mml:msub><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="double-struck">I</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>⋅</mml:mo><mml:mi mathvariant="normal">log</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="double-struck">I</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced close="]" open=""><mml:mrow><mml:mo>⋅</mml:mo><mml:mi mathvariant="normal">log</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="App1.Ch1.S3.E24"><mml:mtd><mml:mtext>C12</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mi mathvariant="normal">amount</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi mathvariant="normal">rain</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>:</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:munder><mml:mfenced close="]" open="["><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">log</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>i</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:mfenced></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>i</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="normal">MinMax</mml:mi><mml:mfenced open="[" close="]"><mml:mrow><mml:mi mathvariant="normal">log</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

          Here <inline-formula><mml:math id="M230" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="double-struck">I</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is an indicator function equal to 1 if precipitation is observed (<inline-formula><mml:math id="M231" display="inline"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>), BCE denotes binary cross-entropy, and <inline-formula><mml:math id="M232" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">occ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M233" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">amt</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are weights balancing the two components.</p>
      <p id="d2e5548">To address the imbalance between rainy and dry days, the BCE loss incorporates a positive class weight:

            <disp-formula id="App1.Ch1.S3.E25" content-type="numbered"><label>C13</label><mml:math id="M234" display="block"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">pos</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="normal">min</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi mathvariant="normal">dry</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi mathvariant="normal">rain</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mo>max⁡</mml:mo></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M235" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mo>max⁡</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula> is a cap to prevent instability when very few rainy days are present in a batch.</p>
</sec>
</app>
  </app-group><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d2e5605">The source code developed for this study (SMACNP architectures: Global and Localized; Regression Kriging baseline; and training scripts) is publicly available on GitHub and archived on Zenodo: <uri>https://github.com/alexdum/climate-gridder</uri> (last access: 16 September 2026); <ext-link xlink:href="https://doi.org/10.5281/zenodo.18763498" ext-link-type="DOI">10.5281/zenodo.18763498</ext-link> (Dumitrescu, 2026). The homogenized daily air temperature and precipitation dataset (2020–2023) used for model development and evaluation, together with station metadata, is openly available via Zenodo at <ext-link xlink:href="https://doi.org/10.5281/zenodo.14880417" ext-link-type="DOI">10.5281/zenodo.14880417</ext-link> (Dumitrescu, 2025).</p>
  </notes><app-group>
        <supplementary-material position="anchor"><p id="d2e5617">The supplement related to this article is available online at <inline-supplementary-material xlink:href="https://doi.org/10.5194/gmd-19-8895-2026-supplement" xlink:title="pdf">https://doi.org/10.5194/gmd-19-8895-2026-supplement</inline-supplementary-material>.</p></supplementary-material>
        </app-group><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e5626">The contact author has declared that there are no competing interests.</p>
  </notes><notes notes-type="disclaimer"><title>Disclaimer</title>

      <p id="d2e5632">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="d2e5638">This work was supported by the Restore4Life project (“Restoration of wetland complexes as life supporting systems in the Danube Basin”), funded by the European Union's Horizon Europe research and innovation programme under Grant Agreement no. 101112736. The author used Grammarly to refine the phrasing and correct grammatical errors in the text. The author reviewed and takes full responsibility for the final content.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e5643">This research has been supported by the European Union Horizon Europe Programme, under Grant agreement no. 101112736.</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d2e5650">This paper was edited by Jesse Norris and reviewed by Karandeep Singh and one anonymous referee.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bib1"><label>1</label><mixed-citation>Akiba, T., Sano, S., Yanase, T., Ohta, T., and Koyama, M.: Optuna: A Next-generation Hyperparameter Optimization Framework, in: Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2623–2631, <ext-link xlink:href="https://doi.org/10.1145/3292500.3330701" ext-link-type="DOI">10.1145/3292500.3330701</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bib2"><label>2</label><mixed-citation>Appelhans, T., Mwangomo, E., Hardy, D. R., Hemp, A., and Nauss, T.: Evaluating machine learning approaches for the interpolation of monthly air temperature at Mt. Kilimanjaro, Tanzania, Spat. Stat., 14, 91–113, <ext-link xlink:href="https://doi.org/10.1016/j.spasta.2015.05.008" ext-link-type="DOI">10.1016/j.spasta.2015.05.008</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bib3"><label>3</label><mixed-citation>Ashman, M., Diaconu, C., Langezaal, E., Weller, A., and Turner, R. E.: Gridded Transformer Neural Processes for Large Unstructured Spatio-Temporal Data, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.2410.06731" ext-link-type="DOI">10.48550/arXiv.2410.06731</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib4"><label>4</label><mixed-citation>Bao, L.-L., Zhang, C.-X., Zhang, J.-S., and Guo, R.: A two-stage spatial prediction modeling approach based on graph neural networks and neural processes, Expert Syst. Appl., 258, 125173, <ext-link xlink:href="https://doi.org/10.1016/j.eswa.2024.125173" ext-link-type="DOI">10.1016/j.eswa.2024.125173</ext-link>, 2024a.</mixed-citation></ref>
      <ref id="bib1.bib5"><label>5</label><mixed-citation>Bao, L.-L., Zhang, J.-S., and Zhang, C.-X.: Spatial multi-attention conditional neural processes, Neural Netw., 173, 106201, <ext-link xlink:href="https://doi.org/10.1016/j.neunet.2024.106201" ext-link-type="DOI">10.1016/j.neunet.2024.106201</ext-link>, 2024b.</mixed-citation></ref>
      <ref id="bib1.bib6"><label>6</label><mixed-citation>Carr, A. and Wingate, D.: Graph Neural Processes: Towards Bayesian Graph Neural Networks, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.1902.10042" ext-link-type="DOI">10.48550/arXiv.1902.10042</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bib7"><label>7</label><mixed-citation>Daly, C., Neilson, R. P., and Phillips, D. L.: A Statistical-Topographic Model for Mapping Climatological Precipitation over Mountainous Terrain, J. Appl. Meteorol., 33, 140–158, <ext-link xlink:href="https://doi.org/10.1175/1520-0450(1994)033&lt;0140:ASTMFM&gt;2.0.CO;2" ext-link-type="DOI">10.1175/1520-0450(1994)033&lt;0140:ASTMFM&gt;2.0.CO;2</ext-link>, 1994.</mixed-citation></ref>
      <ref id="bib1.bib8"><label>8</label><mixed-citation>Daly, C., Halbleib, M., Smith, J. I., Gibson, W. P., Doggett, M. K., Taylor, G. H., Curtis, J., and Pasteris, P. P.: Physiographically sensitive mapping of climatological temperature and precipitation across the conterminous United States, Int. J. Climatol., 28, 2031–2064, <ext-link xlink:href="https://doi.org/10.1002/joc.1688" ext-link-type="DOI">10.1002/joc.1688</ext-link>, 2008.</mixed-citation></ref>
      <ref id="bib1.bib9"><label>9</label><mixed-citation>Diggle, P. J. and Ribeiro, P. J.: Model-based Geostatistics, Springer New York, New York, NY, <ext-link xlink:href="https://doi.org/10.1007/978-0-387-48536-2" ext-link-type="DOI">10.1007/978-0-387-48536-2</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bib10"><label>10</label><mixed-citation>Dosovitskiy, A., Beyer, L., Kolesnikov, A., Weissenborn, D., Zhai, X., Unterthiner, T., Dehghani, M., Minderer, M., Heigold, G., Gelly, S., Uszkoreit, J., and Houlsby, N.: An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale,  arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/ARXIV.2010.11929" ext-link-type="DOI">10.48550/ARXIV.2010.11929</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bib11"><label>11</label><mixed-citation>Dumitrescu, A.: RoCliHom – Long-term homogenized air temperature and precipitation datasets in Romania, 1901–2023 (1.0.0),  Zenodo [data set], <ext-link xlink:href="https://doi.org/10.5281/ZENODO.14880417" ext-link-type="DOI">10.5281/ZENODO.14880417</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib12"><label>12</label><mixed-citation>Dumitrescu, A.: Climate Gridder: SMACNP and Regression Kriging for Climate Field Construction, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.18763498" ext-link-type="DOI">10.5281/zenodo.18763498</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bib13"><label>13</label><mixed-citation>Dumitrescu, A., Micu, D., Guijarro, J., Manea, A., and Cheval, S.: Long-term homogenized air temperature and precipitation datasets in Romania, 1901–2023, Sci. Data, 12, 1116, <ext-link xlink:href="https://doi.org/10.1038/s41597-025-05371-4" ext-link-type="DOI">10.1038/s41597-025-05371-4</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib14"><label>14</label><mixed-citation>Garnelo, M., Rosenbaum, D., Maddison, C., Ramalho, T., Saxton, D., Shanahan, M., Teh, Y. W., Rezende, D., and Eslami, S. A.: Conditional neural processes, in: International conference on machine learning, 1704–1713, <ext-link xlink:href="https://doi.org/10.48550/arXiv.1807.01613" ext-link-type="DOI">10.48550/arXiv.1807.01613</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bib15"><label>15</label><mixed-citation>Gordon, J., Bruinsma, W. P., Foong, A. Y. K., Requeima, J., Dubois, Y., and Turner, R. E.: Convolutional Conditional Neural Processes, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/ARXIV.1910.13556" ext-link-type="DOI">10.48550/ARXIV.1910.13556</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bib16"><label>16</label><mixed-citation>Hengl, T., Heuvelink, G. B., and Rossiter, D. G.: About regression-kriging: from equations to case studies, Comput. Geosci., 33, 1301–1315, 2007.</mixed-citation></ref>
      <ref id="bib1.bib17"><label>17</label><mixed-citation>Hijmans, R. J., Cameron, S. E., Parra, J. L., Jones, P. G., and Jarvis, A.: Very high resolution interpolated climate surfaces for global land areas, Int. J. Climatol., 25, 1965–1978, <ext-link xlink:href="https://doi.org/10.1002/joc.1276" ext-link-type="DOI">10.1002/joc.1276</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bib18"><label>18</label><mixed-citation>Iwase, K. and Takenawa, T.: Interpolation of mountain weather forecasts by machine learning, arXiv [preprint],  <ext-link xlink:href="https://doi.org/10.48550/arXiv.2308.13983" ext-link-type="DOI">10.48550/arXiv.2308.13983</ext-link>,  2024.</mixed-citation></ref>
      <ref id="bib1.bib19"><label>19</label><mixed-citation>Jarvis, A., Reuter, H. I., Nelson, A., and Guevara, E.: Hole-filled seamless SRTM data V4, International Centre for Tropical Agriculture (CIAT), <uri>https://srtm.csi.cgiar.org</uri> (last access: 1 September 2026), 2008.</mixed-citation></ref>
      <ref id="bib1.bib20"><label>20</label><mixed-citation>Kim, H., Mnih, A., Schwarz, J., Garnelo, M., Eslami, A., Rosenbaum, D., Vinyals, O., and Teh, Y. W.: Attentive Neural Processes,  arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/ARXIV.1901.05761" ext-link-type="DOI">10.48550/ARXIV.1901.05761</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bib21"><label>21</label><mixed-citation>Klein Tank, A. M. G., Zwiers, F. W., and Zhang, X.: Guidelines on Analysis of Extremes in a Changing Climate in Support of Informed Decisions for Adaptation, WMO/TD No. 1500, WCDMP-No. 72, World Meteorological Organization, Geneva, Switzerland, 2009.  </mixed-citation></ref>
      <ref id="bib1.bib22"><label>22</label><mixed-citation>Lam, R., Sanchez-Gonzalez, A., Willson, M., Wirnsberger, P., Fortunato, M., Alet, F., Ravuri, S., Ewalds, T., Eaton-Rosen, Z., Hu, W., Merose, A., Hoyer, S., Holland, G., Vinyals, O., Stott, J., Pritzel, A., Mohamed, S., and Battaglia, P.: Learning skillful medium-range global weather forecasting, Science, 382, 1416–1421, <ext-link xlink:href="https://doi.org/10.1126/science.adi2336" ext-link-type="DOI">10.1126/science.adi2336</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib23"><label>23</label><mixed-citation>Lang, N., Jetz, W., Schindler, K., and Wegner, J. D.: A high-resolution canopy height model of the Earth, Nat. Ecol. Evol., 7, 1778–1789, <ext-link xlink:href="https://doi.org/10.1038/s41559-023-02206-6" ext-link-type="DOI">10.1038/s41559-023-02206-6</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib24"><label>24</label><mixed-citation>Li, J. and Heap, A. D.: Spatial interpolation methods applied in the environmental sciences: A review, Environ. Modell. Softw., 53, 173–189, <ext-link xlink:href="https://doi.org/10.1016/j.envsoft.2013.12.008" ext-link-type="DOI">10.1016/j.envsoft.2013.12.008</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bib25"><label>25</label><mixed-citation>Moldovan, G., Pinnington, E., Nemesio, A. P., Lang, S., Bouallègue, Z. B., Dramsch, J., Alexe, M., Cruz, M. S., Hahner, S., Cook, H., Theissen, H., Clare, M., O'Brien, C., Polster, J., Magnusson, L., Mertes, G., Pinault, F., Raoult, B.,  de Rosnay, P., Forbes, R., and Chantry, M.: An update to ECMWF's machine-learned weather forecast model AIFS, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.2509.18994" ext-link-type="DOI">10.48550/arXiv.2509.18994</ext-link>,  2025.</mixed-citation></ref>
      <ref id="bib1.bib26"><label>26</label><mixed-citation>Murphy, B., Yurchak, R., and Müller, S.: GeoStat-Framework/PyKrige: v1.7.3, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.17372225" ext-link-type="DOI">10.5281/zenodo.17372225</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib27"><label>27</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, E.: Scikit-learn: Machine Learning in Python, J. Mach. Learn. Res., 12, 2825–2830, 2011.</mixed-citation></ref>
      <ref id="bib1.bib28"><label>28</label><mixed-citation>Reichstein, M., Camps-Valls, G., Stevens, B., Jung, M., Denzler, J., Carvalhais, N., and Prabhat: Deep learning and process understanding for data-driven Earth system science, Nature, 566, 195–204, <ext-link xlink:href="https://doi.org/10.1038/s41586-019-0912-1" ext-link-type="DOI">10.1038/s41586-019-0912-1</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bib29"><label>29</label><mixed-citation>Sekulić, A., Kilibarda, M., Protić, D., and Bajat, B.: A high-resolution daily gridded meteorological dataset for Serbia made by Random Forest Spatial Interpolation, Sci. Data, 8, 123, <ext-link xlink:href="https://doi.org/10.1038/s41597-021-00901-2" ext-link-type="DOI">10.1038/s41597-021-00901-2</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bib30"><label>30</label><mixed-citation>Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, L., and Polosukhin, I.: Attention Is All You Need,  arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/ARXIV.1706.03762" ext-link-type="DOI">10.48550/ARXIV.1706.03762</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bib31"><label>31</label><mixed-citation>Vaughan, A., Tebbutt, W., Hosking, J. S., and Turner, R. E.: Convolutional conditional neural processes for local climate downscaling, Geosci. Model Dev., 15, 251–268, <ext-link xlink:href="https://doi.org/10.5194/gmd-15-251-2022" ext-link-type="DOI">10.5194/gmd-15-251-2022</ext-link>, 2022.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>A deep learning framework for gridding daily climate variables from a sparse station network</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>1</label><mixed-citation>
      
Akiba, T., Sano, S., Yanase, T., Ohta, T., and Koyama, M.: Optuna: A Next-generation Hyperparameter Optimization Framework, in: Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2623–2631, <a href="https://doi.org/10.1145/3292500.3330701" target="_blank">https://doi.org/10.1145/3292500.3330701</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>2</label><mixed-citation>
      Appelhans, T., Mwangomo, E., Hardy, D. R., Hemp, A., and Nauss, T.: Evaluating machine learning approaches for the interpolation of monthly air temperature at Mt. Kilimanjaro, Tanzania, Spat. Stat., 14, 91–113, <a href="https://doi.org/10.1016/j.spasta.2015.05.008" target="_blank">https://doi.org/10.1016/j.spasta.2015.05.008</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>3</label><mixed-citation>
      Ashman, M., Diaconu, C., Langezaal, E., Weller, A., and Turner, R. E.: Gridded Transformer Neural Processes for Large Unstructured Spatio-Temporal Data, arXiv [preprint], <a href="https://doi.org/10.48550/arXiv.2410.06731" target="_blank">https://doi.org/10.48550/arXiv.2410.06731</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>4</label><mixed-citation>
      Bao, L.-L., Zhang, C.-X., Zhang, J.-S., and Guo, R.: A two-stage spatial prediction modeling approach based on graph neural networks and neural processes, Expert Syst. Appl., 258, 125173, <a href="https://doi.org/10.1016/j.eswa.2024.125173" target="_blank">https://doi.org/10.1016/j.eswa.2024.125173</a>, 2024a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>5</label><mixed-citation>
      Bao, L.-L., Zhang, J.-S., and Zhang, C.-X.: Spatial multi-attention conditional neural processes, Neural Netw., 173, 106201, <a href="https://doi.org/10.1016/j.neunet.2024.106201" target="_blank">https://doi.org/10.1016/j.neunet.2024.106201</a>, 2024b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>6</label><mixed-citation>
      Carr, A. and Wingate, D.: Graph Neural Processes: Towards Bayesian Graph Neural Networks, arXiv [preprint], <a href="https://doi.org/10.48550/arXiv.1902.10042" target="_blank">https://doi.org/10.48550/arXiv.1902.10042</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>7</label><mixed-citation>
      Daly, C., Neilson, R. P., and Phillips, D. L.: A Statistical-Topographic Model for Mapping Climatological Precipitation over Mountainous Terrain, J. Appl. Meteorol., 33, 140–158, <a href="https://doi.org/10.1175/1520-0450(1994)033&lt;0140:ASTMFM&gt;2.0.CO;2" target="_blank">https://doi.org/10.1175/1520-0450(1994)033&lt;0140:ASTMFM&gt;2.0.CO;2</a>, 1994.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>8</label><mixed-citation>
      Daly, C., Halbleib, M., Smith, J. I., Gibson, W. P., Doggett, M. K., Taylor, G. H., Curtis, J., and Pasteris, P. P.: Physiographically sensitive mapping of climatological temperature and precipitation across the conterminous United States, Int. J. Climatol., 28, 2031–2064, <a href="https://doi.org/10.1002/joc.1688" target="_blank">https://doi.org/10.1002/joc.1688</a>, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>9</label><mixed-citation>
      Diggle, P. J. and Ribeiro, P. J.: Model-based Geostatistics, Springer New York, New York, NY, <a href="https://doi.org/10.1007/978-0-387-48536-2" target="_blank">https://doi.org/10.1007/978-0-387-48536-2</a>, 2007.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>10</label><mixed-citation>
      Dosovitskiy, A., Beyer, L., Kolesnikov, A., Weissenborn, D., Zhai, X., Unterthiner, T., Dehghani, M., Minderer, M., Heigold, G., Gelly, S., Uszkoreit, J., and Houlsby, N.: An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale,  arXiv [preprint], <a href="https://doi.org/10.48550/ARXIV.2010.11929" target="_blank">https://doi.org/10.48550/ARXIV.2010.11929</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>11</label><mixed-citation>
      Dumitrescu, A.: RoCliHom – Long-term homogenized air temperature and precipitation datasets in Romania, 1901–2023 (1.0.0),  Zenodo [data set], <a href="https://doi.org/10.5281/ZENODO.14880417" target="_blank">https://doi.org/10.5281/ZENODO.14880417</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>12</label><mixed-citation>
      Dumitrescu, A.: Climate Gridder: SMACNP and Regression Kriging for Climate Field Construction, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.18763498" target="_blank">https://doi.org/10.5281/zenodo.18763498</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>13</label><mixed-citation>
      Dumitrescu, A., Micu, D., Guijarro, J., Manea, A., and Cheval, S.: Long-term homogenized air temperature and precipitation datasets in Romania, 1901–2023, Sci. Data, 12, 1116, <a href="https://doi.org/10.1038/s41597-025-05371-4" target="_blank">https://doi.org/10.1038/s41597-025-05371-4</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>14</label><mixed-citation>
      Garnelo, M., Rosenbaum, D., Maddison, C., Ramalho, T., Saxton, D., Shanahan, M., Teh, Y. W., Rezende, D., and Eslami, S. A.: Conditional neural processes, in: International conference on machine learning, 1704–1713, <a href="https://doi.org/10.48550/arXiv.1807.01613" target="_blank">https://doi.org/10.48550/arXiv.1807.01613</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>15</label><mixed-citation>
      Gordon, J., Bruinsma, W. P., Foong, A. Y. K., Requeima, J., Dubois, Y., and Turner, R. E.: Convolutional Conditional Neural Processes, arXiv [preprint], <a href="https://doi.org/10.48550/ARXIV.1910.13556" target="_blank">https://doi.org/10.48550/ARXIV.1910.13556</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>16</label><mixed-citation>
      Hengl, T., Heuvelink, G. B., and Rossiter, D. G.: About regression-kriging: from equations to case studies, Comput. Geosci., 33, 1301–1315, 2007.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>17</label><mixed-citation>
      Hijmans, R. J., Cameron, S. E., Parra, J. L., Jones, P. G., and Jarvis, A.: Very high resolution interpolated climate surfaces for global land areas, Int. J. Climatol., 25, 1965–1978, <a href="https://doi.org/10.1002/joc.1276" target="_blank">https://doi.org/10.1002/joc.1276</a>, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>18</label><mixed-citation>
      Iwase, K. and Takenawa, T.: Interpolation of mountain weather forecasts by machine learning, arXiv [preprint],  <a href="https://doi.org/10.48550/arXiv.2308.13983" target="_blank">https://doi.org/10.48550/arXiv.2308.13983</a>,  2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>19</label><mixed-citation>
      Jarvis, A., Reuter, H. I., Nelson, A., and Guevara, E.: Hole-filled seamless SRTM data V4, International Centre for Tropical Agriculture (CIAT), <a href="https://srtm.csi.cgiar.org" target="_blank"/> (last access: 1 September 2026), 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>20</label><mixed-citation>
      Kim, H., Mnih, A., Schwarz, J., Garnelo, M., Eslami, A., Rosenbaum, D., Vinyals, O., and Teh, Y. W.: Attentive Neural Processes,  arXiv [preprint], <a href="https://doi.org/10.48550/ARXIV.1901.05761" target="_blank">https://doi.org/10.48550/ARXIV.1901.05761</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>21</label><mixed-citation>
      Klein Tank, A. M. G., Zwiers, F. W., and Zhang, X.: Guidelines on Analysis of Extremes in a Changing Climate in Support of Informed Decisions for Adaptation, WMO/TD No. 1500, WCDMP-No. 72, World Meteorological Organization, Geneva, Switzerland, 2009.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>22</label><mixed-citation>
      Lam, R., Sanchez-Gonzalez, A., Willson, M., Wirnsberger, P., Fortunato, M., Alet, F., Ravuri, S., Ewalds, T., Eaton-Rosen, Z., Hu, W., Merose, A., Hoyer, S., Holland, G., Vinyals, O., Stott, J., Pritzel, A., Mohamed, S., and Battaglia, P.: Learning skillful medium-range global weather forecasting, Science, 382, 1416–1421, <a href="https://doi.org/10.1126/science.adi2336" target="_blank">https://doi.org/10.1126/science.adi2336</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>23</label><mixed-citation>
      Lang, N., Jetz, W., Schindler, K., and Wegner, J. D.: A high-resolution canopy height model of the Earth, Nat. Ecol. Evol., 7, 1778–1789, <a href="https://doi.org/10.1038/s41559-023-02206-6" target="_blank">https://doi.org/10.1038/s41559-023-02206-6</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>24</label><mixed-citation>
      Li, J. and Heap, A. D.: Spatial interpolation methods applied in the environmental sciences: A review, Environ. Modell. Softw., 53, 173–189, <a href="https://doi.org/10.1016/j.envsoft.2013.12.008" target="_blank">https://doi.org/10.1016/j.envsoft.2013.12.008</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>25</label><mixed-citation>
      Moldovan, G., Pinnington, E., Nemesio, A. P., Lang, S., Bouallègue, Z. B., Dramsch, J., Alexe, M., Cruz, M. S., Hahner, S., Cook, H., Theissen, H., Clare, M., O'Brien, C., Polster, J., Magnusson, L., Mertes, G., Pinault, F., Raoult, B.,  de Rosnay, P., Forbes, R., and Chantry, M.: An update to ECMWF's machine-learned weather forecast model AIFS, arXiv [preprint], <a href="https://doi.org/10.48550/arXiv.2509.18994" target="_blank">https://doi.org/10.48550/arXiv.2509.18994</a>,  2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>26</label><mixed-citation>
      Murphy, B., Yurchak, R., and Müller, S.: GeoStat-Framework/PyKrige: v1.7.3, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.17372225" target="_blank">https://doi.org/10.5281/zenodo.17372225</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>27</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, E.: Scikit-learn: Machine Learning in Python, J. Mach. Learn. Res., 12, 2825–2830, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>28</label><mixed-citation>
      Reichstein, M., Camps-Valls, G., Stevens, B., Jung, M., Denzler, J., Carvalhais, N., and Prabhat: Deep learning and process understanding for data-driven Earth system science, Nature, 566, 195–204, <a href="https://doi.org/10.1038/s41586-019-0912-1" target="_blank">https://doi.org/10.1038/s41586-019-0912-1</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>29</label><mixed-citation>
      Sekulić, A., Kilibarda, M., Protić, D., and Bajat, B.: A high-resolution daily gridded meteorological dataset for Serbia made by Random Forest Spatial Interpolation, Sci. Data, 8, 123, <a href="https://doi.org/10.1038/s41597-021-00901-2" target="_blank">https://doi.org/10.1038/s41597-021-00901-2</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>30</label><mixed-citation>
      Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, L., and Polosukhin, I.: Attention Is All You Need,  arXiv [preprint], <a href="https://doi.org/10.48550/ARXIV.1706.03762" target="_blank">https://doi.org/10.48550/ARXIV.1706.03762</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>31</label><mixed-citation>
      Vaughan, A., Tebbutt, W., Hosking, J. S., and Turner, R. E.: Convolutional conditional neural processes for local climate downscaling, Geosci. Model Dev., 15, 251–268, <a href="https://doi.org/10.5194/gmd-15-251-2022" target="_blank">https://doi.org/10.5194/gmd-15-251-2022</a>, 2022.

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