<?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-2177-2026</article-id><title-group><article-title>HIDRA-D: deep-learning model for dense sea level forecasting  using sparse altimetry and tide gauge data</article-title><alt-title>HIDRA-D</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff2">
          <name><surname>Rus</surname><given-names>Marko</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" equal-contrib="yes" corresp="yes" rid="aff1 aff3">
          <name><surname>Ličer</surname><given-names>Matjaž</given-names></name>
          <email>matjaz.licer@gov.si</email>
        <ext-link>https://orcid.org/0000-0003-2304-2505</ext-link></contrib>
        <contrib contrib-type="author" equal-contrib="yes" corresp="no" rid="aff2">
          <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>Office for Meteorology, Hydrology and Oceanography, Slovenian Environment Agency, Ljubljana, Slovenia</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Visual Cognitive Systems Lab, Faculty of Computer and Information Science, University of Ljubljana, Ljubljana, Slovenia</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>Marine Biology Station, National Institute of Biology, Piran, Slovenia</institution>
        </aff><author-comment content-type="econtrib"><p>These authors contributed equally to this work.</p></author-comment>
      </contrib-group>
      <author-notes><corresp id="corr1">Matjaž Ličer (matjaz.licer@gov.si)</corresp></author-notes><pub-date><day>17</day><month>March</month><year>2026</year></pub-date>
      
      <volume>19</volume>
      <issue>5</issue>
      <fpage>2177</fpage><lpage>2195</lpage>
      <history>
        <date date-type="received"><day>3</day><month>July</month><year>2025</year></date>
           <date date-type="rev-request"><day>10</day><month>July</month><year>2025</year></date>
           <date date-type="rev-recd"><day>29</day><month>January</month><year>2026</year></date>
           <date date-type="accepted"><day>5</day><month>March</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Marko Rus 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/2177/2026/gmd-19-2177-2026.html">This article is available from https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e116">This paper introduces HIDRA-D, a novel deep-learning model for basin scale dense (gridded) sea level prediction using sparse satellite altimetry and in situ tide gauge data. Accurate sea level prediction is crucial for coastal risk management, marine operations, and sustainable development. While traditional numerical ocean models are computationally expensive, especially for probabilistic forecasts over many ensemble members, HIDRA-D offers a faster, numerically cheaper, observation-driven alternative. Unlike previous HIDRA models (HIDRA1, HIDRA2 and HIDRA3) that focused on point predictions at tide gauges, HIDRA-D provides dense, two-dimensional, gridded sea level forecasts. The core innovation lies in a new algorithm that effectively leverages sparse and unevenly distributed satellite altimetry data in combination with tide gauge observations, to learn the complex basin-scale dynamics of sea level. HIDRA-D achieves this by integrating a HIDRA3 module for point predictions at tide gauges with a novel Dense decoder module, which generates low-frequency spatial components of the sea level field in the Fourier domain, whose Fourier inverse is an hourly sea level forecast over a 3 d horizon. When comparing 3 d forecasts against satellite absolute dynamic topography (ADT) data in the Adriatic, HIDRA-D achieves a 28.0 % reduction in mean absolute error relative to the NEMO general circulation model. However, while HIDRA-D performs well in open waters, leave-one-out cross-validation at tide gauges indicates limitations in areas with complex bathymetry, such as the Neretva estuary located in a narrow bay, and in regions with sparse satellite ADT data, like the northern Adriatic. Importantly, the model shows robustness to spatially-limited tide gauge coverage, maintaining acceptable performance even when trained using data from distant stations. This suggests its potential for broader applicability in areas with limited in situ 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-group>
</funding-group>
</article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e152">The ability to accurately predict sea levels has become increasingly vital for proactive planning and mitigation efforts across diverse sectors. Reliable forecasts are crucial for managing coastal risks, optimizing marine operations, and supporting sustainable development in the face of a changing climate. However, predicting sea levels is an inherently complex task. The ocean is a dynamic system influenced by a multitude of interacting factors, including atmospheric pressure, winds, tides, and currents, all operating across a wide range of spatial and temporal scales. Traditional numerical models <xref ref-type="bibr" rid="bib1.bibx39 bib1.bibx14 bib1.bibx27" id="paren.1"/> provide an invaluable spatiotemporal insight into the state of the ocean, ranging from density fields to sea levels. This insight however comes at a high numerical price and even then the models often crucially depend on numerically-intensive data assimilation <xref ref-type="bibr" rid="bib1.bibx1" id="paren.2"/> and local bias corrections to remain close to observations. This is especially true in coastal regions characterized by complex bathymetry and rapidly varying hydrodynamic conditions <xref ref-type="bibr" rid="bib1.bibx39" id="paren.3"/>.</p>
      <p id="d2e164">The inherent uncertainties of the model initial conditions, boundary conditions, and even the representation of physical processes themselves necessitate a probabilistic approach when modeling complex geophysical systems <xref ref-type="bibr" rid="bib1.bibx15 bib1.bibx6 bib1.bibx29" id="paren.4"/>. Instead of a single, deterministic prediction, numerical forecasting systems often employ ensemble modeling, generating multiple simulations with slightly varying initial conditions, forcings, or parameters to capture the envelope of possible sea level outcomes. While this approach improves robustness, it comes at a steep price. The computational cost increases with the number of ensemble members, making high-resolution, real-time forecasting computationally expensive. To overcome this computational barrier, our research has been focused on developing a family of fast deep learning algorithms for sea level predictions, collectively known as HIDRA <xref ref-type="bibr" rid="bib1.bibx37 bib1.bibx33 bib1.bibx41" id="paren.5"/>. These models are designed to drastically reduce the computational cost of sea level forecasting while maintaining or even exceeding the accuracy of traditional numerical models, a trend increasingly observed in geophysical fluid dynamics domains <xref ref-type="bibr" rid="bib1.bibx7 bib1.bibx22" id="paren.6"/>.</p>
      <p id="d2e176">However, data-driven approaches face their own challenges, particularly regarding training stability, interpretability, and the preservation of physical conservation laws, which often require careful hybrid modeling strategies <xref ref-type="bibr" rid="bib1.bibx20" id="paren.7"/>. Nevertheless, active research within the machine learning communities on explainable artificial intelligence (XAI) <xref ref-type="bibr" rid="bib1.bibx38" id="paren.8"/>, together with growing efforts to adapt these methods in geoscience <xref ref-type="bibr" rid="bib1.bibx28 bib1.bibx9" id="paren.9"/>, offers a promising outlook. We expect that emerging findings from these subfields will increasingly contribute to the interpretability of deep learning methods in geophysics.</p>
      <p id="d2e188">The evolution of HIDRA parallels a broader paradigm shift in ocean forecasting, where data-driven models are increasingly outperforming traditional numerical solvers. Recent global initiatives, such as ORCA-DL <xref ref-type="bibr" rid="bib1.bibx17" id="paren.10"/>, TianHai <xref ref-type="bibr" rid="bib1.bibx31" id="paren.11"/>, and XiHe <xref ref-type="bibr" rid="bib1.bibx40" id="paren.12"/>, have successfully employed deep learning to capture 3D ocean dynamics and eddy-resolving features with high physical consistency. At regional scales, architectures like OceanNet <xref ref-type="bibr" rid="bib1.bibx8" id="paren.13"/> have introduced physics-inspired neural operators for sea-surface height emulation, while MedFormer <xref ref-type="bibr" rid="bib1.bibx12" id="paren.14"/> and SeaCast <xref ref-type="bibr" rid="bib1.bibx19" id="paren.15"/> have demonstrated superior forecasting skills specifically within the Mediterranean Sea. Within this rapidly advancing context, our work has focused on the specific challenge of coastal sea level prediction. The initial HIDRA1 model <xref ref-type="bibr" rid="bib1.bibx41" id="paren.16"/> established that deep learning could predict sea surface height (SSH) at a single tide gauge with improved accuracy and vastly reduced computational costs compared to operational numerical model NEMO GCM <xref ref-type="bibr" rid="bib1.bibx24" id="paren.17"/>. Subsequent iterations, HIDRA2 <xref ref-type="bibr" rid="bib1.bibx33" id="paren.18"/> and HIDRA3 <xref ref-type="bibr" rid="bib1.bibx37" id="paren.19"/>, addressed early limitations by improving accuracy and utilizing data from neighboring operational stations to handle sensor failures. However, these models remained fundamentally limited to specific sensor locations, lacking the capability to predict sea levels in open waters, a gap that gridded approaches in the wider field have begun to address.</p>
      <p id="d2e223">To bridge the gap between coastal point observations and open-ocean dynamics, we introduce HIDRA-D. This model marks a fundamental shift from the sparse prediction capabilities to dense, gridded, two-dimensional sea level forecasts across the entire ocean basin. HIDRA-D incorporates satellite altimetry observations (absolute dynamic topography, or ADT) to learn the spatial patterns of sea level, which presents a unique challenge, as satellite ADT data, while valuable, is extremely sparse and unevenly distributed, both spatially and temporally (see Fig. <xref ref-type="fig" rid="F1"/>). While advancements exist in interpolating irregularly sampled satellite data, often focusing on variables with greater coverage like sea surface temperature <xref ref-type="bibr" rid="bib1.bibx2 bib1.bibx3" id="paren.20"/> or employing wide-swath altimetry <xref ref-type="bibr" rid="bib1.bibx13 bib1.bibx5" id="paren.21"/>, we specifically leverage along-track sea level altimetry for its extended historical availability.</p>

      <fig id="F1"><label>Figure 1</label><caption><p id="d2e245">The region of our study, the Adriatic Sea, with 11 tide gauge locations depicted by black dots and along with two satellite absolute dynamic topography (ADT) ground tracks from 6 June 2019 shown.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f01.png"/>

      </fig>

      <p id="d2e254">In the text that follows, ADT (absolute dynamic topography) will be used to denote remote satellite altimetry observations. It is important to note that in this study, our ADT variable is computed as the sum of the sea level anomaly (SLA), mean dynamic topography (MDT), ocean tides, and dynamic atmospheric correction. SSH (sea surface height) will be used to denote local tide gauge observations.</p>
      <p id="d2e257">ADT measurements from the satellite altimeter are not calibrated with the SSH measurements at different tide gauges and, furthermore, the tide gauges are often not calibrated between each other, each reporting the sea level values relative to their local vertical datum. In this paper we propose a novel formulation that casts tide gauge and ADT intercalibration as part of the learning problem. Specifically, the model estimates a vertical offset for each tide gauge, effectively aligning all stations to the common satellite-referenced ADT datum. This allows HIDRA-D to function in operational mode, where it generates dense, basin-scale ADT forecasts using only sparse tide gauge observations and atmospheric forcing.</p>
      <p id="d2e264">The remainder of this paper is structured as follows. Section <xref ref-type="sec" rid="Ch1.S2"/> details the training and testing datasets, the processing of satellite altimetry, the alignment of heterogeneous data sources, and the NEMO ocean model used for comparison. Section <xref ref-type="sec" rid="Ch1.S3"/> formally defines the prediction problem and provides a detailed description of the HIDRA-D architecture. Section <xref ref-type="sec" rid="Ch1.S4"/> presents an evaluation of HIDRA-D, comparing its dense sea level forecasts against satellite observations and the NEMO general circulation model, as well as analyzing its performance at coastal locations. Finally, Sect. <xref ref-type="sec" rid="Ch1.S5"/> summarizes the main findings and discusses future directions.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Data and experimental setup</title>
      <p id="d2e292">This section describes the observational data, the numerical models used for comparison, and the preprocessing steps required to align different data sources.</p>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Training and testing datasets</title>
      <p id="d2e302">Our objective is predicting the temporal evolution of sea level in the Adriatic basin on a two-dimensional grid (i.e., dense prediction) with a 3 d horizon at hourly resolution. The horizontal and vertical grid sizes are <inline-formula><mml:math id="M1" display="inline"><mml:mrow><mml:mi>H</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">94</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M2" display="inline"><mml:mrow><mml:mi>W</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">115</mml:mn></mml:mrow></mml:math></inline-formula> respectively, spanning a geographical region bounded by latitudes 40.00 to 45.87° N and longitudes 12.20 to 18.85° E. The input to the prediction model consists of past 72 <inline-formula><mml:math id="M3" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> of available SSH observations from <inline-formula><mml:math id="M4" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">11</mml:mn></mml:mrow></mml:math></inline-formula> Adriatic tide gauges together with their respective astronomic tides, as well as the past and future 72 <inline-formula><mml:math id="M5" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> of gridded geophysical variables obtained by the atmospheric and ocean numerical models.</p>
      <p id="d2e357">The training time window spans two intervals: from 2000 to May 2019 and from 2021 to 2022. The testing time window covers the period from June 2019 to the end of 2020. This specific testing interval was selected due to the occurrence of numerous high sea level and coastal flood events in the northern Adriatic and matches the period chosen in our previous work <xref ref-type="bibr" rid="bib1.bibx37" id="paren.22"/>.</p>
      <p id="d2e363">The following tide gauges along the Adriatic coast are considered in this study for SSH measurements: Koper, Venice, Ancona, Ortona, Vieste, Neretva, Ravenna, Sobra, Stari Grad, Tremiti and Vela Luka (see Fig. <xref ref-type="fig" rid="F1"/>). To characterize the inter-dependencies within this network, we analyzed the correlation between station records, observing strong clustering between neighboring stations (see Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/>). Their SSH availability ranges from 15 % to 90 % during years 2000–2022 <xref ref-type="bibr" rid="bib1.bibx37" id="paren.23"/>, which has to be accounted for during training and testing, as the model is required to cast predictions also when data from some tide gauges is missing. The raw SSH data, originally recorded at 1 <inline-formula><mml:math id="M6" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">min</mml:mi></mml:mrow></mml:math></inline-formula> or 10 <inline-formula><mml:math id="M7" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">min</mml:mi></mml:mrow></mml:math></inline-formula> intervals (depending on the station), was filtered using the methods from <xref ref-type="bibr" rid="bib1.bibx37" id="text.24"/> to eliminate three types of sensor errors: (i) sensor freeze, which results in a constant output value for an extended period of time, (ii) extreme outliers, and (iii) extreme jumps in the signals. Subsequently, the measurements were downsampled to hourly resolution. To prevent aliasing and reduce high-frequency noise, we applied a Gaussian smoothing kernel (<inline-formula><mml:math id="M8" display="inline"><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">25</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M9" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">min</mml:mi></mml:mrow></mml:math></inline-formula>) using a weighted moving average prior to subsampling. The Gaussian weighted averaging was implemented with dynamic weight normalization to robustly handle missing time-steps in the raw high-frequency series. For each location, the astronomical tides in 1 year intervals were computed using the UTIDE Tidal Analysis package for Python <xref ref-type="bibr" rid="bib1.bibx11" id="paren.25"/>.</p>
      <p id="d2e416">Following <xref ref-type="bibr" rid="bib1.bibx37" id="text.26"/>, the sea level readings are classified as <italic>low</italic> if they fall below the 1st percentile and as <italic>high</italic> if they exceed the 99th percentile of the observed values at the given location (see <xref ref-type="bibr" rid="bib1.bibx37" id="altparen.27"/>, for exact thresholds). During evaluation (Sect. <xref ref-type="sec" rid="Ch1.S4.SS3"/>), several metrics are computed separately for all sea level values and for the aforementioned extreme classes. This enables assessing the model's ability to predict both tails of the sea level distribution: (i) high values, which are crucial for coastal flood warnings, as well as (ii) low values, which may restrict marine traffic in the shallow northern region of the Adriatic basin.</p>
      <p id="d2e434">For geophysical variables, we employed ERA5 reanalysis data <xref ref-type="bibr" rid="bib1.bibx18" id="paren.28"/> for training and ECMWF Ensemble Prediction System (EPS) data <xref ref-type="bibr" rid="bib1.bibx23" id="paren.29"/> for evaluation. The reason for using the ERA5 data in training is that our prior research indicated improved performance in the multi-point (i.e., spatially sparse) prediction setup. However, the evaluation is carried out on the ECMWF EPS dataset to faithfully reflect the operational forecasting setup in which reanalysis is unavailable and ensemble forecasts are typically used. The following parameters from ERA5 reanalysis were used: (i) 10 m winds, (ii) mean sea level air pressure, (iii) sea surface temperature (SST), (iv) mean wave direction, (v) mean wave period and significant height of combined wind waves and (vi) the swell data. Following our previous work <xref ref-type="bibr" rid="bib1.bibx37" id="paren.30"/>, all input fields were spatially cropped to the Adriatic basin and subsampled to a <inline-formula><mml:math id="M10" display="inline"><mml:mrow><mml:mn mathvariant="normal">9</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">12</mml:mn></mml:mrow></mml:math></inline-formula> spatial grid.</p>
      <p id="d2e458">For operational forecasting and evaluation, an ensemble of <inline-formula><mml:math id="M11" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mtext>ens</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula> atmospheric members is used. HIDRA-D processes each member separately, generating 50 dense sea level forecasts, which are then averaged to produce the final prediction.</p>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Satellite altimetry data</title>
      <p id="d2e488">To enable supervised training of the network on the entire basin, the along-track sea level anomalies (SLA) from altimeter satellites were acquired from the Copernicus marine service product <monospace>SEALEVEL_EUR_PHY_L3_MY_008_061</monospace>. The SLA variables are provided relative to a 20 year mean (1993–2012) with a 1 <inline-formula><mml:math id="M12" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">Hz</mml:mi></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M13" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">7</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M14" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula>) sampling resolution. This dataset incorporates data from all available altimeter missions, including Sentinel-6A, Jason-3, Sentinel-3A, Sentinel-3B, Saral/AltiKa, Cryosat-2, Jason-1, Jason-2, Topex/Poseidon, ERS-1, ERS-2, Envisat, Geosat Follow-On, HY-2A, HY-2B, and others. The ADT values used in this study are computed as the sum of the provided variables: SLA_filtered, ocean_tide, mean dynamic topography (MDT) and dynamic atmospheric correction (DAC). Note that ocean_tide (ocean tide correction, or OTC) and DAC are explicitly added back to the anomaly. This effectively reverses the standard altimetry corrections, restoring the high-frequency tidal and atmospheric surge signals that were filtered out, thereby reconstructing the instantaneous total water level observed by tide gauges. This is consistent with how ADT is treated in the CMEMS NEMO model for the purposes of data assimilation (Ali Aydogdu, CMCC, personal communication, 2023) and thus enables comparisons to the NEMO model <xref ref-type="bibr" rid="bib1.bibx10" id="paren.31"/>.</p>
      <p id="d2e523">For comparisons with hourly measurements from our model or NEMO, the time of a satellite ADT measurement was not rounded to the nearest hour, recognizing that sea level can change rapidly. Instead, hourly time series from our model or NEMO were linearly interpolated to the exact time of each satellite ADT observation. The spatial locations of the satellite ADT measurements were binned into a grid with size <inline-formula><mml:math id="M15" display="inline"><mml:mrow><mml:mn mathvariant="normal">94</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">115</mml:mn></mml:mrow></mml:math></inline-formula> equal to the spatial output of our model. In cases where multiple satellite ADT measurements fall within the same grid cell, the average of those measurements is taken. For visualization purposes, ADT values are adjusted to have the mean equal to zero. This adjustment is consistent with the model training and evaluation setup, where mean removal is applied as a pre-processing step (see Sect. <xref ref-type="sec" rid="Ch1.S2.SS3"/>).</p>
      <p id="d2e540">To validate the satellite altimetry data and assess its accuracy in coastal regions, it is crucial to compare it with independent, in situ measurements. Tide gauges provide reliable SSH observations at specific coastal locations. Therefore, to verify the correlation between satellite ADT and tide gauge SSH measurements, in Fig. <xref ref-type="fig" rid="F2"/> we present pairs of ADT and SSH measurements. A satellite ADT measurement is assigned to a tide gauge if it falls within 20 <inline-formula><mml:math id="M16" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> of its location. If multiple ADT measurements from the same satellite track satisfy this condition, we retain only the closest one. To determine SSH at the time of satellite ADT measurement, we perform linear interpolation between the two nearest SSH observations. To remove bias and focus on the dynamic components, we subtract the mean values of SSH and ADT at each location. Although the measurements come from completely different sources, the visualizations indicate a strong correlation between ADT and SSH, with an average absolute difference of 4.0 <inline-formula><mml:math id="M17" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>.</p>

      <fig id="F2"><label>Figure 2</label><caption><p id="d2e564">Correlations between satellite (ADT) and tide gauge (SSH) measurements at 9 locations. An ADT measurement is assigned to a tide gauge if it falls within 20 <inline-formula><mml:math id="M18" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> of its location. The identity line is shown in red. Some degree of discrepancy between ADT and SSH measurements is observed, with an average absolute difference of 4.0 <inline-formula><mml:math id="M19" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f02.png"/>

        </fig>

      <p id="d2e589">Despite the availability of ADT data from multiple satellites, its spatial and temporal coverage remains highly uneven. Due to the repetitive nature of satellite orbits, satellite ADT observations are concentrated along specific ground tracks rather than being uniformly distributed. Figure <xref ref-type="fig" rid="F3"/> visualizes the spatial distribution of satellite ADT measurements, showing that the majority of observations originate from a limited number of tracks, leaving vast regions with very few satellite ADT measurements.</p>

      <fig id="F3"><label>Figure 3</label><caption><p id="d2e596">Spatial distribution of count of satellite ADT measurements, where values in the image represent the number of ADT measurements recorded between 2000 and 2020.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f03.png"/>

        </fig>

      <p id="d2e605">Figure <xref ref-type="fig" rid="F4"/> illustrates the frequency of tracks between the years 2000 and 2020. Given the high variability of sea level dynamics, satellite ADT data presents an extremely sparse source of ground truth. On average, 2.4 tracks per day are recorded, meaning that in 90 % of hourly intervals, no satellite ADT measurements are available beyond tide gauge measurements. In the remaining 10 % of cases, a single track is present, covering an average distance of 156 <inline-formula><mml:math id="M20" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula>, corresponding to approximately 25 grid points. In our setup, the Adriatic basin covers 3413 grid points, meaning that a single track typically covers less than 1 % of the total number of grid points.</p>

      <fig id="F4"><label>Figure 4</label><caption><p id="d2e621">Number of satellite ADT tracks per year from 2000 to 2020. On average, only 2.4 tracks were recorded daily, which highlights the sparsity of the satellite ADT measurements.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f04.png"/>

        </fig>

</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Aligning ADT and tide gauges</title>
      <p id="d2e638">A significant challenge in combining satellite altimetry (ADT) and tide gauge data is the lack of calibration between the two sensor types. As defined in Sect. <xref ref-type="sec" rid="Ch1.S2.SS2"/>, ADT represents the level relative to a reference geoid. In contrast, tide gauges measure SSH relative to a local vertical datum, often tied to a local reference ellipsoid. These local reference points are distinct for each tide gauge and their vertical offset from the geoid is generally not readily available. Consequently, without knowing the transformation between tide gauge SSH measurements and satellite ADT measurements, tide gauge data cannot be directly used for supervising the training of a model designed to predict ADT.</p>
      <p id="d2e643">To address this discrepancy, we perform a bias correction for each tide gauge <inline-formula><mml:math id="M21" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>, to convert it into ADT. The following model is used to transform the tide gauge measurements <inline-formula><mml:math id="M22" display="inline"><mml:mrow><mml:msubsup><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mtext>gauge</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula> into ADT (<inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:msubsup><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mtext>ADT</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula>):

            <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M24" display="block"><mml:mrow><mml:msubsup><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mtext>ADT</mml:mtext></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mtext>gauge</mml:mtext></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:msubsup><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mtext>gauge</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula> is the raw measurement from tide gauge <inline-formula><mml:math id="M26" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M27" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> represents the unknown  vertical bias for that specific tide gauge relative to the geoid. This displacement primarily represents the offset between the vertical datums, which we assume to be physically constant over the timescales of this study. While vertical land movements can induce slow temporal variations in this offset, these changes are not taken into account here; therefore, we approximate <inline-formula><mml:math id="M28" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> as a constant.</p>
      <p id="d2e753">Within our model framework, these unknown bias terms, <inline-formula><mml:math id="M29" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, are treated as learnable parameters and are estimated concurrently with the main model parameters during the training process. As a pre-processing step, both the satellite ADT dataset and each individual tide gauge time series are independently centered by removing their respective means. Consequently, the training process optimizes the bias parameters <inline-formula><mml:math id="M30" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> to align the centered tide gauge observations with the satellite ADT measurements in their vicinity, effectively connecting the two data sources.</p>
</sec>
<sec id="Ch1.S2.SS4">
  <label>2.4</label><title>NEMO model description</title>
      <p id="d2e787">The numerical ocean model used in this paper is the Copernicus Marine Environment Monitoring Service (CMEMS) product MEDSEA_ANALYSISFORECAST_PHY_006_013 <xref ref-type="bibr" rid="bib1.bibx10" id="paren.32"/>, based on the Nucleus for European Modelling of the Ocean (NEMO) v4.2 <xref ref-type="bibr" rid="bib1.bibx27" id="paren.33"/>. The Mediterranean Sea Physical Analysis and Forecasting model (MEDSEA_ANALYSISFORECAST_PHY_006_013) spans a regular grid with a <inline-formula><mml:math id="M31" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">24</mml:mn></mml:mrow></mml:math></inline-formula>° (approximately 4 km) horizontal resolution and 141 vertical <inline-formula><mml:math id="M32" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>*-levels with partial cells to accurately represent the model topography. It employs a staggered Arakawa C-grid with land area masking. Tidal forcing is represented by eight tidal constituents (M2, S2, N2, K2, K1, O1, P1, Q1). The model is forced at its Atlantic lateral boundary by the Global analysis and forecast product (GLOBAL_ANALYSISFORECAST_PHY_001_024) and by a combination of daily climatological fields from a Marmara Sea model and the global analysis product in the Dardanelles Strait. Atmospheric surface forcing is provided by the ECMWF deterministic model. The model was initialized from the World Ocean Atlas (WOA) 2013 V2 winter climatology on 1 January 2015. In situ vertical profiles of temperature and salinity from ARGO, Glider, and XBT, as well as SLA data from multiple satellites (including Jason 2 &amp; 3, Saral-Altika, Cryosat, Sentinel-3A/3B, Sentinel6A, and HY-2A/B) are assimilated via the OceanVar (3DVAR) scheme. The hydrodynamic part of the model is coupled to the wave model WaveWatch-III. We refer the reader to <xref ref-type="bibr" rid="bib1.bibx10" id="text.34"/> for further details.</p>
      <p id="d2e818">NEMO computes sea level as a local deviation from the geoid, in theory making it directly comparable to satellite ADT measurements in our setup. However, when analyzing the mean difference between satellite ADT observations and NEMO forecasts (extracted at the satellite ADT measurement locations and linearly interpolated to the corresponding timestamps), we find that, on average, ADT observations are 34.61 <inline-formula><mml:math id="M33" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula> higher than NEMO forecasts in the training set period. To correct this systematic bias, we apply an offset of 34.61 <inline-formula><mml:math id="M34" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula> to the NEMO forecasts.</p>
      <p id="d2e837">In the analysis of sea level forecasts produced by NEMO, we use the same region defined by HIDRA-D. The region is subsampled from a <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:mn mathvariant="normal">141</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">185</mml:mn></mml:mrow></mml:math></inline-formula> grid to a <inline-formula><mml:math id="M36" display="inline"><mml:mrow><mml:mn mathvariant="normal">94</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">115</mml:mn></mml:mrow></mml:math></inline-formula> grid to match the resolution of HIDRA-D. This subsampled version is also used when comparing the model to satellite ADT data, ensuring that the metrics are computed on the same set of ADT measurements in the same spatial locations.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>HIDRA-D: deep learning basin-scale sea level forecasting model</title>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Formal problem definition of dense sea level prediction</title>
      <p id="d2e889">The goal of this study is to predict the temporal evolution of the ADT field, denoted as <inline-formula><mml:math id="M37" display="inline"><mml:mi mathvariant="bold">Y</mml:mi></mml:math></inline-formula>, on a dense two-dimensional grid over the entire Adriatic basin. The target output is a sequence of hourly grid maps over a forecast horizon of <inline-formula><mml:math id="M38" display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">72</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M39" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula>. The spatial domain is defined by a grid of size <inline-formula><mml:math id="M40" display="inline"><mml:mrow><mml:mi>H</mml:mi><mml:mo>×</mml:mo><mml:mi>W</mml:mi></mml:mrow></mml:math></inline-formula> (<inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:mn mathvariant="normal">94</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">115</mml:mn></mml:mrow></mml:math></inline-formula>), covering the latitudes 40.00 to 45.87° N and longitudes 12.20 to 18.85° E.</p>
      <p id="d2e943">The model approximates the mapping function <inline-formula><mml:math id="M42" display="inline"><mml:mi mathvariant="script">F</mml:mi></mml:math></inline-formula> such that <inline-formula><mml:math id="M43" display="inline"><mml:mrow><mml:mi mathvariant="bold">Y</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="script">F</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mtext>SSH</mml:mtext></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mtext>geo</mml:mtext></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. The inputs consist of sparse SSH (<inline-formula><mml:math id="M44" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mtext>SSH</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>), which encompasses the past 72 <inline-formula><mml:math id="M45" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> of hourly SSH observations from <inline-formula><mml:math id="M46" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">11</mml:mn></mml:mrow></mml:math></inline-formula> tide gauges along with their astronomical tide components, and geophysical forcing (<inline-formula><mml:math id="M47" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">X</mml:mi><mml:mtext>geo</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>), a tensor containing the past 72 <inline-formula><mml:math id="M48" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> and forecasted future 72 <inline-formula><mml:math id="M49" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> of atmospheric and oceanic variables (e.g., wind, pressure, SST) derived from numerical models.</p>
      <p id="d2e1040">A fundamental challenge in this setting is that the ground truth for the dense output <inline-formula><mml:math id="M50" display="inline"><mml:mi mathvariant="bold">Y</mml:mi></mml:math></inline-formula> (satellite altimetry) is spatially sparse and temporally intermittent. Furthermore, the input tide gauge measurements (<inline-formula><mml:math id="M51" display="inline"><mml:mrow><mml:msup><mml:mi>y</mml:mi><mml:mtext>gauge</mml:mtext></mml:msup></mml:mrow></mml:math></inline-formula>) and the target satellite data (<inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:msup><mml:mi>y</mml:mi><mml:mtext>ADT</mml:mtext></mml:msup></mml:mrow></mml:math></inline-formula>) utilize different vertical datums. Therefore, the problem formulation includes the simultaneous estimation of a set of station-specific bias parameters, <inline-formula><mml:math id="M53" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msubsup><mml:mo mathvariant="italic">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>, to align the inputs with the prediction target.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>HIDRA-D model architecture</title>
      <p id="d2e1105">The primary objective of the HIDRA-D model is to forecast dense sea levels across the basin. A key challenge here is that available inputs are limited to past SSH measurements, which are sparsely located at tide gauge positions, and can be supplemented with geophysical variables such as wind, air pressure, sea surface temperature (SST), and waves. To address the need for a comprehensive understanding of the sea basin's state from these sparse inputs, we leverage our previously developed multipoint SSH prediction model, HIDRA3 <xref ref-type="bibr" rid="bib1.bibx37" id="paren.35"/>, described in Sect. <xref ref-type="sec" rid="Ch1.S3.SS2.SSS1"/>. HIDRA3 has proven to be effective in generating a rich latent representation of the sea basin's state, which can subsequently be decoded into accurate SSH predictions at multiple tide gauge locations, including those that were absent from the input. In HIDRA-D, we take this latent representation derived from HIDRA3, along with the aforementioned geophysical features, as the foundation to forecast dense sea level values (see Fig. <xref ref-type="fig" rid="F5"/> for architecture). For this purpose, we introduce the Dense decoder module (detailed in Sect. <xref ref-type="sec" rid="Ch1.S3.SS2.SSS2"/>). However, a general challenge in directly forecasting dense sea level fields is the very large output dimensionality, which would typically necessitate a model with a large number of parameters. Furthermore, observed sea level variations are not characterized by an equal distribution of frequencies; rather, low-frequency components account for the majority of sea level fluctuations. Consequently, to make the prediction task more tractable and efficient, we design the Dense decoder module to forecast only these dominant low-frequency components along with their corresponding phases. This forecasting is performed in the 2D Fourier domain for each of the 72-hourly prediction points. The final dense predictions are then efficiently reconstructed by applying the inverse 2D discrete Fourier transform (2D IDFT) to these predicted Fourier coefficients.</p>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e1128">The HIDRA-D architecture. The model is trained end-to-end using a composite loss function: <inline-formula><mml:math id="M54" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> supervises HIDRA3 point predictions using GT (ground truth) SSH; <inline-formula><mml:math id="M55" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> supervises dense predictions using available satellite GT ADT; and <inline-formula><mml:math id="M56" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> ensures consistency between the dense output and tide gauge data (using GT SSH where available, or HIDRA3 point predictions otherwise). Dashed curves in SSH data indicate potential unavailable tide gauge data. The notation <inline-formula><mml:math id="M57" display="inline"><mml:mi>a</mml:mi></mml:math></inline-formula>:<inline-formula><mml:math id="M58" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula> indicates hourly data points from the interval <inline-formula><mml:math id="M59" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, while the prediction point is at the index 0.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f05.png"/>

        </fig>

<sec id="Ch1.S3.SS2.SSS1">
  <label>3.2.1</label><title>HIDRA3 module</title>
      <p id="d2e1212">The first step in HIDRA-D’s architecture is the production of SSH point forecasts at all tide gauge locations. For this, we use the HIDRA3 model <xref ref-type="bibr" rid="bib1.bibx37" id="paren.36"/>. HIDRA3 takes as input the past 72 <inline-formula><mml:math id="M60" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> of tide gauge measurements, past and future 72 <inline-formula><mml:math id="M61" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> of tidal predictions, and past and forecasted 72 <inline-formula><mml:math id="M62" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> of geophysical variables. Based on these inputs, it generates 72 <inline-formula><mml:math id="M63" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> SSH forecasts at the tide gauge locations. We selected HIDRA3 due to its strong performance and its ability to handle missing past SSH measurements while consistently providing predictions for all locations. This is crucial for training, as tide gauge data availability varies (see Sect. <xref ref-type="sec" rid="Ch1.S2"/>).</p>
      <p id="d2e1257">While the HIDRA3 module yields predictions for specific tide gauge locations, obtaining dense predictions requires a different approach. Instead of directly using the SSH point predictions, we utilize the intermediate features generated by HIDRA3. Specifically, we extract two key sets of features.</p>
      <p id="d2e1260">First, we utilize the geophysical feature vector. This vector is produced by HIDRA3’s Geophysical Encoder module, which processes meteorological and oceanographic data fields (wind, air pressure, sea surface temperature, and waves) for the entire forecast region. The input data, covering a 144 h window, is processed through a series of 3D and 1D convolutions to capture both spatial and temporal patterns, ultimately producing a single, comprehensive feature vector <inline-formula><mml:math id="M64" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mtext>geo</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> of dimensionality 8192. This vector represents the overall geophysical state of the system.</p>
      <p id="d2e1274">Second, for each tide gauge <inline-formula><mml:math id="M65" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>, we employ the per-tide gauge feature vector, denoted as <inline-formula><mml:math id="M66" display="inline"><mml:mrow><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:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. These vectors, each with a dimensionality of 1024, are generated within HIDRA3's SSH regression module. Their function is to provide location-specific context for the final forecast. The generation of <inline-formula><mml:math id="M67" display="inline"><mml:mrow><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:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is robust to data availability. If recent SSH measurements for tide gauge <inline-formula><mml:math id="M68" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> are available, its specific feature vector is computed from that data. However, if measurements are missing, the vector is instead approximated from a joint state vector that aggregates information from all other available tide gauges. This ensures that a unique and informative feature vector <inline-formula><mml:math id="M69" display="inline"><mml:mrow><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:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is available for every tide gauge, which is a key capability we leverage in HIDRA-D.</p>
</sec>
<sec id="Ch1.S3.SS2.SSS2">
  <label>3.2.2</label><title>Dense decoder module</title>
      <p id="d2e1346">The architecture of the Dense decoder module is shown in Fig. <xref ref-type="fig" rid="F6"/>. The module processes geophysical features <inline-formula><mml:math id="M70" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mtext>geo</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> of size 8192 and <inline-formula><mml:math id="M71" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> station-specific feature vectors <inline-formula><mml:math id="M72" display="inline"><mml:mrow><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:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> of size 1024 each (see Fig. <xref ref-type="fig" rid="F6"/>). Here, <inline-formula><mml:math id="M73" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> represents the number of tide gauge stations. These features are concatenated into a single vector of size <inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:mn mathvariant="normal">8192</mml:mn><mml:mo>+</mml:mo><mml:mi>N</mml:mi><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1024</mml:mn></mml:mrow></mml:math></inline-formula>, with a dimension of 19 456 in our configuration. To reduce dimensionality and computational load, a dense (fully connected) layer with 8192 output channels is applied.</p>

      <fig id="F6" specific-use="star"><label>Figure 6</label><caption><p id="d2e1411">Structure of the Dense decoder module. Geophysical features and station-specific feature vectors are concatenated and processed through multiple dense layers that include SELU activation, dropout, and residual connections. The final output vector is reorganized (reshaped) into a tensor format, where the predicted values are assigned as coefficients to the low-frequency components in the 2D discrete Fourier domain (ready for the Inverse DFT shown in Fig. <xref ref-type="fig" rid="F5"/>).</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f06.png"/>

          </fig>

      <p id="d2e1422">The output is passed through three additional dense layers, each with 8192 output channels. These layers incorporate Scaled exponential linear unit (SELU, <xref ref-type="bibr" rid="bib1.bibx21" id="altparen.37"/>) activation, dropout, and residual connections, as depicted in Fig. <xref ref-type="fig" rid="F6"/>. Residual connections help preserve input features by enabling the network to learn additive, nonlinearly transformed features. SELU is chosen over Rectified linear unit (ReLU, <xref ref-type="bibr" rid="bib1.bibx30" id="altparen.38"/>) for its superior gradient propagation characteristics, while dropout is employed as a standard regularization technique to prevent overfitting.</p>
      <p id="d2e1434">As discussed in Sect. <xref ref-type="sec" rid="Ch1.S2.SS2"/>, satellite ADT data is extremely sparse and concentrated along specific ground tracks (Fig. <xref ref-type="fig" rid="F3"/>). This sparsity can negatively impact model performance by potentially introducing unrealistically sharp sea level gradients at spatial scales considerably smaller than the local barotropic Rossby radius. Recognizing that large-scale forcings drive low-frequency components that account for a significant portion of sea level variability, our modeling approach focuses exclusively on these components. The threshold for this frequency selection is determined by the barotropic Rossby radius. In the shallow northern Adriatic, with depths around 15 <inline-formula><mml:math id="M75" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>, the Rossby radius is estimated to be approximately 120 <inline-formula><mml:math id="M76" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula>. Based on this, we set a spatial scale threshold of <inline-formula><mml:math id="M77" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">R</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">150</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M78" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula>, thereby modeling only processes with spatial scales larger than this value. The threshold is ablated in Sect. <xref ref-type="sec" rid="Ch1.S4.SS5"/>.</p>
      <p id="d2e1483">In the 2D discrete Fourier domain, the complex Fourier transform matrix <bold>F</bold> has dimensions <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:mn mathvariant="normal">94</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">115</mml:mn></mml:mrow></mml:math></inline-formula>. An element <inline-formula><mml:math id="M80" display="inline"><mml:mrow><mml:msub><mml:mtext mathvariant="bold">F</mml:mtext><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> of this matrix corresponds to a pair of spatial frequencies (<inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>a</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>b</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>). These spatial frequencies (inverse spatial scales, <inline-formula><mml:math id="M82" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:mi mathvariant="italic">λ</mml:mi></mml:mrow></mml:math></inline-formula>) are computed as follows:

                  <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M83" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E2"><mml:mtd><mml:mtext>2</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>k</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>a</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mfenced open="{" close=""><mml:mtable columnspacing="1em" rowspacing="2pt" class="cases" columnalign="left left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>a</mml:mi><mml:mi>W</mml:mi></mml:mfrac></mml:mstyle><mml:msubsup><mml:mi>k</mml:mi><mml:mi>x</mml:mi><mml:mi>s</mml:mi></mml:msubsup><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>a</mml:mi><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:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mo mathsize="1.1em">⌈</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>W</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo mathsize="1.1em">⌉</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi>a</mml:mi><mml:mo>-</mml:mo><mml:mi>W</mml:mi></mml:mrow><mml:mi>W</mml:mi></mml:mfrac></mml:mstyle><mml:msubsup><mml:mi>k</mml:mi><mml:mi>x</mml:mi><mml:mi>s</mml:mi></mml:msubsup><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>a</mml:mi><mml:mo>=</mml:mo><mml:mo mathsize="1.1em">⌈</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>W</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo mathsize="1.1em">⌉</mml:mo><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mi>W</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E3"><mml:mtd><mml:mtext>3</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>k</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>b</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mfenced open="{" close=""><mml:mtable class="cases" rowspacing="2pt" columnspacing="1em" columnalign="left left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>b</mml:mi><mml:mi>H</mml:mi></mml:mfrac></mml:mstyle><mml:msubsup><mml:mi>k</mml:mi><mml:mi>y</mml:mi><mml:mi>s</mml:mi></mml:msubsup><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>b</mml:mi><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:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mo mathsize="1.1em">⌈</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>H</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo mathsize="1.1em">⌉</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi>b</mml:mi><mml:mo>-</mml:mo><mml:mi>H</mml:mi></mml:mrow><mml:mi>H</mml:mi></mml:mfrac></mml:mstyle><mml:msubsup><mml:mi>k</mml:mi><mml:mi>y</mml:mi><mml:mi>s</mml:mi></mml:msubsup><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mo mathsize="1.1em">⌈</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>H</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo mathsize="1.1em">⌉</mml:mo><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mi>H</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

            where <inline-formula><mml:math id="M84" display="inline"><mml:mrow><mml:mi>W</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">115</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M85" display="inline"><mml:mrow><mml:mi>H</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">94</mml:mn></mml:mrow></mml:math></inline-formula> are the dimensions (number of grid points) of the spatial grid in the <inline-formula><mml:math id="M86" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M87" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> directions, respectively. The terms <inline-formula><mml:math id="M88" display="inline"><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mi>x</mml:mi><mml:mi>s</mml:mi></mml:msubsup><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M89" display="inline"><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mi>y</mml:mi><mml:mi>s</mml:mi></mml:msubsup><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:math></inline-formula> are derived from the grid spacings <inline-formula><mml:math id="M90" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M91" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:math></inline-formula>. For our domain, these values are <inline-formula><mml:math id="M92" display="inline"><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mi>x</mml:mi><mml:mi>s</mml:mi></mml:msubsup><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">1.16</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">km</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M93" display="inline"><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mi>y</mml:mi><mml:mi>s</mml:mi></mml:msubsup><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">0.91</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">km</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e1981">To ensure that only wavelengths <inline-formula><mml:math id="M94" display="inline"><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi><mml:mo>&gt;</mml:mo><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">R</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are represented in the output, the model predicts only those Fourier coefficients <inline-formula><mml:math id="M95" display="inline"><mml:mrow><mml:msub><mml:mtext mathvariant="bold">F</mml:mtext><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for which the corresponding spatial frequencies satisfy <inline-formula><mml:math id="M96" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>a</mml:mi><mml:mo>)</mml:mo><mml:mo>|</mml:mo><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">R</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M97" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>b</mml:mi><mml:mo>)</mml:mo><mml:mo>|</mml:mo><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">R</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Since the model predicts real-valued sea level fields, the Fourier matrix <bold>F</bold> must be Hermitian. Consequently, it is only necessary to predict approximately half of the Fourier coefficients, as the other half can be computed by transposition and conjugation. Specifically, the output from a Dense decoder populates complex coefficients in <bold>F</bold> at the lowest spatial frequencies, which in our setup correspond to <inline-formula><mml:math id="M98" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M99" display="inline"><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> regions in the corners of the matrix <bold>F</bold> (see Fig. <xref ref-type="fig" rid="F6"/>). The final dense layer thus outputs a vector of 6480 features (comprising 90 real and imaginary components for each of the 72 forecast lead times). The remaining elements of <bold>F</bold>, corresponding to higher spatial frequencies, are set to zero. For each of the 72 temporal slices, the matrix <bold>F</bold> is transformed into a spatial field using an inverse 2D discrete Fourier transform (2D IDFT). The resulting field is then multiplied by a binary land-sea mask of the Adriatic. The final spatial predictions are obtained by concatenating the 72 processed temporal slices, resulting in a grid of size <inline-formula><mml:math id="M100" display="inline"><mml:mrow><mml:mn mathvariant="normal">72</mml:mn><mml:mo>×</mml:mo><mml:mi>H</mml:mi><mml:mo>×</mml:mo><mml:mi>W</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
</sec>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>The loss functions</title>
      <p id="d2e2150">HIDRA-D is trained end-to-end using a multi-component loss function designed to effectively leverage diverse data sources and provide targeted supervision. While the primary goal is to predict dense sea level maps, relying solely on satellite ADT measurements (denoted as <inline-formula><mml:math id="M101" display="inline"><mml:mrow><mml:msup><mml:mi>y</mml:mi><mml:mtext>ADT</mml:mtext></mml:msup></mml:mrow></mml:math></inline-formula>) can be insufficient for robustly training the entire network, especially its backbone components. To address this, we incorporate tide gauge SSH measurements (denoted as <inline-formula><mml:math id="M102" display="inline"><mml:mrow><mml:msup><mml:mi>y</mml:mi><mml:mtext>gauge</mml:mtext></mml:msup></mml:mrow></mml:math></inline-formula>), which, despite their spatial sparsity and missing values, provide valuable supervisory signals.</p>
      <p id="d2e2179">To foster robust learning of the HIDRA3 module's internal representations, which form the foundation for subsequent dense predictions, a dedicated loss term, <inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, is applied. This loss directly supervises the HIDRA3 module by comparing its SSH predictions (<inline-formula><mml:math id="M104" display="inline"><mml:mrow><mml:msubsup><mml:mi>y</mml:mi><mml:mi mathvariant="normal">p</mml:mi><mml:mtext>gauge</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula>) to local SSH measurements from tide gauges (<inline-formula><mml:math id="M105" display="inline"><mml:mrow><mml:msup><mml:mi>y</mml:mi><mml:mtext>gauge</mml:mtext></mml:msup></mml:mrow></mml:math></inline-formula>):

            <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M106" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:mo mathsize="1.1em">(</mml:mo><mml:msubsup><mml:mi>y</mml:mi><mml:mi mathvariant="normal">p</mml:mi><mml:mtext>gauge</mml:mtext></mml:msubsup><mml:mo>-</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mtext>gauge</mml:mtext></mml:msup><mml:msup><mml:mo mathsize="1.1em">)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          Here, the overline symbol <inline-formula><mml:math id="M107" display="inline"><mml:mover accent="true"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:math></inline-formula> denotes the mean taken over all timesteps and all available tide gauge stations. This targeted supervision provides an additional training signal specifically for the HIDRA3 backbone.</p>
      <p id="d2e2272">The dense 2D sea level predictions <inline-formula><mml:math id="M108" display="inline"><mml:mrow><mml:msubsup><mml:mi>y</mml:mi><mml:mi mathvariant="normal">p</mml:mi><mml:mtext>grid</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula> are primarily trained using satellite ADT observations. The loss term <inline-formula><mml:math id="M109" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> measures the mean squared error between the dense ADT predictions (<inline-formula><mml:math id="M110" display="inline"><mml:mrow><mml:msubsup><mml:mi>y</mml:mi><mml:mi mathvariant="normal">p</mml:mi><mml:mtext>grid</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula>) and satellite ADT observations (<inline-formula><mml:math id="M111" display="inline"><mml:mrow><mml:msup><mml:mi>y</mml:mi><mml:mtext>ADT</mml:mtext></mml:msup></mml:mrow></mml:math></inline-formula>):

            <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M112" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mrow><mml:mo mathsize="1.1em">(</mml:mo><mml:msubsup><mml:mi>y</mml:mi><mml:mi mathvariant="normal">p</mml:mi><mml:mtext>grid</mml:mtext></mml:msubsup><mml:mo>-</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mtext>ADT</mml:mtext></mml:msup><mml:msup><mml:mo mathsize="1.1em">)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          As the dense predictions (<inline-formula><mml:math id="M113" display="inline"><mml:mrow><mml:msubsup><mml:mi>y</mml:mi><mml:mi mathvariant="normal">p</mml:mi><mml:mtext>grid</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula>) have an hourly resolution, we linearly interpolate between two neighboring predictions to match the precise timestamps of the asynchronous ADT measurements from satellites. <inline-formula><mml:math id="M114" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> extends the learning beyond tide gauge locations, leveraging the broader spatial coverage of satellite data.</p>
      <p id="d2e2388">To further enhance the training of the Dense decoder and utilize all available data, tide gauge data are also incorporated into its supervision through the loss term <inline-formula><mml:math id="M115" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. This is particularly beneficial for improving predictions at coastal locations where tide gauges are situated. <inline-formula><mml:math id="M116" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> measures the mean difference between the dense sea level predictions at tide gauge locations (<inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:msubsup><mml:mi>y</mml:mi><mml:mrow><mml:mi mathvariant="normal">p</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mtext>grid</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula>) and the corresponding tide gauge information. Since tide gauge observations (<inline-formula><mml:math id="M118" display="inline"><mml:mrow><mml:msup><mml:mi>y</mml:mi><mml:mtext>gauge</mml:mtext></mml:msup></mml:mrow></mml:math></inline-formula>) typically measure local SSH relative to a local datum, they must be transformed to be comparable with the network's predictions. Recall from Sect. <xref ref-type="sec" rid="Ch1.S2.SS3"/>, that this transformation is achieved by adding learned station-specific displacements <inline-formula><mml:math id="M119" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> to the tide gauge SSH observations <inline-formula><mml:math id="M120" display="inline"><mml:mrow><mml:msubsup><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mtext>gauge</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula>, effectively converting them into local ADT equivalents.</p>
      <p id="d2e2470">A challenge with tide gauge data is the frequent unavailability of measurements. To ensure that <inline-formula><mml:math id="M121" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is defined over a comprehensive set of points and to provide continuous guidance, missing tide gauge observations <inline-formula><mml:math id="M122" display="inline"><mml:mrow><mml:msubsup><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mtext>gauge</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula> are replaced by the corresponding point SSH predictions (<inline-formula><mml:math id="M123" display="inline"><mml:mrow><mml:msubsup><mml:mi>y</mml:mi><mml:mrow><mml:mi mathvariant="normal">p</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mtext>gauge</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula>) from the HIDRA3 module. This is possible because the HIDRA3 module outputs predictions for all tide gauges, even when input measurements for some tide gauges are missing. Consistent with the treatment of <inline-formula><mml:math id="M124" display="inline"><mml:mrow><mml:msubsup><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mtext>gauge</mml:mtext></mml:msubsup></mml:mrow></mml:math></inline-formula>, these HIDRA3 predictions are also transformed into the space of ADT by adding the same station-specific displacement <inline-formula><mml:math id="M125" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Thus, <inline-formula><mml:math id="M126" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is defined as: 

            <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M127" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mfenced open="{" close=""><mml:mtable class="cases" rowspacing="0.2ex 4pt 0.2ex" columnspacing="1em" columnalign="left left" framespacing="0em"><mml:mtr><mml:mtd><mml:mover accent="true"><mml:mrow><mml:mo mathsize="1.1em">(</mml:mo><mml:msubsup><mml:mi>y</mml:mi><mml:mrow><mml:mi mathvariant="normal">p</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mtext>grid</mml:mtext></mml:msubsup><mml:mo>-</mml:mo><mml:mo mathsize="1.1em">(</mml:mo><mml:msubsup><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mtext>gauge</mml:mtext></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo mathsize="1.1em">)</mml:mo><mml:msup><mml:mo mathsize="1.1em">)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:mtd><mml:mtd><mml:mrow/></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow/></mml:mtd><mml:mtd><mml:mrow><mml:mtext mathvariant="normal">where observation </mml:mtext><mml:msubsup><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mtext>gauge</mml:mtext></mml:msubsup><mml:mtext> exists</mml:mtext><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mover accent="true"><mml:mrow><mml:mo mathsize="1.1em">(</mml:mo><mml:msubsup><mml:mi>y</mml:mi><mml:mrow><mml:mi mathvariant="normal">p</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mtext>grid</mml:mtext></mml:msubsup><mml:mo>-</mml:mo><mml:mo mathsize="1.1em">(</mml:mo><mml:msubsup><mml:mi>y</mml:mi><mml:mrow><mml:mi mathvariant="normal">p</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mtext>gauge</mml:mtext></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo mathsize="1.1em">)</mml:mo><mml:msup><mml:mo mathsize="1.1em">)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mo mathvariant="normal">‾</mml:mo></mml:mover></mml:mtd><mml:mtd><mml:mrow/></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow/></mml:mtd><mml:mtd><mml:mrow><mml:mtext mathvariant="normal">where observation </mml:mtext><mml:msubsup><mml:mi>y</mml:mi><mml:mi>i</mml:mi><mml:mtext>gauge</mml:mtext></mml:msubsup><mml:mtext> does not exist</mml:mtext><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

          This approach ensures that the Dense decoder module is consistently supervised at all tide gauge locations, leveraging either direct (transformed) observations or transformed HIDRA3 predictions as targets.</p>
      <p id="d2e2706">The final composite loss function, used for gradient backpropagation during the end-to-end training of the HIDRA-D model, is a weighted sum of these individual loss terms:

            <disp-formula id="Ch1.E7" content-type="numbered"><label>7</label><mml:math id="M128" display="block"><mml:mrow><mml:mi mathvariant="script">L</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">β</mml:mi><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          The weights were selected to enforce a hierarchical training structure: <inline-formula><mml:math id="M129" display="inline"><mml:mrow><mml:mi mathvariant="italic">α</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">100</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M130" display="inline"><mml:mrow><mml:mi mathvariant="italic">β</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="M131" display="inline"><mml:mrow><mml:mi mathvariant="italic">γ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>. The significantly higher magnitude of <inline-formula><mml:math id="M132" display="inline"><mml:mi mathvariant="italic">α</mml:mi></mml:math></inline-formula> is a design choice intended to act as a soft constraint, ensuring that the HIDRA3 backbone prioritizes the accuracy of point-based SSH predictions (<inline-formula><mml:math id="M133" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) above all else. This prevents the optimization of the dense reconstruction losses (<inline-formula><mml:math id="M134" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M135" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) from degrading the quality of the underlying backbone representations. Consequently, the backbone learns primarily from the high-fidelity tide gauge data, while the Dense decoder adapts to these representations to satisfy the basin-wide constraints. The weights <inline-formula><mml:math id="M136" display="inline"><mml:mi mathvariant="italic">β</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M137" display="inline"><mml:mi mathvariant="italic">γ</mml:mi></mml:math></inline-formula> are set equally as <inline-formula><mml:math id="M138" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M139" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> operate on largely spatially disjoint sets of points (sparse satellite tracks versus fixed tide gauge locations) and therefore do not require competitive weighting.</p>
</sec>
<sec id="Ch1.S3.SS4">
  <label>3.4</label><title>Training details</title>
      <p id="d2e2872">We use the AdamW optimizer <xref ref-type="bibr" rid="bib1.bibx26" id="paren.39"/> with initial learning rate of <inline-formula><mml:math id="M140" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> and a weight decay of 0.001. A higher initial learning rate of <inline-formula><mml:math id="M141" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> is used for training the displacements <inline-formula><mml:math id="M142" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. We utilize a cosine annealing schedule <xref ref-type="bibr" rid="bib1.bibx25" id="paren.40"/> to progressively decay the learning rate from its initial value <inline-formula><mml:math id="M143" display="inline"><mml:mi mathvariant="italic">η</mml:mi></mml:math></inline-formula> to a minimum value of <inline-formula><mml:math id="M144" display="inline"><mml:mrow><mml:mi mathvariant="italic">η</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">100</mml:mn></mml:mrow></mml:math></inline-formula> over the course of training. Parameters are initialized using a standard Xavier initialization <xref ref-type="bibr" rid="bib1.bibx16" id="paren.41"/>, and parameters of the HIDRA3 module are initialized as described in <xref ref-type="bibr" rid="bib1.bibx37" id="text.42"/>. During training, tide gauge failures are simulated by randomly deactivating a subset of tide gauges with a probability of 0.5. The model is trained for 50 epochs with a batch size of 128 data samples. Prior to training, all input data is standardized by subtracting the mean and dividing by the standard deviation. The mean is computed independently for each tide gauge location, while a single standard deviation is determined across all locations. Hyperparameters were tuned using a validation set separate from the test set. To maximize the data available for learning, the final models were trained on the full training dataset (see Sect. <xref ref-type="sec" rid="Ch1.S2.SS1"/>). Each geophysical variable and satellite ADT data undergoes independent standardization. Training requires approximately 12 <inline-formula><mml:math id="M145" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> on a system equipped with an NVIDIA A100 Tensor Core GPU.</p>
</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Results</title>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Evaluation of dense sea level predictions over the Adriatic</title>
      <p id="d2e2972">To assess the accuracy of dense sea level predictions, we compare them against ADT values (i.e., satellite along-track measurements) on the test set, spanning the period from June 2019 to the end of 2020. Table <xref ref-type="table" rid="T1"/> presents the mean absolute error (MAE) and root mean squared error (RMSE) for HIDRA-D and NEMO <xref ref-type="bibr" rid="bib1.bibx27" id="paren.43"/> based on satellite ADT data. The performance of the model against in situ tide gauge measurements requires a specific cross-validation setup to avoid data leakage and is detailed separately in Sect. <xref ref-type="sec" rid="Ch1.S4.SS3"/> and Table <xref ref-type="table" rid="T3"/>. Results indicate that overall HIDRA-D outperforms NEMO, with both MAE and RMSE being significantly lower. Furthermore, HIDRA-D exhibits a very low bias of <inline-formula><mml:math id="M146" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.17</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M147" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>. Since we performed a bias correction of NEMO to align it with satellite ADT data (see Sect. <xref ref-type="sec" rid="Ch1.S2.SS4"/>), its bias is effectively zero.</p>

<table-wrap id="T1"><label>Table 1</label><caption><p id="d2e3021">Comparison of MAE, RMSE and bias between HIDRA-D and NEMO, based on satellite ADT data over Adriatic basin during the testing period from June 2019 to the end of 2020. Bold values highlight the best performance. The bias for NEMO is zero, as an offset correction was applied to its forecasts. The performance of the model against in situ tide gauge measurements requires a specific leave-one-out setup to avoid data leakage and is detailed separately in Sect. <xref ref-type="sec" rid="Ch1.S4.SS3"/> and Table <xref ref-type="table" rid="T3"/>.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="center"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Model</oasis:entry>
         <oasis:entry colname="col2">MAE (<inline-formula><mml:math id="M148" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col3">RMSE (<inline-formula><mml:math id="M149" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">Bias (<inline-formula><mml:math id="M150" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">NEMO</oasis:entry>
         <oasis:entry colname="col2">4.85</oasis:entry>
         <oasis:entry colname="col3">6.17</oasis:entry>
         <oasis:entry colname="col4">0.00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">HIDRA-D</oasis:entry>
         <oasis:entry colname="col2"><bold>3.49</bold></oasis:entry>
         <oasis:entry colname="col3"><bold>4.82</bold></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M151" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.17</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e3133">Spatial distribution of the root mean square difference (RMSD) between HIDRA-D and NEMO forecasts for lead times <inline-formula><mml:math id="M152" 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="M153" display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">24</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M154" display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">48</mml:mn></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M155" display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">72</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M156" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula>, computed over the test period. Discrepancies are most pronounced in the shallow northern Adriatic and remain stable across all lead times.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f07.png"/>

        </fig>

      <fig id="F8" specific-use="star"><label>Figure 8</label><caption><p id="d2e3206">A subset of dense sea level predictions generated by HIDRA-D and NEMO during a storm surge event. The forecasts correspond to <inline-formula><mml:math id="M157" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M158" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 14 October 2020, 23:00 UTC, the units are <inline-formula><mml:math id="M159" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>. HIDRA-D produces a spatially smoother forecast compared to NEMO. The bottom row illustrates the difference between HIDRA-D and NEMO; note that it has a separate color bar. The root mean squared difference (RMSD) between the two models is indicated in each panel.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f08.png"/>

        </fig>

      <p id="d2e3249">To further analyze the spatial and temporal structure of the discrepancies between the models, Fig. <xref ref-type="fig" rid="F7"/> illustrates the root mean square difference (RMSD) between HIDRA-D and NEMO across the basin for different forecast lead times. The metric is computed over the entire test period. Visually, the highest RMSD values (reaching approx. 8 <inline-formula><mml:math id="M160" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>) are concentrated in the northern Adriatic, likely due to the complex shallow-water dynamics in that region. Comparisons with available satellite ADT measurements (latitude <inline-formula><mml:math id="M161" display="inline"><mml:mrow><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">43.5</mml:mn><mml:mi mathvariant="italic">°</mml:mi></mml:mrow></mml:math></inline-formula>) confirm that while both models exhibit higher errors in this area, HIDRA-D performs better with an RMSE of 5.37 <inline-formula><mml:math id="M162" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula> compared to 6.79 <inline-formula><mml:math id="M163" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula> for NEMO. In contrast, the central and southern parts of the basin generally exhibit lower differences, mostly ranging between 4 and 6 <inline-formula><mml:math id="M164" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>. Notably, both the spatial pattern and the magnitude of the RMSD remain remarkably stable across all lead times, indicating that the divergence between the two models does not grow significantly as the forecast horizon extends from <inline-formula><mml:math id="M165" 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 <inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">72</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M167" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e3339">To visually compare the forecasts, we present two examples of dense forecasts generated by HIDRA-D and NEMO, along with the difference between these forecasts. Forecasts under calm atmospheric conditions are presented in Appendix <xref ref-type="sec" rid="App1.Ch1.S2"/> (Fig. <xref ref-type="fig" rid="FB1"/>), while Fig. <xref ref-type="fig" rid="F8"/> depicts the forecasts of dense sea level during a storm surge event. Note that the HIDRA-D predictions are smoother, containing lower spatial frequencies than predictions from NEMO. This result is expected because HIDRA-D does not model processes with spatial scales below the barotropic Rossby radius, <inline-formula><mml:math id="M168" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">R</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. These smaller-scale processes can be caused by other ocean processes, such as ocean currents, which are not explicitly included in the HIDRA-D model. Despite this difference, both models generally produce forecasts of a comparable magnitude. Due to space limitations only selected parts of the forecasts are presented here, for visualizations of the entire forecast and additional forecasts, we direct the reader to the video supplement of the paper.</p>
      <p id="d2e3376">Figure <xref ref-type="fig" rid="F9"/> compares HIDRA-D and NEMO predictions with along-track satellite ADT observations. Selected dates correspond to the first day of each month from June 2019 to May 2020, with the longest track in the basin chosen for each day. The forecasts were obtained for the same day as the satellite altimetry observations, with model predictions interpolated to match the satellite observation times. The results indicate that while both HIDRA-D and NEMO predictions are both smoother than altimetry observations, HIDRA-D predictions better capture the overall trend reflected in the measurements.</p>

      <fig id="F9" specific-use="star"><label>Figure 9</label><caption><p id="d2e3395">Comparison of along-track satellite ADT measurements with forecasts from HIDRA-D and NEMO. Predictions from both models were interpolated to match the satellite altimetry observation times.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f09.png"/>

        </fig>

</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>Learned tide gauge displacements</title>
      <p id="d2e3416">The methodology described in Sect. <xref ref-type="sec" rid="Ch1.S2.SS3"/> involves learning the vertical displacement, <inline-formula><mml:math id="M169" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, for each tide gauge <inline-formula><mml:math id="M170" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>. A positive <inline-formula><mml:math id="M171" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> indicates that, on average, measurements from tide gauge <inline-formula><mml:math id="M172" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> are lower than satellite ADT measurements in its vicinity. The resulting displacements for the different tide gauge locations are shown in Table <xref ref-type="table" rid="T2"/>. The values vary in both sign and magnitude, ranging from <inline-formula><mml:math id="M173" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.8</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M174" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula> at Koper to <inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">5.6</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M176" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula> at several Italian locations. This variation underscores the necessity of estimating these displacements individually for each tide gauge, as a single, uniform offset would not suffice to accurately align all tide gauge records to the common ADT reference.</p>

<table-wrap id="T2"><label>Table 2</label><caption><p id="d2e3499">Learned vertical displacements (<inline-formula><mml:math id="M177" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) for each tide gauge. A positive <inline-formula><mml:math id="M178" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> indicates that, on average, measurements from tide gauge <inline-formula><mml:math id="M179" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> are lower than satellite ADT measurements in its vicinity.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="2">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Tide gauge location</oasis:entry>
         <oasis:entry colname="col2">Displacement (<inline-formula><mml:math id="M180" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>)</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Koper</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M181" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.8</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M182" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Tremiti</oasis:entry>
         <oasis:entry colname="col2">1.7 <inline-formula><mml:math id="M183" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Venice, Ravenna, Ancona</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M184" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">5.6</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M185" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Other tide gauges</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M186" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">3.0</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M187" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S4.SS3">
  <label>4.3</label><title>Performance along the coastal region</title>
      <p id="d2e3665">This section analyzes the HIDRA-D prediction accuracy at coastal locations to estimate the potential for its practical application in sea level prediction at locations without tide gauges. The evaluation setup involves removing, one at a time, one tide gauge from the total set of <inline-formula><mml:math id="M188" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">11</mml:mn></mml:mrow></mml:math></inline-formula> tide gauges, and training a separate model for each excluded tide gauge. Each separate model for each of the eleven tide gauges is therefore trained on 10 remaining tide gauges. When calculating scores or visualizing, we always use the model that was not trained on data from the corresponding tide gauge. When presenting results from such setup, we use the notation <inline-formula><mml:math id="M189" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M190" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">11</mml:mn></mml:mrow></mml:math></inline-formula> refers to the number of models trained and used in the evaluation. Note that since we do not have any information about tide gauges' local vertical datums, bias correction over the test set is applied for each excluded tide gauge and model separately.</p>
      <p id="d2e3707">We evaluate the models using standard performance measures from <xref ref-type="bibr" rid="bib1.bibx33" id="text.44"/>: mean absolute error (MAE), root mean squared error (RMSE), accuracy (ACC), bias, recall (Re), precision (Pr), and the F1 score. All metrics presented in Table <xref ref-type="table" rid="T3"/> are averaged over all forecast lead times (from <inline-formula><mml:math id="M191" 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 <inline-formula><mml:math id="M192" display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">72</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M193" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula>) and across all tide gauge locations. The table categorizes performance for all sea level values (<italic>overall</italic>) and separately for <italic>low</italic> and <italic>high</italic> sea level values (see Sect. <xref ref-type="sec" rid="Ch1.S2"/> for definitions). Comparing <inline-formula><mml:math id="M194" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and NEMO, the results indicate that <inline-formula><mml:math id="M195" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> achieves lower errors than NEMO overall, with a particularly significant reduction in error for low SSH values.</p>

<table-wrap id="T3" specific-use="star"><label>Table 3</label><caption><p id="d2e3784">Performance comparison between  <inline-formula><mml:math id="M196" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and NEMO using tide gauge measurements. The evaluation covers all SSH values (“Overall”), as well as separate metrics for low and high SSH values. The reported scores are averaged over all forecast lead times (<inline-formula><mml:math id="M197" 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 <inline-formula><mml:math id="M198" display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">72</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M199" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula>) and over all tide gauge locations. Bold values indicate the best performance in each part of the table.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="9">
     <oasis:colspec colnum="1" colname="col1" align="justify" colwidth="50pt"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="center"/>
     <oasis:colspec colnum="8" colname="col8" align="center"/>
     <oasis:colspec colnum="9" colname="col9" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">

         <oasis:entry colname="col1" align="left"/>

         <oasis:entry colname="col2">Model</oasis:entry>

         <oasis:entry colname="col3">MAE (<inline-formula><mml:math id="M200" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>

         <oasis:entry colname="col4">RMSE (<inline-formula><mml:math id="M201" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>

         <oasis:entry colname="col5">ACC (%)</oasis:entry>

         <oasis:entry colname="col6">Bias (<inline-formula><mml:math id="M202" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>

         <oasis:entry colname="col7">Re (%)</oasis:entry>

         <oasis:entry colname="col8">Pr (%)</oasis:entry>

         <oasis:entry colname="col9">F1 (%)</oasis:entry>

       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>

         <oasis:entry rowsep="1" colname="col1" morerows="1" align="left">Overall</oasis:entry>

         <oasis:entry colname="col2">NEMO</oasis:entry>

         <oasis:entry colname="col3">3.82</oasis:entry>

         <oasis:entry colname="col4">4.95</oasis:entry>

         <oasis:entry colname="col5"><bold>95.25</bold></oasis:entry>

         <oasis:entry colname="col6">0.00</oasis:entry>

         <oasis:entry colname="col7">/</oasis:entry>

         <oasis:entry colname="col8">/</oasis:entry>

         <oasis:entry colname="col9">/</oasis:entry>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col2"><inline-formula><mml:math id="M203" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col3"><bold>3.61</bold></oasis:entry>

         <oasis:entry colname="col4"><bold>4.83</bold></oasis:entry>

         <oasis:entry colname="col5">95.24</oasis:entry>

         <oasis:entry colname="col6">0.00</oasis:entry>

         <oasis:entry colname="col7">/</oasis:entry>

         <oasis:entry colname="col8">/</oasis:entry>

         <oasis:entry colname="col9">/</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry rowsep="1" colname="col1" morerows="1" align="left">Low SSH Values</oasis:entry>

         <oasis:entry colname="col2">NEMO</oasis:entry>

         <oasis:entry colname="col3">7.08</oasis:entry>

         <oasis:entry colname="col4">8.44</oasis:entry>

         <oasis:entry colname="col5">69.82</oasis:entry>

         <oasis:entry colname="col6">5.78</oasis:entry>

         <oasis:entry colname="col7">75.01</oasis:entry>

         <oasis:entry colname="col8">91.87</oasis:entry>

         <oasis:entry colname="col9">80.78</oasis:entry>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col2"><inline-formula><mml:math id="M204" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col3"><bold>5.41</bold></oasis:entry>

         <oasis:entry colname="col4"><bold>6.49</bold></oasis:entry>

         <oasis:entry colname="col5"><bold>85.76</bold></oasis:entry>

         <oasis:entry colname="col6"><bold>3.94</bold></oasis:entry>

         <oasis:entry colname="col7"><bold>89.03</bold></oasis:entry>

         <oasis:entry colname="col8"><bold>99.33</bold></oasis:entry>

         <oasis:entry colname="col9"><bold>92.49</bold></oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1" morerows="1" align="left">High SSH Values</oasis:entry>

         <oasis:entry colname="col2">NEMO</oasis:entry>

         <oasis:entry colname="col3"><bold>6.05</bold></oasis:entry>

         <oasis:entry colname="col4"><bold>8.39</bold></oasis:entry>

         <oasis:entry colname="col5"><bold>84.96</bold></oasis:entry>

         <oasis:entry colname="col6"><inline-formula><mml:math id="M205" display="inline"><mml:mrow><mml:mo mathvariant="bold">-</mml:mo><mml:mtext mathvariant="bold">4.77</mml:mtext></mml:mrow></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col7"><bold>93.86</bold></oasis:entry>

         <oasis:entry colname="col8"><bold>98.76</bold></oasis:entry>

         <oasis:entry colname="col9"><bold>96.08</bold></oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col2"><inline-formula><mml:math id="M206" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col3">8.61</oasis:entry>

         <oasis:entry colname="col4">11.26</oasis:entry>

         <oasis:entry colname="col5">69.82</oasis:entry>

         <oasis:entry colname="col6"><inline-formula><mml:math id="M207" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">7.69</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col7">88.67</oasis:entry>

         <oasis:entry colname="col8">98.44</oasis:entry>

         <oasis:entry colname="col9">93.10</oasis:entry>

       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e4157">In contrast, for high sea level values, NEMO outperforms <inline-formula><mml:math id="M208" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>. Figure <xref ref-type="fig" rid="F10"/> shows RMSE scores for each tide gauge location for further insights. While <inline-formula><mml:math id="M209" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> achieves comparable error levels to NEMO at many locations, it exhibits significantly higher RMSE at Koper, Venice, and Neretva for high sea level values. This discrepancy likely arises from three connected reasons. First, the primary supervision for the dense field comes from satellite ADT data, which is spatiotemporally sparse (Fig. <xref ref-type="fig" rid="F3"/>); the probability of a satellite track capturing the peak of a transient short-duration storm surge is low, leading to a training set imbalanced against extreme dense events. Second, deep learning models trained with mean squared error objectives tend to produce smoothed outputs to minimize global error, occasionally underestimating sharp peaks (regressing to the mean). Third, extreme values at specific locations are often driven by unresolved local topographic effects in bays and harbors. In the leave-one-out <inline-formula><mml:math id="M210" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> setup, the model must infer these local dynamics without ever seeing training data from that specific coastline geometry, whereas NEMO explicitly solves physical equations using high-resolution bathymetric grids. These findings suggest that <inline-formula><mml:math id="M211" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> is highly effective for open waters and general basin dynamics but faces limitations in resolving localized coastal extremes at locations where it has not been explicitly trained.</p>

      <fig id="F10"><label>Figure 10</label><caption><p id="d2e4211">RMSE performance against tide gauge measurements for <inline-formula><mml:math id="M212" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and NEMO. Solid regions represent the overall RMSE, while semi-transparent regions indicate the RMSE for high SSH values. The models exhibit similar performance overall, while <inline-formula><mml:math id="M213" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> shows larger errors for high SSH values. Note that during training <inline-formula><mml:math id="M214" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> did <italic>not</italic> see any data from the respective station.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f10.png"/>

        </fig>

      <p id="d2e4256">It is important to note, however, that these conclusions apply to an arbitrary point on the coastline where no training data is provided. At training tide gauge locations, HIDRA-D performs marginally worse than HIDRA3. The average RMSE across all stations increases from 3.28 to 3.61 <inline-formula><mml:math id="M215" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>. For high sea level values, the RMSE increases from 5.61 to 6.72 <inline-formula><mml:math id="M216" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>. For low sea levels, the performance is more similar, with an RMSE of 4.24 <inline-formula><mml:math id="M217" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula> for HIDRA3 and 4.41 <inline-formula><mml:math id="M218" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula> for HIDRA-D.</p>
      <p id="d2e4300">To visually observe the model outputs, we compare the forecasted SSH time series generated by <inline-formula><mml:math id="M219" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and NEMO against tide gauge measurements. Comparison during a storm surge event is illustrated in Fig. <xref ref-type="fig" rid="F11"/>, while performance during calm atmospheric conditions is provided in Appendix <xref ref-type="sec" rid="App1.Ch1.S2"/> (Fig. <xref ref-type="fig" rid="FB2"/>). We can see that both models capture the sea level dynamics well. For additional visualizations, including further forecasts and failure cases, we refer the reader to the video supplement.</p>

      <fig id="F11" specific-use="star"><label>Figure 11</label><caption><p id="d2e4322">Prediction under storm surge atmospheric conditions. An example of a single forecast from 14 October 2020, 23:00 UTC for <inline-formula><mml:math id="M220" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and NEMO, compared with tide gauge measurements. The high SSH threshold is marked with a red line. Note that during training <inline-formula><mml:math id="M221" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> did <italic>not</italic> see any data from the station on each panel.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f11.png"/>

        </fig>


<sec id="Ch1.S4.SS3.SSSx1" specific-use="unnumbered">
  <title>Dynamic local bias correction</title>
      <p id="d2e4364">This experiment evaluates the performance improvement in a specific scenario where a tide gauge station, previously unavailable, is newly installed. The introduction of this new tide gauge allows for the application of a dynamic local bias correction at test time, which is not possible before the station is installed. We evaluate the models using tide gauge observations by applying this dynamic local bias correction at each tide gauge rather than a constant one. We apply bias correction to the first 12 <inline-formula><mml:math id="M222" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> of the forecast, following standard practice when using the NEMO model for tide gauge forecasting <xref ref-type="bibr" rid="bib1.bibx33" id="paren.45"/>. To distinguish these results from those obtained in previous experiments, we denote the  NEMO model with 12 <inline-formula><mml:math id="M223" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> bias correction as <inline-formula><mml:math id="M224" display="inline"><mml:mrow><mml:msub><mml:mtext>NEMO</mml:mtext><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. For comparability, we also apply a 12 <inline-formula><mml:math id="M225" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> bias correction to <inline-formula><mml:math id="M226" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, referring to the adjusted model as <inline-formula><mml:math id="M227" display="inline"><mml:mrow><mml:msubsup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>b</mml:mi><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e4430">Table <xref ref-type="table" rid="T4"/> presents the average scores for both models across all tide gauge locations. The results indicate that <inline-formula><mml:math id="M228" display="inline"><mml:mrow><mml:msub><mml:mtext>NEMO</mml:mtext><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> consistently exhibits lower errors than <inline-formula><mml:math id="M229" display="inline"><mml:mrow><mml:msubsup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>b</mml:mi><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>. Figure <xref ref-type="fig" rid="F12"/> displays the RMSE scores for all tide gauges, showing that <inline-formula><mml:math id="M230" display="inline"><mml:mrow><mml:msubsup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>b</mml:mi><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> again produces the highest errors in Koper, Venice, and Neretva, likely for the reasons discussed in Sect. <xref ref-type="sec" rid="Ch1.S4.SS3"/>. These findings suggest that when a newly installed tide gauge is available for bias correction, <inline-formula><mml:math id="M231" display="inline"><mml:mrow><mml:msub><mml:mtext>NEMO</mml:mtext><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> provides more accurate predictions than <inline-formula><mml:math id="M232" display="inline"><mml:mrow><mml:msubsup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>b</mml:mi><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>. However, as historical tide gauge data accumulates, training HIDRA-D on this location becomes feasible. In fact, our recent work <xref ref-type="bibr" rid="bib1.bibx37" id="paren.46"/> has shown that jointly trained on several tide gauges, HIDRA3 achieves excellent prediction accuracy at tide gauge locations even with a moderate amount of historical training data.</p>

<table-wrap id="T4" specific-use="star"><label>Table 4</label><caption><p id="d2e4511">Performance comparison between <inline-formula><mml:math id="M233" display="inline"><mml:mrow><mml:msubsup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>b</mml:mi><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M234" display="inline"><mml:mrow><mml:msub><mml:mtext>NEMO</mml:mtext><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, both bias-adjusted using the first 12 <inline-formula><mml:math id="M235" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> of each forecast. The reported scores represent the average across all tide gauge locations. The results indicate that when data from a newly installed tide gauge is available, enabling dynamic bias correction, <inline-formula><mml:math id="M236" display="inline"><mml:mrow><mml:msub><mml:mtext>NEMO</mml:mtext><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> achieves superior performance compared to <inline-formula><mml:math id="M237" display="inline"><mml:mrow><mml:msubsup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>b</mml:mi><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>. Bold values indicate the best performance in each part of the table.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="9">
     <oasis:colspec colnum="1" colname="col1" align="justify" colwidth="50pt"/>
     <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="right"/>
     <oasis:colspec colnum="7" colname="col7" align="center"/>
     <oasis:colspec colnum="8" colname="col8" align="center"/>
     <oasis:colspec colnum="9" colname="col9" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">

         <oasis:entry colname="col1" align="left"/>

         <oasis:entry colname="col2">Model</oasis:entry>

         <oasis:entry colname="col3">MAE (<inline-formula><mml:math id="M238" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>

         <oasis:entry colname="col4">RMSE (<inline-formula><mml:math id="M239" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>

         <oasis:entry colname="col5">ACC (%)</oasis:entry>

         <oasis:entry colname="col6">Bias (<inline-formula><mml:math id="M240" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>

         <oasis:entry colname="col7">Re (%)</oasis:entry>

         <oasis:entry colname="col8">Pr (%)</oasis:entry>

         <oasis:entry colname="col9">F1 (%)</oasis:entry>

       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>

         <oasis:entry rowsep="1" colname="col1" morerows="1" align="left">Overall</oasis:entry>

         <oasis:entry colname="col2"><inline-formula><mml:math id="M241" display="inline"><mml:mrow><mml:msub><mml:mtext>NEMO</mml:mtext><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col3"><bold>2.65</bold></oasis:entry>

         <oasis:entry colname="col4"><bold>3.56</bold></oasis:entry>

         <oasis:entry colname="col5"><bold>97.76</bold></oasis:entry>

         <oasis:entry colname="col6"><inline-formula><mml:math id="M242" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.31</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col7">/</oasis:entry>

         <oasis:entry colname="col8">/</oasis:entry>

         <oasis:entry colname="col9">/</oasis:entry>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col2"><inline-formula><mml:math id="M243" display="inline"><mml:mrow><mml:msubsup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>b</mml:mi><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col3">3.31</oasis:entry>

         <oasis:entry colname="col4">4.61</oasis:entry>

         <oasis:entry colname="col5">95.09</oasis:entry>

         <oasis:entry colname="col6"><inline-formula><mml:math id="M244" display="inline"><mml:mrow><mml:mo mathvariant="bold">-</mml:mo><mml:mtext mathvariant="bold">0.04</mml:mtext></mml:mrow></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col7">/</oasis:entry>

         <oasis:entry colname="col8">/</oasis:entry>

         <oasis:entry colname="col9">/</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry rowsep="1" colname="col1" morerows="1" align="left">Low SSH Values</oasis:entry>

         <oasis:entry colname="col2"><inline-formula><mml:math id="M245" display="inline"><mml:mrow><mml:msub><mml:mtext>NEMO</mml:mtext><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col3"><bold>4.19</bold></oasis:entry>

         <oasis:entry colname="col4"><bold>5.23</bold></oasis:entry>

         <oasis:entry colname="col5"><bold>92.91</bold></oasis:entry>

         <oasis:entry colname="col6"><bold>2.88</bold></oasis:entry>

         <oasis:entry colname="col7"><bold>94.04</bold></oasis:entry>

         <oasis:entry colname="col8"><bold>99.92</bold></oasis:entry>

         <oasis:entry colname="col9"><bold>96.39</bold></oasis:entry>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col2"><inline-formula><mml:math id="M246" display="inline"><mml:mrow><mml:msubsup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>b</mml:mi><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col3">4.92</oasis:entry>

         <oasis:entry colname="col4">6.31</oasis:entry>

         <oasis:entry colname="col5">87.74</oasis:entry>

         <oasis:entry colname="col6">3.78</oasis:entry>

         <oasis:entry colname="col7">91.25</oasis:entry>

         <oasis:entry colname="col8">98.80</oasis:entry>

         <oasis:entry colname="col9">94.15</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1" morerows="1" align="left">High SSH Values</oasis:entry>

         <oasis:entry colname="col2"><inline-formula><mml:math id="M247" display="inline"><mml:mrow><mml:msub><mml:mtext>NEMO</mml:mtext><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col3"><bold>4.68</bold></oasis:entry>

         <oasis:entry colname="col4"><bold>6.19</bold></oasis:entry>

         <oasis:entry colname="col5"><bold>89.14</bold></oasis:entry>

         <oasis:entry colname="col6"><inline-formula><mml:math id="M248" display="inline"><mml:mrow><mml:mo mathvariant="bold">-</mml:mo><mml:mtext mathvariant="bold">3.02</mml:mtext></mml:mrow></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col7"><bold>94.53</bold></oasis:entry>

         <oasis:entry colname="col8"><bold>99.40</bold></oasis:entry>

         <oasis:entry colname="col9"><bold>96.79</bold></oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col2"><inline-formula><mml:math id="M249" display="inline"><mml:mrow><mml:msubsup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>b</mml:mi><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col3">6.48</oasis:entry>

         <oasis:entry colname="col4">9.43</oasis:entry>

         <oasis:entry colname="col5">81.29</oasis:entry>

         <oasis:entry colname="col6"><inline-formula><mml:math id="M250" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4.16</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>

         <oasis:entry colname="col7">92.37</oasis:entry>

         <oasis:entry colname="col8">95.28</oasis:entry>

         <oasis:entry colname="col9">93.74</oasis:entry>

       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <fig id="F12"><label>Figure 12</label><caption><p id="d2e4948">RMSE performance against tide gauge measurements for the <inline-formula><mml:math id="M251" display="inline"><mml:mrow><mml:msubsup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>b</mml:mi><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M252" display="inline"><mml:mrow><mml:msub><mml:mtext>NEMO</mml:mtext><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> models. Solid regions represent the overall RMSE, while semi-transparent regions indicate the RMSE for high SSH values. A bias adjustment was applied using the first 12 <inline-formula><mml:math id="M253" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> of each forecast. <inline-formula><mml:math id="M254" display="inline"><mml:mrow><mml:msubsup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>b</mml:mi><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> exhibits larger errors compared to <inline-formula><mml:math id="M255" display="inline"><mml:mrow><mml:msub><mml:mtext>NEMO</mml:mtext><mml:mi>b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f12.png"/>

          </fig>

</sec>
</sec>
<sec id="Ch1.S4.SS4">
  <label>4.4</label><title>Removing regions of tide gauges</title>
      <p id="d2e5022">HIDRA-D is further evaluated by removing subsets of nearby tide gauges within the Adriatic basin. Specifically, we conduct two separate training experiments. As demonstrated in the correlation analysis (Fig. <xref ref-type="fig" rid="FA1"/>), the Adriatic tide gauges form two distinct clusters with high internal correlation: the northern group (Koper, Venice, Ravenna, Ancona) and the central/southern group. To rigorously test the model's ability to infer dynamics without relying on highly correlated neighbors, we first exclude tide gauge data from Koper, Venice, Ravenna, and Ancona. We refer to this model as <inline-formula><mml:math id="M256" display="inline"><mml:mrow><mml:msub><mml:mtext>HIDRA-D</mml:mtext><mml:mi>S</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, as it relies solely on measurements from tide gauges in the <italic>southern</italic> Adriatic. In the second setup, we use only the <italic>northern</italic> tide gauges, and denote the resulting model by <inline-formula><mml:math id="M257" display="inline"><mml:mrow><mml:msub><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Each model is then tested on the locations that were excluded from its training.</p>
      <p id="d2e5059">Figure <xref ref-type="fig" rid="F13"/> presents the RMSE scores, which are compared against those of <inline-formula><mml:math id="M258" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>. The results indicate that the performance degradation remains minimal, despite the fact that the input SSH measurements originate from locations hundreds of kilometers away. This suggests that HIDRA-D effectively captures the overall dynamics of the Adriatic basin, even in scenarios with remote and spatially-limited tide gauge coverage.</p>

      <fig id="F13"><label>Figure 13</label><caption><p id="d2e5081">RMSE increase when having only a subset of tide gauges as input. The model <inline-formula><mml:math id="M259" display="inline"><mml:mrow><mml:msub><mml:mtext>HIDRA-D</mml:mtext><mml:mi>S</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is trained using only tide gauges from the southern Adriatic, while <inline-formula><mml:math id="M260" display="inline"><mml:mrow><mml:msub><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is trained using only northern locations. The figure presents RMSE scores for regions that were not included as input during training. Solid regions represent the overall RMSE, while semi-transparent regions indicate the RMSE for high SSH values. The results show that, despite the exclusion of entire regions, the performance degradation remains minimal.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f13.png"/>

        </fig>

</sec>
<sec id="Ch1.S4.SS5">
  <label>4.5</label><title>Influence of the spatial scale threshold</title>
      <p id="d2e5121">In Sect. <xref ref-type="sec" rid="Ch1.S3.SS2.SSS2"/>, the northern Adriatic barotropic Rossby radius was used to define the spatial scale threshold as <inline-formula><mml:math id="M261" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">R</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">150</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M262" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula>. This threshold represents the lower limit for the forecasted wavelength in the dense output of HIDRA-D and determines the size of the non-zero element regions in the Fourier matrix <bold>F</bold>, which for <inline-formula><mml:math id="M263" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">R</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">150</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M264" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> corresponds to <inline-formula><mml:math id="M265" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M266" display="inline"><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> submatrices. To investigate the influence of this hyperparameter, we conducted an ablation study by training two model variants where the dimensions of the predicted Fourier submatrices were increased or decreased by one element in each dimension. This modification required changing the output dimension of the final dense layer to match the number of coefficients in these resized submatrices. Note that the final spatial grid size (<inline-formula><mml:math id="M267" display="inline"><mml:mrow><mml:mn mathvariant="normal">94</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">115</mml:mn></mml:mrow></mml:math></inline-formula>) remains unchanged. These variants are hereafter referred to as <inline-formula><mml:math id="M268" display="inline"><mml:mrow><mml:msub><mml:mtext>HIDRA-D</mml:mtext><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> (utilizing <inline-formula><mml:math id="M269" display="inline"><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M270" display="inline"><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula> submatrices) and <inline-formula><mml:math id="M271" display="inline"><mml:mrow><mml:msub><mml:mtext>HIDRA-D</mml:mtext><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> (utilizing <inline-formula><mml:math id="M272" display="inline"><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M273" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula> submatrices). For the cross-validation setup, they are denoted as <inline-formula><mml:math id="M274" display="inline"><mml:mrow><mml:msubsup><mml:mtext>HIDRA-D</mml:mtext><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M275" display="inline"><mml:mrow><mml:msubsup><mml:mtext>HIDRA-D</mml:mtext><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e5334">The results of this ablation study are presented in Table <xref ref-type="table" rid="T5"/>. The evaluation on the satellite ADT measurements shows that the MAE is largely unaffected by changes in the submatrix size. However, a different trend emerges in the cross-validation scenario, where models were evaluated on tide gauges that were excluded from training. In this case, our proposed model <inline-formula><mml:math id="M276" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, achieved the lowest MAE. This supports our selection of <inline-formula><mml:math id="M277" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">R</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p>

<table-wrap id="T5"><label>Table 5</label><caption><p id="d2e5365">Mean absolute error for different spatial scale thresholds, evaluated on satellite ADT measurements and on excluded tide gauge measurements in a cross-validation setup. The best results are highlighted in bold.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Test data</oasis:entry>
         <oasis:entry colname="col2">Model</oasis:entry>
         <oasis:entry colname="col3">MAE (<inline-formula><mml:math id="M278" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M279" display="inline"><mml:mrow><mml:msub><mml:mtext>HIDRA-D</mml:mtext><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">3.51</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Satellite ADT</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M280" display="inline"><mml:mrow><mml:msub><mml:mtext>HIDRA-D</mml:mtext><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">3.50</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">HIDRA-D</oasis:entry>
         <oasis:entry colname="col3"><bold>3.49</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M281" display="inline"><mml:mrow><mml:msubsup><mml:mtext>HIDRA-D</mml:mtext><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">3.90</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Tide gauge SSH</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M282" display="inline"><mml:mrow><mml:msubsup><mml:mtext>HIDRA-D</mml:mtext><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">3.67</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M283" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><bold>3.61</bold></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
</sec>
<sec id="Ch1.S5" sec-type="conclusions">
  <label>5</label><title>Conclusions</title>
      <p id="d2e5555">This paper introduces HIDRA-D, a novel deep learning model for generating dense, two-dimensional sea level forecasts across an entire regional basin, representing a significant development over previous point-prediction models in the HIDRA family. HIDRA-D successfully integrates the HIDRA3 module <xref ref-type="bibr" rid="bib1.bibx37" id="paren.47"/> for point predictions at tide gauge locations with a new Dense decoder module that generates the low-frequency spatial components of the sea level field. Crucially, the model demonstrates a novel methodology for leveraging extremely sparse and unevenly distributed satellite ADT data, combined with tide gauge observations, to achieve accurate two-dimensional basin-scale predictions. A key aspect of this integration is a new procedure for intercalibrating tide gauges and ADT, where the vertical displacement of each tide gauge is estimated as a learnable parameter during the model's training process, enabling the direct use of both satellite ADT and tide gauge SSH data for supervision.</p>
      <p id="d2e5569">When comparing 3 d forecasts of NEMO and HIDRA-D with satellite ADT measurements in the Adriatic Sea, HIDRA-D achieves a 28.0 % reduction in MAE. This demonstrates that deep learning is a viable, and often more accurate, alternative to computationally expensive numerical models for sea level forecasting. Furthermore, the model exhibits remarkable robustness to a sparse tide gauge network, successfully capturing large-scale dynamics even when trained on remote stations, which is critical for applications in data-sparse regions. However, although HIDRA-D, like NEMO, captures large-scale sea level trends, it struggles to reproduce high-frequency local variations and extreme peaks at untrained coastal locations. The model's performance is highest in open waters but degrades in coastal areas with complex bathymetry, such as Koper and Venice, specifically during extreme sea level events. Consequently, while HIDRA-D offers a computationally efficient alternative for basin-scale forecasting, it currently lags behind traditional numerical models like NEMO for specific applications such as coastal flood warnings at locations where no prior training data is available.</p>
      <p id="d2e5588">A limitation of data-driven approaches like HIDRA-D, compared to process-based numerical models, is their lack of physical interpretability. Future research will focus on addressing this and other open questions. First, we aim to enhance the model's predictive skill by exploring methods to resolve higher-frequency spatial variations and better capture dynamics in complex coastal regions. Second, we will assess the generalizability of HIDRA-D. While the architecture is general and designed to work for any location, application to new regions requires retraining on local datasets. We note that the HIDRA2 architecture was successfully applied in the Baltic basin along the Estonian coast <xref ref-type="bibr" rid="bib1.bibx4" id="paren.48"/>, performing well despite being originally developed for the Adriatic. This gives optimism that HIDRA-D would also perform well there, as it is its successor, although this remains to be thoroughly tested. We plan to adapt and evaluate the architecture in other ocean basins with diverse characteristics, such as larger areas, different tidal regimes, and varying data availability, to verify its transferability.</p>
</sec>

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

<app id="App1.Ch1.S1">
  <label>Appendix A</label><title>Tide gauge correlations</title>
      <p id="d2e5617">To assess the redundancy of information provided by the tide gauge network, we computed the Pearson correlation coefficients between the SSH signals of all station pairs. Two distinct clusters with high internal correlation are visible (Fig. <xref ref-type="fig" rid="FA1"/>): the northern Adriatic group (Koper, Venice, Ravenna, Ancona) and the central/southern group.</p>

      <fig id="FA1"><label>Figure A1</label><caption><p id="d2e5624">Pearson correlation matrix of SSH measurements between different tide gauge locations. The stations are: Koper (KP), Venice (VE), Ravenna (RA), Ancona (AN), Ortona (OR), Tremiti (TR), Vieste (VI), Sobra (SO), Vela Luka (VL), Neretva (NE), and Stari Grad (SG). Two distinct clusters with high internal correlation are visible: the northern Adriatic group (KP, VE, RA, AN) and the central/southern group.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f14.png"/>

      </fig>

</app>

<app id="App1.Ch1.S2">
  <label>Appendix B</label><title>Additional forecast visualizations</title>
      <p id="d2e5641">This appendix contains visualizations of model performance under calm atmospheric conditions, complementing the storm surge examples presented in the main text. Figure <xref ref-type="fig" rid="FB1"/> shows a subset of dense sea level predictions generated by HIDRA-D and NEMO, and Fig. <xref ref-type="fig" rid="FB2"/> compares dense predictions with tide gauge measurements.</p><fig id="FB1"><label>Figure B1</label><caption><p id="d2e5654">A subset of dense sea level predictions generated by HIDRA-D and NEMO under calm atmospheric conditions. The forecasts correspond to <inline-formula><mml:math id="M284" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M285" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4 November 2020, 23:00 UTC, the units are <inline-formula><mml:math id="M286" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula>. HIDRA-D produces a spatially smoother forecast compared to NEMO. The bottom row illustrates the difference between HIDRA-D and NEMO; note that it has a separate color bar. The root mean squared difference (RMSD) between the two models is indicated in each panel.</p></caption>
        
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f15.png"/>

      </fig>

      <fig id="FB2"><label>Figure B2</label><caption><p id="d2e5701">Prediction under calm atmospheric conditions. An example of a single forecast from 4 November 2020, at 23:00 UTC for <inline-formula><mml:math id="M287" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and NEMO, compared with tide gauge measurements. Note that during training <inline-formula><mml:math id="M288" display="inline"><mml:mrow><mml:msup><mml:mtext>HIDRA-D</mml:mtext><mml:mi>N</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> did <italic>not</italic> see any data from the station on each panel.</p></caption>
        
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2177/2026/gmd-19-2177-2026-f16.png"/>

      </fig>

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

      <p id="d2e5741">Implementation of HIDRA-D and the code to train and evaluate the model is available in the Git repository <uri>https://github.com/rusmarko/HIDRA-D</uri> <xref ref-type="bibr" rid="bib1.bibx32" id="paren.49"/>. The persistent version of the HIDRA-D source code is available at <ext-link xlink:href="https://doi.org/10.5281/zenodo.15799686" ext-link-type="DOI">10.5281/zenodo.15799686</ext-link> <xref ref-type="bibr" rid="bib1.bibx35" id="paren.50"/>. HIDRA-D pretrained weights, predictions, geophysical training and evaluation data, satellite ADT data and SSH observations from Koper (Slovenia), Sobra, Vela Luka and Stari Grad (Croatia) are available at <ext-link xlink:href="https://doi.org/10.5281/zenodo.15790578" ext-link-type="DOI">10.5281/zenodo.15790578</ext-link> <xref ref-type="bibr" rid="bib1.bibx36" id="paren.51"/>. Sea level observations from Italian tide gauges are provided by The National Institute for the Environment Protection and Research (ISPRA) and are publicly available at the following address: <uri>https://www.mareografico.it</uri> (last access: 3 July 2025). Sea level observations from Neretva station are property of Croatian Meteorological and Hydrological Service (DHMZ) and are available upon request at the following address: <uri>https://meteo.hr/proizvodi_e.php?section=proizvodi_usluge&amp;param=services</uri> (last access: 3 July 2025).</p>
  </notes><notes notes-type="videosupplement"><title>Video supplement</title>

      <p id="d2e5789">The video supplement presents animations of the complete dense sea-level forecasts from HIDRA-D and NEMO for both calm and storm surge conditions and includes additional forecast examples. The supplement also features animations of the forecasted SSH time series plotted against tide gauge measurements, corresponding to the events discussed in the main text. The video is available at <ext-link xlink:href="https://doi.org/10.5446/70892" ext-link-type="DOI">10.5446/70892</ext-link> <xref ref-type="bibr" rid="bib1.bibx34" id="paren.52"/>.</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e5805">MR led the design of HIDRA-D. MK led the machine-learning research and contributed to the HIDRA-D design. ML led the oceanographic research, providing expertise on sea level geophysics. All authors collaborated on the manuscript.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e5819">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="d2e5825">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="d2e5831">This research was made possible by the computational resources provided by the Academic and Research Network of Slovenia (ARNES) and the Slovenian National Supercomputing Network (SLING) consortium through access to the ARNES computing cluster. The authors also acknowledge the crucial role of the technical staff of the Italian National Institute for Environmental Protection and Research (ISPRA), the Croatian Meteorological and Hydrological Service (DHMZ), the Institute of Oceanography and Fisheries (IOR), and the Slovenian Environment Agency (ARSO) in maintaining the operational tide gauge network.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e5836">This research has been supported by the Slovenian Research and Innovation Agency (grant nos. P1-0237, J2-2506, and P2-0214), and the EC/EuroHPC JU and the Slovenian Ministry of HESI via the project SLAIF (grant no. 101254461).</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

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

      <ref id="bib1.bibx1"><label>Bajo et al.(2023)Bajo, Ferrarin, Umgiesser, Bonometto, and Coraci</label><mixed-citation>Bajo, M., Ferrarin, C., Umgiesser, G., Bonometto, A., and Coraci, E.: Modelling the barotropic sea level in the Mediterranean Sea using data assimilation, Ocean Sci., 19, 559–579, <ext-link xlink:href="https://doi.org/10.5194/os-19-559-2023" ext-link-type="DOI">10.5194/os-19-559-2023</ext-link>, 2023.</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>Barzandeh et al.(2025)Barzandeh, Ličer, Rus, Kristan, Maljutenko, Elken, Lagemaa, and Uiboupin</label><mixed-citation>Barzandeh, A., Ličer, M., Rus, M., Kristan, M., Maljutenko, I., Elken, J., Lagemaa, P., and Uiboupin, R.: Application of the HIDRA2 deep-learning model for sea level forecasting along the Estonian coast of the Baltic Sea, Ocean Sci., 21, 1315–1327, <ext-link xlink:href="https://doi.org/10.5194/os-21-1315-2025" ext-link-type="DOI">10.5194/os-21-1315-2025</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Beauchamp et al.(2023)Beauchamp, Febvre, Georgenthum, and Fablet</label><mixed-citation>Beauchamp, M., Febvre, Q., Georgenthum, H., and Fablet, R.: 4DVarNet-SSH: end-to-end learning of variational interpolation schemes for nadir and wide-swath satellite altimetry, Geosci. Model Dev., 16, 2119–2147, <ext-link xlink:href="https://doi.org/10.5194/gmd-16-2119-2023" ext-link-type="DOI">10.5194/gmd-16-2119-2023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Bernier and Thompson(2015)</label><mixed-citation>Bernier, N. B. and Thompson, K. R.: Deterministic and ensemble storm surge prediction for Atlantic Canada with lead times of hours to ten days, Ocean Model., 86, 114–127, <ext-link xlink:href="https://doi.org/10.1016/j.ocemod.2014.12.002" ext-link-type="DOI">10.1016/j.ocemod.2014.12.002</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Bi et al.(2023)Bi, Xie, Zhang, Chen, Gu, and Tian</label><mixed-citation>Bi, K., Xie, L., Zhang, H., Chen, X., Gu, X., and Tian, Q.: Accurate medium-range global weather forecasting with 3D neural networks, Nature, 619, 533–538, <ext-link xlink:href="https://doi.org/10.1038/s41586-023-06185-3" ext-link-type="DOI">10.1038/s41586-023-06185-3</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Chattopadhyay et al.(2024)Chattopadhyay, Gray, Wu, Lowe, and He</label><mixed-citation>Chattopadhyay, A., Gray, M., Wu, T., Lowe, A. B., and He, R.: OceanNet: a principled neural operator-based digital twin for regional oceans, Sci. Rep.-UK, 14, 21181, <ext-link xlink:href="https://doi.org/10.1038/s41598-024-72145-0" ext-link-type="DOI">10.1038/s41598-024-72145-0</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Chen et al.(2025)Chen, Zhang, Dong, Xu, Liang, Zheng, Wang, and Fu</label><mixed-citation>Chen, M., Zhang, J., Dong, R., Xu, Y., Liang, H., Zheng, J., Wang, L., and Fu, H.: An Interpretable Weather Forecasting Model With Separately-Learned Dynamics and Physics Neural Networks, Geophys. Res. Lett., 52, e2024GL114310, <ext-link xlink:href="https://doi.org/10.1029/2024GL114310" ext-link-type="DOI">10.1029/2024GL114310</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Clementi et al.(2021)Clementi, Aydogdu, Goglio, Pistoia, Escudier, Drudi, Grandi, Mariani, Lyubartsev, Lecci, Cretí, Coppini, Masina, and Pinardi</label><mixed-citation>Clementi, E., Aydogdu, A., Goglio, A. C., Pistoia, J., Escudier, R., Drudi, M., Grandi, A., Mariani, A., Lyubartsev, V., Lecci, R., Cretí, S., Coppini, G., Masina, S., and Pinardi, N.: Mediterranean Sea Physical Analysis and Forecast (CMEMS MED-Currents, EAS6 system) (Version 1) [data set], <uri>https://doi.org/10.25423/CMCC/medsea_analysisforecast_phy_006_013_eas8</uri>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Codiga(2011)</label><mixed-citation>Codiga, D.: Unified Tidal Analysis and Prediction Using the UTide Matlab Functions, Tech. rep., Graduate School of Oceanography, University of Rhode Island, Narragansett, RI, USA, <uri>https://github.com/wesleybowman/UTide</uri> (last access: 11 March 2026), 2011.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Epicoco et al.(2025)Epicoco, Donno, Accarino, Norberti, Grandi, McAdam, Elia, Clementi, Nassisi, Scoccimarro et al.</label><mixed-citation>Epicoco, I., Donno, D., Accarino, G., Norberti, S., Grandi, A., McAdam, R., Elia, D., Clementi, E., Nassisi, P., Scoccimarro, E., Coppini, G., Gualdi, S., Aloisio, G., Masina, S., and Boccaletti, G.: MedFormer: a data-driven model for forecasting the Mediterranean Sea, <ext-link xlink:href="https://doi.org/10.21203/rs.3.rs-7899254/v1" ext-link-type="DOI">10.21203/rs.3.rs-7899254/v1</ext-link>, 2025. </mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Fablet et al.(2021)Fablet, Beauchamp, Drumetz, and Rousseau</label><mixed-citation>Fablet, R., Beauchamp, M., Drumetz, L., and Rousseau, F.: Joint Interpolation and Representation Learning for Irregularly Sampled Satellite-Derived Geophysical Fields, Frontiers in Applied Mathematics and Statistics, 7, <ext-link xlink:href="https://doi.org/10.3389/fams.2021.655224" ext-link-type="DOI">10.3389/fams.2021.655224</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Ferrarin et al.(2020)</label><mixed-citation>Ferrarin, C., Valentini, A., Vodopivec, M., Klaric, D., Massaro, G., Bajo, M., De Pascalis, F., Fadini, A., Ghezzo, M., Menegon, S., Bressan, L., Unguendoli, S., Fettich, A., Jerman, J., Ličer, M., Fustar, L., Papa, A., and Carraro, E.: Integrated sea storm management strategy: the 29 October 2018 event in the Adriatic Sea, Nat. Hazards Earth Syst. Sci., 20, 73–93, <ext-link xlink:href="https://doi.org/10.5194/nhess-20-73-2020" ext-link-type="DOI">10.5194/nhess-20-73-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Ferrarin et al.(2023)Ferrarin, Pantillon, Davolio, Bajo, Miglietta, Avolio, Carrió, Pytharoulis, Sanchez, Patlakas, González-Alemán, and Flaounas</label><mixed-citation>Ferrarin, C., Pantillon, F., Davolio, S., Bajo, M., Miglietta, M. M., Avolio, E., Carrió, D. S., Pytharoulis, I., Sanchez, C., Patlakas, P., González-Alemán, J. J., and Flaounas, E.: Assessing the coastal hazard of Medicane Ianos through ensemble modelling, Nat. Hazards Earth Syst. Sci., 23, 2273–2287, <ext-link xlink:href="https://doi.org/10.5194/nhess-23-2273-2023" ext-link-type="DOI">10.5194/nhess-23-2273-2023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Glorot and Bengio(2010)</label><mixed-citation>Glorot, X. and Bengio, Y.: Understanding the difficulty of training deep feedforward neural networks, in: Proceedings of the thirteenth international conference on artificial intelligence and statistics, JMLR Workshop and Conference Proceedings, Chia Laguna Resort, Sardinia, Italy, 249–256, <uri>https://proceedings.mlr.press/v9/glorot10a.html</uri> (last access: 11 March 2026), 2010.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Guo et al.(2025)Guo, Lyu, Ling, Bai, Luo, Boers, Yamagata, Izumo, Cravatte, Capotondi, and Ouyang</label><mixed-citation>Guo, Z., Lyu, P., Ling, F., Bai, L., Luo, J.-J., Boers, N., Yamagata, T., Izumo, T., Cravatte, S., Capotondi, A., and Ouyang, W.: Data-driven global ocean modeling for seasonal to decadal prediction, Science Advances, 11, eadu2488, <ext-link xlink:href="https://doi.org/10.1126/sciadv.adu2488" ext-link-type="DOI">10.1126/sciadv.adu2488</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Hersbach et al.(2023)Hersbach, Bell, Berrisford, Biavati, Horányi, Muñoz Sabater, Nicolas, Peubey, Radu, Rozum, Schepers, Simmons, Soci, Dee, and Thépaut</label><mixed-citation>Hersbach, H., Bell, B., Berrisford, P., Biavati, G., Horányi, A., Muñoz Sabater, J., Nicolas, J., Peubey, C., Radu, R., Rozum, I., Schepers, D., Simmons, A., Soci, C., Dee, D., and Thépaut, J.-N.: ERA5 hourly data on single levels from 1940 to present, Copernicus climate change service (C3S) climate data store (CDS), <ext-link xlink:href="https://doi.org/10.24381/cds.adbb2d47" ext-link-type="DOI">10.24381/cds.adbb2d47</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Holmberg et al.(2025)Holmberg, Clementi, Epicoco, and Roos</label><mixed-citation>Holmberg, D., Clementi, E., Epicoco, I., and Roos, T.: Accurate Mediterranean Sea forecasting via graph-based deep learning, Sci. Rep.-UK, 15, 45051, <ext-link xlink:href="https://doi.org/10.1038/s41598-025-31177-w" ext-link-type="DOI">10.1038/s41598-025-31177-w</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Irrgang et al.(2021)Irrgang, Boers, Sonnewald, Barnes, Kadow, Staneva, and Saynisch-Wagner</label><mixed-citation>Irrgang, C., Boers, N., Sonnewald, M., Barnes, E. A., Kadow, C., Staneva, J., and Saynisch-Wagner, J.: Towards neural Earth system modelling by integrating artificial intelligence in Earth system science, Nature Machine Intelligence, 3, 667–674, <ext-link xlink:href="https://doi.org/10.1038/s42256-021-00374-3" ext-link-type="DOI">10.1038/s42256-021-00374-3</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Klambauer et al.(2017)Klambauer, Unterthiner, Mayr, and Hochreiter</label><mixed-citation>Klambauer, G., Unterthiner, T., Mayr, A., and Hochreiter, S.: Self-normalizing neural networks, Adv. Neur. In., 30, <uri>https://proceedings.neurips.cc/paper_files/paper/2017/file/5d44ee6f2c3f71b73125876103c8f6c4-Paper.pdf</uri> (last access: 11 March 2026), 2017.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Lam et al.(2023)Lam, Sanchez-Gonzalez, Willson, Wirnsberger, Fortunato, Alet, Ravuri, Ewalds, Eaton-Rosen, Hu, Merose, Hoyer, Holland, Vinyals, Stott, Pritzel, Mohamed, and Battaglia</label><mixed-citation>Lam, R., Sanchez-Gonzalez, A., Willson, M., Wirnsberger, P., Fortunato, M., Alet, F., Ravuri, S., Ewalds, T., Eaton-Rosen, Z., Hu, W., Merose, A., Hoyer, S., Holland, G., Vinyals, O., Stott, J., Pritzel, A., Mohamed, S., and Battaglia, P.: Learning skillful medium-range global weather forecasting, Science, 382, 1416–1421, <ext-link xlink:href="https://doi.org/10.1126/science.adi2336" ext-link-type="DOI">10.1126/science.adi2336</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Leutbecher and Palmer(2007)</label><mixed-citation>Leutbecher, M. and Palmer, T.: Ensemble forecasting, Tech. rep., European Centre for Medium-Range Weather Forecasts (ECMWF), <ext-link xlink:href="https://doi.org/10.21957/c0hq4yg78" ext-link-type="DOI">10.21957/c0hq4yg78</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Ličer et al.(2020)Ličer, Estival, Reyes-Suarez, Deponte, and Fettich</label><mixed-citation>Ličer, M., Estival, S., Reyes-Suarez, C., Deponte, D., and Fettich, A.: Lagrangian modelling of a person lost at sea during the Adriatic scirocco storm of 29 October 2018, Nat. Hazards Earth Syst. Sci., 20, 2335–2349, <ext-link xlink:href="https://doi.org/10.5194/nhess-20-2335-2020" ext-link-type="DOI">10.5194/nhess-20-2335-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Loshchilov and Hutter(2016)</label><mixed-citation>Loshchilov, I. and Hutter, F.: SGDR: Stochastic gradient descent with warm restarts, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.1608.03983" ext-link-type="DOI">10.48550/arXiv.1608.03983</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Loshchilov and Hutter(2017)</label><mixed-citation>Loshchilov, I. and Hutter, F.: Decoupled weight decay regularization, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.1711.05101" ext-link-type="DOI">10.48550/arXiv.1711.05101</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Madec and the NEMO System Team(2024)</label><mixed-citation>Madec, G. and the NEMO System Team: NEMO Ocean Engine Reference Manual, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.1464816" ext-link-type="DOI">10.5281/zenodo.1464816</ext-link>, 2024</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Mamalakis et al.(2022)Mamalakis, Barnes, and Ebert-Uphoff</label><mixed-citation>Mamalakis, A., Barnes, E. A., and Ebert-Uphoff, I.: Investigating the Fidelity of Explainable Artificial Intelligence Methods for Applications of Convolutional Neural Networks in Geoscience, Artificial Intelligence for the Earth Systems, 1, e220012, <ext-link xlink:href="https://doi.org/10.1175/AIES-D-22-0012.1" ext-link-type="DOI">10.1175/AIES-D-22-0012.1</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Mel and Lionello(2014)</label><mixed-citation>Mel, R. and Lionello, P.: Storm Surge Ensemble Prediction for the City of Venice, Weather Forecast., 29, 1044–1057, <ext-link xlink:href="https://doi.org/10.1175/WAF-D-13-00117.1" ext-link-type="DOI">10.1175/WAF-D-13-00117.1</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Nair and Hinton(2010)</label><mixed-citation> Nair, V. and Hinton, G. E.: Rectified linear units improve restricted boltzmann machines, in: Icml, ID 432, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Niu et al.(2025)Niu, Huang, Zhong, Guo, Chen, Jia, Qi, Zhang, Li, and Zhang</label><mixed-citation>Niu, Y., Huang, Q., Zhong, X., Guo, A., Chen, L., Jia, X., Qi, J., Zhang, D., Li, H., and Zhang, X.: A data-driven global ocean forecasting model with sub-daily and eddy-resolving resolution, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.2509.17015" ext-link-type="DOI">10.48550/arXiv.2509.17015</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Rus(2026)</label><mixed-citation>Rus, M.: HIDRA-D, GitHub [code], <uri>https://github.com/rusmarko/HIDRA-D</uri> (last access: 11 March 2026), 2026.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Rus et al.(2023)Rus, Fettich, Kristan, and Ličer</label><mixed-citation>Rus, M., Fettich, A., Kristan, M., and Ličer, M.: HIDRA2: deep-learning ensemble sea level and storm tide forecasting in the presence of seiches – the case of the northern Adriatic, Geosci. Model Dev., 16, 271–288, <ext-link xlink:href="https://doi.org/10.5194/gmd-16-271-2023" ext-link-type="DOI">10.5194/gmd-16-271-2023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Rus et al.(2025a)Rus, Ličer, and Kristan</label><mixed-citation>Rus, M., Ličer, M., and Kristan, M.: Video supplement for HIDRA-D, TIB AV-Portal [video supplement], <ext-link xlink:href="https://doi.org/10.5446/70892" ext-link-type="DOI">10.5446/70892</ext-link>, 2025a.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>Rus et al.(2025b)Rus, Ličer, and Kristan</label><mixed-citation>Rus, M., Ličer, M., and Kristan, M.: Code for HIDRA-D: Deep-Learning Model for Dense Sea Level Forecasting using Sparse Altimetry and Tide Gauge Data, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.15799686" ext-link-type="DOI">10.5281/zenodo.15799686</ext-link>, 202b.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>Rus et al.(2025c)Rus, Ličer, and Kristan</label><mixed-citation>Rus, M., Ličer, M., and Kristan, M.: Training and Test Datasets, Pretrained Weights and Predictions for HIDRA-D, Zenodo [data set], <ext-link xlink:href="https://doi.org/10.5281/zenodo.15790578" ext-link-type="DOI">10.5281/zenodo.15790578</ext-link>, 2025c.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>Rus et al.(2025d)Rus, Mihanović, Ličer, and Kristan</label><mixed-citation>Rus, M., Mihanović, H., Ličer, M., and Kristan, M.: HIDRA3: a deep-learning model for multipoint ensemble sea level forecasting in the presence of tide gauge sensor failures, Geosci. Model Dev., 18, 605–620, <ext-link xlink:href="https://doi.org/10.5194/gmd-18-605-2025" ext-link-type="DOI">10.5194/gmd-18-605-2025</ext-link>, 2025d.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Samek and Müller(2019)</label><mixed-citation>Samek, W. and Müller, K.-R.: Towards Explainable Artificial Intelligence, Springer International Publishing, Cham, 5–22, <ext-link xlink:href="https://doi.org/10.1007/978-3-030-28954-6_1" ext-link-type="DOI">10.1007/978-3-030-28954-6_1</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>Umgiesser et al.(2022)Umgiesser, Ferrarin, Bajo, Bellafiore, Cucco, De Pascalis, Ghezzo, McKiver, and Arpaia</label><mixed-citation>Umgiesser, G., Ferrarin, C., Bajo, M., Bellafiore, D., Cucco, A., De Pascalis, F., Ghezzo, M., McKiver, W., and Arpaia, L.: Hydrodynamic modelling in marginal and coastal seas – The case of the Adriatic Sea as a permanent laboratory for numerical approach, Ocean Model., 179, 102123, <ext-link xlink:href="https://doi.org/10.1016/j.ocemod.2022.102123" ext-link-type="DOI">10.1016/j.ocemod.2022.102123</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Wang et al.(2024)Wang, Wang, Hu, Wang, Huo, Wang, Wang, Wang, Zhu, Xu, Yin, Bao, Luo, Zu, Han, Zhang, Ren, Deng, and Song</label><mixed-citation>Wang, X., Wang, R., Hu, N., Wang, P., Huo, P., Wang, G., Wang, H., Wang, S., Zhu, J., Xu, J., Yin, J., Bao, S., Luo, C., Zu, Z., Han, Y., Zhang, W., Ren, K., Deng, K., and Song, J.: XiHe: A Data-Driven Model for Global Ocean Eddy-Resolving Forecasting, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.2402.02995" ext-link-type="DOI">10.48550/arXiv.2402.02995</ext-link>, 2024. </mixed-citation></ref>
      <ref id="bib1.bibx41"><label>Žust et al.(2021)Žust, Fettich, Kristan, and Ličer</label><mixed-citation>Žust, L., Fettich, A., Kristan, M., and Ličer, M.: HIDRA 1.0: deep-learning-based ensemble sea level forecasting in the northern Adriatic, Geosci. Model Dev., 14, 2057–2074, <ext-link xlink:href="https://doi.org/10.5194/gmd-14-2057-2021" ext-link-type="DOI">10.5194/gmd-14-2057-2021</ext-link>, 2021.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>HIDRA-D: deep-learning model for dense sea level forecasting  using sparse altimetry and tide gauge data</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Bajo et al.(2023)Bajo, Ferrarin, Umgiesser, Bonometto, and Coraci</label><mixed-citation>
      
Bajo, M., Ferrarin, C., Umgiesser, G., Bonometto, A., and Coraci, E.:
Modelling the barotropic sea level in the Mediterranean Sea using data assimilation, Ocean Sci., 19, 559–579, <a href="https://doi.org/10.5194/os-19-559-2023" target="_blank">https://doi.org/10.5194/os-19-559-2023</a>, 2023.

    </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>Barzandeh et al.(2025)Barzandeh, Ličer, Rus, Kristan, Maljutenko, Elken, Lagemaa, and Uiboupin</label><mixed-citation>
      
Barzandeh, A., Ličer, M., Rus, M., Kristan, M., Maljutenko, I., Elken, J., Lagemaa, P., and Uiboupin, R.:
Application of the HIDRA2 deep-learning model for sea level forecasting along the Estonian coast of the Baltic Sea, Ocean Sci., 21, 1315–1327, <a href="https://doi.org/10.5194/os-21-1315-2025" target="_blank">https://doi.org/10.5194/os-21-1315-2025</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Beauchamp et al.(2023)Beauchamp, Febvre, Georgenthum, and Fablet</label><mixed-citation>
      
Beauchamp, M., Febvre, Q., Georgenthum, H., and Fablet, R.:
4DVarNet-SSH: end-to-end learning of variational interpolation schemes for nadir and wide-swath satellite altimetry, Geosci. Model Dev., 16, 2119–2147, <a href="https://doi.org/10.5194/gmd-16-2119-2023" target="_blank">https://doi.org/10.5194/gmd-16-2119-2023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Bernier and Thompson(2015)</label><mixed-citation>
      
Bernier, N. B. and Thompson, K. R.:
Deterministic and ensemble storm surge prediction for Atlantic Canada with lead times of hours to ten days, Ocean Model., 86, 114–127, <a href="https://doi.org/10.1016/j.ocemod.2014.12.002" target="_blank">https://doi.org/10.1016/j.ocemod.2014.12.002</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Bi et al.(2023)Bi, Xie, Zhang, Chen, Gu, and Tian</label><mixed-citation>
      
Bi, K., Xie, L., Zhang, H., Chen, X., Gu, X., and Tian, Q.:
Accurate medium-range global weather forecasting with 3D neural networks, Nature, 619, 533–538, <a href="https://doi.org/10.1038/s41586-023-06185-3" target="_blank">https://doi.org/10.1038/s41586-023-06185-3</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Chattopadhyay et al.(2024)Chattopadhyay, Gray, Wu, Lowe, and He</label><mixed-citation>
      
Chattopadhyay, A., Gray, M., Wu, T., Lowe, A. B., and He, R.:
OceanNet: a principled neural operator-based digital twin for regional oceans, Sci. Rep.-UK, 14, 21181, <a href="https://doi.org/10.1038/s41598-024-72145-0" target="_blank">https://doi.org/10.1038/s41598-024-72145-0</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Chen et al.(2025)Chen, Zhang, Dong, Xu, Liang, Zheng, Wang, and Fu</label><mixed-citation>
      
Chen, M., Zhang, J., Dong, R., Xu, Y., Liang, H., Zheng, J., Wang, L., and Fu, H.:
An Interpretable Weather Forecasting Model With Separately-Learned Dynamics and Physics Neural Networks, Geophys. Res. Lett., 52, e2024GL114310, <a href="https://doi.org/10.1029/2024GL114310" target="_blank">https://doi.org/10.1029/2024GL114310</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Clementi et al.(2021)Clementi, Aydogdu, Goglio, Pistoia, Escudier, Drudi, Grandi, Mariani, Lyubartsev, Lecci, Cretí, Coppini, Masina, and Pinardi</label><mixed-citation>
      
Clementi, E., Aydogdu, A., Goglio, A. C., Pistoia, J., Escudier, R., Drudi, M., Grandi, A., Mariani, A., Lyubartsev, V., Lecci, R., Cretí, S., Coppini, G., Masina, S., and Pinardi, N.:
Mediterranean Sea Physical Analysis and Forecast (CMEMS MED-Currents, EAS6 system) (Version 1) [data set], <a href="https://doi.org/10.25423/CMCC/medsea_analysisforecast_phy_006_013_eas8" target="_blank"/>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Codiga(2011)</label><mixed-citation>
      
Codiga, D.: Unified Tidal Analysis and Prediction Using the UTide Matlab Functions, Tech. rep., Graduate School of Oceanography, University of Rhode Island, Narragansett, RI, USA, <a href="https://github.com/wesleybowman/UTide" target="_blank"/> (last access: 11 March 2026), 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Epicoco et al.(2025)Epicoco, Donno, Accarino, Norberti, Grandi, McAdam, Elia, Clementi, Nassisi, Scoccimarro et al.</label><mixed-citation>
      
Epicoco, I., Donno, D., Accarino, G., Norberti, S., Grandi, A., McAdam, R., Elia, D., Clementi, E., Nassisi, P., Scoccimarro, E., Coppini, G., Gualdi, S., Aloisio, G., Masina, S., and Boccaletti, G.: MedFormer: a data-driven model for forecasting the Mediterranean Sea, <a href="https://doi.org/10.21203/rs.3.rs-7899254/v1" target="_blank">https://doi.org/10.21203/rs.3.rs-7899254/v1</a>, 2025.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Fablet et al.(2021)Fablet, Beauchamp, Drumetz, and Rousseau</label><mixed-citation>
      
Fablet, R., Beauchamp, M., Drumetz, L., and Rousseau, F.:
Joint Interpolation and Representation Learning for Irregularly Sampled Satellite-Derived Geophysical Fields, Frontiers in Applied Mathematics and Statistics, 7, <a href="https://doi.org/10.3389/fams.2021.655224" target="_blank">https://doi.org/10.3389/fams.2021.655224</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Ferrarin et al.(2020)</label><mixed-citation>
      
Ferrarin, C., Valentini, A., Vodopivec, M., Klaric, D., Massaro, G., Bajo, M., De Pascalis, F., Fadini, A., Ghezzo, M., Menegon, S., Bressan, L., Unguendoli, S., Fettich, A., Jerman, J., Ličer, M., Fustar, L., Papa, A., and Carraro, E.:
Integrated sea storm management strategy: the 29 October 2018 event in the Adriatic Sea, Nat. Hazards Earth Syst. Sci., 20, 73–93, <a href="https://doi.org/10.5194/nhess-20-73-2020" target="_blank">https://doi.org/10.5194/nhess-20-73-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Ferrarin et al.(2023)Ferrarin, Pantillon, Davolio, Bajo, Miglietta, Avolio, Carrió, Pytharoulis, Sanchez, Patlakas, González-Alemán, and Flaounas</label><mixed-citation>
      
Ferrarin, C., Pantillon, F., Davolio, S., Bajo, M., Miglietta, M. M., Avolio, E., Carrió, D. S., Pytharoulis, I., Sanchez, C., Patlakas, P., González-Alemán, J. J., and Flaounas, E.:
Assessing the coastal hazard of Medicane Ianos through ensemble modelling, Nat. Hazards Earth Syst. Sci., 23, 2273–2287, <a href="https://doi.org/10.5194/nhess-23-2273-2023" target="_blank">https://doi.org/10.5194/nhess-23-2273-2023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Glorot and Bengio(2010)</label><mixed-citation>
      
Glorot, X. and Bengio, Y.: Understanding the difficulty of training deep feedforward neural networks, in: Proceedings of the thirteenth international conference on artificial intelligence and statistics, JMLR Workshop and Conference Proceedings, Chia Laguna Resort, Sardinia, Italy, 249–256, <a href="https://proceedings.mlr.press/v9/glorot10a.html" target="_blank"/> (last access: 11 March 2026), 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Guo et al.(2025)Guo, Lyu, Ling, Bai, Luo, Boers, Yamagata, Izumo, Cravatte, Capotondi, and Ouyang</label><mixed-citation>
      
Guo, Z., Lyu, P., Ling, F., Bai, L., Luo, J.-J., Boers, N., Yamagata, T., Izumo, T., Cravatte, S., Capotondi, A., and Ouyang, W.:
Data-driven global ocean modeling for seasonal to decadal prediction, Science Advances, 11, eadu2488, <a href="https://doi.org/10.1126/sciadv.adu2488" target="_blank">https://doi.org/10.1126/sciadv.adu2488</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Hersbach et al.(2023)Hersbach, Bell, Berrisford, Biavati, Horányi, Muñoz Sabater, Nicolas, Peubey, Radu, Rozum, Schepers, Simmons, Soci, Dee, and Thépaut</label><mixed-citation>
      
Hersbach, H., Bell, B., Berrisford, P., Biavati, G., Horányi, A., Muñoz Sabater, J., Nicolas, J., Peubey, C., Radu, R., Rozum, I., Schepers, D., Simmons, A., Soci, C., Dee, D., and Thépaut, J.-N.:
ERA5 hourly data on single levels from 1940 to present, Copernicus climate change service (C3S) climate data store (CDS), <a href="https://doi.org/10.24381/cds.adbb2d47" target="_blank">https://doi.org/10.24381/cds.adbb2d47</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Holmberg et al.(2025)Holmberg, Clementi, Epicoco, and Roos</label><mixed-citation>
      
Holmberg, D., Clementi, E., Epicoco, I., and Roos, T.:
Accurate Mediterranean Sea forecasting via graph-based deep learning, Sci. Rep.-UK, 15, 45051, <a href="https://doi.org/10.1038/s41598-025-31177-w" target="_blank">https://doi.org/10.1038/s41598-025-31177-w</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Irrgang et al.(2021)Irrgang, Boers, Sonnewald, Barnes, Kadow, Staneva, and Saynisch-Wagner</label><mixed-citation>
      
Irrgang, C., Boers, N., Sonnewald, M., Barnes, E. A., Kadow, C., Staneva, J., and Saynisch-Wagner, J.:
Towards neural Earth system modelling by integrating artificial intelligence in Earth system science, Nature Machine Intelligence, 3, 667–674, <a href="https://doi.org/10.1038/s42256-021-00374-3" target="_blank">https://doi.org/10.1038/s42256-021-00374-3</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Klambauer et al.(2017)Klambauer, Unterthiner, Mayr, and Hochreiter</label><mixed-citation>
      
Klambauer, G., Unterthiner, T., Mayr, A., and Hochreiter, S.: Self-normalizing neural networks, Adv. Neur. In., 30, <a href="https://proceedings.neurips.cc/paper_files/paper/2017/file/5d44ee6f2c3f71b73125876103c8f6c4-Paper.pdf" target="_blank"/> (last access: 11 March 2026), 2017.

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

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Leutbecher and Palmer(2007)</label><mixed-citation>
      
Leutbecher, M. and Palmer, T.:
Ensemble forecasting, Tech. rep., European Centre for Medium-Range Weather Forecasts (ECMWF), <a href="https://doi.org/10.21957/c0hq4yg78" target="_blank">https://doi.org/10.21957/c0hq4yg78</a>, 2007.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Ličer et al.(2020)Ličer, Estival, Reyes-Suarez, Deponte, and Fettich</label><mixed-citation>
      
Ličer, M., Estival, S., Reyes-Suarez, C., Deponte, D., and Fettich, A.:
Lagrangian modelling of a person lost at sea during the Adriatic scirocco storm of 29 October 2018, Nat. Hazards Earth Syst. Sci., 20, 2335–2349, <a href="https://doi.org/10.5194/nhess-20-2335-2020" target="_blank">https://doi.org/10.5194/nhess-20-2335-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Loshchilov and Hutter(2016)</label><mixed-citation>
      
Loshchilov, I. and Hutter, F.: SGDR: Stochastic gradient descent with warm restarts, arXiv [preprint], <a href="https://doi.org/10.48550/arXiv.1608.03983" target="_blank">https://doi.org/10.48550/arXiv.1608.03983</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Loshchilov and Hutter(2017)</label><mixed-citation>
      
Loshchilov, I. and Hutter, F.: Decoupled weight decay regularization, arXiv [preprint], <a href="https://doi.org/10.48550/arXiv.1711.05101" target="_blank">https://doi.org/10.48550/arXiv.1711.05101</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Madec and the NEMO System Team(2024)</label><mixed-citation>
      
Madec, G. and the NEMO System Team: NEMO Ocean Engine Reference Manual, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.1464816" target="_blank">https://doi.org/10.5281/zenodo.1464816</a>, 2024

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Mamalakis et al.(2022)Mamalakis, Barnes, and Ebert-Uphoff</label><mixed-citation>
      
Mamalakis, A., Barnes, E. A., and Ebert-Uphoff, I.:
Investigating the Fidelity of Explainable Artificial Intelligence Methods for Applications of Convolutional Neural Networks in Geoscience, Artificial Intelligence for the Earth Systems, 1, e220012, <a href="https://doi.org/10.1175/AIES-D-22-0012.1" target="_blank">https://doi.org/10.1175/AIES-D-22-0012.1</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Mel and Lionello(2014)</label><mixed-citation>
      
Mel, R. and Lionello, P.:
Storm Surge Ensemble Prediction for the City of Venice, Weather Forecast., 29, 1044–1057, <a href="https://doi.org/10.1175/WAF-D-13-00117.1" target="_blank">https://doi.org/10.1175/WAF-D-13-00117.1</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Nair and Hinton(2010)</label><mixed-citation>
      
Nair, V. and Hinton, G. E.: Rectified linear units improve restricted boltzmann machines, in: Icml, ID 432, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Niu et al.(2025)Niu, Huang, Zhong, Guo, Chen, Jia, Qi, Zhang, Li, and Zhang</label><mixed-citation>
      
Niu, Y., Huang, Q., Zhong, X., Guo, A., Chen, L., Jia, X., Qi, J., Zhang, D., Li, H., and Zhang, X.:
A data-driven global ocean forecasting model with sub-daily and eddy-resolving resolution, arXiv [preprint], <a href="https://doi.org/10.48550/arXiv.2509.17015" target="_blank">https://doi.org/10.48550/arXiv.2509.17015</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Rus(2026)</label><mixed-citation>
      
Rus, M.: HIDRA-D, GitHub [code], <a href="https://github.com/rusmarko/HIDRA-D" target="_blank"/> (last access: 11 March 2026), 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Rus et al.(2023)Rus, Fettich, Kristan, and Ličer</label><mixed-citation>
      
Rus, M., Fettich, A., Kristan, M., and Ličer, M.:
HIDRA2: deep-learning ensemble sea level and storm tide forecasting in the presence of seiches – the case of the northern Adriatic, Geosci. Model Dev., 16, 271–288, <a href="https://doi.org/10.5194/gmd-16-271-2023" target="_blank">https://doi.org/10.5194/gmd-16-271-2023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Rus et al.(2025a)Rus, Ličer, and Kristan</label><mixed-citation>
      
Rus, M., Ličer, M., and Kristan, M.: Video supplement for HIDRA-D, TIB AV-Portal [video supplement], <a href="https://doi.org/10.5446/70892" target="_blank">https://doi.org/10.5446/70892</a>, 2025a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>Rus et al.(2025b)Rus, Ličer, and Kristan</label><mixed-citation>
      
Rus, M., Ličer, M., and Kristan, M.: Code for HIDRA-D: Deep-Learning Model for Dense Sea Level Forecasting using Sparse Altimetry and Tide Gauge Data, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.15799686" target="_blank">https://doi.org/10.5281/zenodo.15799686</a>, 202b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>Rus et al.(2025c)Rus, Ličer, and Kristan</label><mixed-citation>
      
Rus, M., Ličer, M., and Kristan, M.: Training and Test Datasets, Pretrained Weights and Predictions for HIDRA-D, Zenodo [data set], <a href="https://doi.org/10.5281/zenodo.15790578" target="_blank">https://doi.org/10.5281/zenodo.15790578</a>, 2025c.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>Rus et al.(2025d)Rus, Mihanović, Ličer, and Kristan</label><mixed-citation>
      
Rus, M., Mihanović, H., Ličer, M., and Kristan, M.: HIDRA3: a deep-learning model for multipoint ensemble sea level forecasting in the presence of tide gauge sensor failures, Geosci. Model Dev., 18, 605–620, <a href="https://doi.org/10.5194/gmd-18-605-2025" target="_blank">https://doi.org/10.5194/gmd-18-605-2025</a>, 2025d.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Samek and Müller(2019)</label><mixed-citation>
      
Samek, W. and Müller, K.-R.:
Towards Explainable Artificial Intelligence, Springer International Publishing, Cham, 5–22, <a href="https://doi.org/10.1007/978-3-030-28954-6_1" target="_blank">https://doi.org/10.1007/978-3-030-28954-6_1</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>Umgiesser et al.(2022)Umgiesser, Ferrarin, Bajo, Bellafiore, Cucco, De Pascalis, Ghezzo, McKiver, and Arpaia</label><mixed-citation>
      
Umgiesser, G., Ferrarin, C., Bajo, M., Bellafiore, D., Cucco, A., De Pascalis, F., Ghezzo, M., McKiver, W., and Arpaia, L.:
Hydrodynamic modelling in marginal and coastal seas – The case of the Adriatic Sea as a permanent laboratory for numerical approach, Ocean Model., 179, 102123, <a href="https://doi.org/10.1016/j.ocemod.2022.102123" target="_blank">https://doi.org/10.1016/j.ocemod.2022.102123</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Wang et al.(2024)Wang, Wang, Hu, Wang, Huo, Wang, Wang, Wang, Zhu, Xu, Yin, Bao, Luo, Zu, Han, Zhang, Ren, Deng, and Song</label><mixed-citation>
      
Wang, X., Wang, R., Hu, N., Wang, P., Huo, P., Wang, G., Wang, H., Wang, S., Zhu, J., Xu, J., Yin, J., Bao, S., Luo, C., Zu, Z., Han, Y., Zhang, W., Ren, K., Deng, K., and Song, J.:
XiHe: A Data-Driven Model for Global Ocean Eddy-Resolving Forecasting, arXiv [preprint], <a href="https://doi.org/10.48550/arXiv.2402.02995" target="_blank">https://doi.org/10.48550/arXiv.2402.02995</a>, 2024.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>Žust et al.(2021)Žust, Fettich, Kristan, and Ličer</label><mixed-citation>
      
Žust, L., Fettich, A., Kristan, M., and Ličer, M.: HIDRA 1.0: deep-learning-based ensemble sea level forecasting in the northern Adriatic, Geosci. Model Dev., 14, 2057–2074, <a href="https://doi.org/10.5194/gmd-14-2057-2021" target="_blank">https://doi.org/10.5194/gmd-14-2057-2021</a>, 2021.

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