<?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-8915-2026</article-id><title-group><article-title>DIRECT 1.0: a diffusion-based generative model for dense sea surface temperature reconstructions from sparse satellite observations</article-title><alt-title>Reconstruction with diffusion</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Rovšček</surname><given-names>Grega</given-names></name>
          <email>grega.rovscek@fri.uni-lj.si</email>
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2 aff3 aff5">
          <name><surname>Ličer</surname><given-names>Matjaž</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-2304-2505</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff4">
          <name><surname>Barth</surname><given-names>Alexander</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-2952-5997</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Kristan</surname><given-names>Matej</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-4252-4342</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>Faculty of Computer and Information Science, Visual Cognitive Systems Lab, University of Ljubljana, Ljubljana, Slovenia</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Slovenian Environment Agency, Office for Meteorology, Hydrology and Oceanography, Ljubljana, Slovenia</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>National Institute of Biology, Marine Biology Station, Piran, Slovenia</institution>
        </aff>
        <aff id="aff4"><label>4</label><institution>Department of Astrophysics, Geophysics and Oceanography, Geohydrodynamics and Environment Research, University of Liège, Liège, Belgium </institution>
        </aff>
        <aff id="aff5"><label>5</label><institution>Faculty of Mathematics and Physics, University of Ljubljana, Ljubljana, Slovenia</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Grega Rovšček (grega.rovscek@fri.uni-lj.si)</corresp></author-notes><pub-date><day>22</day><month>September</month><year>2026</year></pub-date>
      
      <volume>19</volume>
      <issue>18</issue>
      <fpage>8915</fpage><lpage>8938</lpage>
      <history>
        <date date-type="received"><day>11</day><month>March</month><year>2026</year></date>
           <date date-type="rev-request"><day>3</day><month>June</month><year>2026</year></date>
           <date date-type="rev-recd"><day>28</day><month>August</month><year>2026</year></date>
           <date date-type="accepted"><day>11</day><month>September</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Grega Rovšček et al.</copyright-statement>
        <copyright-year>2026</copyright-year>
      <license license-type="open-access"><license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p></license></permissions><self-uri xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026.html">This article is available from https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e140">Satellite sea surface temperature (SST) observations are frequently obscured by cloud cover, creating large gaps that must be reconstructed for many oceanographic and climate applications. Because multiple high-resolution SST fields may be consistent with the same sparse observations, this reconstruction problem is inherently ambiguous. Nevertheless, most existing approaches remain deterministic, producing a single estimate that is often overly smooth, may contain unrealistic artifacts, and provides limited or unreliable uncertainty estimates. To address these limitations, we introduce DIRECT, a conditional generative framework for dense SST reconstruction that models the full distribution of plausible solutions rather than a single deterministic estimate. DIRECT is based on a rectified flow-matching formulation, conditioned on temporal context and day-of-year seasonality, and trained on sparse Level-3 observations. It presents an observation-guided rectification that anchors the generative trajectory to measured pixels at every integration step. By sampling multiple reconstructions, DIRECT produces an ensemble of physically plausible SST fields, enabling both an accurate mean reconstruction and spatially resolved uncertainty estimates. The latter is adjusted with a simple post-hoc variance term to avoid under-dispersed uncertainty estimates. Experiments on three Level-3 SST datasets (Mediterranean, Adriatic, and Atlantic) show that DIRECT sets a new state-of-the-art, reducing Root Mean Square Error by 6 %–14 % compared with the strongest published method, while better preserving mesoscale structure. Further analysis of spatial scale correlations indicates that DIRECT maintains physically consistent textures even when reconstructing large, completely unobserved regions. Performance improvements remain robust across a wide range of cloud-coverage conditions, enabling reliable SST reconstruction from sparse satellite observations.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>The Slovenian Research and Innovation Agency</funding-source>
<award-id>P1-0237</award-id>
<award-id>J2-2506</award-id>
<award-id>P2-0214</award-id>
<award-id>J2-60054</award-id>
</award-group>
<award-group id="gs2">
<funding-source>European High Performance Computing Joint Undertaking</funding-source>
<award-id>101254461</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="d2e152">Sea surface temperature (SST) is a key variable at the ocean–atmosphere interface, regulating exchanges of heat, moisture, and momentum and influencing atmospheric convection, storm development, and large-scale climate variability such as ENSO and monsoon systems <xref ref-type="bibr" rid="bib1.bibx31 bib1.bibx21 bib1.bibx14 bib1.bibx33" id="paren.1"/>. SST is therefore recognized as an essential climate variable <xref ref-type="bibr" rid="bib1.bibx5" id="paren.2"/> and is widely used in climate monitoring, numerical weather prediction, ocean reanalysis, and marine ecosystem studies <xref ref-type="bibr" rid="bib1.bibx36 bib1.bibx8" id="paren.3"/>.</p>
      <p id="d2e164">Global SST observations are primarily obtained from satellite-based infrared (IR) and microwave radiometers on low-Earth-orbit and geostationary platforms <xref ref-type="bibr" rid="bib1.bibx28" id="paren.4"/>. IR instruments provide fine spatial detail, but their usable coverage is strongly limited by clouds. At a given time, cloud systems can hide large coherent areas of the ocean surface, resulting in structured gaps that persist across space and time. These gaps present a challenge for downstream applications that require spatially complete SST fields (climatological datasets, surface boundary conditions for atmospheric models, etc.).</p>
      <p id="d2e170">Early SST reconstruction methods based on statistical interpolation and low-rank decompositions (e.g., Optimal Interpolation, EOFs, <xref ref-type="bibr" rid="bib1.bibx39 bib1.bibx1" id="altparen.5"/>) recover large-scale variability but are limited in representing fine-scale and nonlinear ocean dynamics, due to linearity and stationarity assumptions. Recent learning-based methods have substantially improved reconstruction quality by exploiting spatial and temporal correlations in the data. Convolutional autoencoders such as DINCAE/DINCAE2 <xref ref-type="bibr" rid="bib1.bibx2 bib1.bibx3" id="paren.6"/> provide uncertainty surrogates but often produce overly smooth fields and underestimate mesoscale variability. Transformer-based architectures, including MAESSTRO <xref ref-type="bibr" rid="bib1.bibx15" id="paren.7"/> and CRITER <xref ref-type="bibr" rid="bib1.bibx43" id="paren.8"/>, improve the modeling of long-range dependencies but remain fundamentally deterministic, producing a single best-guess reconstruction that struggles to capture ambiguity under heavy cloud cover, complicates uncertainty estimation, and may introduce unrealistic structured artifacts (Fig. <xref ref-type="fig" rid="F1"/>, bottom-right).</p>
      <p id="d2e187">In machine learning, particularly in computer vision, diffusion-style generative models have achieved state-of-the-art performance in image restoration by learning full conditional distributions rather than point estimates <xref ref-type="bibr" rid="bib1.bibx7 bib1.bibx20 bib1.bibx41" id="paren.9"/>. Pixel re-injection as in RePaint <xref ref-type="bibr" rid="bib1.bibx25" id="paren.10"/> and subsequent refinements <xref ref-type="bibr" rid="bib1.bibx24" id="paren.11"/> has been successfully exploited to enforce observation consistency during sampling for inpainting. However, these methods typically operate on single images and do not address spatiotemporally structured gaps, physical masks (e.g., land), or calibrated uncertainty in geophysical fields. A growing body of work applies diffusion-style generative models to Earth-science reconstruction tasks.  <xref ref-type="bibr" rid="bib1.bibx4" id="text.12"/> demonstrate diffusion-based gap-filling for satellite ocean color (chlorophyll <inline-formula><mml:math id="M1" display="inline"><mml:mi>a</mml:mi></mml:math></inline-formula>), producing ensembles and evaluating uncertainty reliability. For SST specifically, CARE-SST <xref ref-type="bibr" rid="bib1.bibx6" id="paren.13"/> applies a denoising diffusion probabilistic model (DDPM, <xref ref-type="bibr" rid="bib1.bibx17" id="altparen.14"/>) style approach with historical context to reconstruct cloud-contaminated SST. Related efforts also extend diffusion-based reconstruction to broader ocean-temperature settings using observation-guided sampling and simulation pretraining <xref ref-type="bibr" rid="bib1.bibx37" id="paren.15"/>. In atmospheric data assimilation, physics-guided diffusion frameworks incorporate physical regularization to improve coherence under sparse observations <xref ref-type="bibr" rid="bib1.bibx40" id="paren.16"/>. Two concurrent studies extend this direction to global, climate-scale reconstruction: <xref ref-type="bibr" rid="bib1.bibx30" id="text.17"/> pretrain a spatiotemporal diffusion prior on climate-model simulations and reanalysis to reconstruct monthly historical temperature and precipitation fields from sparse instrumental records, while <xref ref-type="bibr" rid="bib1.bibx19" id="text.18"/> perform diffusion posterior sampling to fuse coarse-resolution microwave retrievals with sparse in situ measurements into global ensemble SST estimates. While these works establish promise of generative modeling for geosciences, a crucial difference to the work presented in this paper is that they operate on a single shot or coarse temporal context <xref ref-type="bibr" rid="bib1.bibx6 bib1.bibx30" id="paren.19"/>, rely on guidance schemes without explicit temporal encoding <xref ref-type="bibr" rid="bib1.bibx37 bib1.bibx19" id="paren.20"/>, require gap-free training data <xref ref-type="bibr" rid="bib1.bibx30 bib1.bibx6" id="paren.21"/> and do not target calibrated per-pixel uncertainty for dense spatiotemporal reconstruction <xref ref-type="bibr" rid="bib1.bibx40" id="paren.22"/>.</p>
      <p id="d2e242">In this study we propose DIRECT, a <italic>di</italic>ffusion-inspired generative model for dense SST <italic>rec</italic>ons<italic>t</italic>ruction from partially observed sparse satellite measurements. DIRECT formulates SST gap-filling as a <italic>conditional flow-matching</italic> task <xref ref-type="bibr" rid="bib1.bibx22" id="paren.23"/>, where a deterministic probability flow transforms noise realizations into physically consistent SST fields conditioned on sparse measurements, temporal context, and seasonal information. The model integrates (i) a backbone equipped with SST-specific global conditioning, (ii) a spatio-temporal context representation that preserves the temporal origin of auxiliary information, and (iii) an observation-guided rectification mechanism that maintains consistency with measured pixels throughout the reconstruction process. By sampling multiple reconstructions, DIRECT produces both an accurate mean estimate and spatially resolved uncertainty, which is further automatically calibrated to avoid ensemble collapse. The main contributions are: <list list-type="bullet"><list-item>
      <p id="d2e263">We formulate dense SST reconstruction as a <italic>conditional flow-matching</italic> problem, integrating spatiotemporal context, seasonal conditioning, and hard observation consistency within a unified end-to-end generative model.</p></list-item><list-item>
      <p id="d2e270">We develop a <italic>temporal offset encoding</italic> strategy for auxiliary context frames.</p></list-item><list-item>
      <p id="d2e277">We design a lightweight <italic>post-hoc uncertainty calibration</italic> procedure that compensates for ensemble under-dispersion and improves the reliability of per-pixel uncertainty estimates without altering the training objective.</p></list-item></list></p>

      <fig id="F1"><label>Figure 1</label><caption><p id="d2e285">DIRECT reconstructs spatially coherent temperature fields from sparse observation inputs and preserves smooth mesoscale structure in reconstructed regions.  DIRECT further addresses the problem of physically inconsistent reconstructions – notice that the blocky high-frequency gradients emerging in CRITER (<xref ref-type="bibr" rid="bib1.bibx43" id="altparen.24"/>, bottom right), which are absent in DIRECT reconstructions (bottom left).</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f01.png"/>

      </fig>

      <p id="d2e297">A preliminary version of this work was presented in <xref ref-type="bibr" rid="bib1.bibx35" id="text.25"/>, which the present work extends in several ways. The reconstruction method has been revised following extended evaluation under operationally realistic conditions, resulting in a simpler and more robust formulation. The experimental evaluation is broadened to include an additional state-of-the-art baseline (CARE-SST, <xref ref-type="bibr" rid="bib1.bibx6" id="altparen.26"/>), a stratified performance analysis across low, moderate, and high cloud-coverage regimes, and a probabilistic assessment of the reconstructed ensemble via the Continuous Ranked Probability Score. Additionally, a series of new ablation studies examines the individual contributions of seasonal context, mask-aware conditioning, temporal encoding design, and future context availability for near-real-time operational applications.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>DIRECT architecture and implementation</title>
      <p id="d2e314">We begin by introducing key notations and definitions. Let <inline-formula><mml:math id="M2" display="inline"><mml:mrow><mml:mi mathvariant="bold">X</mml:mi><mml:mo>=</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>T</mml:mi></mml:msub><mml:mo mathvariant="italic">}</mml:mo><mml:mo>=</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msubsup><mml:mo mathvariant="italic">}</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> denote a sequence of SST measurements <inline-formula><mml:math id="M3" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mrow><mml:mi>W</mml:mi><mml:mo>×</mml:mo><mml:mi>H</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M4" display="inline"><mml:mrow><mml:mi mathvariant="bold">M</mml:mi><mml:mo>=</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msubsup><mml:mo mathvariant="italic">}</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> a sequence of corresponding binary masks <inline-formula><mml:math id="M5" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:msup><mml:mo mathvariant="italic">}</mml:mo><mml:mrow><mml:mi>W</mml:mi><mml:mo>×</mml:mo><mml:mi>H</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, with ones indicating valid observations, and let <inline-formula><mml:math id="M6" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>l</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> be a constant binary mask, with zeros indicating land. Our task is to recover a sequence of dense (gap-free) reconstructed fields <inline-formula><mml:math id="M7" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">μ</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msubsup><mml:mo mathvariant="italic">}</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> along with per-pixel uncertainty estimates <inline-formula><mml:math id="M8" display="inline"><mml:mrow><mml:mi mathvariant="normal">Σ</mml:mi><mml:mo>=</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msubsup><mml:mo mathvariant="italic">}</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>. Here, <inline-formula><mml:math id="M9" display="inline"><mml:mi>W</mml:mi></mml:math></inline-formula> denotes the width and <inline-formula><mml:math id="M10" display="inline"><mml:mi>H</mml:mi></mml:math></inline-formula> the height, in pixels, of the SST frame.</p>
      <p id="d2e537">Reconstructing SST fields is fundamentally a spatio-temporal inference task because ocean surface temperatures evolve continuously under physical constraints. Consequently, measurements acquired close in time to day <inline-formula><mml:math id="M11" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> are typically informative for recovering missing values, whereas observations from more distant times tend to contribute less. Previous work <xref ref-type="bibr" rid="bib1.bibx3 bib1.bibx43" id="paren.27"/> showed that most relevant temporal information is contained within a three-day window centered at the target frame. Following these findings, we use observations from days <inline-formula><mml:math id="M12" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M13" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> when reconstructing missing regions at time <inline-formula><mml:math id="M15" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>.</p>
      <p id="d2e589">Because adjacent context frames may themselves be partially observed, we densify the temporal context by opportunistically replacing missing pixels with observations from nearby days. For a pixel that is missing at time <inline-formula><mml:math id="M16" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, we use the closest available observation from <inline-formula><mml:math id="M17" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> or <inline-formula><mml:math id="M18" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula>. Analogously, missing pixels at <inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> are filled from <inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> or <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula>. The resulting filled context frames are denoted as <inline-formula><mml:math id="M22" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>. Note that this search depth <inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mtext>filled</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula> is distinct from the three-day context window, and extends the total temporal footprint of the input to days <inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula> through <inline-formula><mml:math id="M26" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula>. A value drawn from an earlier day substitutes for the state at <inline-formula><mml:math id="M27" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> and stays informative only over the timescale on which SST remains temporally autocorrelated, so the same short temporal decorrelation that motivates a narrow context window also bounds the depth over which substitution is meaningful. To retain the temporal origin of each filled value, we associate every context frame with a one-hot encoded mask. For the past context, <inline-formula><mml:math id="M28" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:msup><mml:mo mathvariant="italic">}</mml:mo><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>×</mml:mo><mml:mi>W</mml:mi><mml:mo>×</mml:mo><mml:mi>H</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> encodes whether a pixel originates from day <inline-formula><mml:math id="M29" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mi mathvariant="normal">−</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M30" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mi mathvariant="normal">−</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>, or <inline-formula><mml:math id="M31" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mi mathvariant="normal">−</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula>. For the future context, <inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:msup><mml:mo mathvariant="italic">}</mml:mo><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>×</mml:mo><mml:mi>W</mml:mi><mml:mo>×</mml:mo><mml:mi>H</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> similarly encodes offsets <inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>, or <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula>. Since each pixel is filled from the temporally nearest valid frame, these channels are mutually exclusive, while a null vector <inline-formula><mml:math id="M36" display="inline"><mml:mrow><mml:mo>[</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> denotes a pixel that remains invalid (land or persistent cloud cover) after the search. The central frame is represented by a two-channel mask <inline-formula><mml:math id="M37" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:msup><mml:mo mathvariant="italic">}</mml:mo><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>×</mml:mo><mml:mi>W</mml:mi><mml:mo>×</mml:mo><mml:mi>H</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, which distinguishes observed from missing (or land) pixels at time <inline-formula><mml:math id="M38" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>. We define the temporal context fields as <inline-formula><mml:math id="M39" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>′</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>′</mml:mo></mml:msubsup><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> and the corresponding masks as <inline-formula><mml:math id="M40" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, whose construction for a general search depth is summarized in Algorithm <xref ref-type="other" rid="Ch1.Prog1"/>. Together, these form the complete spatio-temporal context <inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. Following good practices of prior work <xref ref-type="bibr" rid="bib1.bibx3 bib1.bibx43" id="paren.28"/>, we additionally include the day-of-year (DoY) <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> as seasonal context information. Figure <xref ref-type="fig" rid="F2"/> shows an example of context information.</p><boxed-text content-type="algorithm" position="float" id="Ch1.Prog1"><label>Algorithm 1</label><caption><p id="d2e1126">Temporal context construction for target day <inline-formula><mml:math id="M43" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>. The accumulator <inline-formula><mml:math id="M44" display="inline"><mml:mi mathvariant="bold-italic">f</mml:mi></mml:math></inline-formula> marks pixels that have already been assigned a temporal origin, and <inline-formula><mml:math id="M45" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> marks pixels filled from offset <inline-formula><mml:math id="M46" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula>. Because <inline-formula><mml:math id="M47" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is nonzero only where <inline-formula><mml:math id="M48" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, the origin channels are mutually exclusive by construction.</p></caption><disp-quote content-type="algorithmic" specific-use="numbering{1}"><list>

    <list-item><label><bold>Input:</bold></label>

      <p id="d2e1192" specific-use="REQUIRE">SST sequence <inline-formula><mml:math id="M49" display="inline"><mml:mi mathvariant="bold">X</mml:mi></mml:math></inline-formula>, mask sequence <inline-formula><mml:math id="M50" display="inline"><mml:mi mathvariant="bold">M</mml:mi></mml:math></inline-formula>, target day <inline-formula><mml:math id="M51" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>, search depth <inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="normal">filled</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></p>
          </list-item>

    <list-item><label><bold>Output:</bold></label>

      <p id="d2e1232" specific-use="ENSURE">context fields <inline-formula><mml:math id="M53" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, temporal-origin masks <inline-formula><mml:math id="M54" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></p>
          </list-item>

    <list-item>

      <p id="d2e1265" specific-use="STATE"><italic>Past context:</italic></p>
          </list-item>

    <list-item>

      <p id="d2e1272" specific-use="STATE"><inline-formula><mml:math id="M55" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>′</mml:mo></mml:msubsup><mml:mo>←</mml:mo><mml:mn mathvariant="bold">0</mml:mn></mml:mrow></mml:math></inline-formula>,  <inline-formula><mml:math id="M56" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mo>←</mml:mo><mml:mn mathvariant="bold">0</mml:mn></mml:mrow></mml:math></inline-formula></p>
          </list-item>

    <list-item>

      <p id="d2e1310" specific-use="FOR"><bold>for</bold> <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> <bold>to</bold> <inline-formula><mml:math id="M58" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="normal">filled</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> <bold>do</bold> <list>
    <list-item>
      <p id="d2e1347" specific-use="STATE"><inline-formula><mml:math id="M59" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>←</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>⊙</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> {pixels first filled from day <inline-formula><mml:math id="M60" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:math></inline-formula>}</p></list-item>
    <list-item>
      <p id="d2e1399" specific-use="STATE"><inline-formula><mml:math id="M61" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>′</mml:mo></mml:msubsup><mml:mo>←</mml:mo><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>′</mml:mo></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>⊙</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d2e1453" specific-use="STATE"><inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>[</mml:mo><mml:mi>j</mml:mi><mml:mo>]</mml:mo><mml:mo>←</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d2e1485" specific-use="STATE"><inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mo>←</mml:mo><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></p></list-item></list></p>
          </list-item>

    <list-item>

      <p id="d2e1509" specific-use="ENDFOR"><bold>end</bold> <bold>for</bold></p>
          </list-item>

    <list-item>

      <p id="d2e1519" specific-use="STATE"><italic>Future context:</italic> <inline-formula><mml:math id="M64" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>′</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>←</mml:mo></mml:mrow></mml:math></inline-formula> as above, with <inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></p>
          </list-item>

    <list-item>

      <p id="d2e1591" specific-use="STATE"><italic>Central frame:</italic></p>
          </list-item>

    <list-item>

      <p id="d2e1598" specific-use="STATE"><inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>[</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>]</mml:mo><mml:mo>←</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> {observed}</p>
          </list-item>

    <list-item>

      <p id="d2e1628" specific-use="STATE"><inline-formula><mml:math id="M68" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>[</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>]</mml:mo><mml:mo>←</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> {missing or land}</p>
          </list-item>

    <list-item>

      <p id="d2e1662" specific-use="STATE"><inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>←</mml:mo><mml:mo>[</mml:mo><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>′</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>′</mml:mo></mml:msubsup><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula></p>
          </list-item>

    <list-item>

      <p id="d2e1720" specific-use="STATE"><inline-formula><mml:math id="M70" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>←</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula></p>
          </list-item>
        </list></disp-quote></boxed-text>

      <fig id="F2" specific-use="star"><label>Figure 2</label><caption><p id="d2e1775">Context information fields provided to DIRECT at input. DIRECT uses a three-day SST window <inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>′</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>′</mml:mo></mml:msubsup><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, with corresponding one-hot encoded masks <inline-formula><mml:math id="M72" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> indicating the temporal origin of filled pixels, and <inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> marking observed versus missing values in the central frame. Additional conditioning is provided by the day-of-year (<inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) and the flow timestep <inline-formula><mml:math id="M76" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f02.png"/>

      </fig>

<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>A flow-matching architecture</title>
      <p id="d2e1906">We frame the SST reconstruction as a conditional flow matching problem <xref ref-type="bibr" rid="bib1.bibx22" id="paren.29"/>, where the reconstruction trajectory is represented as a deterministic transport from an initial simple noise distribution toward the target data distribution. The process involves simulating a stochastic differential equation, for which the Euler integration at iteration step <inline-formula><mml:math id="M77" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>∈</mml:mo><mml:mo>[</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> is

            <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M78" display="block"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup><mml:mo>|</mml:mo><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M79" display="inline"><mml:mi mathvariant="normal">Δ</mml:mi></mml:math></inline-formula> is the integration step, <inline-formula><mml:math id="M80" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup><mml:mo>|</mml:mo><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the rectified flow network, with <inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> representing the aggregated spatio-temporal context, <inline-formula><mml:math id="M82" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the day-of-the-year variable, and <inline-formula><mml:math id="M83" display="inline"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> the previous iteration reconstruction <inline-formula><mml:math id="M84" display="inline"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> with observed values re-injected via the FUSE operation (Fig. <xref ref-type="fig" rid="F3"/>), i.e.,

            <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M85" display="block"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mtext>FUSE</mml:mtext><mml:mo>(</mml:mo><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup><mml:mo>⊙</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mtext>t</mml:mtext></mml:msub><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>⊙</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mtext>t</mml:mtext></mml:msub><mml:mo>)</mml:mo><mml:mo>⊙</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>l</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M86" display="inline"><mml:mo>⊙</mml:mo></mml:math></inline-formula> is the Hadamard (element-wise) product. By re-injecting the clean observations at every step, the learned updates of the network <inline-formula><mml:math id="M87" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are restricted only to regions with missing SST values.</p>

      <fig id="F3" specific-use="star"><label>Figure 3</label><caption><p id="d2e2273">The FUSE operation. At each integration step <inline-formula><mml:math id="M88" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>, the current estimate <inline-formula><mml:math id="M89" display="inline"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> is merged with the original observations <inline-formula><mml:math id="M90" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. This ensures that measured pixels remain preserved (non-corrupted) while the model updates the missing regions.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f03.png"/>

        </fig>

      <p id="d2e2321">Figure <xref ref-type="fig" rid="F4"/> illustrates the architecture of the rectified flow network <inline-formula><mml:math id="M91" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup><mml:mo>|</mml:mo><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. The current reconstruction state <inline-formula><mml:math id="M92" display="inline"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> and the temporal SST context <inline-formula><mml:math id="M93" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are concatenated and projected into a feature representation through a <inline-formula><mml:math id="M94" 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> convolution. In parallel, the temporal-origin masks <inline-formula><mml:math id="M95" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are independently embedded using a separate <inline-formula><mml:math id="M96" 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> convolution and subsequently added to the feature tensor. The resulting representation defines the network input <inline-formula><mml:math id="M97" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">y</mml:mi><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mrow><mml:mn mathvariant="normal">128</mml:mn><mml:mo>×</mml:mo><mml:mi>W</mml:mi><mml:mo>×</mml:mo><mml:mi>H</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>. The backbone follows the U-Net design of <xref ref-type="bibr" rid="bib1.bibx23" id="paren.30"/>, where the encoder progressively increases the feature dimensionality across four resolution levels with channel widths (128, 256, 384, 512). The highest-resolution stage uses five residual blocks, while the remaining stages use three residual blocks each. Self-attention is applied only at the lowest spatial resolution.</p>

      <fig id="F4" specific-use="star"><label>Figure 4</label><caption><p id="d2e2488">Overview of the DIRECT architecture. The SST field  <inline-formula><mml:math id="M98" display="inline"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> estimated at <inline-formula><mml:math id="M99" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>th iteration is accompanied by the temporal context <inline-formula><mml:math id="M100" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and the time-stamp masks <inline-formula><mml:math id="M101" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, seasonal context <inline-formula><mml:math id="M102" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and the current flow iteration value <inline-formula><mml:math id="M103" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. The FUSE rectified reconstruction <inline-formula><mml:math id="M104" display="inline"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> is concatenated with context frames <inline-formula><mml:math id="M105" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and summed with the embedded origin masks <inline-formula><mml:math id="M106" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> to form the network input. Token  <inline-formula><mml:math id="M107" display="inline"><mml:mi mathvariant="bold-italic">e</mml:mi></mml:math></inline-formula> modulates the U-Net via  FiLM <xref ref-type="bibr" rid="bib1.bibx29" id="paren.31"/>. The network output updated the initial SST estimate into <inline-formula><mml:math id="M108" display="inline"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> by Euler integration.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f04.png"/>

        </fig>

      <p id="d2e2657">Feature modulation is performed using FiLM conditioning <xref ref-type="bibr" rid="bib1.bibx29" id="paren.32"/>. A global conditioning vector <inline-formula><mml:math id="M109" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mn mathvariant="normal">512</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> is constructed by summing two embeddings: (i) Seasonal information is encoded from the day-of-year variable <inline-formula><mml:math id="M110" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> using its sine-cosine representation <inline-formula><mml:math id="M111" display="inline"><mml:mrow><mml:mo>[</mml:mo><mml:mi>sin⁡</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mn mathvariant="normal">365.25</mml:mn></mml:mfrac></mml:mstyle><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi>cos⁡</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mn mathvariant="normal">365.25</mml:mn></mml:mfrac></mml:mstyle><mml:mo>)</mml:mo><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, mapped through a two-layer MLP; and (ii) The current flow iteration variable <inline-formula><mml:math id="M112" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> is encoded separately using sinusoidal embeddings and an additional two-layer MLP. The resulting conditioning token modulates feature maps throughout all residual blocks of the U-Net.</p>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Probabilistic reconstruction</title>
      <p id="d2e2757">To obtain probabilistic SST estimates, the reconstruction process is repeated <inline-formula><mml:math id="M113" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">16</mml:mn></mml:mrow></mml:math></inline-formula> times using different Gaussian initializations in the missing regions, producing an ensemble of reconstructions <inline-formula><mml:math id="M114" display="inline"><mml:mrow><mml:mi mathvariant="bold">S</mml:mi><mml:mo>=</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mo mathvariant="italic">}</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>. Ideally, the ensemble spread should approximate the posterior uncertainty at each pixel. However, we observed that the ensemble variance occasionally becomes under-dispersed at isolated spatial locations. To address this effect, we model the ensemble as a mixture of Gaussians, each centered at ensemble member with a small constant variance <inline-formula><mml:math id="M115" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> across all pixels. The final reconstruction is thus obtained by moment-matching the mixture with a single Gaussian, i.e.,

            <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M116" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">μ</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>&lt;</mml:mo><mml:mi mathvariant="bold">S</mml:mi><mml:mo>&gt;</mml:mo><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>;</mml:mo><mml:mspace width="0.25em" linebreak="nobreak"/><mml:msubsup><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mtext>var</mml:mtext><mml:mo>(</mml:mo><mml:mi mathvariant="bold">S</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where the constant <inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> is estimated on the validation set (explained in the next section).</p>
</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Training procedure</title>
      <p id="d2e2895">To enable training with incomplete data, DIRECT is trained by a modified self-supervised flow-matching objective. The training samples are created by sampling cloud masks <inline-formula><mml:math id="M118" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> from other days and applying them to the central day, yielding <inline-formula><mml:math id="M119" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi><mml:mrow><mml:mo>′</mml:mo><mml:mo>′</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>⊙</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (Fig. <xref ref-type="fig" rid="F5"/>). Thus, a ground truth direction vector <inline-formula><mml:math id="M120" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msubsup><mml:msup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mrow><mml:mo>′</mml:mo><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> is constructed from the original observed field (<inline-formula><mml:math id="M121" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) and the simulated observed field with missing values initialized by noise (<inline-formula><mml:math id="M122" display="inline"><mml:mrow><mml:msubsup><mml:msup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mrow><mml:mo>′</mml:mo><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>). The flow iteration variable <inline-formula><mml:math id="M123" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> is sampled at uniform from interval <inline-formula><mml:math id="M124" display="inline"><mml:mrow><mml:mo>[</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, leading to the following loss at field indexed by time-step <inline-formula><mml:math id="M125" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>:

            <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M126" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mi>t</mml:mi></mml:msub><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>t</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><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:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mfenced close="]" open="["><mml:mrow><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msubsup><mml:mo>|</mml:mo><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msub><mml:mo>)</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M127" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>|</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula> is the number of observed pixels in the ground truth SST field. Note that because complete cloud-free data is unavailable, we cannot supervise in the originally clouded regions. As such, this simulation-based approach allows the model to learn the underlying spatial correlations from the available data.</p>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e3198">First row: ground truth incomplete central day observation (<inline-formula><mml:math id="M128" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>), simulated central day observation (<inline-formula><mml:math id="M129" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi><mml:mrow><mml:mo>′</mml:mo><mml:mo>′</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>), noised initialized simulated central day observation (<inline-formula><mml:math id="M130" display="inline"><mml:mrow><mml:msubsup><mml:msup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mrow><mml:mo>′</mml:mo><mml:mo>′</mml:mo></mml:mrow></mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>). Second row: mask denoting valid observations in ground truth observation (<inline-formula><mml:math id="M131" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>), sampled mask from a different day (<inline-formula><mml:math id="M132" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>), mask denoting observed regions in the simulated central day observation (<inline-formula><mml:math id="M133" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>⊙</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>).</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f05.png"/>

        </fig>

      <p id="d2e3302">After training the model, the training set (or validation if available) can be reconstructed and the regularization variance <inline-formula><mml:math id="M134" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> estimated as follows. Following <xref ref-type="bibr" rid="bib1.bibx43" id="paren.33"/> we define per-pixel scaled reconstruction error as

            <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M135" display="block"><mml:mrow><mml:mi mathvariant="bold-italic">ϵ</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">μ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          For a well-calibrated estimator, this error should follow a unit-variance, zero-centered Gaussian, i.e., <inline-formula><mml:math id="M136" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub><mml:mo>→</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M137" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub><mml:mo>→</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M138" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M139" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the empirical mean and standard deviation of <inline-formula><mml:math id="M140" display="inline"><mml:mi mathvariant="bold-italic">ϵ</mml:mi></mml:math></inline-formula>, calculated over the training (or validation) set. The regularization variance <inline-formula><mml:math id="M141" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> can thus be estimated by minimizing the KL divergence <xref ref-type="bibr" rid="bib1.bibx18" id="paren.34"/> between the zero-mean, unit Gaussian and the empirical Gaussian obtained from Eq. (<xref ref-type="disp-formula" rid="Ch1.E5"/>), which yields the following loss

            <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M142" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>-</mml:mo><mml:mi>log⁡</mml:mi><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Training, Validation and Testing Data</title>
      <p id="d2e3489">To assess DIRECT, we adopt three datasets corresponding to Mediterranean, Adriatic and Atlantic regions. These regions were chosen because they exhibit very diverse oceanographic regimes. Mediterranean basin contains several characteristic sub-basins, including regions of freshwater influence, frontal systems and regions with submesoscale and mesoscale eddy activity. Adriatic has a shallow shelf in the north, highly influenced by local freshwater discharges, while its southern part is deeper and exposed to Atlantic and Levantine medium waters entering through Otranto strait from the Ionian sea. Finally, the Atlantic region is essentially an open ocean, marked by intense cyclonic activity and cloudiness. All datasets are based on level-3 (L3) multi-sensor SST products and are provided as daily fields remapped onto uniform regular grids. For each dataset, we employ chronological splits to prevent temporal leakage: first 90 % of the samples are used for training, further 5 % are used for validation (to monitor model performance and guide design choices), and final 5 % are used for testing.</p>
      <p id="d2e3492"><list list-type="order">
          <list-item>

      <p id="d2e3497">The Mediterranean SST_MED_SST_L3S_NRT_OBSERVATIONS_010_012 <xref ref-type="bibr" rid="bib1.bibx11" id="paren.35"/> dataset consists of daily SST observations over the Central Mediterranean from 1 January 2008 to 31 December 2021, remapped to a <inline-formula><mml:math id="M143" display="inline"><mml:mrow><mml:mn mathvariant="normal">0.0625</mml:mn><mml:mi mathvariant="italic">°</mml:mi><mml:mo>×</mml:mo><mml:mn mathvariant="normal">0.0625</mml:mn><mml:mi mathvariant="italic">°</mml:mi></mml:mrow></mml:math></inline-formula> grid.</p>
          </list-item>
          <list-item>

      <p id="d2e3524">The Adriatic SST_MED_PHY_L3S_MY_010_042 <xref ref-type="bibr" rid="bib1.bibx9" id="paren.36"/> dataset contains daily SST fields over the Adriatic Sea from 25 August 1981 to 31 December  2022, remapped to a <inline-formula><mml:math id="M144" display="inline"><mml:mrow><mml:mn mathvariant="normal">0.05</mml:mn><mml:mi mathvariant="italic">°</mml:mi><mml:mo>×</mml:mo><mml:mn mathvariant="normal">0.05</mml:mn><mml:mi mathvariant="italic">°</mml:mi></mml:mrow></mml:math></inline-formula> grid.</p>
          </list-item>
          <list-item>

      <p id="d2e3549">The Atlantic SST_ATL_PHY_L3S_MY_010_038 <xref ref-type="bibr" rid="bib1.bibx10" id="paren.37"/> dataset spans an open-ocean region in the North Atlantic from 1 January  1982 to 1 January  2022, remapped to a <inline-formula><mml:math id="M145" display="inline"><mml:mrow><mml:mn mathvariant="normal">0.05</mml:mn><mml:mi mathvariant="italic">°</mml:mi><mml:mo>×</mml:mo><mml:mn mathvariant="normal">0.05</mml:mn><mml:mi mathvariant="italic">°</mml:mi></mml:mrow></mml:math></inline-formula> grid.</p>
          </list-item>
        </list></p>
      <p id="d2e3573">Following <xref ref-type="bibr" rid="bib1.bibx43" id="text.38"/>, we apply a coverage threshold to the central observation in each input triplet to filter out samples with excessive cloud cover. A sample is discarded if more than a dataset-specific percentage of the central frame is missing: 100 % for the Mediterranean, 60 % for the Adriatic, and 75 % for the Atlantic dataset. After filtering, we obtain 5114 valid samples for the Mediterranean, 7800 for the Adriatic, and 3454 for the Atlantic dataset.</p>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Results</title>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Performance measures</title>
      <p id="d2e3594">We report the Root Mean Squared Error (RMSE) calculated over three specific regions: the region with observed data (<inline-formula><mml:math id="M146" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>obs</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>), the region in which we occluded the data (<inline-formula><mml:math id="M147" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>), and the two regions combined for overall evaluation (<inline-formula><mml:math id="M148" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>). While <inline-formula><mml:math id="M149" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>obs</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is included for completeness, it is not particularly informative: due to the FUSE rectification step (Eq. <xref ref-type="disp-formula" rid="Ch1.E2"/>), observed pixels are replaced with their measured values at every flow integration step, leading to near-zero error. Nevertheless, note that many competing methods also reconstruct this part of the data, necessarily increasing the errors also in the <italic>observed</italic> regions. The metric of primary interest is therefore <inline-formula><mml:math id="M150" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, which reflects the quality of reconstruction in the occluded regions.</p>
</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>Comparison with state-of-the-art</title>
      <p id="d2e3666">DIRECT is evaluated against four recent SST reconstruction approaches: DINCAE2 <xref ref-type="bibr" rid="bib1.bibx3" id="paren.39"/>, CARE-SST <xref ref-type="bibr" rid="bib1.bibx6" id="paren.40"/>, MAESSTRO <xref ref-type="bibr" rid="bib1.bibx15" id="paren.41"/>, and CRITER <xref ref-type="bibr" rid="bib1.bibx43" id="paren.42"/>. We follow the evaluation procedure introduced by <xref ref-type="bibr" rid="bib1.bibx43" id="text.43"/>, in which each test sample is evaluated under 10 independently sampled cloud-mask realizations applied to the central frame. Final performance scores are obtained by averaging the reconstruction errors across all repetitions and all samples in the test dataset.</p>
      <p id="d2e3684">Results in Table <xref ref-type="table" rid="T1"/> show that across all three datasets, DIRECT achieves the lowest reconstruction error among all considered methods. Relative to DINCAE2, DIRECT reduces <inline-formula><mml:math id="M151" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> by 52 % on the Adriatic dataset, 27 % on the Mediterranean, and 7 % on the Atlantic dataset. Improvements over MAESSTRO are even greater, ranging from 41 % on the Atlantic to more than 62 % on both the Mediterranean and Adriatic datasets. Notably, because CARE-SST was originally designed for fully-observed ground truth, we adapted its training objective to our self-supervised formulation (Sect. <xref ref-type="sec" rid="Ch1.S2.SS3"/>) to enable learning from incomplete data. Even with this adaptation, DIRECT achieves <inline-formula><mml:math id="M152" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> by 55 % lower on the Mediterranean, 51 % on the Adriatic, and 36 % on the Atlantic. Compared to CRITER, the strongest published baseline, DIRECT further reduces reconstruction error in occluded regions by 14 % on the Adriatic, 8 % on the Mediterranean, and 6 % on the Atlantic. The quantitative improvements are also reflected in the spatial consistency of the reconstructed SST fields. Figures <xref ref-type="fig" rid="F6"/>, <xref ref-type="fig" rid="F7"/>, and <xref ref-type="fig" rid="F8"/> show DIRECT and CRITER reconstruction examples from the Mediterranean, Adriatic, and Atlantic datasets, respectively. Across the Mediterranean and Adriatic examples, DIRECT better recovers the underlying SST structure under a wide variety of cloud shapes and coverage levels. For the Atlantic domain, where cloud cover is typically more extensive and ocean variability more energetic, CRITER reconstructions often exhibit visible patch artifacts, a byproduct of its patch-based processing. DIRECT avoids such artifacts due to its fully convolutional diffusion backbone and produces more spatially consistent fields even under extreme occlusions. For additional figures refer to Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/>. For subsequent experiments, we retain CRITER as the sole baseline, since it consistently outperforms DINCAE2 and MAESSTRO.</p>

<table-wrap id="T1" specific-use="star"><label>Table 1</label><caption><p id="d2e3725">Comparison of DIRECT to current state-of-the-art methods. All of the reported reconstruction errors are in °C, where the two numbers in parentheses correspond to the 10 % and 90 % percentiles. Bold indicates the best result per column within each dataset.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Dataset</oasis:entry>
         <oasis:entry colname="col2">Model</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M153" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> [°C]</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M154" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> [°C]</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M155" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>obs</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> [°C]</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Mediterranean</oasis:entry>
         <oasis:entry colname="col2">MAESSTRO <xref ref-type="bibr" rid="bib1.bibx15" id="paren.44"/></oasis:entry>
         <oasis:entry colname="col3">0.487 (0.320, 0.657)</oasis:entry>
         <oasis:entry colname="col4">0.607 (0.394, 0.856)</oasis:entry>
         <oasis:entry colname="col5">0.434 (0.299, 0.564)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CARE-SST <xref ref-type="bibr" rid="bib1.bibx6" id="paren.45"/></oasis:entry>
         <oasis:entry colname="col3">0.268 (0.064, 0.500)</oasis:entry>
         <oasis:entry colname="col4">0.518 (0.316, 0.716)</oasis:entry>
         <oasis:entry colname="col5">0.036 (0.034, 0.038)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">DINCAE2 <xref ref-type="bibr" rid="bib1.bibx3" id="paren.46"/></oasis:entry>
         <oasis:entry colname="col3">0.209 (0.140, 0.300)</oasis:entry>
         <oasis:entry colname="col4">0.319 (0.226, 0.418)</oasis:entry>
         <oasis:entry colname="col5">0.148 (0.112, 0.184)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CRITER <xref ref-type="bibr" rid="bib1.bibx43" id="paren.47"/></oasis:entry>
         <oasis:entry colname="col3">0.127 (0.037, 0.235)</oasis:entry>
         <oasis:entry colname="col4">0.255 (0.168, 0.352)</oasis:entry>
         <oasis:entry colname="col5">0.017 (0.013, 0.021)</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">DIRECT (ours)</oasis:entry>
         <oasis:entry colname="col3"><bold>0.113 (0.027, 0.211)</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.234 (0.150, 0.320)</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.000 (0.000, 0.001)</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Adriatic</oasis:entry>
         <oasis:entry colname="col2">MAESSTRO <xref ref-type="bibr" rid="bib1.bibx15" id="paren.48"/></oasis:entry>
         <oasis:entry colname="col3">0.456 (0.296, 0.635)</oasis:entry>
         <oasis:entry colname="col4">0.583 (0.362, 0.844)</oasis:entry>
         <oasis:entry colname="col5">0.392 (0.261, 0.539)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CARE-SST <xref ref-type="bibr" rid="bib1.bibx6" id="paren.49"/></oasis:entry>
         <oasis:entry colname="col3">0.243 (0.070, 0.404)</oasis:entry>
         <oasis:entry colname="col4">0.428 (0.241, 0.620)</oasis:entry>
         <oasis:entry colname="col5">0.036 (0.034, 0.039)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">DINCAE2 <xref ref-type="bibr" rid="bib1.bibx3" id="paren.50"/></oasis:entry>
         <oasis:entry colname="col3">0.270 (0.111, 0.522)</oasis:entry>
         <oasis:entry colname="col4">0.433 (0.203, 0.769)</oasis:entry>
         <oasis:entry colname="col5">0.106 (0.087, 0.129)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CRITER <xref ref-type="bibr" rid="bib1.bibx43" id="paren.51"/></oasis:entry>
         <oasis:entry colname="col3">0.130 (0.045, 0.222)</oasis:entry>
         <oasis:entry colname="col4">0.243 (0.140, 0.358)</oasis:entry>
         <oasis:entry colname="col5">0.021 (0.014, 0.030)</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">DIRECT (ours)</oasis:entry>
         <oasis:entry colname="col3"><bold>0.113 (0.029, 0.200)</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.208 (0.116, 0.312)</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.001 (0.001, 0.002)</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Atlantic</oasis:entry>
         <oasis:entry colname="col2">MAESSTRO <xref ref-type="bibr" rid="bib1.bibx15" id="paren.52"/></oasis:entry>
         <oasis:entry colname="col3">0.802 (0.508, 1.239)</oasis:entry>
         <oasis:entry colname="col4">0.832 (0.514, 1.301)</oasis:entry>
         <oasis:entry colname="col5">0.764 (0.479, 1.137)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CARE-SST <xref ref-type="bibr" rid="bib1.bibx6" id="paren.53"/></oasis:entry>
         <oasis:entry colname="col3">0.575 (0.336, 0.818)</oasis:entry>
         <oasis:entry colname="col4">0.767 (0.544, 1.009)</oasis:entry>
         <oasis:entry colname="col5">0.029 (0.026, 0.032)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">DINCAE2 <xref ref-type="bibr" rid="bib1.bibx3" id="paren.54"/></oasis:entry>
         <oasis:entry colname="col3">0.444 (0.332, 0.581)</oasis:entry>
         <oasis:entry colname="col4">0.525 (0.396, 0.692)</oasis:entry>
         <oasis:entry colname="col5">0.302 (0.236, 0.364)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CRITER <xref ref-type="bibr" rid="bib1.bibx43" id="paren.55"/></oasis:entry>
         <oasis:entry colname="col3">0.391 (0.249, 0.542)</oasis:entry>
         <oasis:entry colname="col4">0.518 (0.386, 0.692)</oasis:entry>
         <oasis:entry colname="col5">0.036 (0.019, 0.046)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">DIRECT (ours)</oasis:entry>
         <oasis:entry colname="col3"><bold>0.363 (0.236, 0.493)</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.489 (0.370, 0.629)</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.001 (0.000, 0.002)</bold></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <fig id="F6" specific-use="star"><label>Figure 6</label><caption><p id="d2e4094">Comparison of DIRECT and CRITER reconstructions on the Mediterranean region. The columns show (from left to right): the partially observed input (<inline-formula><mml:math id="M156" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>⊙</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>), the ground truth <inline-formula><mml:math id="M157" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the reconstruction <inline-formula><mml:math id="M158" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">μ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the estimated uncertainty <inline-formula><mml:math id="M159" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and the absolute reconstruction error (<inline-formula><mml:math id="M160" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>). All values are in °C.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f06.png"/>

        </fig>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e4167">Comparison of DIRECT and CRITER reconstructions on the Adriatic region. The columns show (from left to right): the partially observed input (<inline-formula><mml:math id="M161" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>⊙</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>), the ground truth <inline-formula><mml:math id="M162" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the reconstruction <inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">μ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the estimated uncertainty <inline-formula><mml:math id="M164" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and the absolute reconstruction error (<inline-formula><mml:math id="M165" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>). All values are in °C.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f07.png"/>

        </fig>

      <fig id="F8" specific-use="star"><label>Figure 8</label><caption><p id="d2e4240">Comparison of DIRECT and CRITER reconstructions on the Atlantic region. The columns show (from left to right): the partially observed input (<inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>⊙</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>), the ground truth <inline-formula><mml:math id="M167" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the reconstruction <inline-formula><mml:math id="M168" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">μ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the estimated uncertainty <inline-formula><mml:math id="M169" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and the absolute reconstruction error (<inline-formula><mml:math id="M170" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>). All values are in °C.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f08.jpg"/>

        </fig>

<sec id="Ch1.S4.SS2.SSS1">
  <label>4.2.1</label><title>Comparison with operational L4 products</title>
      <p id="d2e4318">We compare DIRECT against operational gap-free Level-4 (L4) SST products, based on variational data assimilation and optimal interpolation, distributed by the Copernicus Marine Service: the reprocessed OSTIA analysis <xref ref-type="bibr" rid="bib1.bibx13" id="paren.56"/>, the ESA SST CCI and C3S reprocessed analyses <xref ref-type="bibr" rid="bib1.bibx12" id="paren.57"/>. Each product was co-located with SST from our three domain datasets and evaluated as a candidate reconstruction against the same L3 reference used throughout. This comparison should be read as a measure of agreement with our L3 reference, not of reconstruction accuracy. The L4 products also ingest in situ data and data from the same sensors as our L3 source, meaning the pixels we synthetically withhold were in general available to the L4 products. Their error over these pixels is therefore not an out-of-sample gap-filling error as it is for DIRECT. The L4 products additionally carry a systematic offset relative to our L3 reference (Table <xref ref-type="table" rid="T2"/>, bias column); to prevent this offset from dominating the comparison, we estimate a per-day mean bias over the observed region, subtract it from each L4 field, and report the resulting centered RMSE (CRMSE).</p>
      <p id="d2e4329">Table <xref ref-type="table" rid="T2"/> shows that, even after this bias removal, DIRECT remains closer to the L3 reference than any of the operational products in all three regions. Relative to the best-performing L4 product in each region, <inline-formula><mml:math id="M171" display="inline"><mml:mrow><mml:msub><mml:mtext>CRMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is lower by 44 % on the Mediterranean, 37 % on the Adriatic, and 8 % on the Atlantic, indicating that the remaining gap reflects a difference in spatial structure rather than a mean offset. Note that this does not imply that DIRECT is correspondingly more accurate than objective analysis as a technique; it reflects that DIRECT is trained to reconstruct this specific high-resolution L3 product, whereas the L4 analyses target foundation SST and cross-sensor, temporally consistent fields rather than fidelity to any one regional L3 source. A fair skill comparison would evaluate both against independent in-situ observations such as Argo profiles, which neither assimilates, a direction we leave to future work.</p>

<table-wrap id="T2" specific-use="star"><label>Table 2</label><caption><p id="d2e4348">Comparison of DIRECT against operational gap-free L4 products, evaluated against the same L3 reference. Note that <inline-formula><mml:math id="M172" display="inline"><mml:mrow><mml:msub><mml:mtext>CRMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is an error against withheld, independent data only for DIRECT; the L4 analyses ingest the same sensors as our L3 reference, so these pixels were in general available to them. Bias is calculated over the observed region. Errors in °C. Bold indicates the lowest error per column within each dataset.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="6">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:colspec colnum="6" colname="col6" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Dataset</oasis:entry>
         <oasis:entry colname="col2">Model / Product</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M173" display="inline"><mml:mrow><mml:msub><mml:mtext>CRMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> [°C]</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M174" display="inline"><mml:mrow><mml:msub><mml:mtext>CRMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> [°C]</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:msub><mml:mtext>CRMSE</mml:mtext><mml:mtext>obs</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> [°C]</oasis:entry>
         <oasis:entry colname="col6">Bias [°C]</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Mediterranean</oasis:entry>
         <oasis:entry colname="col2">DIRECT (ours)</oasis:entry>
         <oasis:entry colname="col3"><bold>0.113</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.234</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.000</bold></oasis:entry>
         <oasis:entry colname="col6">0.000</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">ESA CCI</oasis:entry>
         <oasis:entry colname="col3">0.401</oasis:entry>
         <oasis:entry colname="col4">0.421</oasis:entry>
         <oasis:entry colname="col5">0.393</oasis:entry>
         <oasis:entry colname="col6">0.239</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">C3S</oasis:entry>
         <oasis:entry colname="col3">0.399</oasis:entry>
         <oasis:entry colname="col4">0.420</oasis:entry>
         <oasis:entry colname="col5">0.392</oasis:entry>
         <oasis:entry colname="col6">0.283</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">OSTIA</oasis:entry>
         <oasis:entry colname="col3">0.408</oasis:entry>
         <oasis:entry colname="col4">0.429</oasis:entry>
         <oasis:entry colname="col5">0.400</oasis:entry>
         <oasis:entry colname="col6">0.241</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Adriatic</oasis:entry>
         <oasis:entry colname="col2">DIRECT (ours)</oasis:entry>
         <oasis:entry colname="col3"><bold>0.113</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.208</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.001</bold></oasis:entry>
         <oasis:entry colname="col6">0.000</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">ESA CCI</oasis:entry>
         <oasis:entry colname="col3">0.301</oasis:entry>
         <oasis:entry colname="col4">0.329</oasis:entry>
         <oasis:entry colname="col5">0.290</oasis:entry>
         <oasis:entry colname="col6">0.186</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">C3S</oasis:entry>
         <oasis:entry colname="col3">0.324</oasis:entry>
         <oasis:entry colname="col4">0.355</oasis:entry>
         <oasis:entry colname="col5">0.313</oasis:entry>
         <oasis:entry colname="col6">0.175</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">OSTIA</oasis:entry>
         <oasis:entry colname="col3">0.348</oasis:entry>
         <oasis:entry colname="col4">0.378</oasis:entry>
         <oasis:entry colname="col5">0.336</oasis:entry>
         <oasis:entry colname="col6">0.119</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Atlantic</oasis:entry>
         <oasis:entry colname="col2">DIRECT (ours)</oasis:entry>
         <oasis:entry colname="col3"><bold>0.363</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.489</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.001</bold></oasis:entry>
         <oasis:entry colname="col6">0.000</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">ESA CCI</oasis:entry>
         <oasis:entry colname="col3">0.533</oasis:entry>
         <oasis:entry colname="col4">0.542</oasis:entry>
         <oasis:entry colname="col5">0.520</oasis:entry>
         <oasis:entry colname="col6">0.235</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">C3S</oasis:entry>
         <oasis:entry colname="col3">0.522</oasis:entry>
         <oasis:entry colname="col4">0.531</oasis:entry>
         <oasis:entry colname="col5">0.510</oasis:entry>
         <oasis:entry colname="col6">0.275</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">OSTIA</oasis:entry>
         <oasis:entry colname="col3">0.540</oasis:entry>
         <oasis:entry colname="col4">0.550</oasis:entry>
         <oasis:entry colname="col5">0.528</oasis:entry>
         <oasis:entry colname="col6">0.356</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S4.SS2.SSS2">
  <label>4.2.2</label><title>Comparison under varying cloud coverage</title>
      <p id="d2e4712">To assess the robustness of DIRECT to varying levels of missing data, we evaluate reconstruction performance across three cloud-coverage regimes, defined by the fraction of missing pixels in the central observation <inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> relative to all sea pixels. We define low coverage in the interval [0 %, 60 %], moderate coverage in the interval (60 %, 75 %], and high coverage in the interval (75 %, 100 %]. The test sets span a wide range of coverage: 8.3 %–99 % for the Mediterranean, 3.3 %–95 % for the Adriatic, and 39 %–99 % for the Atlantic.</p>
      <p id="d2e4726">Figure <xref ref-type="fig" rid="F9"/> shows the reconstruction errors (<inline-formula><mml:math id="M177" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M178" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M179" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>obs</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>) for DIRECT and CRITER across the three regimes, where, as before, <inline-formula><mml:math id="M180" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>obs</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is reported for completeness, but provides little insight due to the injection of ground truth values at observed locations. Across all cloud-coverage levels and for all three regions, DIRECT consistently outperforms CRITER. On the Mediterranean, <inline-formula><mml:math id="M181" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is reduced by 8 %, 6 %, and 10 % in the low-, medium-, and high-coverage regimes, respectively. Improvements are even greater on the Adriatic, with reductions of 16 %, 12 %, and 9 %. On the Atlantic, where occlusions are more extreme and the problem is inherently more challenging, smaller yet meaningful improvements of 2 %, 4 %, and 6 % are achieved.</p>

      <fig id="F9" specific-use="star"><label>Figure 9</label><caption><p id="d2e4789">Reconstruction error comparison of DIRECT and CRITER under varying levels of cloud coverage (low, moderate, and high) on the Mediterranean, Adriatic, and Atlantic datasets. The error bars indicate the 10 % percentile, mean, and the 90 % percentile of the error.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f09.png"/>

          </fig>

</sec>
<sec id="Ch1.S4.SS2.SSS3">
  <label>4.2.3</label><title>Uncertainty estimation and bias analysis</title>
      <p id="d2e4807">We evaluate the reliability of ensemble-based uncertainty estimates over the withheld regions using two complementary measures: the scaled error <inline-formula><mml:math id="M182" display="inline"><mml:mi mathvariant="bold-italic">ϵ</mml:mi></mml:math></inline-formula> of Eq. (<xref ref-type="disp-formula" rid="Ch1.E5"/>) and the empirical coverage of the nominal 50 %, 80 %, 90 %, and 95 % central prediction intervals, where a withheld pixel is covered at level <inline-formula><mml:math id="M183" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> when <inline-formula><mml:math id="M184" display="inline"><mml:mrow><mml:mi mathvariant="normal">∣</mml:mi><mml:mi mathvariant="bold-italic">ϵ</mml:mi><mml:mi mathvariant="normal">∣</mml:mi><mml:mo>≤</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for the standard-normal quantile <inline-formula><mml:math id="M185" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Results for the raw ensemble and after correction are given in Tables <xref ref-type="table" rid="T3"/> and <xref ref-type="table" rid="T4"/>. Without the correction (<inline-formula><mml:math id="M186" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mrow><mml:mi mathvariant="normal">w</mml:mi><mml:mo>.</mml:mo><mml:mi mathvariant="normal">o</mml:mi><mml:mo>.</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>), the ensemble is under-dispersed, with <inline-formula><mml:math id="M187" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">1.7</mml:mn></mml:mrow></mml:math></inline-formula> and coverage below nominal at every level and in all three regions. The two measures together indicate two distinct effects. Coverage is depressed across the full range of levels, including the central 50 % interval, which reflects a broad under-dispersion of the ensemble. At the same time, the large <inline-formula><mml:math id="M188" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> points to pronounced ensemble collapse at a sparse set of pixels, where the samples become nearly identical and the predicted variance is far too small. The learned regularization constant <inline-formula><mml:math id="M189" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (0.135 for Mediterranean, 0.101 for Adriatic, 0.298 for Atlantic), added in Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>), addresses both effects. It raises the overall spread, correcting the global under-dispersion, and places a floor on the variance at collapsed pixels. With the correction, <inline-formula><mml:math id="M190" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>  falls close to one and coverage approaches nominal at the 80 %, 90 %, and 95 % levels across all datasets. As a single global offset applied uniformly across pixels and probability levels, <inline-formula><mml:math id="M191" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> does not achieve exact calibration everywhere: the corrected 50 % intervals slightly over-cover (about 59 %–61 %) and the 95 % intervals slightly under-cover (about 93 %–94 %), since one constant cannot adapt to spatially varying error regimes or to the tails of the distribution. Overall, <inline-formula><mml:math id="M192" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> accounts for 34 %, 25 %, and 36 % of the total variance across the Mediterranean, Adriatic, and Atlantic datasets, respectively.</p>

<table-wrap id="T3"><label>Table 3</label><caption><p id="d2e4960">Uncertainty estimation analysis of DINCAE2, CRITER, and DIRECT. Mean standardized error (<inline-formula><mml:math id="M193" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>), standard deviation (<inline-formula><mml:math id="M194" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>), and bias are reported for each dataset. Bold indicates the value closest to the ideal in each column within a dataset (<inline-formula><mml:math id="M195" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub><mml:mo>→</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M196" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub><mml:mo>→</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, bias <inline-formula><mml:math id="M197" display="inline"><mml:mrow><mml:mo>→</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>).</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Dataset</oasis:entry>
         <oasis:entry colname="col2">Model</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M198" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M199" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">Bias</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Mediterranean</oasis:entry>
         <oasis:entry colname="col2">DINCAE2</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M200" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.060</oasis:entry>
         <oasis:entry colname="col4">0.334</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M201" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.060</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CRITER</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M202" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.022</oasis:entry>
         <oasis:entry colname="col4">1.116</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M203" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.007</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M204" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mrow><mml:mi mathvariant="normal">w</mml:mi><mml:mo>.</mml:mo><mml:mi mathvariant="normal">o</mml:mi><mml:mo>.</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M205" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.036</oasis:entry>
         <oasis:entry colname="col4">1.728</oasis:entry>
         <oasis:entry colname="col5"><bold>–0.003</bold></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">DIRECT</oasis:entry>
         <oasis:entry colname="col3"><bold>–0.018</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>1.059</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>–0.003</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Adriatic</oasis:entry>
         <oasis:entry colname="col2">DINCAE2</oasis:entry>
         <oasis:entry colname="col3">0.198</oasis:entry>
         <oasis:entry colname="col4"><bold>0.996</bold></oasis:entry>
         <oasis:entry colname="col5">0.128</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CRITER</oasis:entry>
         <oasis:entry colname="col3">0.041</oasis:entry>
         <oasis:entry colname="col4">1.082</oasis:entry>
         <oasis:entry colname="col5">0.007</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M206" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mrow><mml:mi mathvariant="normal">w</mml:mi><mml:mo>.</mml:mo><mml:mi mathvariant="normal">o</mml:mi><mml:mo>.</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.029</oasis:entry>
         <oasis:entry colname="col4">1.733</oasis:entry>
         <oasis:entry colname="col5"><bold>–0.004</bold></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">DIRECT</oasis:entry>
         <oasis:entry colname="col3"><bold>0.018</bold></oasis:entry>
         <oasis:entry colname="col4">1.018</oasis:entry>
         <oasis:entry colname="col5"><bold>–0.004</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Atlantic</oasis:entry>
         <oasis:entry colname="col2">DINCAE2</oasis:entry>
         <oasis:entry colname="col3"><bold>-0.017</bold></oasis:entry>
         <oasis:entry colname="col4">0.801</oasis:entry>
         <oasis:entry colname="col5"><bold>–0.006</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CRITER</oasis:entry>
         <oasis:entry colname="col3">0.118</oasis:entry>
         <oasis:entry colname="col4">1.156</oasis:entry>
         <oasis:entry colname="col5">0.047</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M207" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mrow><mml:mi mathvariant="normal">w</mml:mi><mml:mo>.</mml:mo><mml:mi mathvariant="normal">o</mml:mi><mml:mo>.</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M208" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.080</oasis:entry>
         <oasis:entry colname="col4">1.792</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M209" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.008</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">DIRECT</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M210" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.035</oasis:entry>
         <oasis:entry colname="col4"><bold>1.087</bold></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M211" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.008</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="T4"><label>Table 4</label><caption><p id="d2e5423">Empirical coverage of nominal central prediction intervals, before (<inline-formula><mml:math id="M212" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mrow><mml:mi mathvariant="normal">w</mml:mi><mml:mo>.</mml:mo><mml:mi mathvariant="normal">o</mml:mi><mml:mo>.</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>) and after (DIRECT) the <inline-formula><mml:math id="M213" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> correction.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="center"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Dataset</oasis:entry>
         <oasis:entry colname="col2">Nominal</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M214" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mrow><mml:mi mathvariant="normal">w</mml:mi><mml:mo>.</mml:mo><mml:mi mathvariant="normal">o</mml:mi><mml:mo>.</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">DIRECT</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Mediterranean</oasis:entry>
         <oasis:entry colname="col2">50 %</oasis:entry>
         <oasis:entry colname="col3">36.8 %</oasis:entry>
         <oasis:entry colname="col4">58.7 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">80 %</oasis:entry>
         <oasis:entry colname="col3">62.1 %</oasis:entry>
         <oasis:entry colname="col4">82.0 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">90 %</oasis:entry>
         <oasis:entry colname="col3">72.6 %</oasis:entry>
         <oasis:entry colname="col4">89.1 %</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">95 %</oasis:entry>
         <oasis:entry colname="col3">79.4 %</oasis:entry>
         <oasis:entry colname="col4">93.0 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Adriatic</oasis:entry>
         <oasis:entry colname="col2">50 %</oasis:entry>
         <oasis:entry colname="col3">36.5 %</oasis:entry>
         <oasis:entry colname="col4">61.2 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">80 %</oasis:entry>
         <oasis:entry colname="col3">61.8 %</oasis:entry>
         <oasis:entry colname="col4">83.3 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">90 %</oasis:entry>
         <oasis:entry colname="col3">72.5 %</oasis:entry>
         <oasis:entry colname="col4">90.1 %</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">95 %</oasis:entry>
         <oasis:entry colname="col3">79.5 %</oasis:entry>
         <oasis:entry colname="col4">93.7 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Atlantic</oasis:entry>
         <oasis:entry colname="col2">50 %</oasis:entry>
         <oasis:entry colname="col3">39.4 %</oasis:entry>
         <oasis:entry colname="col4">58.6 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">80 %</oasis:entry>
         <oasis:entry colname="col3">65.2 %</oasis:entry>
         <oasis:entry colname="col4">83.2 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">90 %</oasis:entry>
         <oasis:entry colname="col3">75.2 %</oasis:entry>
         <oasis:entry colname="col4">89.8 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">95 %</oasis:entry>
         <oasis:entry colname="col3">81.3 %</oasis:entry>
         <oasis:entry colname="col4">93.1 %</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S4.SS2.SSS4">
  <label>4.2.4</label><title>Power spectrum density analysis</title>
      <p id="d2e5697">To evaluate how well DIRECT preserves spatial variability across scales, we perform a power spectral density (PSD) analysis <xref ref-type="bibr" rid="bib1.bibx38" id="paren.58"/> on a region of interest (ROI) in the central Mediterranean and compare it with CRITER <xref ref-type="bibr" rid="bib1.bibx43" id="paren.59"/>. Time frames for which the ROI is fully observed are first identified, after which cloud masks are sampled, obscuring between 51 % and 100 % of the ROI. Both models reconstruct the full SST field from these masked inputs. For each reconstruction, we first remove the large-scale spatial background by subtracting a least-squares linear plane fitted over the ROI, which suppresses the anisotropic low-wavenumber trend. We then compute the 2D gradient magnitude <inline-formula><mml:math id="M215" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:msubsup><mml:mi mathvariant="bold-italic">μ</mml:mi><mml:mi>t</mml:mi><mml:mtext>ROI</mml:mtext></mml:msubsup><mml:mo>|</mml:mo><mml:msub><mml:mo>|</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and the isotropic PSD using a FFT with a Blackman–Harris window <xref ref-type="bibr" rid="bib1.bibx16" id="paren.60"/>.</p>
      <p id="d2e5735">Figures <xref ref-type="fig" rid="F10"/>d and <xref ref-type="fig" rid="F11"/>d show that both models reproduce the large-scale spectral structure of the SST field and follow the ground-truth spectrum closely from the largest scales down to intermediate wavenumbers. At higher wavenumbers both models depart from the ground truth and settle at similar energy levels. For CRITER, however, this small-scale energy is largely non-physical: the gradient-magnitude fields (Figs. <xref ref-type="fig" rid="F10"/>c and <xref ref-type="fig" rid="F11"/>c) reveal grid-like block artifacts, a byproduct of patch-based processing. In contrast, DIRECT's energy profile reflects coherent, albeit slightly smoothed, oceanic structures. The same gradient-magnitude fields show no discontinuity tracing the boundary between observed and reconstructed regions (Fig. <xref ref-type="fig" rid="F11"/>c), indicating that the FUSE re-injection does not introduce a visible seam despite anchoring the output to measured pixels at every step. DIRECT therefore provides a more physically faithful representation of the continuum, avoiding both the spurious grid-like artefacts that inflate the PSD of patch-based baselines and the boundary artifacts that might be expected from observation re-injection.</p>

      <fig id="F10" specific-use="star"><label>Figure 10</label><caption><p id="d2e5750">Power spectral density (PSD) analysis for a selected region of interest (ROI). <bold>(a)</bold> Masked SST input, ground truth field, and reconstructions from DIRECT and CRITER. <bold>(b)</bold> Zoomed views of the ROI. <bold>(c)</bold> Gradient magnitudes <inline-formula><mml:math id="M216" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:msubsup><mml:mi mathvariant="bold-italic">μ</mml:mi><mml:mi>t</mml:mi><mml:mtext>ROI</mml:mtext></mml:msubsup><mml:mo>|</mml:mo><mml:msub><mml:mo>|</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> highlighting structural differences. <bold>(d)</bold> Isotropic PSD computed from the plane-detrended ROI fields using an FFT with a Blackman–Harris window. The displayed curves represent the average spectral density across 10 independent mask realizations.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f10.png"/>

          </fig>

      <fig id="F11" specific-use="star"><label>Figure 11</label><caption><p id="d2e5800">Power spectral density (PSD) analysis for a selected region of interest (ROI). <bold>(a)</bold> Masked SST input, ground truth field, and reconstructions from DIRECT and CRITER. <bold>(b)</bold> Zoomed views of the ROI. <bold>(c)</bold> Gradient magnitudes <inline-formula><mml:math id="M217" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:msubsup><mml:mi mathvariant="bold-italic">μ</mml:mi><mml:mi>t</mml:mi><mml:mtext>ROI</mml:mtext></mml:msubsup><mml:mo>|</mml:mo><mml:msub><mml:mo>|</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> highlighting structural differences. <bold>(d)</bold> Isotropic PSD computed from the plane-detrended ROI fields using an FFT with a Blackman–Harris window. The displayed curves represent the average spectral density across 10 independent mask realizations.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f11.png"/>

          </fig>

</sec>
<sec id="Ch1.S4.SS2.SSS5">
  <label>4.2.5</label><title>Analysis of spatial scale correlation</title>
      <p id="d2e5855">To assess the preservation of spatial structure and mesoscale variability beyond pixel-wise error, we analyze the spatial correlation properties using empirical semivariograms <xref ref-type="bibr" rid="bib1.bibx26" id="paren.61"/>. Semivariance is computed as

              <disp-formula id="Ch1.E7" content-type="numbered"><label>7</label><mml:math id="M218" display="block"><mml:mrow><mml:mi mathvariant="italic">γ</mml:mi><mml:mo>(</mml:mo><mml:mi>d</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>N</mml:mi><mml:mo>(</mml:mo><mml:mi>d</mml:mi><mml:mo>)</mml:mo></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:mi>j</mml:mi><mml:mo>∈</mml:mo><mml:mi mathvariant="script">P</mml:mi><mml:mo>(</mml:mo><mml:mi>d</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:munder><mml:mo>(</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M219" display="inline"><mml:mrow><mml:mi mathvariant="script">P</mml:mi><mml:mo>(</mml:mo><mml:mi>d</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> denotes the set of <inline-formula><mml:math id="M220" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>(</mml:mo><mml:mi>d</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> pixel pairs separated by distance <inline-formula><mml:math id="M221" display="inline"><mml:mi>d</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M222" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the observation value of <inline-formula><mml:math id="M223" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> at <inline-formula><mml:math id="M224" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>th pixel. For statistical robustness, the analysis is averaged over 10 independent mask realizations sampled from the Mediterranean dataset.</p>
      <p id="d2e6000">As shown in Figs. <xref ref-type="fig" rid="F12"/> and <xref ref-type="fig" rid="F13"/>, both models effectively capture local correlations (short lags). At intermediate to larger spatial lags, however, clearer differences appear. In the hidden region variograms, DIRECT consistently reproduces the growth of semivariance with distance more faithfully, while CRITER exhibits less stable long-range behavior, suggesting a struggle to maintain spatial coherence over large obscured gaps. When considering the full valid SST domain, the performance gap narrows significantly. In this setting, both DIRECT and CRITER follow the ground truth semivariance almost perfectly, with virtually no observable difference between the two models. This convergence is expected, as the calculation includes observed pixels. The results highlight that while both models are highly reliable when observations are present, DIRECT provides a more physically consistent spatial texture when reconstructing larger completely unobserved areas.</p>

      <fig id="F12"><label>Figure 12</label><caption><p id="d2e6009">Visualization of the spatial scales and correlation properties analysis. Top plot: empirical semivariograms computed exclusively over hidden regions. Bottom plot: semivariograms computed over the full SST domain. Each curve represents the mean semivariance across 10 different mask realizations.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f12.png"/>

          </fig>

      <fig id="F13"><label>Figure 13</label><caption><p id="d2e6021">Visualization of the spatial scales and correlation properties analysis. Top plot: empirical semivariograms computed exclusively over hidden regions. Bottom plot: semivariograms computed over the full SST domain. Each curve represents the mean semivariance across 10 different mask realizations.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f13.png"/>

          </fig>

</sec>
<sec id="Ch1.S4.SS2.SSS6">
  <label>4.2.6</label><title>Continuous Ranked Probability Score (CRPS)</title>
      <p id="d2e6038">The Continuous Ranked Probability Score (CRPS) <xref ref-type="bibr" rid="bib1.bibx27" id="paren.62"/> was evaluated over all three regions, and results are shown in Table <xref ref-type="table" rid="T5"/>. This provides a measure for evaluating probabilistic predictions by comparing the entire forecast distribution against the observed value. Unlike traditional deterministic error metrics, which assess only the mean reconstruction, the CRPS quantifies accuracy, statistical reliability, and sharpness of the predictive distribution. Rather than simply assessing whether DIRECT obtains a plausible distribution, the CRPS allows us to qualify if the produced ensemble actually explores the inherent uncertainty in the reconstruction and if probabilities derived from the ensemble are reliable. For DIRECT, the CRPS is computed empirically from the reconstruction ensemble. As CRITER does not produce an ensemble but instead predicts a per-pixel mean and variance, we compute its CRPS by drawing samples from the corresponding per-pixel Gaussian. Across all three regions, DIRECT achieves lower CRPS than CRITER, indicating that its ensemble provides a sharper and better-calibrated predictive distribution. As with the pointwise reconstruction errors, CRPS over the missing pixels is highest in the Atlantic region, reflecting the more extensive cloud cover and more energetic ocean variability.</p>

<table-wrap id="T5"><label>Table 5</label><caption><p id="d2e6049">Continuous Ranked Probability Score of CRITER and DIRECT over the whole region, the missing region, and the observed region. The values are in °C. Med. denotes the Mediterranean dataset. Bold indicates the best result per column within each dataset.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Dataset</oasis:entry>
         <oasis:entry colname="col2">Model</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M225" display="inline"><mml:mrow><mml:msub><mml:mtext>CRPS</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M226" display="inline"><mml:mrow><mml:msub><mml:mtext>CRPS</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M227" display="inline"><mml:mrow><mml:msub><mml:mtext>CRPS</mml:mtext><mml:mtext>obs</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Med.</oasis:entry>
         <oasis:entry colname="col2">CRITER</oasis:entry>
         <oasis:entry colname="col3">0.052</oasis:entry>
         <oasis:entry colname="col4">0.172</oasis:entry>
         <oasis:entry colname="col5">0.014</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">DIRECT</oasis:entry>
         <oasis:entry colname="col3"><bold>0.034</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.116</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.000</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Adriatic</oasis:entry>
         <oasis:entry colname="col2">CRITER</oasis:entry>
         <oasis:entry colname="col3">0.049</oasis:entry>
         <oasis:entry colname="col4">0.132</oasis:entry>
         <oasis:entry colname="col5">0.012</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">DIRECT</oasis:entry>
         <oasis:entry colname="col3"><bold>0.033</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.097</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.000</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Atlantic</oasis:entry>
         <oasis:entry colname="col2">CRITER</oasis:entry>
         <oasis:entry colname="col3">0.199</oasis:entry>
         <oasis:entry colname="col4">0.316</oasis:entry>
         <oasis:entry colname="col5">0.037</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">DIRECT</oasis:entry>
         <oasis:entry colname="col3"><bold>0.145</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.255</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.001</bold></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
</sec>
<sec id="Ch1.S4.SS3">
  <label>4.3</label><title>Ablation study</title>
      <p id="d2e6243">Ablation studies were performed on the Mediterranean dataset, unless stated otherwise, to expose the influences of individual parts.</p>
<sec id="Ch1.S4.SS3.SSS1">
  <label>4.3.1</label><title>Importance of input rectification (FUSE)</title>
      <p id="d2e6253">We study the effect of the FUSE procedure (Eq. <xref ref-type="disp-formula" rid="Ch1.E2"/>) by comparing DIRECT with three ablated variants: one without injecting observed SST values (<inline-formula><mml:math id="M228" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mover accent="true"><mml:mtext>OBS</mml:mtext><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:msub></mml:mrow></mml:math></inline-formula>), one without zeroing land pixels (<inline-formula><mml:math id="M229" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mover accent="true"><mml:mtext>ML</mml:mtext><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:msub></mml:mrow></mml:math></inline-formula>), and one without any rectification (<inline-formula><mml:math id="M230" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mover accent="true"><mml:mtext>FUSE</mml:mtext><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:msub></mml:mrow></mml:math></inline-formula>). Results in Table <xref ref-type="table" rid="T6"/> show that completely disabling FUSE causes a large drop in reconstruction accuracy, with <inline-formula><mml:math id="M231" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> increased by more than 20 %. Restoring only the injection of SST values (<inline-formula><mml:math id="M232" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mover accent="true"><mml:mtext>ML</mml:mtext><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:msub></mml:mrow></mml:math></inline-formula>) or only the masking of land pixels (<inline-formula><mml:math id="M233" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mover accent="true"><mml:mtext>OBS</mml:mtext><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:msub></mml:mrow></mml:math></inline-formula>) recovers much of this loss (only a 2 % increase for both), indicating that both corrections help anchor the generative process and prevent errors from accumulating across integration steps. The best results are obtained when both corrections are applied, confirming that the full FUSE procedure provides complementary benefits and stabilizes the flow integration process.</p>

<table-wrap id="T6"><label>Table 6</label><caption><p id="d2e6345">Performance of DIRECT variants. All of the reported reconstruction errors are in °C. Bold indicates the best result per column within each dataset.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Variant</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M234" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M235" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M236" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>obs</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M237" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mover accent="true"><mml:mtext>OBS</mml:mtext><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0.115</oasis:entry>
         <oasis:entry colname="col3">0.237</oasis:entry>
         <oasis:entry colname="col4">0.011</oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M238" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mover accent="true"><mml:mtext>ML</mml:mtext><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0.115</oasis:entry>
         <oasis:entry colname="col3">0.239</oasis:entry>
         <oasis:entry colname="col4">0.000</oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M239" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mover accent="true"><mml:mtext>FUSE</mml:mtext><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0.222</oasis:entry>
         <oasis:entry colname="col3">0.295</oasis:entry>
         <oasis:entry colname="col4">0.181</oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">DIRECT</oasis:entry>
         <oasis:entry colname="col2"><bold>0.113</bold></oasis:entry>
         <oasis:entry colname="col3"><bold>0.234</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.000</bold></oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S4.SS3.SSS2">
  <label>4.3.2</label><title>Importance of seasonal context</title>
      <p id="d2e6529">Similarly to DINCAE2 <xref ref-type="bibr" rid="bib1.bibx3" id="paren.63"/> and CRITER <xref ref-type="bibr" rid="bib1.bibx43" id="paren.64"/>, DIRECT incorporates seasonal context through the sine and cosine of the day-of-year <inline-formula><mml:math id="M240" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, which encode the annual cycle. To evaluate the contribution of this information, we trained a variant <inline-formula><mml:math id="M241" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mover accent="true"><mml:mtext>DoY</mml:mtext><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:msub></mml:mrow></mml:math></inline-formula> that excludes DoY embeddings. As shown in Table <xref ref-type="table" rid="T7"/>, removing seasonal context increases <inline-formula><mml:math id="M242" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from 0.234 to 0.242, corresponding to a relative degradation of about 3 %. Although the effect is modest, this indicates that DoY features provide useful information.</p>

<table-wrap id="T7"><label>Table 7</label><caption><p id="d2e6580">Performance of DIRECT and <inline-formula><mml:math id="M243" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mover accent="true"><mml:mtext>DoY</mml:mtext><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:msub></mml:mrow></mml:math></inline-formula>, which is without the day-of-year information. All of the reported reconstruction errors are in °C. Bold indicates the best result per column within each dataset.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Variant</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M244" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M245" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M246" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>obs</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M247" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mover accent="true"><mml:mtext>DoY</mml:mtext><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0.121</oasis:entry>
         <oasis:entry colname="col3">0.242</oasis:entry>
         <oasis:entry colname="col4">0.000</oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">DIRECT</oasis:entry>
         <oasis:entry colname="col2"><bold>0.113</bold></oasis:entry>
         <oasis:entry colname="col3"><bold>0.234</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.000</bold></oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S4.SS3.SSS3">
  <label>4.3.3</label><title>Influence of mask-aware conditioning</title>
      <p id="d2e6720">DIRECT incorporates one-hot encoded masks that distinguish between observed pixels, filled pixels originating from temporally shifted frames, and missing or land pixels. To evaluate the importance of these masks, we trained a variant <inline-formula><mml:math id="M248" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mover accent="true"><mml:mtext>MASK</mml:mtext><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:msub></mml:mrow></mml:math></inline-formula> that excludes all mask information. As shown in Table <xref ref-type="table" rid="T8"/>, removing mask-aware conditioning increases <inline-formula><mml:math id="M249" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> from 0.234 to 0.240, a relative degradation of about 3 %. Although the effect is modest, the masks provide a consistent benefit by guiding the model to focus on reliable inputs.</p>

<table-wrap id="T8"><label>Table 8</label><caption><p id="d2e6753">Performance of DIRECT and <inline-formula><mml:math id="M250" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mover accent="true"><mml:mtext>MASK</mml:mtext><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:msub></mml:mrow></mml:math></inline-formula>, which does not utilize one hot encoded masks. All of the reported reconstruction errors are in °C. Bold indicates the best result per column within each dataset.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Variant</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M251" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M252" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M253" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>obs</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M254" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mover accent="true"><mml:mtext>MASK</mml:mtext><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0.120</oasis:entry>
         <oasis:entry colname="col3">0.240</oasis:entry>
         <oasis:entry colname="col4">0.001</oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">DIRECT</oasis:entry>
         <oasis:entry colname="col2"><bold>0.113</bold></oasis:entry>
         <oasis:entry colname="col3"><bold>0.234</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.000</bold></oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S4.SS3.SSS4">
  <label>4.3.4</label><title>One-hot encoding vs. offset masks</title>
      <p id="d2e6894">In the default DIRECT formulation, temporal origins of filled pixels are encoded using one-hot masks with three channels per auxiliary frame. As an alternative, we evaluate <inline-formula><mml:math id="M255" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mtext>OFFSETS</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, which replaces the one-hot representation with a single binary mask and an integer offset map that encodes the temporal origin directly: <inline-formula><mml:math id="M256" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M257" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M258" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula> indicate pixels sourced from <inline-formula><mml:math id="M259" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M260" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M261" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula>, respectively, while a value of <inline-formula><mml:math id="M262" display="inline"><mml:mn mathvariant="normal">0</mml:mn></mml:math></inline-formula> marks missing or invalid pixels. The offset map for the future frame (<inline-formula><mml:math id="M263" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>) is constructed in the same way, with values <inline-formula><mml:math id="M264" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M265" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M266" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula>. Table <xref ref-type="table" rid="T9"/> confirms that both approaches perform similarly, with the one-hot representation giving a slight edge (less than 1 %). This suggests that compressed offset maps are a viable alternative when reducing input channels is desirable.</p>

<table-wrap id="T9"><label>Table 9</label><caption><p id="d2e7030">Performance of DIRECT and <inline-formula><mml:math id="M267" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mtext>OFFSETS</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>. All of the reported reconstruction errors are in °C. Bold indicates the best result per column within each dataset.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Variant</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M268" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M269" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M270" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>obs</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M271" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mtext>OFFSETS</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0.115</oasis:entry>
         <oasis:entry colname="col3">0.236</oasis:entry>
         <oasis:entry colname="col4">0.000</oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">DIRECT</oasis:entry>
         <oasis:entry colname="col2"><bold>0.113</bold></oasis:entry>
         <oasis:entry colname="col3"><bold>0.234</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.000</bold></oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S4.SS3.SSS5">
  <label>4.3.5</label><title>Influence of reconstruction ensemble size</title>
      <p id="d2e7164">Because DIRECT is a generative model, multiple reconstructions can be sampled for a single input by varying the initial noise seed. As per Sect. <xref ref-type="sec" rid="Ch1.S2.SS2"/>, these samples are averaged to produce the final reconstruction. Table <xref ref-type="table" rid="T10"/> shows that averaging just <inline-formula><mml:math id="M272" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula> reconstructions already reduces <inline-formula><mml:math id="M273" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> by 18 % compared to <inline-formula><mml:math id="M274" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, and crucially, this already outperforms the deterministic state-of-the-art CRITER. Our default <inline-formula><mml:math id="M275" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">16</mml:mn></mml:mrow></mml:math></inline-formula> yields a 23 % improvement compared to <inline-formula><mml:math id="M276" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>. Although larger ensembles (e.g. <inline-formula><mml:math id="M277" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">32</mml:mn></mml:mrow></mml:math></inline-formula>) are comparable with our default, they also increase inference time, making 16 samples practical and effective.</p>
      <p id="d2e7243">Figure <xref ref-type="fig" rid="F14"/> illustrates the ensemble characteristics. The mean field provides a stable and accurate reconstruction, while the per-pixel standard deviation captures uncertainty in obscured regions. The residuals <inline-formula><mml:math id="M278" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">Δ</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">μ</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> (Rows 2–4) highlight the diverse high-frequency fluctuations present in individual samples.</p>

      <fig id="F14"><label>Figure 14</label><caption><p id="d2e7283">A visualization of a reconstruction ensemble. The first row shows the masked input, the ensemble mean (<inline-formula><mml:math id="M279" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">μ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) and the per-pixel uncertainty (<inline-formula><mml:math id="M280" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>). Rows 2–4 visualize the residual fields <inline-formula><mml:math id="M281" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">μ</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for nine independent samples, illustrating the high-frequency structural diversity.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f14.png"/>

          </fig>

<table-wrap id="T10"><label>Table 10</label><caption><p id="d2e7344">Performance impact of ensemble size <inline-formula><mml:math id="M282" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> on reconstruction accuracy. All of the reported reconstruction errors are in °C. Bold indicates the default configuration used throughout the paper.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Ensemble size <inline-formula><mml:math id="M283" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M284" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M285" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M286" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>obs</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M287" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M288" display="inline"><mml:mn mathvariant="normal">0.148</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M289" display="inline"><mml:mn mathvariant="normal">0.307</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M290" display="inline"><mml:mn mathvariant="normal">0.000</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M291" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M292" display="inline"><mml:mn mathvariant="normal">0.125</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M293" display="inline"><mml:mn mathvariant="normal">0.251</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M294" display="inline"><mml:mn mathvariant="normal">0.000</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M295" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">8</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M296" display="inline"><mml:mn mathvariant="normal">0.118</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M297" display="inline"><mml:mn mathvariant="normal">0.241</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M298" display="inline"><mml:mn mathvariant="normal">0.000</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M299" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">16</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M300" display="inline"><mml:mn mathvariant="bold">0.113</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M301" display="inline"><mml:mn mathvariant="bold">0.234</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M302" display="inline"><mml:mn mathvariant="bold">0.000</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M303" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">32</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M304" display="inline"><mml:mn mathvariant="normal">0.113</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M305" display="inline"><mml:mn mathvariant="normal">0.234</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M306" display="inline"><mml:mn mathvariant="normal">0.000</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">CRITER</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M307" display="inline"><mml:mn mathvariant="normal">0.127</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M308" display="inline"><mml:mn mathvariant="normal">0.255</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M309" display="inline"><mml:mn mathvariant="normal">0.017</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>


</sec>
<sec id="Ch1.S4.SS3.SSS6">
  <label>4.3.6</label><title>Influence of multi-pass reconstruction</title>
      <p id="d2e7679">We evaluated a multi-pass inference strategy to test whether iteratively refining the temporal context improves the final reconstruction. In the default single-pass formulation (<inline-formula><mml:math id="M310" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>), missing measurements in the temporal context (days <inline-formula><mml:math id="M311" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M312" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>) are opportunistically filled using the closest available observations. In the multi-pass formulation (<inline-formula><mml:math id="M313" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>), we attempt to improve the central day's estimate by running the reconstruction of the entire time-series in multiple passes, substituting the missing values in the context days with the model's own predictions from the previous pass.</p>
      <p id="d2e7732">However, as summarized in Table <xref ref-type="table" rid="T11"/>, the two-pass strategy (<inline-formula><mml:math id="M314" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) yields performance comparable to, or slightly worse than, the single-pass baseline (<inline-formula><mml:math id="M315" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) across all datasets. In the Mediterranean and Adriatic regions, the reconstruction error in missing regions (<inline-formula><mml:math id="M316" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>) increases slightly from 0.234 to 0.235 and from 0.208 to 0.211, respectively. On the Atlantic dataset – which is characterized by persistent, large-scale cloud cover – the error increases from 0.489 to 0.498.</p>
      <p id="d2e7770">These results indicate that substituting the initial fallback context with the model's own first-pass estimates propagates reconstruction uncertainties and errors rather than providing a cleaner conditioning signal.</p>

<table-wrap id="T11"><label>Table 11</label><caption><p id="d2e7777">Influence of the multi-pass strategy (<inline-formula><mml:math id="M317" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>), compared to the single-pass (<inline-formula><mml:math id="M318" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) and CRITER. All reported reconstruction errors are in <inline-formula><mml:math id="M319" display="inline"><mml:mrow><mml:mi mathvariant="italic">°</mml:mi><mml:mtext>C</mml:mtext></mml:mrow></mml:math></inline-formula>. Med. denotes the Mediterranean dataset. Bold indicates the best result per column within each dataset.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Dataset</oasis:entry>
         <oasis:entry colname="col2">Model</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M320" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M321" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M322" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>obs</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Med.</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M323" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><bold>0.113</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.234</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.000</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M324" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.113</oasis:entry>
         <oasis:entry colname="col4">0.235</oasis:entry>
         <oasis:entry colname="col5">0.001</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CRITER</oasis:entry>
         <oasis:entry colname="col3">0.127</oasis:entry>
         <oasis:entry colname="col4">0.255</oasis:entry>
         <oasis:entry colname="col5">0.017</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Adriatic</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M325" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><bold>0.113</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.208</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.001</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M326" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.113</oasis:entry>
         <oasis:entry colname="col4">0.211</oasis:entry>
         <oasis:entry colname="col5"><bold>0.001</bold></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CRITER</oasis:entry>
         <oasis:entry colname="col3">0.130</oasis:entry>
         <oasis:entry colname="col4">0.243</oasis:entry>
         <oasis:entry colname="col5">0.021</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Atlantic</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M327" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><bold>0.363</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.489</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.001</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M328" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.375</oasis:entry>
         <oasis:entry colname="col4">0.498</oasis:entry>
         <oasis:entry colname="col5"><bold>0.001</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CRITER</oasis:entry>
         <oasis:entry colname="col3">0.391</oasis:entry>
         <oasis:entry colname="col4">0.518</oasis:entry>
         <oasis:entry colname="col5">0.036</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S4.SS3.SSS7">
  <label>4.3.7</label><title>Influence of future temporal context</title>
      <p id="d2e8109">In our default formulation, DIRECT utilizes a temporal context spanning both past and future observations (<inline-formula><mml:math id="M329" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M330" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>) to reconstruct the central day <inline-formula><mml:math id="M331" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>. This bidirectional approach is standard for historical gap-filling tasks, as it allows the model to smoothly interpolate the evolution of ocean dynamics. However, for Near Real-Time (NRT) operational settings, future observations are strictly unavailable. To evaluate DIRECT's viability in such scenarios, we trained a past-only variant (<inline-formula><mml:math id="M332" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mtext>past</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>) that conditions the network solely on the preceding frame (<inline-formula><mml:math id="M333" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>) and the central frame (<inline-formula><mml:math id="M334" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>).</p>
      <p id="d2e8174">Table <xref ref-type="table" rid="T12"/> compares <inline-formula><mml:math id="M335" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mtext>past</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> against the default DIRECT. As expected, removing the future context leads to a slight degradation in performance compared to the default model. In the Mediterranean and Adriatic regions, the reconstruction error in missing regions (<inline-formula><mml:math id="M336" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>) increases from 0.234 to 0.241, and from 0.208 to 0.227, respectively. On the Atlantic dataset, performance remains unchanged. This confirms that future information naturally aids the model in accurately resolving the temporal evolution of highly dynamic ocean events.</p>
      <p id="d2e8201">Crucially, despite lacking future temporal anchoring, <inline-formula><mml:math id="M337" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mtext>past</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> still consistently outperforms the state-of-the-art CRITER across all three regions. This demonstrates that DIRECT's generative prior and observation-guided rectification remain highly effective even under strict constraints, making the architecture highly suitable for daily operational NRT applications.</p>

<table-wrap id="T12"><label>Table 12</label><caption><p id="d2e8219">Influence of future temporal context. The past-only variant (<inline-formula><mml:math id="M338" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mtext>past</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>) is compared to the default model (DIRECT) and the CRITER baseline. All reported reconstruction errors are in <inline-formula><mml:math id="M339" display="inline"><mml:mrow><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup><mml:mtext>C</mml:mtext></mml:mrow></mml:math></inline-formula>. Med. denotes the Mediterranean dataset. Bold indicates the best result per column within each dataset.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Dataset</oasis:entry>
         <oasis:entry colname="col2">Model</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M340" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M341" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M342" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>obs</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Med.</oasis:entry>
         <oasis:entry colname="col2">DIRECT</oasis:entry>
         <oasis:entry colname="col3"><bold>0.113</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.234</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.000</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M343" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mtext>past</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.117</oasis:entry>
         <oasis:entry colname="col4">0.241</oasis:entry>
         <oasis:entry colname="col5">0.001</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CRITER</oasis:entry>
         <oasis:entry colname="col3">0.127</oasis:entry>
         <oasis:entry colname="col4">0.255</oasis:entry>
         <oasis:entry colname="col5">0.017</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Adriatic</oasis:entry>
         <oasis:entry colname="col2">DIRECT</oasis:entry>
         <oasis:entry colname="col3"><bold>0.113</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.208</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.001</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M344" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mtext>past</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.120</oasis:entry>
         <oasis:entry colname="col4">0.227</oasis:entry>
         <oasis:entry colname="col5">0.002</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CRITER</oasis:entry>
         <oasis:entry colname="col3">0.130</oasis:entry>
         <oasis:entry colname="col4">0.243</oasis:entry>
         <oasis:entry colname="col5">0.021</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Atlantic</oasis:entry>
         <oasis:entry colname="col2">DIRECT</oasis:entry>
         <oasis:entry colname="col3"><bold>0.363</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.489</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.001</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M345" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mtext>past</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.369</oasis:entry>
         <oasis:entry colname="col4"><bold>0.489</bold></oasis:entry>
         <oasis:entry colname="col5">0.002</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">CRITER</oasis:entry>
         <oasis:entry colname="col3">0.391</oasis:entry>
         <oasis:entry colname="col4">0.518</oasis:entry>
         <oasis:entry colname="col5">0.036</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S4.SS3.SSS8">
  <label>4.3.8</label><title>Incorporating microwave observations</title>
      <p id="d2e8514">DIRECT operates on high-resolution infrared L3 observations, which are unavailable under cloud cover. Microwave radiometers, however, do retrieve SST through clouds, albeit at substantially coarser spatial resolution, and therefore offer a potential source of information beneath clouds. Because DIRECT ingests its spatio-temporal context through a lightweight input projection, additional observation sources can be added with minimal architectural change. To demonstrate this, we conducted a preliminary experiment on the Mediterranean dataset using the daily microwave optimally-interpolated SST product MW OI SST v5.1 <xref ref-type="bibr" rid="bib1.bibx32" id="paren.65"/>, regridded and co-located to our domain. The microwave field is supplied as an additional input by embedding it through a separate convolution branch and summing it with the projected context, mirroring the treatment of <inline-formula><mml:math id="M346" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">C</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> (denoted <inline-formula><mml:math id="M347" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mtext>MW</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>).</p>
      <p id="d2e8545">As shown in Table <xref ref-type="table" rid="T13"/>, the microwave variant leaves reconstruction accuracy essentially unchanged, with <inline-formula><mml:math id="M348" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> marginally lower than the default model. We attribute the small effect to the coarse resolution of the microwave product relative to the infrared L3 fields. The purpose of the experiment is not to demonstrate an accuracy gain but to show that DIRECT is readily extensible to heterogeneous observation sources. A more careful treatment of the resolution mismatch and observation-specific uncertainty, together with an evaluation in regimes of persistent, large-scale cloud cover where cloud-penetrating observations are expected to be most valuable, is a promising direction that we leave to future work.</p>

<table-wrap id="T13"><label>Table 13</label><caption><p id="d2e8564">Effect of incorporating microwave (MW) observations on the Mediterranean dataset. All reported reconstruction errors are in <inline-formula><mml:math id="M349" display="inline"><mml:mrow><mml:mi mathvariant="italic">°</mml:mi><mml:mtext>C</mml:mtext></mml:mrow></mml:math></inline-formula>. Med. denotes the Mediterranean dataset.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Dataset</oasis:entry>
         <oasis:entry colname="col2">Model</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M350" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M351" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>mis</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M352" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>obs</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Med.</oasis:entry>
         <oasis:entry colname="col2">DIRECT</oasis:entry>
         <oasis:entry colname="col3">0.113</oasis:entry>
         <oasis:entry colname="col4">0.234</oasis:entry>
         <oasis:entry colname="col5">0.000</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M353" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mtext>MW</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">0.112</oasis:entry>
         <oasis:entry colname="col4">0.230</oasis:entry>
         <oasis:entry colname="col5">0.001</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
</sec>
</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Discussion</title>
      <p id="d2e8699">DIRECT reconstructs an L3 satellite product, which is itself a retrieval carrying sensor noise and residual cloud contamination. Our metrics are computed against this product, thus the reported residuals combine reconstruction error with the observation error already present in the reference. The FUSE step re-injects the measured pixels at every integration step and thus inherits their noise, a deliberate trade-off in exchange for hard observation consistency. The model does not depend critically on this choice: the variant that disables observation re-injection (<inline-formula><mml:math id="M354" display="inline"><mml:mrow><mml:msub><mml:mtext>DIRECT</mml:mtext><mml:mover accent="true"><mml:mtext>OBS</mml:mtext><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:msub></mml:mrow></mml:math></inline-formula>, Sect. <xref ref-type="sec" rid="Ch1.S4.SS3.SSS1"/>) still reconstructs the missing regions to state-of-the-art accuracy, showing that performance is driven by the generative prior rather than the re-injection alone. Both training and evaluation use cloud masks from other days, which enables learning without cloud-free ground truth. Two consequences follow. Cloud occurrence is coupled to the atmospheric state and hence to SST variability, thus the missingness is not strictly independent of the field being reconstructed. And because we synthetically withhold observed pixels, the evaluation measures reconstruction skill against a known reference rather than validating under genuine cloud conditions. The temporal context uses a fixed three-day window, following prior evidence that most relevant temporal information lies within a few surrounding days. This is limited when informative observations fall outside the window, most notably during cloud systems that persist over many days. Cloud-penetrating microwave observations are well suited to these conditions, and our preliminary experiment (Sect. <xref ref-type="sec" rid="Ch1.S4.SS3.SSS8"/>) shows that DIRECT incorporates such a source with minimal architectural change, making a more thorough integration targeted at persistent-cloud regimes a natural next step. Finally, two aspects bound reconstruction quality. The ensemble mean is stable and accurate, but averaging acts as a low-pass filter that attenuates part of the fine-scale variability present in individual samples. The uncertainty is calibrated with a single global variance offset, which removes the dominant under-dispersion and brings coverage close to nominal (Sect. <xref ref-type="sec" rid="Ch1.S4.SS2.SSS3"/>) but cannot correct calibration that varies across space or across the tails. Spatially adaptive calibration, and a training-time scoring-rule objective in place of the post-hoc correction, are promising routes to sharper estimates.</p>
</sec>
<sec id="Ch1.S6" sec-type="conclusions">
  <label>6</label><title>Conclusions</title>
      <p id="d2e8730">We presented DIRECT, a diffusion-inspired generative model for reconstructing dense SST fields from partially observed satellite measurements. By formulating SST gap-filling as a conditional flow-matching task, DIRECT departs from deterministic reconstruction and instead produces an ensemble of physically plausible realizations, enabling both accurate reconstructions and spatially resolved uncertainty estimation. The model combines temporal context, seasonal conditioning, and observation-guided rectification within a single end-to-end framework, and is trained directly on sparse observations without cloud-free ground truth. Experimental results across Mediterranean, Adriatic, and Atlantic datasets show that DIRECT consistently outperforms current state-of-the-art methods, reducing reconstruction error in occluded regions by 6 %–14 % relative to the strongest existing method (CRITER, <xref ref-type="bibr" rid="bib1.bibx43" id="altparen.66"/>) and by up to 62 % compared to other recent methods, while better preserving mesoscale spatial structure and producing well-calibrated uncertainty estimates. Its performance is robust across cloud-coverage regimes and holds under a past-only configuration, making it suitable for operational near-real-time use. Extending the architecture to multivariate oceanographic data is a promising direction toward a more holistic, physically constrained generative model.</p>
</sec>

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

<app id="App1.Ch1.S1">
  <label>Appendix A</label><title>Additional qualitative comparison figures</title>
      <p id="d2e8748">This section presents additional reconstruction figures obtained with DIRECT and CRITER <xref ref-type="bibr" rid="bib1.bibx43" id="paren.67"/>. A more detailed discussion can be found in Sect. <xref ref-type="sec" rid="Ch1.S4.SS2"/>.</p>

      <fig id="FA1"><label>Figure A1</label><caption><p id="d2e8758">Comparison of DIRECT and CRITER reconstructions on the Mediterranean region. The columns show (from left to right): the partially observed input (<inline-formula><mml:math id="M355" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>⊙</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>), the ground truth <inline-formula><mml:math id="M356" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the reconstruction <inline-formula><mml:math id="M357" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">μ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the estimated uncertainty <inline-formula><mml:math id="M358" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and the absolute reconstruction error (<inline-formula><mml:math id="M359" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>). All values are in °C.</p></caption>
        
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f15.jpg"/>

      </fig>

<fig id="FA2"><label>Figure A2</label><caption><p id="d2e8835">Comparison of DIRECT and CRITER reconstructions on the Adriatic region. The columns show (from left to right): the partially observed input (<inline-formula><mml:math id="M360" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>⊙</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>), the ground truth <inline-formula><mml:math id="M361" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the reconstruction <inline-formula><mml:math id="M362" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">μ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the estimated uncertainty <inline-formula><mml:math id="M363" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and the absolute reconstruction error (<inline-formula><mml:math id="M364" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>). All values are in °C.</p></caption>
        
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f16.png"/>

      </fig>

<fig id="FA3"><label>Figure A3</label><caption><p id="d2e8911">Comparison of DIRECT and CRITER reconstructions on the Atlantic region. The columns show (from left to right): the partially observed input (<inline-formula><mml:math id="M365" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>⊙</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>), the ground truth <inline-formula><mml:math id="M366" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the reconstruction <inline-formula><mml:math id="M367" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">μ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the estimated uncertainty <inline-formula><mml:math id="M368" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and the absolute reconstruction error (<inline-formula><mml:math id="M369" display="inline"><mml:mrow><mml:msub><mml:mtext>RMSE</mml:mtext><mml:mtext>all</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>). All values are in °C.</p></caption>
        
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/8915/2026/gmd-19-8915-2026-f17.jpg"/>

      </fig>


</app>
  </app-group><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d2e8990">Implementation of DIRECT and the code to train and evaluate the model are available in the GitHub repository: <uri>https://github.com/G-Rovscek/DIRECT</uri> (last access: 16 July 2026). We also include DIRECT weights pretrained on the <italic>Mediterranean</italic>, <italic>Adriatic</italic> and <italic>Atlantic</italic> datasets. The persistent version of our GitHub repository containing code under the MIT licence is available at  <ext-link xlink:href="https://doi.org/10.5281/zenodo.18875310" ext-link-type="DOI">10.5281/zenodo.18875310</ext-link> <xref ref-type="bibr" rid="bib1.bibx34" id="paren.68"/>. All three used datasets can be found at <ext-link xlink:href="https://doi.org/10.5281/zenodo.13923189" ext-link-type="DOI">10.5281/zenodo.13923189</ext-link> <xref ref-type="bibr" rid="bib1.bibx42" id="paren.69"/>.</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e9021">GR developed the DIRECT code. MK led the machine learning part of the research. ML and AB contributed to the geophysical oceanographical part of the research. GR wrote the paper. All authors contributed to the final version of the manuscript.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

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

      <p id="d2e9033">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="d2e9039">The authors would like to thank the Academic and Research Network of Slovenia – ARNES and the Slovenian National Supercomputing Network – SLING consortium (ARNES, EuroHPC Vega – IZUM) for making the research possible by using their supercomputer clusters. This study has been conducted using E.U. Copernicus Marine Service Information; <ext-link xlink:href="https://doi.org/10.48670/moi-00171" ext-link-type="DOI">10.48670/moi-00171</ext-link> <xref ref-type="bibr" rid="bib1.bibx11" id="paren.70"/>, <ext-link xlink:href="https://doi.org/10.48670/moi-00311" ext-link-type="DOI">10.48670/moi-00311</ext-link> <xref ref-type="bibr" rid="bib1.bibx10" id="paren.71"/>.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e9056">This research was supported in part by ARIS program J2-2506 and projects P2-0214, and J2-60054. We acknowledge the support of the EC/EuroHPC JU and the Slovenian Ministry of HESI via the project SLAIF (grant no. 101254461). Matjaž Ličer acknowledges the financial support from the Slovenian Research and Innovation Agency ARIS (contract no. P1-0237).</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d2e9063">This paper was edited by Lars Hoffmann and reviewed by Scott Martin and one anonymous referee.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bibx1"><label>Alvera-Azcárate et al.(2005)Alvera-Azcárate, Barth, Rixen, and Beckers</label><mixed-citation>Alvera-Azcárate, A., Barth, A., Rixen, M., and Beckers, J.: Reconstruction of incomplete oceanographic data sets using empirical orthogonal functions: application to the Adriatic Sea surface temperature, Ocean Model., 9, 325–346, <ext-link xlink:href="https://doi.org/10.1016/j.ocemod.2004.08.001" ext-link-type="DOI">10.1016/j.ocemod.2004.08.001</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Barth et al.(2020)Barth, Alvera-Azcárate, Licer, and Beckers</label><mixed-citation>Barth, A., Alvera-Azcárate, A., Licer, M., and Beckers, J.-M.: DINCAE 1.0: a convolutional neural network with error estimates to reconstruct sea surface temperature satellite observations, Geosci. Model Dev., 13, 1609–1622, <ext-link xlink:href="https://doi.org/10.5194/gmd-13-1609-2020" ext-link-type="DOI">10.5194/gmd-13-1609-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Barth et al.(2022)Barth, Alvera-Azcárate, Troupin, and Beckers</label><mixed-citation>Barth, A., Alvera-Azcárate, A., Troupin, C., and Beckers, J.-M.: DINCAE 2.0: multivariate convolutional neural network with error estimates to reconstruct sea surface temperature satellite and altimetry observations, Geosci. Model Dev., 15, 2183–2196, <ext-link xlink:href="https://doi.org/10.5194/gmd-15-2183-2022" ext-link-type="DOI">10.5194/gmd-15-2183-2022</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Barth et al.(2024)Barth, Brajard, Alvera-Azcárate, Mohamed, Troupin, and Beckers</label><mixed-citation>Barth, A., Brajard, J., Alvera-Azcárate, A., Mohamed, B., Troupin, C., and Beckers, J.-M.: Ensemble reconstruction of missing satellite data using a denoising diffusion model: application to chlorophyll a concentration in the Black Sea, Ocean Sci., 20, 1567–1584, <ext-link xlink:href="https://doi.org/10.5194/os-20-1567-2024" ext-link-type="DOI">10.5194/os-20-1567-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Bojinski et al.(2014)Bojinski, Verstraete, Peterson, Richter, Simmons, and Zemp</label><mixed-citation>Bojinski, S., Verstraete, M., Peterson, T. C., Richter, C., Simmons, A., and Zemp, M.: The Concept of Essential Climate Variables in Support of Climate Research, Applications, and Policy, B. Am. Meteorol. Soc., 95, 1431–1443, <ext-link xlink:href="https://doi.org/10.1175/BAMS-D-13-00047.1" ext-link-type="DOI">10.1175/BAMS-D-13-00047.1</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Choo et al.(2025)Choo, Jung, Im, and Han</label><mixed-citation>Choo, M., Jung, S., Im, J., and Han, D.: CARE-SST: context-aware reconstruction diffusion model for sea surface temperature, ISPRS J. Photogramm., 220, 454–472, <ext-link xlink:href="https://doi.org/10.1016/j.isprsjprs.2025.01.001" ext-link-type="DOI">10.1016/j.isprsjprs.2025.01.001</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Croitoru et al.(2023)Croitoru, Hondru, Ionescu, and Shah</label><mixed-citation>Croitoru, F.-A., Hondru, V., Ionescu, R. T., and Shah, M.: Diffusion Models in Vision: A Survey, IEEE T. Pattern Anal, 45, 10850–10869, <ext-link xlink:href="https://doi.org/10.1109/TPAMI.2023.3261988" ext-link-type="DOI">10.1109/TPAMI.2023.3261988</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Donlon et al.(2007)Donlon, Robinson, Casey, Vazquez-Cuervo, Armstrong, Arino, Gentemann, May, LeBorgne, Piollé, Barton, Beggs, Poulter, Merchant, Bingham, Heinz, Harris, Wick, Emery, Minnett, Evans, Llewellyn-Jones, Mutlow, Reynolds, Kawamura, and Rayner</label><mixed-citation>Donlon, C., Robinson, I., Casey, K. S., Vazquez-Cuervo, J., Armstrong, E., Arino, O., Gentemann, C., May, D., LeBorgne, P., Piollé, J., Barton, I., Beggs, H., Poulter, D. J. S., Merchant, C. J., Bingham, A., Heinz, S., Harris, A., Wick, G., Emery, B., Minnett, P., Evans, R., Llewellyn-Jones, D., Mutlow, C., Reynolds, R. W., Kawamura, H., and Rayner, N.: The Global Ocean Data Assimilation Experiment High-resolution Sea Surface Temperature Pilot Project, B. Am. Meteorol. Soc., 88, 1197–1214, <ext-link xlink:href="https://doi.org/10.1175/BAMS-88-8-1197" ext-link-type="DOI">10.1175/BAMS-88-8-1197</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>E.U. Copernicus Marine Service Information(2024a)</label><mixed-citation>E.U. Copernicus Marine Service Information: Mediterranean Sea – High Resolution L3S Sea Surface Temperature Reprocessed,  Copernicus Marine Data Store (MDS) [data set], <ext-link xlink:href="https://doi.org/10.48670/moi-00314" ext-link-type="DOI">10.48670/moi-00314</ext-link>, 2024a.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>E.U. Copernicus Marine Service Information(2024b)</label><mixed-citation>E.U. Copernicus Marine Service Information: European North West Shelf/Iberia Biscay Irish Seas – High Resolution ODYSSEA Sea Surface Temperature Multi-sensor L3 Observations Reprocessed,  Copernicus Marine Data Store (MDS) [data set], <ext-link xlink:href="https://doi.org/10.48670/moi-00311" ext-link-type="DOI">10.48670/moi-00311</ext-link>,  2024b.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>E.U. Copernicus Marine Service Information(2024c)</label><mixed-citation>E.U. Copernicus Marine Service Information: Mediterranean Sea – High Resolution and Ultra High Resolution L3S Sea Surface Temperature,  Copernicus Marine Data Store (MDS) [data set], <ext-link xlink:href="https://doi.org/10.48670/moi-00171" ext-link-type="DOI">10.48670/moi-00171</ext-link>, 2024c.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>E.U. Copernicus Marine Service Information (CMEMS)(2026a)</label><mixed-citation>E.U. Copernicus Marine Service Information (CMEMS): ESA SST CCI and C3S reprocessed sea surface temperature analyses, Marine Data Store (MDS) [data set], <ext-link xlink:href="https://doi.org/10.48670/moi-00169" ext-link-type="DOI">10.48670/moi-00169</ext-link>, 2026a.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>E.U. Copernicus Marine Service Information (CMEMS)(2026b)</label><mixed-citation>E.U. Copernicus Marine Service Information (CMEMS): Global Ocean OSTIA Sea Surface Temperature and Sea Ice Reprocessed, Marine Data Store (MDS) [data set], <ext-link xlink:href="https://doi.org/10.48670/moi-00168" ext-link-type="DOI">10.48670/moi-00168</ext-link>,   2026b.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Garcia-Soto et al.(2021)Garcia-Soto, Cheng, Caesar, Schmidtko, Jewett, Cheripka, Rigor, Caballero, Chiba, Báez et al.</label><mixed-citation>Garcia-Soto, C., Cheng, L., Caesar, L., Schmidtko, S., Jewett, E. B., Cheripka, A., Rigor, I., Caballero, A., Chiba, S., Báez, J. C., Zielinski, T., and Abraham, J. P.: An overview of ocean climate change indicators: Sea surface temperature, ocean heat content, ocean pH, dissolved oxygen concentration, arctic sea ice extent, thickness and volume, sea level and strength of the AMOC (Atlantic Meridional Overturning Circulation), Front. Mar. Sci., 8, 642372, <ext-link xlink:href="https://doi.org/10.3389/fmars.2021.642372" ext-link-type="DOI">10.3389/fmars.2021.642372</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Goh et al.(2024)Goh, Yepremyan, Wang, and Wilson</label><mixed-citation>Goh, E., Yepremyan, A., Wang, J., and Wilson, B.: MAESSTRO: Masked Autoencoders for Sea Surface Temperature Reconstruction under Occlusion, Ocean Sci., 20, 1309–1323, <ext-link xlink:href="https://doi.org/10.5194/os-20-1309-2024" ext-link-type="DOI">10.5194/os-20-1309-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Harris(1978)</label><mixed-citation>Harris, F.: On the use of windows for harmonic analysis with the discrete Fourier transform, P. IEEE, 66, 51–83, <ext-link xlink:href="https://doi.org/10.1109/PROC.1978.10837" ext-link-type="DOI">10.1109/PROC.1978.10837</ext-link>, 1978.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Ho et al.(2020)Ho, Jain, and Abbeel</label><mixed-citation>Ho, J., Jain, A., and Abbeel, P.: Denoising Diffusion Probabilistic Models, in: Advances in Neural Information Processing Systems, edited by: Larochelle, H., Ranzato, M., Hadsell, R., Balcan, M., and Lin, H., vol. 33,  6840–6851, Curran Associates, Inc., <uri>https://proceedings.neurips.cc/paper_files/paper/2020/file/4c5bcfec8584af0d967f1ab10179ca4b-Paper.pdf</uri> (last access: 5 March 2026), 2020.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Kullback and Leibler(1951)</label><mixed-citation>Kullback, S. and Leibler, R. A.: On Information and Sufficiency,  Ann. Math. Stat., 22, 79–86, <uri>http://www.jstor.org/stable/2236703</uri> (last access: 5 March 2026), 1951.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Li et al.(2026)Li, Wang, Yang, Huang, Xia, Chen, Tao, Lyu, Chen, Zhang, Hu, Gong, Fu, and Wang</label><mixed-citation>Li, H., Wang, Y., Yang, K., Huang, G., Xia, X., Chen, Z., Tao, W., Lyu, C., Chen, L., Zhang, M., Hu, K., Gong, H., Fu, D., and Wang, L.: Probabilistic reconstruction of global sea surface temperature using generative diffusion models, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.2603.16272" ext-link-type="DOI">10.48550/arXiv.2603.16272</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Li et al.(2023)Li, Ren, Jin, Lan, Wang, Zeng, Wang, and Chen</label><mixed-citation>Li, X., Ren, Y., Jin, X., Lan, C., Wang, X., Zeng, W., Wang, X., and Chen, Z.: Diffusion Models for Image Restoration and Enhancement – A Comprehensive Survey,  arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.2308.09388" ext-link-type="DOI">10.48550/arXiv.2308.09388</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Li et al.(2024)Li, Wei, Zhang, Gao, and Zhang</label><mixed-citation>Li, Z., Wei, D., Zhang, X., Gao, Y., and Zhang, D.: A Daily High-Resolution Sea Surface Temperature Reconstruction Using an I-DINCAE and DNN Model Based on FY-3C Thermal Infrared Data, Remote Sens., 16, <ext-link xlink:href="https://doi.org/10.3390/rs16101745" ext-link-type="DOI">10.3390/rs16101745</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Lipman et al.(2023)Lipman, Chen, Ben-Hamu, Nickel, and Le</label><mixed-citation>Lipman, Y., Chen, R. T. Q., Ben-Hamu, H., Nickel, M., and Le, M.: Flow Matching for Generative Modeling, in: The Eleventh International Conference on Learning Representations, <uri>https://openreview.net/forum?id=PqvMRDCJT9t</uri> (last access: 6 March 2026), 2023.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Lipman et al.(2024)Lipman, Havasi, Holderrieth, Shaul, Le, Karrer, Chen, Lopez-Paz, Ben-Hamu, and Gat</label><mixed-citation>Lipman, Y., Havasi, M., Holderrieth, P., Shaul, N., Le, M., Karrer, B., Chen, R. T. Q., Lopez-Paz, D., Ben-Hamu, H., and Gat, I.: Flow Matching Guide and Code,   arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.2412.06264" ext-link-type="DOI">10.48550/arXiv.2412.06264</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Liu et al.(2024)Liu, Wang, Qian, Wang, and Rui</label><mixed-citation>Liu, H., Wang, Y., Qian, B., Wang, M., and Rui, Y.: Structure Matters: Tackling the Semantic Discrepancy in Diffusion Models for Image Inpainting, in: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR),   8038–8047, <ext-link xlink:href="https://doi.org/10.1109/CVPR52733.2024.00768" ext-link-type="DOI">10.1109/CVPR52733.2024.00768</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Lugmayr et al.(2022)Lugmayr, Danelljan, Romero, Yu, Timofte, and Van Gool</label><mixed-citation>Lugmayr, A., Danelljan, M., Romero, A., Yu, F., Timofte, R., and Van Gool, L.: RePaint: Inpainting Using Denoising Diffusion Probabilistic Models, in: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR),   11461–11471, <ext-link xlink:href="https://doi.org/10.1109/CVPR52688.2022.01117" ext-link-type="DOI">10.1109/CVPR52688.2022.01117</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Matheron(1963)</label><mixed-citation> Matheron, G.: Principles of geostatistics, Econ. Geol., 58, 1246–1266, 1963.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Matheson and Winkler(1976)</label><mixed-citation>Matheson, J. E. and Winkler, R. L.: Scoring Rules for Continuous Probability Distributions, Manage. Sci., 22, 1087–1096, <uri>http://www.jstor.org/stable/2629907</uri> (last access: 6 March 2026), 1976.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>O'Carroll et al.(2019)O’Carroll, Armstrong, Beggs, Bouali, Casey, Corlett, Dash, Donlon, Gentemann, Høyer, Ignatov, Kabobah, Kachi, Kurihara, Karagali, Maturi, Merchant, Marullo, Minnett, Pennybacker, Ramakrishnan, Ramsankaran, Santoleri, Sunder, Saux Picart, Vázquez-Cuervo, and Wimmer</label><mixed-citation>O'Carroll, A. G., Armstrong, E. M., Beggs, H. M., Bouali, M., Casey, K. S., Corlett, G. K., Dash, P., Donlon, C. J., Gentemann, C. L., Høyer, J. L., Ignatov, A., Kabobah, K., Kachi, M., Kurihara, Y., Karagali, I., Maturi, E., Merchant, C. J., Marullo, S., Minnett, P. J., Pennybacker, M., Ramakrishnan, B., Ramsankaran, R., Santoleri, R., Sunder, S., Saux Picart, S., Vázquez-Cuervo, J., and Wimmer, W.: Observational Needs of Sea Surface Temperature, Front. Mar. Sci.,   6, <ext-link xlink:href="https://doi.org/10.3389/fmars.2019.00420" ext-link-type="DOI">10.3389/fmars.2019.00420</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Perez et al.(2018)Perez, Strub, de Vries, Dumoulin, and Courville</label><mixed-citation>Perez, E., Strub, F., de Vries, H., Dumoulin, V., and Courville, A.: FiLM: Visual Reasoning with a General Conditioning Layer, Proceedings of the AAAI Conference on Artificial Intelligence, 32, <ext-link xlink:href="https://doi.org/10.1609/aaai.v32i1.11671" ext-link-type="DOI">10.1609/aaai.v32i1.11671</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Qian et al.(2026)Qian, Liu, Bathiany, Yang, Hess, Bochow, Burmester, Gelbrecht, Groenke, and Boers</label><mixed-citation>Qian, Z., Liu, T., Bathiany, S., Yang, S., Hess, P., Bochow, N., Burmester, C., Gelbrecht, M., Groenke, B., and Boers, N.: Generative deep learning improves reconstruction of global historical climate records, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.2602.16515" ext-link-type="DOI">10.48550/arXiv.2602.16515</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Rahman and Rahaman(2024)</label><mixed-citation>Rahman, R. and Rahaman, H.: Evaluation of sea surface temperature from ocean reanalysis products over the North Indian Ocean, Front. Mar. Sci., 11, <ext-link xlink:href="https://doi.org/10.3389/fmars.2024.1461696" ext-link-type="DOI">10.3389/fmars.2024.1461696</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Remote Sensing Systems(2022)</label><mixed-citation>Remote Sensing Systems: Microwave OI SST Product, Version 5.1, <uri>https://www.remss.com/measurements/sea-surface-temperature/oisst-description/</uri> (last access: 13 July 2026), 2022 (data available at <uri>https://data.remss.com/SST/daily/mw/v05.1/netcdf/</uri>, last access: 13 July 2026).</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Ricchi et al.(2023)Ricchi, Sangelantoni, Redaelli, Mazzarella, Montopoli, Miglietta, Tiesi, Mazzà, Rotunno, and Ferretti</label><mixed-citation>Ricchi, A., Sangelantoni, L., Redaelli, G., Mazzarella, V., Montopoli, M., Miglietta, M. M., Tiesi, A., Mazzà, S., Rotunno, R., and Ferretti, R.: Impact of the SST and topography on the development of a large-hail storm event, on the Adriatic Sea, Atmos. Res., 296, 107078, <ext-link xlink:href="https://doi.org/10.1016/j.atmosres.2023.107078" ext-link-type="DOI">10.1016/j.atmosres.2023.107078</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Rovscek(2026)</label><mixed-citation>Rovscek, G.: Grega Rovscek/DIRECT: Release 1.0,  Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.18875310" ext-link-type="DOI">10.5281/zenodo.18875310</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>Rovšček et al.(2026)Rovšček, Ličer, and Kristan</label><mixed-citation>Rovšček, G., Ličer, M., and Kristan, M.: Dense Spatiotemporal Reconstruction of Sea Surface Temperature with Conditional Flow Matching, in: Proceedings of the 29th Computer Vision Winter Workshop (CVWW), Jindřichův Hradec, Czech Republic, <uri>https://cmp.felk.cvut.cz/cvww2026/assets/pdfs/CVWW2026-43-final.pdf</uri> (last access: 10 March 2026), 2026.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>Senatore et al.(2020)Senatore, Furnari, and Mendicino</label><mixed-citation>Senatore, A., Furnari, L., and Mendicino, G.: Impact of high-resolution sea surface temperature representation on the forecast of small Mediterranean catchments' hydrological responses to heavy precipitation, Hydrol. Earth Syst. Sci., 24, 269–291, <ext-link xlink:href="https://doi.org/10.5194/hess-24-269-2020" ext-link-type="DOI">10.5194/hess-24-269-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>Song et al.(2025)Song, Lyu, Fei, Ling, Ouyang, and Bai</label><mixed-citation>Song, Y., Lyu, P., Fei, B., Ling, F., Ouyang, W., and Bai, L.: ReconMOST: Multi-Layer Sea Temperature Reconstruction with Observations-Guided Diffusion,   arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.2506.10391" ext-link-type="DOI">10.48550/arXiv.2506.10391</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Stoica et al.(2005)Stoica, Moses et al.</label><mixed-citation> Stoica, P. and Moses, R. L.: Spectral analysis of signals, vol. 452, Pearson Prentice Hall Upper Saddle River, NJ, ISBN 9780131139565, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>Taburet et al.(2019)Taburet, Sanchez-Roman, Ballarotta, Pujol, Legeais, Fournier, Faugere, and Dibarboure</label><mixed-citation>Taburet, G., Sanchez-Roman, A., Ballarotta, M., Pujol, M.-I., Legeais, J.-F., Fournier, F., Faugere, Y., and Dibarboure, G.: DUACS DT2018: 25 years of reprocessed sea level altimetry products, Ocean Sci., 15, 1207–1224, <ext-link xlink:href="https://doi.org/10.5194/os-15-1207-2019" ext-link-type="DOI">10.5194/os-15-1207-2019</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Wang et al.(2025)Wang, Han, Fan, Zhang, and Liu</label><mixed-citation>Wang, H., Han, J., Fan, W., Zhang, W., and Liu, H.: PhyDA: Physics-Guided Diffusion Models for Data Assimilation in Atmospheric Systems, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.2505.12882" ext-link-type="DOI">10.48550/arXiv.2505.12882</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx41"><label>Xing et al.(2024)Xing, Feng, Chen, Dai, Hu, Xu, Wu, and Jiang</label><mixed-citation> Xing, Z., Feng, Q., Chen, H., Dai, Q., Hu, H., Xu, H., Wu, Z., and Jiang, Y.-G.: A survey on video diffusion models, ACM Comput. Surv., 57, 1–42, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx42"><label>Zupancic Muc et al.(2024)Zupancic Muc, Zavrtanik, Barth, Alvera-Azcarate, Licer, and Kristan</label><mixed-citation>Zupancic Muc, M., Zavrtanik, V., Barth, A., Alvera-Azcarate, A., Licer, M., and Kristan, M.: CRITER 1.0: Sea Surface Temperature Evaluation Datasets, Zenodo [data set], <ext-link xlink:href="https://doi.org/10.5281/zenodo.13923189" ext-link-type="DOI">10.5281/zenodo.13923189</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx43"><label>Zupančič Muc et al.(2025)Zupančič Muc, Zavrtanik, Barth, Alvera-Azcarate, Ličer, and Kristan</label><mixed-citation>Zupančič Muc, M., Zavrtanik, V., Barth, A., Alvera-Azcarate, A., Ličer, M., and Kristan, M.: CRITER 1.0: a coarse reconstruction with iterative refinement network for sparse spatio-temporal satellite data, Geosci. Model Dev., 18, 5549–5573, <ext-link xlink:href="https://doi.org/10.5194/gmd-18-5549-2025" ext-link-type="DOI">10.5194/gmd-18-5549-2025</ext-link>, 2025.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>DIRECT 1.0: a diffusion-based generative model for dense sea surface temperature reconstructions from sparse satellite observations</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Alvera-Azcárate et al.(2005)Alvera-Azcárate, Barth, Rixen, and
Beckers</label><mixed-citation>
      
Alvera-Azcárate, A., Barth, A., Rixen, M., and Beckers, J.: Reconstruction of
incomplete oceanographic data sets using empirical orthogonal functions:
application to the Adriatic Sea surface temperature, Ocean Model., 9,
325–346, <a href="https://doi.org/10.1016/j.ocemod.2004.08.001" target="_blank">https://doi.org/10.1016/j.ocemod.2004.08.001</a>, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Barth et al.(2020)Barth, Alvera-Azcárate, Licer, and
Beckers</label><mixed-citation>
      
Barth, A., Alvera-Azcárate, A., Licer, M., and Beckers, J.-M.: DINCAE 1.0: a convolutional neural network with error estimates to reconstruct sea surface temperature satellite observations, Geosci. Model Dev., 13, 1609–1622, <a href="https://doi.org/10.5194/gmd-13-1609-2020" target="_blank">https://doi.org/10.5194/gmd-13-1609-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Barth et al.(2022)Barth, Alvera-Azcárate, Troupin, and
Beckers</label><mixed-citation>
      
Barth, A., Alvera-Azcárate, A., Troupin, C., and Beckers, J.-M.: DINCAE 2.0: multivariate convolutional neural network with error estimates to reconstruct sea surface temperature satellite and altimetry observations, Geosci. Model Dev., 15, 2183–2196, <a href="https://doi.org/10.5194/gmd-15-2183-2022" target="_blank">https://doi.org/10.5194/gmd-15-2183-2022</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Barth et al.(2024)Barth, Brajard, Alvera-Azcárate, Mohamed,
Troupin, and Beckers</label><mixed-citation>
      
Barth, A., Brajard, J., Alvera-Azcárate, A., Mohamed, B., Troupin, C., and Beckers, J.-M.: Ensemble reconstruction of missing satellite data using a denoising diffusion model: application to chlorophyll a concentration in the Black Sea, Ocean Sci., 20, 1567–1584, <a href="https://doi.org/10.5194/os-20-1567-2024" target="_blank">https://doi.org/10.5194/os-20-1567-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Bojinski et al.(2014)Bojinski, Verstraete, Peterson, Richter,
Simmons, and Zemp</label><mixed-citation>
      
Bojinski, S., Verstraete, M., Peterson, T. C., Richter, C., Simmons, A., and
Zemp, M.: The Concept of Essential Climate Variables in Support of Climate
Research, Applications, and Policy, B. Am. Meteorol.
Soc., 95, 1431–1443, <a href="https://doi.org/10.1175/BAMS-D-13-00047.1" target="_blank">https://doi.org/10.1175/BAMS-D-13-00047.1</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Choo et al.(2025)Choo, Jung, Im, and Han</label><mixed-citation>
      
Choo, M., Jung, S., Im, J., and Han, D.: CARE-SST: context-aware reconstruction
diffusion model for sea surface temperature, ISPRS J. Photogramm., 220, 454–472,
<a href="https://doi.org/10.1016/j.isprsjprs.2025.01.001" target="_blank">https://doi.org/10.1016/j.isprsjprs.2025.01.001</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Croitoru et al.(2023)Croitoru, Hondru, Ionescu, and
Shah</label><mixed-citation>
      
Croitoru, F.-A., Hondru, V., Ionescu, R. T., and Shah, M.: Diffusion Models in
Vision: A Survey, IEEE T. Pattern Anal, 45, 10850–10869, <a href="https://doi.org/10.1109/TPAMI.2023.3261988" target="_blank">https://doi.org/10.1109/TPAMI.2023.3261988</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Donlon et al.(2007)Donlon, Robinson, Casey, Vazquez-Cuervo,
Armstrong, Arino, Gentemann, May, LeBorgne, Piollé, Barton, Beggs, Poulter,
Merchant, Bingham, Heinz, Harris, Wick, Emery, Minnett, Evans,
Llewellyn-Jones, Mutlow, Reynolds, Kawamura, and Rayner</label><mixed-citation>
      
Donlon, C., Robinson, I., Casey, K. S., Vazquez-Cuervo, J., Armstrong, E.,
Arino, O., Gentemann, C., May, D., LeBorgne, P., Piollé, J., Barton, I.,
Beggs, H., Poulter, D. J. S., Merchant, C. J., Bingham, A., Heinz, S.,
Harris, A., Wick, G., Emery, B., Minnett, P., Evans, R., Llewellyn-Jones, D.,
Mutlow, C., Reynolds, R. W., Kawamura, H., and Rayner, N.: The Global Ocean
Data Assimilation Experiment High-resolution Sea Surface Temperature Pilot
Project, B. Am. Meteorol. Soc., 88, 1197–1214,
<a href="https://doi.org/10.1175/BAMS-88-8-1197" target="_blank">https://doi.org/10.1175/BAMS-88-8-1197</a>, 2007.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>E.U. Copernicus Marine Service
Information(2024a)</label><mixed-citation>
      
E.U. Copernicus Marine Service Information: Mediterranean Sea – High
Resolution L3S Sea Surface Temperature Reprocessed,  Copernicus Marine Data Store (MDS) [data set], <a href="https://doi.org/10.48670/moi-00314" target="_blank">https://doi.org/10.48670/moi-00314</a>,
2024a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>E.U. Copernicus Marine Service
Information(2024b)</label><mixed-citation>
      
E.U. Copernicus Marine Service Information: European North West
Shelf/Iberia Biscay Irish Seas – High Resolution ODYSSEA Sea Surface
Temperature Multi-sensor L3 Observations Reprocessed,  Copernicus Marine Data Store (MDS) [data set],
<a href="https://doi.org/10.48670/moi-00311" target="_blank">https://doi.org/10.48670/moi-00311</a>,  2024b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>E.U. Copernicus Marine Service
Information(2024c)</label><mixed-citation>
      
E.U. Copernicus Marine Service Information: Mediterranean Sea – High
Resolution and Ultra High Resolution L3S Sea Surface Temperature,  Copernicus Marine Data Store (MDS) [data set],
<a href="https://doi.org/10.48670/moi-00171" target="_blank">https://doi.org/10.48670/moi-00171</a>, 2024c.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>E.U. Copernicus Marine Service Information
(CMEMS)(2026a)</label><mixed-citation>
      
E.U. Copernicus Marine Service Information (CMEMS): ESA SST CCI and
C3S reprocessed sea surface temperature analyses, Marine Data Store (MDS) [data set],
<a href="https://doi.org/10.48670/moi-00169" target="_blank">https://doi.org/10.48670/moi-00169</a>, 2026a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>E.U. Copernicus Marine Service Information
(CMEMS)(2026b)</label><mixed-citation>
      
E.U. Copernicus Marine Service Information (CMEMS): Global Ocean OSTIA Sea
Surface Temperature and Sea Ice Reprocessed, Marine Data Store (MDS) [data set],
<a href="https://doi.org/10.48670/moi-00168" target="_blank">https://doi.org/10.48670/moi-00168</a>,   2026b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Garcia-Soto et al.(2021)Garcia-Soto, Cheng, Caesar, Schmidtko,
Jewett, Cheripka, Rigor, Caballero, Chiba, Báez
et al.</label><mixed-citation>
      
Garcia-Soto, C., Cheng, L., Caesar, L., Schmidtko, S., Jewett, E. B., Cheripka, A., Rigor, I., Caballero, A., Chiba, S., Báez, J. C., Zielinski, T., and Abraham, J. P.: An overview
of ocean climate change indicators: Sea surface temperature, ocean heat
content, ocean pH, dissolved oxygen concentration, arctic sea ice extent,
thickness and volume, sea level and strength of the AMOC (Atlantic Meridional
Overturning Circulation), Front. Mar. Sci., 8, 642372, <a href="https://doi.org/10.3389/fmars.2021.642372" target="_blank">https://doi.org/10.3389/fmars.2021.642372</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Goh et al.(2024)Goh, Yepremyan, Wang, and Wilson</label><mixed-citation>
      
Goh, E., Yepremyan, A., Wang, J., and Wilson, B.: MAESSTRO: Masked Autoencoders for Sea Surface Temperature Reconstruction under Occlusion, Ocean Sci., 20, 1309–1323, <a href="https://doi.org/10.5194/os-20-1309-2024" target="_blank">https://doi.org/10.5194/os-20-1309-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Harris(1978)</label><mixed-citation>
      
Harris, F.: On the use of windows for harmonic analysis with the discrete
Fourier transform, P. IEEE, 66, 51–83,
<a href="https://doi.org/10.1109/PROC.1978.10837" target="_blank">https://doi.org/10.1109/PROC.1978.10837</a>, 1978.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Ho et al.(2020)Ho, Jain, and Abbeel</label><mixed-citation>
      
Ho, J., Jain, A., and Abbeel, P.: Denoising Diffusion Probabilistic Models, in:
Advances in Neural Information Processing Systems, edited by: Larochelle, H.,
Ranzato, M., Hadsell, R., Balcan, M., and Lin, H., vol. 33,  6840–6851,
Curran Associates, Inc.,
<a href="https://proceedings.neurips.cc/paper_files/paper/2020/file/4c5bcfec8584af0d967f1ab10179ca4b-Paper.pdf" target="_blank"/> (last access: 5 March 2026),
2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Kullback and Leibler(1951)</label><mixed-citation>
      
Kullback, S. and Leibler, R. A.: On Information and Sufficiency,  Ann.
Math. Stat., 22, 79–86,
<a href="http://www.jstor.org/stable/2236703" target="_blank"/> (last access: 5 March 2026), 1951.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Li et al.(2026)Li, Wang, Yang, Huang, Xia, Chen, Tao, Lyu, Chen,
Zhang, Hu, Gong, Fu, and Wang</label><mixed-citation>
      
Li, H., Wang, Y., Yang, K., Huang, G., Xia, X., Chen, Z., Tao, W., Lyu, C.,
Chen, L., Zhang, M., Hu, K., Gong, H., Fu, D., and Wang, L.: Probabilistic
reconstruction of global sea surface temperature using generative diffusion
models, arXiv [preprint],
<a href="https://doi.org/10.48550/arXiv.2603.16272" target="_blank">https://doi.org/10.48550/arXiv.2603.16272</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Li et al.(2023)Li, Ren, Jin, Lan, Wang, Zeng, Wang, and
Chen</label><mixed-citation>
      
Li, X., Ren, Y., Jin, X., Lan, C., Wang, X., Zeng, W., Wang, X., and Chen, Z.:
Diffusion Models for Image Restoration and Enhancement – A Comprehensive
Survey,  arXiv [preprint],
<a href="https://doi.org/10.48550/arXiv.2308.09388" target="_blank">https://doi.org/10.48550/arXiv.2308.09388</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Li et al.(2024)Li, Wei, Zhang, Gao, and Zhang</label><mixed-citation>
      
Li, Z., Wei, D., Zhang, X., Gao, Y., and Zhang, D.: A Daily High-Resolution Sea
Surface Temperature Reconstruction Using an I-DINCAE and DNN Model Based on
FY-3C Thermal Infrared Data, Remote Sens., 16, <a href="https://doi.org/10.3390/rs16101745" target="_blank">https://doi.org/10.3390/rs16101745</a>,
2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Lipman et al.(2023)Lipman, Chen, Ben-Hamu, Nickel, and
Le</label><mixed-citation>
      
Lipman, Y., Chen, R. T. Q., Ben-Hamu, H., Nickel, M., and Le, M.: Flow Matching
for Generative Modeling, in: The Eleventh International Conference on
Learning Representations,
<a href="https://openreview.net/forum?id=PqvMRDCJT9t" target="_blank"/> (last access: 6 March 2026), 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Lipman et al.(2024)Lipman, Havasi, Holderrieth, Shaul, Le, Karrer,
Chen, Lopez-Paz, Ben-Hamu, and Gat</label><mixed-citation>
      
Lipman, Y., Havasi, M., Holderrieth, P., Shaul, N., Le, M., Karrer, B., Chen,
R. T. Q., Lopez-Paz, D., Ben-Hamu, H., and Gat, I.: Flow Matching Guide and
Code,   arXiv [preprint],
<a href="https://doi.org/10.48550/arXiv.2412.06264" target="_blank">https://doi.org/10.48550/arXiv.2412.06264</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Liu et al.(2024)Liu, Wang, Qian, Wang, and Rui</label><mixed-citation>
      
Liu, H., Wang, Y., Qian, B., Wang, M., and Rui, Y.: Structure Matters: Tackling
the Semantic Discrepancy in Diffusion Models for Image Inpainting, in:
Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern
Recognition (CVPR),   8038–8047, <a href="https://doi.org/10.1109/CVPR52733.2024.00768" target="_blank">https://doi.org/10.1109/CVPR52733.2024.00768</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Lugmayr et al.(2022)Lugmayr, Danelljan, Romero, Yu, Timofte, and
Van Gool</label><mixed-citation>
      
Lugmayr, A., Danelljan, M., Romero, A., Yu, F., Timofte, R., and Van Gool, L.:
RePaint: Inpainting Using Denoising Diffusion Probabilistic Models, in:
Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern
Recognition (CVPR),   11461–11471, <a href="https://doi.org/10.1109/CVPR52688.2022.01117" target="_blank">https://doi.org/10.1109/CVPR52688.2022.01117</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Matheron(1963)</label><mixed-citation>
      
Matheron, G.: Principles of geostatistics, Econ. Geol., 58, 1246–1266,
1963.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Matheson and Winkler(1976)</label><mixed-citation>
      
Matheson, J. E. and Winkler, R. L.: Scoring Rules for Continuous Probability
Distributions, Manage. Sci., 22, 1087–1096,
<a href="http://www.jstor.org/stable/2629907" target="_blank"/> (last access: 6 March 2026), 1976.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>O'Carroll et al.(2019)O’Carroll, Armstrong, Beggs, Bouali, Casey,
Corlett, Dash, Donlon, Gentemann, Høyer, Ignatov, Kabobah, Kachi, Kurihara,
Karagali, Maturi, Merchant, Marullo, Minnett, Pennybacker, Ramakrishnan,
Ramsankaran, Santoleri, Sunder, Saux Picart, Vázquez-Cuervo, and
Wimmer</label><mixed-citation>
      
O'Carroll, A. G., Armstrong, E. M., Beggs, H. M., Bouali, M., Casey, K. S.,
Corlett, G. K., Dash, P., Donlon, C. J., Gentemann, C. L., Høyer, J. L.,
Ignatov, A., Kabobah, K., Kachi, M., Kurihara, Y., Karagali, I., Maturi, E.,
Merchant, C. J., Marullo, S., Minnett, P. J., Pennybacker, M., Ramakrishnan,
B., Ramsankaran, R., Santoleri, R., Sunder, S., Saux Picart, S.,
Vázquez-Cuervo, J., and Wimmer, W.: Observational Needs of Sea Surface
Temperature, Front. Mar. Sci.,   6,
<a href="https://doi.org/10.3389/fmars.2019.00420" target="_blank">https://doi.org/10.3389/fmars.2019.00420</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Perez et al.(2018)Perez, Strub, de Vries, Dumoulin, and
Courville</label><mixed-citation>
      
Perez, E., Strub, F., de Vries, H., Dumoulin, V., and Courville, A.: FiLM:
Visual Reasoning with a General Conditioning Layer, Proceedings of the AAAI
Conference on Artificial Intelligence, 32, <a href="https://doi.org/10.1609/aaai.v32i1.11671" target="_blank">https://doi.org/10.1609/aaai.v32i1.11671</a>,
2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Qian et al.(2026)Qian, Liu, Bathiany, Yang, Hess, Bochow, Burmester,
Gelbrecht, Groenke, and Boers</label><mixed-citation>
      
Qian, Z., Liu, T., Bathiany, S., Yang, S., Hess, P., Bochow, N., Burmester, C.,
Gelbrecht, M., Groenke, B., and Boers, N.: Generative deep learning improves
reconstruction of global historical climate records,
arXiv [preprint],
<a href="https://doi.org/10.48550/arXiv.2602.16515" target="_blank">https://doi.org/10.48550/arXiv.2602.16515</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Rahman and Rahaman(2024)</label><mixed-citation>
      
Rahman, R. and Rahaman, H.: Evaluation of sea surface temperature from ocean
reanalysis products over the North Indian Ocean, Front. Mar. Sci.,
11, <a href="https://doi.org/10.3389/fmars.2024.1461696" target="_blank">https://doi.org/10.3389/fmars.2024.1461696</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Remote Sensing Systems(2022)</label><mixed-citation>
      
Remote Sensing Systems: Microwave OI SST Product, Version 5.1,
<a href="https://www.remss.com/measurements/sea-surface-temperature/oisst-description/" target="_blank"/> (last access: 13 July 2026), 2022 (data available at <a href="https://data.remss.com/SST/daily/mw/v05.1/netcdf/" target="_blank"/>,
last access: 13 July 2026).

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Ricchi et al.(2023)Ricchi, Sangelantoni, Redaelli, Mazzarella,
Montopoli, Miglietta, Tiesi, Mazzà, Rotunno, and
Ferretti</label><mixed-citation>
      
Ricchi, A., Sangelantoni, L., Redaelli, G., Mazzarella, V., Montopoli, M.,
Miglietta, M. M., Tiesi, A., Mazzà, S., Rotunno, R., and Ferretti, R.:
Impact of the SST and topography on the development of a large-hail storm
event, on the Adriatic Sea, Atmos. Res., 296, 107078, <a href="https://doi.org/10.1016/j.atmosres.2023.107078" target="_blank">https://doi.org/10.1016/j.atmosres.2023.107078</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Rovscek(2026)</label><mixed-citation>
      
Rovscek, G.: Grega Rovscek/DIRECT: Release 1.0,  Zenodo [code], <a href="https://doi.org/10.5281/zenodo.18875310" target="_blank">https://doi.org/10.5281/zenodo.18875310</a>,
2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>Rovšček et al.(2026)Rovšček, Ličer, and
Kristan</label><mixed-citation>
      
Rovšček, G., Ličer, M., and Kristan, M.: Dense Spatiotemporal
Reconstruction of Sea Surface Temperature with Conditional Flow Matching, in:
Proceedings of the 29th Computer Vision Winter Workshop (CVWW), Jindřichův
Hradec, Czech Republic,
<a href="https://cmp.felk.cvut.cz/cvww2026/assets/pdfs/CVWW2026-43-final.pdf" target="_blank"/> (last access: 10 March 2026),
2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>Senatore et al.(2020)Senatore, Furnari, and Mendicino</label><mixed-citation>
      
Senatore, A., Furnari, L., and Mendicino, G.: Impact of high-resolution sea surface temperature representation on the forecast of small Mediterranean catchments' hydrological responses to heavy precipitation, Hydrol. Earth Syst. Sci., 24, 269–291, <a href="https://doi.org/10.5194/hess-24-269-2020" target="_blank">https://doi.org/10.5194/hess-24-269-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>Song et al.(2025)Song, Lyu, Fei, Ling, Ouyang, and
Bai</label><mixed-citation>
      
Song, Y., Lyu, P., Fei, B., Ling, F., Ouyang, W., and Bai, L.: ReconMOST:
Multi-Layer Sea Temperature Reconstruction with Observations-Guided
Diffusion,   arXiv [preprint], <a href="https://doi.org/10.48550/arXiv.2506.10391" target="_blank">https://doi.org/10.48550/arXiv.2506.10391</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Stoica et al.(2005)Stoica, Moses et al.</label><mixed-citation>
      
Stoica, P. and Moses, R. L.: Spectral analysis of signals, vol. 452,
Pearson Prentice Hall Upper Saddle River, NJ, ISBN 9780131139565, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>Taburet et al.(2019)Taburet, Sanchez-Roman, Ballarotta, Pujol,
Legeais, Fournier, Faugere, and Dibarboure</label><mixed-citation>
      
Taburet, G., Sanchez-Roman, A., Ballarotta, M., Pujol, M.-I., Legeais, J.-F., Fournier, F., Faugere, Y., and Dibarboure, G.: DUACS DT2018: 25 years of reprocessed sea level altimetry products, Ocean Sci., 15, 1207–1224, <a href="https://doi.org/10.5194/os-15-1207-2019" target="_blank">https://doi.org/10.5194/os-15-1207-2019</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Wang et al.(2025)Wang, Han, Fan, Zhang, and Liu</label><mixed-citation>
      
Wang, H., Han, J., Fan, W., Zhang, W., and Liu, H.: PhyDA: Physics-Guided
Diffusion Models for Data Assimilation in Atmospheric Systems,
arXiv [preprint], <a href="https://doi.org/10.48550/arXiv.2505.12882" target="_blank">https://doi.org/10.48550/arXiv.2505.12882</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>Xing et al.(2024)Xing, Feng, Chen, Dai, Hu, Xu, Wu, and
Jiang</label><mixed-citation>
      
Xing, Z., Feng, Q., Chen, H., Dai, Q., Hu, H., Xu, H., Wu, Z., and Jiang,
Y.-G.: A survey on video diffusion models, ACM Comput. Surv., 57, 1–42,
2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>Zupancic Muc et al.(2024)Zupancic Muc, Zavrtanik, Barth,
Alvera-Azcarate, Licer, and Kristan</label><mixed-citation>
      
Zupancic Muc, M., Zavrtanik, V., Barth, A., Alvera-Azcarate, A., Licer, M., and
Kristan, M.: CRITER 1.0: Sea Surface Temperature Evaluation Datasets, Zenodo [data set],
<a href="https://doi.org/10.5281/zenodo.13923189" target="_blank">https://doi.org/10.5281/zenodo.13923189</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>Zupančič Muc et al.(2025)Zupančič Muc, Zavrtanik,
Barth, Alvera-Azcarate, Ličer, and Kristan</label><mixed-citation>
      
Zupančič Muc, M., Zavrtanik, V., Barth, A., Alvera-Azcarate, A., Ličer, M., and Kristan, M.: CRITER 1.0: a coarse reconstruction with iterative refinement network for sparse spatio-temporal satellite data, Geosci. Model Dev., 18, 5549–5573, <a href="https://doi.org/10.5194/gmd-18-5549-2025" target="_blank">https://doi.org/10.5194/gmd-18-5549-2025</a>, 2025.

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