<?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-5641-2026</article-id><title-group><article-title>ImpactETC1.0: impact-oriented tracking of extratropical cyclones with global optimisation and track reconciliation</article-title><alt-title>Impact-driven ETC tracking</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Agertoft</surname><given-names>Niels</given-names></name>
          <email>nie@dmi.dk</email>
        <ext-link>https://orcid.org/0009-0002-3333-4851</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Su</surname><given-names>Jian</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-3603-8089</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff2">
          <name><surname>Pedersen</surname><given-names>Jonas Wied</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Ringgaard</surname><given-names>Ida Margrethe</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-1980-372X</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Larsen</surname><given-names>Morten Andreas Dahl</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-7478-5416</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>Danish Meteorological Institute, Sankt Kjelds Plads 11, Copenhagen, 2100, Denmark</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>DTU Sustain, Technical University of Denmark, Bygningstorvet, Building 115, Kgs. Lyngby, 2800, Denmark</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Niels Agertoft (nie@dmi.dk)</corresp></author-notes><pub-date><day>29</day><month>June</month><year>2026</year></pub-date>
      
      <volume>19</volume>
      <issue>12</issue>
      <fpage>5641</fpage><lpage>5668</lpage>
      <history>
        <date date-type="received"><day>11</day><month>September</month><year>2025</year></date>
           <date date-type="rev-request"><day>30</day><month>October</month><year>2025</year></date>
           <date date-type="rev-recd"><day>21</day><month>May</month><year>2026</year></date>
           <date date-type="accepted"><day>23</day><month>May</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Niels Agertoft 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/5641/2026/gmd-19-5641-2026.html">This article is available from https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e124">Extratropical cyclones (ETCs) play a critical role in shaping extreme weather events in the Nordic region, often driving storm surges, heavy precipitation, and high winds that can lead to significant socio-economic and environmental impacts. However, traditional cyclone-tracking methods focus primarily on large-scale atmospheric dynamics and do not explicitly link cyclone characteristics to their regional impacts. To address this gap, we introduce ImpactETC1.0, a novel framework that identifies and tracks ETCs, with a specific focus on their impacts, as illustrated here for storm surges. The framework includes several algorithmic features: global optimisation for the correspondence problem, BLOB analysis techniques to address track fragmentation arising from surface-level tracking over complex terrain, and three different post-processing options for identifying the impact-relevant ETCs. These are standard calibrated filtering, proximity-based selection of the geographically closest track, and a “gradient-tracing” approach that selects the storm that holds the impact location within its “low-pressure basin”. Applied to the CERRA reanalysis dataset and focused on the Nordic region, ImpactETC1.0 successfully reconstructed ETC tracks across complex terrain and during periods of rapid storm evolution while keeping computational costs low. Compared with a standard nearest-neighbour heuristics-based approach, the global optimisation leads to more connections being formed at negligible additional runtime. The track reconciliation step was essential in preventing track fragmentation and premature track termination, producing storm tracks that were, on average, twice as long across complex land-ocean boundaries and mountain ranges. As the post-processing step is extremely quick to perform, a sensitivity analysis could be conducted, and a score (the Single Storm Score) was developed for automated calibration of filtering parameters. Together, these results demonstrate that ImpactETC1.0 enables more continuous, less fragmented and impact-relevant ETC tracking.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>Horizon 2020</funding-source>
<award-id>101060874</award-id>
</award-group>
<award-group id="gs2">
<funding-source>Innovationsfonden</funding-source>
<award-id>0197-00005B</award-id>
</award-group>
</funding-group>
</article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e136">The tracking of extratropical cyclones (ETCs) has been a longstanding challenge in meteorology, with various methodologies developed to identify and analyse their evolution (see <xref ref-type="bibr" rid="bib1.bibx36" id="altparen.1"/>, and references therein). Conventional ETC tracking methods rely on objective feature tracking algorithms that detect cyclones using observed or simulated atmospheric datasets <xref ref-type="bibr" rid="bib1.bibx15 bib1.bibx16 bib1.bibx25 bib1.bibx30 bib1.bibx36" id="paren.2"/>. These methods have been widely applied in climate studies to analyse storm climatology and trends <xref ref-type="bibr" rid="bib1.bibx6 bib1.bibx8 bib1.bibx18 bib1.bibx22" id="paren.3"/>, they are also increasingly used in operational weather forecasting <xref ref-type="bibr" rid="bib1.bibx11" id="paren.4"/>, extreme weather detection <xref ref-type="bibr" rid="bib1.bibx35" id="paren.5"/>, wind energy risk evaluation <xref ref-type="bibr" rid="bib1.bibx12" id="paren.6"/>, and risk impact assessment <xref ref-type="bibr" rid="bib1.bibx19" id="paren.7"/>.</p>
      <p id="d2e161">Tracking frameworks typically follow a conventional three-step storm-tracking process: identification, tracking, and post-processing <xref ref-type="bibr" rid="bib1.bibx25 bib1.bibx36" id="paren.8"/>. Each of these steps introduces methodological decisions that influence the final tracks. In the identification step, ETCs must be located geographically at each time step, which is usually done by analysing atmospheric fields and identifying ETC characteristics, such as pressure minima or rotational motion around their centres. The next step is to track ETCs through time by solving the so-called “correspondence problem”. This is done by linking identified ETC locations across time steps to form coherent tracks. The final post-processing step typically aims to filter out irrelevant tracks and potentially smoothen noisy or abrupt ETC movement. Differences in algorithm design and the choice of atmospheric dataset have resulted in significant variability in cyclone track statistics across different studies, making direct comparisons challenging <xref ref-type="bibr" rid="bib1.bibx8 bib1.bibx10 bib1.bibx25 bib1.bibx36" id="paren.9"/>. Comparison studies show that different tracking algorithms, even when applied to the same dataset, produce cyclone counts that differ significantly, highlighting the sensitivity to identification criteria, correspondence strategies, and post-processing filters <xref ref-type="bibr" rid="bib1.bibx14 bib1.bibx25 bib1.bibx30" id="paren.10"/>. These discrepancies are particularly pronounced in regions with complex terrain <xref ref-type="bibr" rid="bib1.bibx23" id="paren.11"/>.</p>
      <p id="d2e176">Many conventional tracking algorithms prioritise identifying storm centres and tracking their movement over time, without explicitly linking cyclone characteristics to their impact-related consequences, such as flooding, storm surges, and wind damage <xref ref-type="bibr" rid="bib1.bibx36" id="paren.12"/>. This is reflected in the ETC identification step, where conventional definitions of ETCs often rely solely on dynamical thresholds such as minimum mean sea level pressure (MSLP), and in the post-processing filter parameters, which are defined without validating whether the resulting tracks correspond to relevant observed surface impacts <xref ref-type="bibr" rid="bib1.bibx37 bib1.bibx7" id="paren.13"/>.</p>
      <p id="d2e185">The choice of atmospheric variable used in the ETC identification step strongly influences the resulting tracks <xref ref-type="bibr" rid="bib1.bibx36" id="paren.14"/>. Common choices are MSLP and its derivatives <xref ref-type="bibr" rid="bib1.bibx22 bib1.bibx27 bib1.bibx29 bib1.bibx35" id="paren.15"/>, relative vorticity <xref ref-type="bibr" rid="bib1.bibx9 bib1.bibx21 bib1.bibx18" id="paren.16"/>, and geopotential height at various pressure levels <xref ref-type="bibr" rid="bib1.bibx5 bib1.bibx17" id="paren.17"/>. Because the most severe impacts of ETCs occur at the surface, tracking the cyclone centre at or near the surface is desirable from an impact-focused perspective. However, surface-level variables can present significant challenges in regions with complex terrain. MSLP is not directly modelled in reanalysis data, but instead derived from surface pressure via a hydrostatic approximation, which often breaks down over land, especially in mountainous areas. Similarly, near-surface relative vorticity is affected by strong terrain gradients and land-ocean boundaries. An alternative is to track ETCs using upper-level variables such as geopotential height or relative vorticity at levels of 850 or 700 hPa <xref ref-type="bibr" rid="bib1.bibx9 bib1.bibx17 bib1.bibx28 bib1.bibx32" id="paren.18"/>. However, the position and evolution of the upper-level features can diverge from the cyclone centre at the surface, and some ETCs are shallow, making them difficult or impossible to track higher in the atmosphere <xref ref-type="bibr" rid="bib1.bibx21" id="paren.19"/>. This divergence can potentially cause a misrepresentation of the storm's surface impacts. Hence, there is a need for methods that retain the impact-relevance of surface-level tracking while addressing the artefacts and discontinuities that arise near complex terrain.</p>
      <p id="d2e208">Regarding the correspondence problem, most existing algorithms have implemented variations of a greedy nearest-neighbour heuristic where the closest available points in a sequence of time steps are connected <xref ref-type="bibr" rid="bib1.bibx5 bib1.bibx9 bib1.bibx27 bib1.bibx28 bib1.bibx35" id="paren.20"><named-content content-type="pre">e.g.,</named-content></xref>. While nearest-neighbour heuristics are computationally efficient, they may lead to implausible or suboptimal connections, especially in dense storm fields or large, vague low-pressure areas. In such cases, there can be multiple possible ETC centres to connect to within a defined neighbourhood region. Some algorithms simply choose the nearest neighbouring point <xref ref-type="bibr" rid="bib1.bibx5 bib1.bibx35" id="paren.21"/>, while others predict where they expect the next point to appear and choose the options closest to that <xref ref-type="bibr" rid="bib1.bibx17 bib1.bibx32" id="paren.22"/>. Other algorithms make the choice dependent on the intensity of the ETC centre in the identification variable field and choose the option with the strongest extrema <xref ref-type="bibr" rid="bib1.bibx22 bib1.bibx27" id="paren.23"/>, or the option that yields the smallest change in value between time steps <xref ref-type="bibr" rid="bib1.bibx9" id="paren.24"/>. It is common to deny connections above a certain distance <xref ref-type="bibr" rid="bib1.bibx5 bib1.bibx22 bib1.bibx29" id="paren.25"/>, or if the difference exceeds a predefined threshold <xref ref-type="bibr" rid="bib1.bibx32" id="paren.26"/>. Some algorithms allow a small gap in the tracking procedure when the ETC centre cannot be located for a short period of time, to avoid the track breaking <xref ref-type="bibr" rid="bib1.bibx27 bib1.bibx35" id="paren.27"/>. These additional features increase the likelihood of forming good connections, but do not guarantee that the correct one is formed. Moreover, in each correspondence problem, this issue gradually worsens as the set of possible connections is exhausted, further reducing the likelihood of finding the optimal match.</p>
      <p id="d2e238">Post-processing steps typically aim to filter out identified ETCs that are deemed insignificant to a particular study. This can be short-lived systems filtered using parameters such as minimum storm duration and minimum track length <xref ref-type="bibr" rid="bib1.bibx5 bib1.bibx22 bib1.bibx35" id="paren.28"/>, or systems deemed too low in intensity, with thresholds on maximum MSLP or minimum relative vorticity along tracks <xref ref-type="bibr" rid="bib1.bibx29 bib1.bibx32" id="paren.29"/>. Parameter values for these post-processing filters are rarely calibrated against impact data. Instead, they are determined ad hoc for a given study purpose, often through round values such as a minimum duration of 24 h and a minimum length of 1000 km. As a result, these methods may retain dynamically strong but impact-irrelevant systems or, conversely, discard slower-moving, small, or short-lived storms that drive local extremes. The lack of a consistent, impact-oriented filtering approach presents a major limitation to the application of storm track analysis to hazard assessment or long-term climate adaptation planning.</p>
      <p id="d2e247">Motivated by these challenges, we introduce a novel ETC tracking framework designed to enhance the relevance of ETC tracks for on-the-ground impact assessments. The new framework contains several scientific developments: <list list-type="order"><list-item>
      <p id="d2e252">A global, yet computationally fast, optimisation solution for the correspondence problem with the Hungarian Algorithm <xref ref-type="bibr" rid="bib1.bibx20 bib1.bibx24" id="paren.30"/>. This includes benchmarking against a typical nearest-neighbour heuristics to assess trade-offs between computational efficiency and tracking continuity.</p></list-item><list-item>
      <p id="d2e259">Binary Large Object (BLOB) analysis techniques to address discontinuous jumps and fragmentation of storm tracks caused by MSLP issues, thereby improving surface-level tracking of the ETC centre over complex terrain and land-sea boundaries.</p></list-item><list-item>
      <p id="d2e263">Impact-oriented calibration of common post-processing parameters, such as minimum track length, duration and spatial proximity to the impact location. This includes an assessment of the ability of the algorithm to capture the correct number of ETCs per impact event, and multiple options for resolving track ambiguity.</p></list-item></list> The framework aims to distinguish between impact-relevant and impact-irrelevant ETCs. Whether an ETC is deemed impact relevant depends on the scope of the study. In this study, the ETC tracking framework is applied and evaluated for historical (1991–2020) storm surge events in Denmark, which constitutes a complex case due to the diverse nature of storms and ocean dynamics across the Atlantic-North Sea-Baltic Sea trajectory <xref ref-type="bibr" rid="bib1.bibx3 bib1.bibx4 bib1.bibx2" id="paren.31"/>. Hence, ETCs that do not cause these events are considered impact-irrelevant here. By providing the timing and location of other types of hazards, such as inland wind damage or shipping hazards, a different set of ETC tracks would be deemed impact-relevant, thus making the framework broadly applicable for various impact-oriented ETC tracking studies. The framework is in its current form mainly applicable to local events such as storm surges, i.e. impacts close to the ETC track. The challenge of dealing with impacts occuring far away from the ETC, i.e. inland flooding and large swells, is further discussed in Sect. <xref ref-type="sec" rid="Ch1.S5.SS3"/>.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Data and region of study</title>
      <p id="d2e280">The CERRA dataset used in this study is a high-resolution regional reanalysis product developed by the Copernicus Climate Change Service (C3S) to support climate applications in Europe <xref ref-type="bibr" rid="bib1.bibx31" id="paren.32"/>. CERRA has a spatial resolution of 5.5 km and an hourly temporal resolution, making it particularly well suited to capture mesoscale features of ETCs across complex European terrains (see Fig. <xref ref-type="fig" rid="F1"/>). The dataset assimilates a wide range of observational inputs and is dynamically downscaled from the ERA5 global reanalysis using the HARMONIE-AROME model configuration. For storm-tracking purposes, we employ two key atmospheric parameters: MSLP and the 500 hPa relative vorticity, <inline-formula><mml:math id="M1" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ζ</mml:mi><mml:mn mathvariant="normal">500</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. Other tracking algorithms typically use <inline-formula><mml:math id="M2" display="inline"><mml:mi mathvariant="italic">ζ</mml:mi></mml:math></inline-formula> at 850 or 700 hPa, but our experience in the study region showed that the Scandinavian mountains caused artefacts at these levels. Before calculating <inline-formula><mml:math id="M3" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ζ</mml:mi><mml:mn mathvariant="normal">500</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, all variables were re-gridded from the native CERRA Lambert conformal conical grid to a regular latitude–longitude grid using bilinear interpolation to simplify subsequent processing and ensure consistency in spatial derivatives. MSLP is used to identify low-pressure centres typically associated with ETC cores. <inline-formula><mml:math id="M4" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ζ</mml:mi><mml:mn mathvariant="normal">500</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> was calculated from the re-gridded wind components <inline-formula><mml:math id="M5" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M6" display="inline"><mml:mi>v</mml:mi></mml:math></inline-formula> using a centred finite-difference scheme,

          <disp-formula id="Ch1.Ex1"><mml:math id="M7" display="block"><mml:mrow><mml:mi mathvariant="italic">ζ</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula></p>

      <fig id="F1" specific-use="star"><label>Figure 1</label><caption><p id="d2e380">Map of Denmark with locations of tide gauge stations used to identify the high water level events (left) and full CERRA domain with surface topography (colour scale) and ocean mask (blue), as well as the “Area of Relevance” (AoR) and the Danish domain region in which water level impacts are sampled (right).</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026-f01.jpg"/>

      </fig>

      <p id="d2e389">To identify and evaluate impact-relevant storm tracks, a set of significant storm surge events was compiled based on observed water level time series from Danish tide gauge stations (see locations in Fig. <xref ref-type="fig" rid="F1"/>). We utilise detided water levels to ensure the algorithm focuses on significant surge events driven by severe storms rather than tidal influences, which vary considerably across the Danish coastline. Removing the tidal component enables a physically consistent and accurate identification of the surge peak timing, which is essential for initialising the storm-tracking window. While the relationship between tidal phases and wind-induced surges is critical for assessing total flooding severity, detiding isolates the meteorological driver for the purpose of algorithm development.</p>
      <p id="d2e395">Storm surge events were selected using an empirical threshold corresponding to the 5-year return level at each station, ensuring that only significant extremes were included. To avoid double-counting of close extremes, a minimum time interval of 1.5 d between two events was imposed for both the same station and for events that occur across several stations. This selection process produced a set of dates in which coastal water levels exceeded thresholds indicative of high-impact events. We also performed a manual review of each case to exclude erroneous recordings and ensure that the elevated water levels were driven by extratropical cyclone activity rather than by other mechanisms, such as seiches or large anticyclones. As a result, six dates were excluded from the analysis due to the absence of an identifiable ETC driver. For all events, the time of impact was defined as the peak in the water-level time series, providing a physically consistent reference point for initialising the storm-tracking algorithm.</p>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>ETC tracking algorithm</title>
      <p id="d2e406">The ETC detection and tracking algorithm of this paper begins with the user specifying a “time of impact”, e.g., the date and hour of a local storm surge event. The algorithm then searches for and tracks a potential ETC within a user-defined time window around the time of impact. Figure <xref ref-type="fig" rid="F2"/> presents a schematic overview of the core components within the ImpactETC1.0 tracking framework. The method is designed to systematically identify and isolate extratropical cyclones responsible for local surface impacts within a specified time window. Each stage in the workflow builds on the previous one, progressively refining the storm tracks from initial detection to final filtering. The figure outlines the logical flow between components, from storm centre identification to track linkage, spatial consolidation, and impact-based filtering. The sections are inherently independent in nature and thus can be seamlessly swapped for alternative approaches. The following Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/>–<xref ref-type="sec" rid="Ch1.S3.SS4"/> detail the implementation and rationale behind each step, while Sect. <xref ref-type="sec" rid="Ch1.S3.SS5"/> provides an overview of the parameters involved.</p>

      <fig id="F2" specific-use="star"><label>Figure 2</label><caption><p id="d2e419">Overview of the ImpactETC1.0 framework for identifying ETCs linked to observed surface impacts (in order of arrows): Motivation of the study (impacts of Storm Bodil, December 2013, Photo: Martin Stendel), detided water level at a coastal station (<inline-formula><mml:math id="M8" display="inline"><mml:mo lspace="0mm">±</mml:mo></mml:math></inline-formula>24 h impact window shaded), and associated ETC track. Bottom row (the four general stages of the storm tracking algorithm flow): (1) Candidate Point Identification (storm centres located by detecting MSLP minima and filtered using vorticity and spatial thresholds); (2) Solving the Correspondence Problem (storm centres linked across time using either a nearest-neighbour heuristic or the Hungarian Algorithm, with constraints on distance and cost); (3) BLOB Analysis – track discontinuities due to terrain or domain boundaries (resolved by reconnecting nearby low-pressure systems); (4) Post-Processing (tracks retained if they satisfy criteria for duration, travel distance, and overlap with a defined “area of relevance”, with parameters tuned through grid search), and (algorithm output, top right) impact-relevant ETC tracks capable of explaining localised storm surge or flooding events.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026-f02.jpg"/>

      </fig>

<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Identifying candidate points</title>
      <p id="d2e442">Since the aim is to identify the relevant ETC that caused a local impact at a specific time, we first define a time window around the time of impact with start and end timestamps <inline-formula><mml:math id="M9" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M10" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, respectively. For the application of the algorithm to storm surge events in this paper, a time window of <inline-formula><mml:math id="M11" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>24 h was chosen around the beginning and end peaks of each storm surge event, yielding a minimum of 49 time steps per event. This search window is specifically balanced to ensure sufficient track continuity for the primary driver while minimising the inclusion of secondary, impact-irrelevant tracks that could introduce ambiguity during the automated calibration of post-processing parameters. This search window is highlighted in Fig. <xref ref-type="fig" rid="F3"/>.</p>

      <fig id="F3" specific-use="star"><label>Figure 3</label><caption><p id="d2e478">Time series of detided water level at Ribe, Denmark, during a storm surge event in January 2005. The dashed red line marks the time of maximum water level. The shaded region represents the <inline-formula><mml:math id="M12" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>24 h window around the peak used to identify and track the associated ETC.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026-f03.png"/>

        </fig>

      <p id="d2e494">Within this time window, the algorithm identifies candidate locations for the centre of an ETC by searching for local MSLP minima in the entire CERRA domain <xref ref-type="bibr" rid="bib1.bibx31" id="paren.33"/>. Across large spatial domains with high resolution grids, there are two issues: (1) the number of grid cells is large and simple local neighbourhood searches will generate multiple local minima, and (2) there may be multiple ETCs present within the domain at any given time. To handle the high resolution of the 5.5 km grid and avoid detecting excessive local noise, we employ a spatial partitioning approach rather than traditional grid coarsening or “upscaling”.</p>
      <p id="d2e501">We first attempted using a kernel around each point to determine its status as a local minima, but this approach proved too computationally expensive. Instead, the goal is to upscale the original grid into coarser cells without missing any local minima due to overly large cells. The full domain is divided into non-overlapping square blocks where the diagonal length of each block is defined by the pruning radius, <inline-formula><mml:math id="M13" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula>. Using the Pythagorean theorem, we can derive the length of the squares from the diagonal, given by the pruning radius <inline-formula><mml:math id="M14" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula> as follows: <inline-formula><mml:math id="M15" display="inline"><mml:mrow><mml:mi>l</mml:mi><mml:mo>=</mml:mo><mml:msqrt><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mi>r</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:msqrt></mml:mrow></mml:math></inline-formula>. We proceed through the following steps (Fig. <xref ref-type="fig" rid="F4"/> shows the remaining potential candidate points after each step): <list list-type="order"><list-item>
      <p id="d2e543">The algorithm determines the local MSLP minima within each spatial block, specifically identifying the individual 5.5 km grid cell with the lowest value. This ensures that the final coordinates remain faithful to the original data resolution without downsampling (Fig. <xref ref-type="fig" rid="F4"/>a).</p></list-item><list-item>
      <p id="d2e549">Remove local MSLP minima if any neighbouring upscaled cells within the pruning radius <inline-formula><mml:math id="M16" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula> contain a lower MSLP minimum (Fig. <xref ref-type="fig" rid="F4"/>b).</p></list-item><list-item>
      <p id="d2e562">Remove local MSLP minima with values above “MSLP<sub>max</sub>” (Fig. <xref ref-type="fig" rid="F4"/>c). While background MSLP fields can vary, a simple maximum cap is used to efficiently filter out high-pressure noise and weak systems unlikely to drive significant surface impacts. This computationally efficient approach is prioritised because candidate identification is already one of the algorithm's most demanding components. For the storm surge applications in this study, MSLP<sub>max</sub> is set to a conservative value of 1010 hPa.</p></list-item><list-item>
      <p id="d2e586">Remove local minima that do not have a <inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ζ</mml:mi><mml:mn mathvariant="normal">500</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> intensity above <inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ζ</mml:mi><mml:mrow><mml:mn mathvariant="normal">500</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">min</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> within a radius of 500 km, an approach consistent with established vorticity-based feature tracking methods <xref ref-type="bibr" rid="bib1.bibx13" id="paren.34"><named-content content-type="post">Fig. <xref ref-type="fig" rid="F4"/>d</named-content></xref>. While this threshold may occasionally retain features from strong frontal structures that are not directly associated with an ETC core, its implementation is prioritised for computational speed at this high-demand stage of the processing. We opted against additional wind speed thresholds, as defining a single value applicable to both land and ocean surfaces risks unintentionally filtering out relevant candidate points in complex terrain.</p></list-item></list></p>

      <fig id="F4" specific-use="star"><label>Figure 4</label><caption><p id="d2e624">Visualisation of the progressive filtering of candidate cyclone centres using MSLP and 500 hPa vorticity criteria. From left to right, top to bottom: all local MSLP minima identified within upscaled grid cells. After applying radius-based culling, retaining only the lowest minimum within a defined neighbourhood. After removing candidates with MSLP values above the threshold MSLP<sub>max</sub>. After further filtering out candidates lacking sufficient mid-tropospheric vorticity within a 500 km radius. The background shading depicts the MSLP field for context. The event is from 11 October 1997.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026-f04.jpg"/>

        </fig>

      <p id="d2e642">From these steps, we identify potential candidate points that represent the centre of an ETC. These will be used in the correspondence problem in the next step of the algorithm. The hyperparameters in these steps (<inline-formula><mml:math id="M22" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula>, maximum MSLP value at ETC centre, and minimum regional <inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ζ</mml:mi><mml:mn mathvariant="normal">500</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> intensity) can all be fine-tuned for a given application of the algorithm. For the storm surge examples in this paper, we use the values <inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">350</mml:mn></mml:mrow></mml:math></inline-formula> km, <inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ζ</mml:mi><mml:mrow><mml:mn mathvariant="normal">500</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">min</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, and MSLP<inline-formula><mml:math id="M26" display="inline"><mml:mrow><mml:msub><mml:mi/><mml:mi mathvariant="normal">max</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1010</mml:mn></mml:mrow></mml:math></inline-formula> hPa. The choice of <inline-formula><mml:math id="M27" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula> determines the size of the atmospheric structures that are preserved. It has to be large enough to filter away grid-scale noise and minor vortices if these are not of interest, but small enough to separate relevant features. If the user targets synoptic-scale systems, the pruning radius can reasonably be set to 500–1000 km, while smaller values are necessary to identify, e.g., secondary lows. The value of <inline-formula><mml:math id="M28" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula> can have a large impact on the computational efficiency of the algorithm, which will be investigated further in Sect. <xref ref-type="sec" rid="Ch1.S5.SS2"/>. In general, smaller pruning radii yield more candidate points, which in turn affects the algorithm's computational efficiency.</p>
      <p id="d2e744">In a few rare instances, we have observed that two nearby candidate points have identical MSLP values in the CERRA data, which means that the aforementioned step 2 cannot select a unique point within the pruning radius. In this case, we have chosen to keep both points as possible candidates for the correspondence problem in the following section, rather than making an arbitrary selection between them. In Fig. <xref ref-type="fig" rid="F5"/>, we show an example of MSLP minima points and 1 hPa isobar levels for the 11 October 1997 event, visualising the data in which the algorithm operates.</p>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e751">Joint plot of isobars (1 hPa scale), wind direction (arrows) and wind speed (color scale) for the 11 October 1997 event, to exemplify distinction of storm track centers.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026-f05.jpg"/>

        </fig>

</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Solving the correspondence problem</title>
      <p id="d2e769">The candidate points found in Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/> for each individual time step must now be connected through adjacent time steps to determine the storm tracks – a task known as the correspondence problem in the storm tracking literature <xref ref-type="bibr" rid="bib1.bibx36" id="paren.35"/>. The general objective is to minimise the overall distance between the pairs of connected candidate points at time <inline-formula><mml:math id="M29" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M30" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. An added complication is that the number of candidate points in each time step is not guaranteed to be identical. If we define <inline-formula><mml:math id="M31" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M32" display="inline"><mml:mi>m</mml:mi></mml:math></inline-formula> as the number of candidate points at time <inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, respectively, then the problem can be either balanced if <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:math></inline-formula> or unbalanced if <inline-formula><mml:math id="M36" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>≠</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:math></inline-formula>. A theoretical solution to this problem can be found through global optimisation. However, due to concerns about the computational requirements of global optimisation, it is common in current storm tracking algorithms to use a heuristic approach. This is often based on the nearest-neighbour approach, where one iterates through the candidate points at <inline-formula><mml:math id="M37" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and sequentially connects them to the candidate point closest in space at <inline-formula><mml:math id="M38" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. Usually, a threshold for the maximum possible travel distance of a storm centre between two time steps, <inline-formula><mml:math id="M39" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, is part of the heuristic algorithms. Heuristic-based approaches are not guaranteed to provide the correct solution, but they are computationally very fast.</p>
      <p id="d2e909">In our tracking framework, we have implemented a global optimisation solution that avoids some of the pitfalls of nearest-neighbour heuristics. This type of correspondence problem is formally known as the “assignment problem” in optimisation theory, and it can be efficiently solved using the Hungarian Algorithm. The algorithm is well-studied in other fields, such as logistics <xref ref-type="bibr" rid="bib1.bibx34" id="paren.36"/> and scheduling <xref ref-type="bibr" rid="bib1.bibx38" id="paren.37"/>, and therefore we will only provide a general description here. The Hungarian algorithm begins with setting up a cost matrix, which here will be an <inline-formula><mml:math id="M40" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>×</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:math></inline-formula> distance matrix, which represents the distance between all <inline-formula><mml:math id="M41" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> candidate points at <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and all <inline-formula><mml:math id="M43" display="inline"><mml:mi>m</mml:mi></mml:math></inline-formula> points at <inline-formula><mml:math id="M44" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. Equation (<xref ref-type="disp-formula" rid="Ch1.E1"/>) exemplifies how such a distance matrix is set up, with the leftmost matrix in Eq. (<xref ref-type="disp-formula" rid="Ch1.E1"/>) being <inline-formula><mml:math id="M45" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>×</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:math></inline-formula>. The algorithm requires that the distance matrix be square, and since this is not guaranteed, the next step is to pad the matrix with phantom candidate points with a maximum cost (middle matrix in Eq. <xref ref-type="disp-formula" rid="Ch1.E1"/>). We then apply a maximum allowable distance for a connection to be “realistic”, <inline-formula><mml:math id="M46" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. This parameter can be physically interpreted as a maximum allowable translation speed of the ETC centre, where reasonable estimates may be in the order of 100–150 km h<sup>−1</sup>. However, the parameter can also be understood more conceptually as a “search radius” applied to the tracking variable (here MSLP). For the storm surge application presented in the Nordic region, we chose a value of 300 km, since complex terrain can cause the identified ETC centre to jump longer distances than what would be considered as physically reasonable. This maximum distance is implemented by censoring all matrix elements with values above <inline-formula><mml:math id="M48" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (see rightmost matrix in Eq. <xref ref-type="disp-formula" rid="Ch1.E1"/>).

            <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M49" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced close="]" open="["><mml:mtable class="matrix" columnalign="center center center" framespacing="0em"><mml:mtr><mml:mtd><mml:mn mathvariant="normal">2588</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">105</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">83</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">6</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">2640</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">2510</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">2395</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">254</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">112</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">319</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">2694</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">2577</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>→</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced open="[" close="]"><mml:mtable class="matrix" columnalign="center center center center" framespacing="0em"><mml:mtr><mml:mtd><mml:mn mathvariant="normal">2588</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">105</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">83</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">6</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">2640</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">2510</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">2395</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">254</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">112</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">319</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">2694</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">2577</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>→</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced open="[" close="]"><mml:mtable class="matrix" columnalign="center center center center" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mn mathvariant="normal">105</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">83</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">6</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mn mathvariant="normal">254</mml:mn></mml:mtd><mml:mtd><mml:mn mathvariant="normal">112</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e1260">Once the distance matrix is set up, made square, and censored, the algorithm finds the optimal solution by minimising the sum of distances across all connections. This is done through row/column reduction, covering zeros with lines, and matrix adjustments in the following steps: <list list-type="order"><list-item>
      <p id="d2e1266">Identify the smallest element in the matrix and subtract it from all elements, thus obtaining a matrix with at least one zero.</p></list-item><list-item>
      <p id="d2e1270">For horizontal and vertical lines through the rows and columns of the matrix, identify the minimum number of lines that would be required to cover all zeros.</p></list-item><list-item>
      <p id="d2e1274">If the number of lines is exactly the size of the matrix, then an optimal solution has been found. If it is smaller than the matrix size, an adjustment to the matrix is needed. The adjustment is to identify the smallest element <inline-formula><mml:math id="M50" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula> that is not covered by any line. Add <inline-formula><mml:math id="M51" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula> to all elements covered twice at the intersections of two lines and subtract <inline-formula><mml:math id="M52" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula> from all uncovered elements.</p></list-item><list-item>
      <p id="d2e1299">Repeat steps two and three until the number of lines required to cover the zeros is equal to the size of the matrix.</p></list-item><list-item>
      <p id="d2e1303">Select a set of connections that all have zeros. This is the optimal solution.</p></list-item></list></p>
      <p id="d2e1306">The connections found by the Hungarian Algorithm represent the solution that minimises the total sum of the connections between <inline-formula><mml:math id="M53" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M54" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. Computationally, in terms of big-<inline-formula><mml:math id="M55" display="inline"><mml:mi>O</mml:mi></mml:math></inline-formula> notation, it scales at <inline-formula><mml:math id="M56" display="inline"><mml:mrow><mml:mi>O</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi>n</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. If multiple optimal solutions with the same objective value exist, the algorithm will return only one of them. In the case of storm tracking, with costs defined as the exact geographical distance between points, we deem it unlikely to occur.</p>
      <p id="d2e1361">The framework also contains a second option for solving the correspondence problem with a standard nearest-neighbour (NN) heuristic, which we will benchmark HA against. For the NN approach, we employ a greedy algorithm, which iteratively selects the valid minimum distance connection until all pairings are exhausted or exceed a predefined distance threshold <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (see Algorithm <xref ref-type="other" rid="Ch1.Prog1"/>):</p><boxed-text content-type="algorithm" position="float" id="Ch1.Prog1"><label>Algorithm 1</label><caption><p id="d2e1378">Nearest neighbour heuristic for the correspondence problem.</p></caption><disp-quote content-type="algorithmic" specific-use="numbering{1}"><list>

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

      <p id="d2e1388" specific-use="REQUIRE">Distance matrix <inline-formula><mml:math id="M58" display="inline"><mml:mrow><mml:mi mathvariant="bold">D</mml:mi><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>×</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, maximum movement distance <inline-formula><mml:math id="M59" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></p>
            </list-item>

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

      <p id="d2e1427" specific-use="ENSURE">Assignment list <inline-formula><mml:math id="M60" display="inline"><mml:mi mathvariant="script">A</mml:mi></mml:math></inline-formula></p>
            </list-item>

    <list-item>

      <p id="d2e1439" specific-use="STATE"><inline-formula><mml:math id="M61" display="inline"><mml:mrow><mml:mi mathvariant="script">A</mml:mi><mml:mo>←</mml:mo><mml:mi mathvariant="normal">∅</mml:mi></mml:mrow></mml:math></inline-formula></p>
            </list-item>

    <list-item>

      <p id="d2e1455" specific-use="WHILE"><bold>while</bold> minimum value in <inline-formula><mml:math id="M62" display="inline"><mml:mi mathvariant="bold">D</mml:mi></mml:math></inline-formula> is less than <inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> <bold>do</bold> <list>
    <list-item>
      <p id="d2e1484" specific-use="STATE">Find <inline-formula><mml:math id="M64" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>arg⁡</mml:mi><mml:mo>min⁡</mml:mo><mml:mi mathvariant="bold">D</mml:mi></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d2e1512" specific-use="STATE">Add <inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M66" display="inline"><mml:mi mathvariant="script">A</mml:mi></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d2e1539" specific-use="STATE">Remove row <inline-formula><mml:math id="M67" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> and column <inline-formula><mml:math id="M68" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula> from <inline-formula><mml:math id="M69" display="inline"><mml:mi mathvariant="bold">D</mml:mi></mml:math></inline-formula></p></list-item></list></p>
            </list-item>

    <list-item>

      <p id="d2e1565" specific-use="ENDWHILE"><bold>end</bold> <bold>while</bold></p>
            </list-item>

    <list-item>

      <p id="d2e1576" specific-use="RETURN"><bold>return</bold>  <inline-formula><mml:math id="M70" display="inline"><mml:mi mathvariant="script">A</mml:mi></mml:math></inline-formula></p>
            </list-item>
          </list></disp-quote></boxed-text>
      <p id="d2e1589">The implemented HA and NN algorithms optimise connections with information from just two adjacent time steps, <inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M72" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. The limitation of such a one-step-at-a-time approach is that it can lead to a track breaking in two ways. First, if one of the timestamps along the ETC path is missing a candidate point, i.e., no local minima could be found. Second, even if a local minimum exists for all time steps, it can also have downstream implications for the connections that can be made later at <inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> onwards. Tracks can break if the “optimal” connection from <inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> chooses a point at <inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> that is further away from the minimum in <inline-formula><mml:math id="M76" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> than one of its competing points, thus potentially not allowing for a connection to be made between <inline-formula><mml:math id="M77" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M78" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. For such a scenario to occur, the user would have to specify a <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> value larger than the pruning radius, <inline-formula><mml:math id="M80" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula>, which would create the possibility of multiple candidate points within the <inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> distance. To mitigate this second possibility, we introduce an additional algorithmic step to handle cases where tracks break because the required connection exceeds <inline-formula><mml:math id="M82" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>BLOB analysis for resolving storm track fragmentation over complex terrain</title>
      <p id="d2e1760">In this study, MSLP is used to identify candidate points for the centres of ETCs. We chose MSLP over other possible tracking variables because of its close relationship to surface winds that drive storm surges. However, MSLP is a diagnostic variable, computed from the modelled surface pressure by estimating the sea level pressure under the assumption of hydrostatic balance <xref ref-type="bibr" rid="bib1.bibx26" id="paren.38"/>. Over complex terrain, this assumption often breaks down, e.g., over the Scandinavian mountains. As a result, artefacts and inaccuracies can arise in the MSLP field, potentially causing tracks to break into several fragments. A recurring example of this arises when an ETC crosses a mountain range: Candidate centres often appear to “stall” on the upstream side of the mountains, while a new candidate centre simultaneously appears downstream in the same time step. In this case, there are multiple alternative candidate points in the same time step for the same ETC system. This causes the track to break, resulting in a single ETC being misidentified as two separate systems. A tracking variable at higher atmospheric levels might be less prone to such issues, but it would also be less closely related to the surface impacts. We therefore introduce a novel track reconciliation step  to allow for surface level tracking with MSLP while mitigating this type of track fragmentation. The reconciliation step is based on a BLOB analysis technique that performs synoptic-scale spatial continuity checks using the MSLP field.</p>
      <p id="d2e1766">We observed that when breaks occur, the upstream and downstream candidate points typically remain part of the same synoptic-scale low-pressure system, i.e. in close spatial proximity and with similar MSLP values. BLOB analysis leverages this by identifying contiguous low-pressure “regions” within a given MSLP range.</p>
      <p id="d2e1769">The method works as follows: for a given candidate point, we define a pressure range (e.g. <inline-formula><mml:math id="M83" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>5 hPa around its MSLP value). The entire MSLP field is then binarised, with grid points within the range set to 1 (inside a BLOB) and those outside set to 0. The result is a BLOB that represents spatially coherent low-pressure areas. For each time step, we check whether other candidate points fall within the same BLOB as the one containing the current candidate point. Figure <xref ref-type="fig" rid="F6"/>a shows an example of a single ETC track that has broken into two fragments as it passed over the Scandinavian mountains. Figure <xref ref-type="fig" rid="F6"/>b shows a snapshot at the time step where the track broke. Here, the yellow point is the candidate point under investigation, the red points are other ETC candidate points in the same time step, and the shaded areas are the computed BLOBs where MSLP values in the domain sit within a range of <inline-formula><mml:math id="M84" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>5 hPa of the MSLP value of the yellow point. In this case, there are three separate BLOBs in the domain but the algorithm only looks for red candidate points within the BLOB that contains the yellow point. The rest are disregarded.</p>

      <fig id="F6" specific-use="star"><label>Figure 6</label><caption><p id="d2e1793">Illustration of the BLOB analysis step used for track reconciliation. Panel <bold>(a)</bold> shows an ETC crossing the Scandinavian mountains, where two valid MSLP minima appears in the same time step, which causes the track to break in two (yellow vs green). In <bold>(b)</bold>, the BLOB analysis identifies spatially coherent low-pressure regions (BLOBs) and identifies candidate points within the same BLOB at the same time. Once identified, the method connects candidate centres upstream and downstream of the mountains to maintain a continuous storm track.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026-f06.png"/>

        </fig>

      <p id="d2e1808">In certain edge cases, the BLOB's can become very large. To avoid false positives, we impose a maximum allowable BLOB bounding box of 3000 km and a threshold of 600 km for the maximum distance between two candidate points to be considered connected. When choosing the value of this second maximum BLOB candidate point distance parameter for a given use case, it is important to set it high enough to connect points within the same synoptic-scale system, e.g., in the range 500–1000 km. Its value should be larger than <inline-formula><mml:math id="M85" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> to work as intended, but values much larger than 500–1000 km could risk merging distinct synoptic systems.</p>
      <p id="d2e1822">In simple cases, the discontinuity occurs at the end of one track fragment and the start of the next, which can then be merged. In more complex cases, two tracks may overlap temporally: the upstream track continues for a few time steps while the downstream track has already begun. The task then becomes choosing whether and when the jump from the first track to the start of the second track should occur. In these instances, we identify the first time step in which the two candidate points fall within the same BLOB. From that point onwards, we monitor both the continuations of the tracks and select the one that persists for the longest number of time steps as the final coherent track (see Fig. <xref ref-type="fig" rid="F7"/>).</p>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e1829">Example of track reconciliation between two fragmented tracks for the same case event as in Fig. <xref ref-type="fig" rid="F6"/>. Points indicate MSLP minima and their assigned numbers show the time step during the event. The ETC moved from left to right in the image. At time step 16, the ETC reaches the Scandinavian mountains and the track breaks, leaving two tracks that both have valid ETC centre at time steps 16 and 17. The method creates a BLOB with a <inline-formula><mml:math id="M86" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>5 hPa range around the MSLP value at both points at step 16 (dark shaded area). Both points are within the threshold distance of the BLOB, and the algorithm jumps from the yellow to green track at point 16, because the white track continues on for a longer duration (green continues to time step 50, yellow only continues to time step 17). The red crosses denote other MSLP minima in the field, but since they are not within the same BLOB, they are ruled out as potential connections.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026-f07.png"/>

        </fig>

      <p id="d2e1847">In the results section, we demonstrate the value of this track reconciliation step by showing how frequently it is used for the storm surge events in this study, how it affects the length of the final tracks, and how it prevents broken tracks from being filtered out in the post-processing steps described in the next section.</p>
</sec>
<sec id="Ch1.S3.SS4">
  <label>3.4</label><title>Post-processing of tracks</title>
      <p id="d2e1858">Within the impact time window, multiple ETC tracks are often present throughout the data domain. These tracks vary in length, duration, and spatial trajectory. Therefore, a crucial final step in any storm tracking algorithm is the filtering of tracks that are either insignificant or unrelated to the local impact.</p>
      <p id="d2e1861">In this study, we implement three options for post-processing tracks to identify the storm(s) that caused the local impact. <list list-type="order"><list-item>
      <p id="d2e1866">Impact-oriented calibration of standard post-processing parameters,</p></list-item><list-item>
      <p id="d2e1870">Nearest storm selection,</p></list-item><list-item>
      <p id="d2e1874">Gradient tracing.</p></list-item></list></p>
<sec id="Ch1.S3.SS4.SSS1">
  <label>3.4.1</label><title>Impact-oriented calibration of standard post-processing parameters</title>
      <p id="d2e1884">The first option allows the user to apply four criteria that an ETC track must satisfy to be considered relevant. These are standard post-processing criteria that are used in many different tracking algorithms in the literature: <list list-type="bullet"><list-item>
      <p id="d2e1889"><italic>Minimum travel distance.</italic> The ETC must travel a minimum distance, measured as the total length of the track in kilometres.</p></list-item><list-item>
      <p id="d2e1895"><italic>Minimum duration.</italic> The ETC must persist for a minimum duration, defined as the time between the first and last detected points along its track.</p></list-item><list-item>
      <p id="d2e1901"><italic>Area of Relevance (AoR).</italic> The storm track must enter a predefined spatial area around the impact location.</p></list-item><list-item>
      <p id="d2e1907"><italic>Minimum time in AoR.</italic> The ETC must spend a minimum amount of time within the AoR.</p></list-item></list></p>
      <p id="d2e1912">The first two criteria primarily eliminate short-lived or spatially limited tracks across the domain, while the latter two filter out tracks unlikely to have contributed to the local impact. While users can implement a circular AoR centred on a specific impact location, this framework utilises a rectangular AoR for programmatic efficiency when slicing 2D atmospheric fields. In cases like Danish storm surges, a non-symmetrical AoR is often physically preferable; for example, relevant ETCs may be located farther north or east in the Baltic Sea than to the west or south. Consequently, the AoR serves as a flexible, user-defined distance criterion, requiring the ETC to remain within a relevant proximity for a specified time window. Because the user provides the initial “time of impact” based on observed local water levels or winds, additional identification steps for the hazard itself are not required within the tracking loop.</p>
      <p id="d2e1915">In order to evaluate the sensitivity of the post-processing parameters and define a set of optimal parameters for our case study, a full grid search exploration of the parameter space is carried out, and the post-processing results are recorded. The parameter ranges applied for the grid search are as follows: <list list-type="bullet"><list-item>
      <p id="d2e1920"><italic>Minimum travel distance.</italic> [0, 100, …, 1400, 1500 km].</p></list-item><list-item>
      <p id="d2e1926"><italic>Minimum duration.</italic> [0, 1, …, 39, 40 h].</p></list-item><list-item>
      <p id="d2e1932"><inline-formula><mml:math id="M87" display="inline"><mml:mi mathvariant="normal">Δ</mml:mi></mml:math></inline-formula>  <italic>AoR.</italic> [<inline-formula><mml:math id="M88" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>5, <inline-formula><mml:math id="M89" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>4, …, 9, 10°].</p></list-item><list-item>
      <p id="d2e1959"><italic>Minimum time in AoR.</italic> [0, 1, …, 29, 30 h].</p></list-item></list></p>
      <p id="d2e1964">We note that the AoR is centred on <inline-formula><mml:math id="M90" display="inline"><mml:mrow><mml:mn mathvariant="normal">60</mml:mn><mml:mi mathvariant="italic">°</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mtext>N</mml:mtext><mml:mo>,</mml:mo><mml:mn mathvariant="normal">15</mml:mn><mml:mi mathvariant="italic">°</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mtext>E</mml:mtext></mml:mrow></mml:math></inline-formula> and initially spans from 50–70° N and 0–30° E. Here, the AoR change is in degrees with negative values decreasing the AoR and vice versa. The initial AoR encompasses the Baltic region and the North Sea (see the area highlighted in Fig. <xref ref-type="fig" rid="F1"/>), since an ETC must enter this region to affect the water levels on the Danish coasts. In this study, we chose to define the AoR and the incremental changes in geographic degrees. Alternatively, this could have been defined in kilometres. This choice is possible for our AoR, as the effect from the varying length of a <inline-formula><mml:math id="M91" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">°</mml:mi></mml:mrow></mml:math></inline-formula> is small (1–2 km in the zonal direction) due to the relatively small size and location of our AoR. Hence, we took a practical approach of using degrees, as this is how the CERRA data is given. However, for larger AoR and/or AoR located close to the poles, this is not a feasible solution and will be discussed further in Sect. <xref ref-type="sec" rid="Ch1.S5.SS3"/>.</p>
      <p id="d2e2006">To explore the parameter sensitivity, we use two metrics. The first metric assesses whether the post-processing filters yield the correct number of ETC tracks per impact event. To do this, we have undertaken the labour-intensive task of manually labelling the true count of ETC tracks within the AoR and the impact time window for all events in our case data. We then define a simple accuracy score for the evaluation, which we call the “Storm Count Accuracy” (SCA):

              <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M92" display="block"><mml:mrow><mml:mi mathvariant="normal">SCA</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>n</mml:mi></mml:mfrac></mml:mstyle><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:mn mathvariant="normal">1</mml:mn><mml:mo>(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>y</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M93" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> is the true number of ETCs, <inline-formula><mml:math id="M94" display="inline"><mml:mover accent="true"><mml:mi>y</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover></mml:math></inline-formula> the predicted number given a set of post-processing parameter values, <inline-formula><mml:math id="M95" display="inline"><mml:mn mathvariant="normal">1</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M96" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>y</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is an indicator function equal to 1 if correct and 0 if incorrect, and <inline-formula><mml:math id="M97" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> is the total number of events. Please note that this metric only considers the accuracy of the counts of ETC tracks per impact event, and should not be confused with an accuracy assessment of the individual ETC track paths or a causal hazard attribution. Users of ImpactETC1.0 can do the same for their case implementations if the number of events to investigate is relatively small and manual labelling is deemed possible.</p>
      <p id="d2e2116">We recognise that developing a labelled dataset may not be desirable or possible for all applications of the algorithm, especially when evaluating many impact events. To still calibrate post-processing parameters rather than simply choosing values on an ad hoc basis, we tested a second metric that requires no manual work. If this second metric can calibrate parameter values to match those of the Storm Count Accuracy, it can be used for large-scale automated analyses. We define this second metric as the “Single Storm Score” (<inline-formula><mml:math id="M98" display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>):

              <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M99" display="block"><mml:mrow><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>+</mml:mo></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>+</mml:mo></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M100" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> represents the number of events observed with <inline-formula><mml:math id="M101" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> associated ETC tracks. This score rewards events with exactly one detected ETC (interpreted as a successful and unambiguous match), penalises missed detections (<inline-formula><mml:math id="M102" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) and excessive ambiguity (<inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>+</mml:mo></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>). It treats cases with two ETCs as neutral, since we have observed this in our case example. The result is a simple, interpretable score ranging between <inline-formula><mml:math id="M104" display="inline"><mml:mi mathvariant="normal">−</mml:mi></mml:math></inline-formula>1 and 1, where higher values indicate better post-processing performance.</p>
</sec>
<sec id="Ch1.S3.SS4.SSS2">
  <label>3.4.2</label><title>Nearest storm selection</title>
      <p id="d2e2250">The framework presents an alternative approach to calibrating filtering parameters using the Single Storm Score (<inline-formula><mml:math id="M105" display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula>), which relies on the simple logic that the impact-relevant ETC was likely the one geographically closest to the impact location at the time of impact. This logic ensures that only a single ETC will be identified for each impact location. This simplifies post-processing by rendering the AoR redundant, thereby reducing the number of post-processing criteria from 4 to 2. The user is free to set the relevant parameters, and for this case study, we set “minimum duration” to 8 h and “minimum travel distance” to 300 km. If there are multiple eligible ETC tracks within the model domain, at the time of impact, the method calculates the distance from the impact location to each eligible track and selects the nearest.</p>
</sec>
<sec id="Ch1.S3.SS4.SSS3">
  <label>3.4.3</label><title>Gradient tracing</title>
      <p id="d2e2269">A limitation of the “Nearest storm selection” approach is that it may not always be the track closest to the impact location that causes the event. Or it might be an interplay of multiple ETCs that cause it. As a third option, we therefore developed a “Gradient tracing” method based on the premise that the spatial pattern of the MSLP field contains important directional information about where the cause of the impact may originate. It applies the logic that the ETC that caused the impact probably holds the impact location within its “low-pressure basin”. Similar to the Nearest storm selection method, the “minimum duration” and “minimum travel distance” criteria are used to filter out micro-tracks, and in this case, are set to 8 h and 300 km, respectively. The gradient tracing method works by analysing the instantaneous MSLP field at the exact time of impact. It begins in the grid box where the impact location is and evaluates the 8 surrounding grid boxes. It then iteratively moves in the direction of steepest descent until it reaches a local minimum in the MSLP field. Once it has reached a local minimum, it evaluates whether this local minimum is a valid end point, defined as a point on one of the identified ETC tracks at the exact time of impact. If it is not a valid end point, it multiplies the MSLP value at the local minimum by a factor of 1.1, effectively raising the point above its neighbours, ensuring that a step into a neighbouring location is possible, and then moves in the direction of steepest descent again. It continues to iterate like this until it reaches a valid end point. The pseudo-code for the Gradient tracing method is defined in Algorithm <xref ref-type="other" rid="Ch1.Prog2"/>. An example showcasing the method is highlighted in Fig. <xref ref-type="fig" rid="F8"/>a, where the blue circle represents the starting location and the red squares represent a selection of the locations tracing has passed through towards termination at an ETC track, which are represented by the yellow stars.</p>

      <fig id="F8" specific-use="star"><label>Figure 8</label><caption><p id="d2e2278">Visualisation of gradient tracing algorithm for the 26 February 2002 event where a storm surge happened at the city of Esbjerg. Contour lines show the MSLP field at the time of impact, and the star symbols represents identified ETC centres points. <bold>(a)</bold> The left panel shows the steps (red dots) that the gradient tracing method makes as it iteratively moves from the location of impact (blue dot) to one of the ETC centres. <bold>(b)</bold> The right panel shows how 100 starting points are sampled within a 250 km radius of the impact location. Each ETC centre (star) now has a distinct colour, and the colour of the starting points indicates which ETC centre, each starting point is assigned to with the gradient tracing method. The percentage numbers in the legend shows the proportion of starting points that end up at each ETC, here 88 % vs. 12 % for two nearby ETCs.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026-f08.png"/>

          </fig>

      <p id="d2e2293">However, for some events, we observed that the initial impact location was located on a “ridge” in the MSLP field, where even small changes in the MSLP field determining which side of the ridge was stepped downward. We therefore introduced an additional option to include a measure of uncertainty to the identification of the impact-relevant storms. This is done by introducing spatial uncertainty in the impact location, from where the gradient tracing starts. Instead of only tracing from the exact impact location, we randomly sample 100 starting locations within a 250 km radius around the impact location, and perform gradient tracing for all of these. Doing so returns a percentage distribution of traces that terminate in each eligible ETC track, indicating how certain a specific ETC is to be the cause of the impact. A benefit of this is that this result can serve as an indicator of potential compound events when multiple ETCs interact to cause an event. Figure <xref ref-type="fig" rid="F8"/>b shows an example where the exact impact location is represented by the blue circle, and the small squares surrounding the blue circle represent the randomly sampled starting points for the tracing exercise, with their colours representing the ETC track location where they terminated. As the legend shows, 88 % of traces end at one ETC, while 12 % end at another.</p><boxed-text content-type="algorithm" position="float" id="Ch1.Prog2" specific-use="star"><label>Algorithm 2</label><caption><p id="d2e2299">Gradient tracing for filtering of tracks</p></caption><disp-quote content-type="algorithmic" specific-use="numbering{1}"><list>

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

      <p id="d2e2309" specific-use="REQUIRE">MSLP matrix <inline-formula><mml:math id="M106" display="inline"><mml:mrow><mml:mi mathvariant="bold">M</mml:mi><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>×</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, maximum step iterations Iter<sub>max</sub>, starting location radius <inline-formula><mml:math id="M108" display="inline"><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mtext>radius</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, number of starting locations <inline-formula><mml:math id="M109" display="inline"><mml:mrow><mml:msub><mml:mi>Z</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, storm center objects SC, each with attributes <inline-formula><mml:math id="M110" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:mtext>loc</mml:mtext><mml:mo>,</mml:mo><mml:mtext>storm number</mml:mtext><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula></p>
              </list-item>

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

      <p id="d2e2384" specific-use="ENSURE">Storm centers reached list <inline-formula><mml:math id="M111" display="inline"><mml:mi mathvariant="script">A</mml:mi></mml:math></inline-formula></p>
              </list-item>

    <list-item>

      <p id="d2e2396" specific-use="STATE"><inline-formula><mml:math id="M112" display="inline"><mml:mrow><mml:mi mathvariant="script">A</mml:mi><mml:mo>←</mml:mo><mml:mi mathvariant="normal">∅</mml:mi></mml:mrow></mml:math></inline-formula></p>
              </list-item>

    <list-item>

      <p id="d2e2412" specific-use="STATE">Sample <inline-formula><mml:math id="M113" display="inline"><mml:mrow><mml:msub><mml:mi>Z</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> starting locations <inline-formula><mml:math id="M114" display="inline"><mml:mi mathvariant="script">Z</mml:mi></mml:math></inline-formula> uniformly within radius <inline-formula><mml:math id="M115" display="inline"><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mtext>radius</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula></p>
              </list-item>

    <list-item>

      <p id="d2e2446" specific-use="FOR"><bold>for</bold> each <inline-formula><mml:math id="M116" display="inline"><mml:mrow><mml:msub><mml:mi>Z</mml:mi><mml:mtext>start</mml:mtext></mml:msub><mml:mo>∈</mml:mo><mml:mi mathvariant="script">Z</mml:mi></mml:mrow></mml:math></inline-formula> <bold>do</bold> <list>
    <list-item>
      <p id="d2e2472" specific-use="STATE"><inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:msub><mml:mi>Z</mml:mi><mml:mtext>cur</mml:mtext></mml:msub><mml:mo>←</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mtext>start</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>,     step <inline-formula><mml:math id="M118" display="inline"><mml:mrow><mml:mo>←</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d2e2503" specific-use="WHILE"><bold>while</bold> step <inline-formula><mml:math id="M119" display="inline"><mml:mrow><mml:mo>≤</mml:mo><mml:msub><mml:mi mathvariant="normal">Iter</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> <bold>do</bold> <list>
    <list-item>
      <p id="d2e2527" specific-use="STATE"><inline-formula><mml:math id="M120" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mo>min⁡</mml:mo></mml:msub><mml:mo>←</mml:mo><mml:mi>arg⁡</mml:mi><mml:msub><mml:mo>min⁡</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>∈</mml:mo><mml:mi mathvariant="script">N</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mtext>cur</mml:mtext></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:msub><mml:mi mathvariant="bold">M</mml:mi><mml:mo>[</mml:mo><mml:mi>n</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d2e2572" specific-use="IF"><bold>if</bold> <inline-formula><mml:math id="M121" display="inline"><mml:mrow><mml:mi mathvariant="bold">M</mml:mi><mml:mo>[</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mo>min⁡</mml:mo></mml:msub><mml:mo>]</mml:mo><mml:mo>&lt;</mml:mo><mml:mi mathvariant="bold">M</mml:mi><mml:mo>[</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mtext>cur</mml:mtext></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> <bold>then</bold> <list>
    <list-item>
      <p id="d2e2613" specific-use="STATE"><inline-formula><mml:math id="M122" display="inline"><mml:mrow><mml:msub><mml:mi>Z</mml:mi><mml:mtext>cur</mml:mtext></mml:msub><mml:mo>←</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mo>min⁡</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula></p></list-item></list></p></list-item>
    <list-item>
      <p id="d2e2634" specific-use="ELSEIF"><bold>else</bold> <bold>if</bold> <inline-formula><mml:math id="M123" display="inline"><mml:mrow><mml:msub><mml:mi>Z</mml:mi><mml:mtext>cur</mml:mtext></mml:msub><mml:mo>∈</mml:mo></mml:mrow></mml:math></inline-formula> SC <bold>then</bold> <list>
    <list-item>
      <p id="d2e2661" specific-use="STATE"><inline-formula><mml:math id="M124" display="inline"><mml:mrow><mml:mi mathvariant="script">A</mml:mi><mml:mo>←</mml:mo><mml:mi mathvariant="script">A</mml:mi><mml:mo>∪</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mi>s</mml:mi><mml:mo>.</mml:mo><mml:mtext>storm number</mml:mtext><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> {where <inline-formula><mml:math id="M125" display="inline"><mml:mrow><mml:mi>s</mml:mi><mml:mo>∈</mml:mo></mml:mrow></mml:math></inline-formula> SC s.t. <inline-formula><mml:math id="M126" display="inline"><mml:mrow><mml:mi>s</mml:mi><mml:mo>.</mml:mo><mml:mtext>loc</mml:mtext><mml:mo>=</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mtext>cur</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>}</p></list-item>
    <list-item>
      <p id="d2e2719" specific-use="STATE"><bold>break</bold></p></list-item></list></p></list-item>
    <list-item>
      <p id="d2e2725" specific-use="ELSE"><bold>else</bold> <list>
    <list-item>
      <p id="d2e2733" specific-use="STATE"><inline-formula><mml:math id="M127" display="inline"><mml:mrow><mml:mi mathvariant="bold">M</mml:mi><mml:mo>[</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mtext>cur</mml:mtext></mml:msub><mml:mo>]</mml:mo><mml:mo>←</mml:mo><mml:mn mathvariant="normal">1.1</mml:mn><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold">M</mml:mi><mml:mo>[</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mtext>cur</mml:mtext></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula></p></list-item></list></p></list-item>
    <list-item>
      <p id="d2e2770" specific-use="ENDIF"><bold>end</bold> <bold>if</bold></p></list-item>
    <list-item>
      <p id="d2e2780" specific-use="STATE">step <inline-formula><mml:math id="M128" display="inline"><mml:mo>←</mml:mo></mml:math></inline-formula> step <inline-formula><mml:math id="M129" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula></p></list-item></list></p></list-item>
    <list-item>
      <p id="d2e2801" specific-use="ENDWHILE"><bold>end</bold> <bold>while</bold></p></list-item></list></p>
              </list-item>

    <list-item>

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

    <list-item>

      <p id="d2e2822" specific-use="RETURN"><bold>return</bold>  <inline-formula><mml:math id="M130" display="inline"><mml:mi mathvariant="script">A</mml:mi></mml:math></inline-formula></p>
              </list-item>
            </list></disp-quote></boxed-text>
</sec>
</sec>
<sec id="Ch1.S3.SS5">
  <label>3.5</label><title>Overview of parameters</title>
      <p id="d2e2844">The full tracking algorithm contains many parameters and hyperparameters, some of which can be reasonably selected from knowledge of the physical system, while others need to be tuned for a given case area. In the literature on tracking algorithms, we often find a lack of (hyper-)parameter documentation, so here we present Table <xref ref-type="table" rid="T1"/>, which provides a full and transparent overview of the parameters in this algorithm.</p>

<table-wrap id="T1" specific-use="star"><label>Table 1</label><caption><p id="d2e2852">Overview of parameters in the full ETC tracking algorithm including explanation and the values used in the final setup for the case application.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="justify" colwidth="4cm"/>
     <oasis:colspec colnum="2" colname="col2" align="justify" colwidth="3cm"/>
     <oasis:colspec colnum="3" colname="col3" align="justify" colwidth="6cm"/>
     <oasis:colspec colnum="4" colname="col4" align="justify" colwidth="2.5cm"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">Parameter</oasis:entry>
         <oasis:entry colname="col2" align="left">Algorithm Step</oasis:entry>
         <oasis:entry colname="col3" align="left">Explanation</oasis:entry>
         <oasis:entry colname="col4" align="left">Value for this case</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">Impact window size</oasis:entry>
         <oasis:entry colname="col2" align="left">Identify candidates</oasis:entry>
         <oasis:entry colname="col3" align="left">Time window around the start (<inline-formula><mml:math id="M131" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) and end (<inline-formula><mml:math id="M132" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) of peaks for that event.</oasis:entry>
         <oasis:entry colname="col4" align="left"><inline-formula><mml:math id="M133" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>24 h</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"><inline-formula><mml:math id="M134" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2" align="left">Identify candidates</oasis:entry>
         <oasis:entry colname="col3" align="left">Start date of event</oasis:entry>
         <oasis:entry colname="col4" align="left">–</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"><inline-formula><mml:math id="M135" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2" align="left">Identify candidates</oasis:entry>
         <oasis:entry colname="col3" align="left">End date of event</oasis:entry>
         <oasis:entry colname="col4" align="left">–</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">Pruning radius</oasis:entry>
         <oasis:entry colname="col2" align="left">Identify candidates</oasis:entry>
         <oasis:entry colname="col3" align="left">A minima is pruned if another minima with lower pressure is found within a given range</oasis:entry>
         <oasis:entry colname="col4" align="left">350 km</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">MSLP<sub>max</sub></oasis:entry>
         <oasis:entry colname="col2" align="left">Identify candidates</oasis:entry>
         <oasis:entry colname="col3" align="left">A minima is pruned if it has a pressure above MSLP<sub>max</sub></oasis:entry>
         <oasis:entry colname="col4" align="left"><inline-formula><mml:math id="M138" display="inline"><mml:mn mathvariant="normal">1010</mml:mn></mml:math></inline-formula> hPa</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"><inline-formula><mml:math id="M139" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ζ</mml:mi><mml:mrow><mml:mn mathvariant="normal">500</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">min</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2" align="left">Identify candidates</oasis:entry>
         <oasis:entry colname="col3" align="left">A minima is pruned if it exceeds a <inline-formula><mml:math id="M140" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ζ</mml:mi><mml:mn mathvariant="normal">500</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> vorticity threshold within the <inline-formula><mml:math id="M141" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ζ</mml:mi><mml:mrow><mml:mn mathvariant="normal">500</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">min</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> Range</oasis:entry>
         <oasis:entry colname="col4" align="left"><inline-formula><mml:math id="M142" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mtext>s</mml:mtext><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"><inline-formula><mml:math id="M143" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ζ</mml:mi><mml:mrow><mml:mn mathvariant="normal">500</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">min</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> Range</oasis:entry>
         <oasis:entry colname="col2" align="left">Identify candidates</oasis:entry>
         <oasis:entry colname="col3" align="left">Allowed range for a minima to associate vorticity.</oasis:entry>
         <oasis:entry colname="col4" align="left">500 km</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"><inline-formula><mml:math id="M144" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2" align="left">correspondence</oasis:entry>
         <oasis:entry colname="col3" align="left">Maximum allowed distance for connection between minimas in adjacent timesteps.</oasis:entry>
         <oasis:entry colname="col4" align="left">300 km</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">Pressure range</oasis:entry>
         <oasis:entry colname="col2" align="left">BLOB analysis</oasis:entry>
         <oasis:entry colname="col3" align="left">Pressure range surrounding the local minima for thresholding the MSLP slice prior to BLOB detection</oasis:entry>
         <oasis:entry colname="col4" align="left"><inline-formula><mml:math id="M145" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>5 hPa</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">Max BLOB bounding box</oasis:entry>
         <oasis:entry colname="col2" align="left">BLOB analysis</oasis:entry>
         <oasis:entry colname="col3" align="left">Maximum height or length of the bounding box surrounding the identified BLOB</oasis:entry>
         <oasis:entry colname="col4" align="left">3000 km</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">Max BLOB  candidate point distance</oasis:entry>
         <oasis:entry colname="col2" align="left">BLOB analysis</oasis:entry>
         <oasis:entry colname="col3" align="left">Maximum distance between two points found to be in the same BLOB</oasis:entry>
         <oasis:entry colname="col4" align="left">600 km</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">Minimum travel distance</oasis:entry>
         <oasis:entry colname="col2" align="left">Post-processing</oasis:entry>
         <oasis:entry colname="col3" align="left">Minimum distance an ETC must travel to not be filtered out</oasis:entry>
         <oasis:entry colname="col4" align="left">200 km</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">Minimum duration</oasis:entry>
         <oasis:entry colname="col2" align="left">Post-processing</oasis:entry>
         <oasis:entry colname="col3" align="left">Minimum duration of an ETC for it to not be filtered out</oasis:entry>
         <oasis:entry colname="col4" align="left">32 h</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">AoR Latitude Min</oasis:entry>
         <oasis:entry colname="col2" align="left">Post-processing</oasis:entry>
         <oasis:entry colname="col3" align="left">Minimum latitude of the AoR</oasis:entry>
         <oasis:entry colname="col4" align="left"><inline-formula><mml:math id="M146" display="inline"><mml:mrow><mml:mn mathvariant="normal">50</mml:mn><mml:mi mathvariant="italic">°</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">AoR Latitude Max</oasis:entry>
         <oasis:entry colname="col2" align="left">Post-processing</oasis:entry>
         <oasis:entry colname="col3" align="left">Maximum latitude of the AoR</oasis:entry>
         <oasis:entry colname="col4" align="left"><inline-formula><mml:math id="M147" display="inline"><mml:mrow><mml:mn mathvariant="normal">70</mml:mn><mml:mi mathvariant="italic">°</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">AoR Longitude Min</oasis:entry>
         <oasis:entry colname="col2" align="left">Post-processing</oasis:entry>
         <oasis:entry colname="col3" align="left">Minimum longitude of the AoR</oasis:entry>
         <oasis:entry colname="col4" align="left"><inline-formula><mml:math id="M148" display="inline"><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mi mathvariant="italic">°</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">AoR Longitude Max</oasis:entry>
         <oasis:entry colname="col2" align="left">Post-processing</oasis:entry>
         <oasis:entry colname="col3" align="left">Maximum longitude of the AoR</oasis:entry>
         <oasis:entry colname="col4" align="left"><inline-formula><mml:math id="M149" display="inline"><mml:mrow><mml:mn mathvariant="normal">30</mml:mn><mml:mi mathvariant="italic">°</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"><inline-formula><mml:math id="M150" display="inline"><mml:mi mathvariant="normal">Δ</mml:mi></mml:math></inline-formula> AoR</oasis:entry>
         <oasis:entry colname="col2" align="left">Post-processing</oasis:entry>
         <oasis:entry colname="col3" align="left">Change in size of the AoR that an ETC must enter</oasis:entry>
         <oasis:entry colname="col4" align="left"><inline-formula><mml:math id="M151" display="inline"><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mi mathvariant="italic">°</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">Minimum time in AoR</oasis:entry>
         <oasis:entry colname="col2" align="left">Post-processing</oasis:entry>
         <oasis:entry colname="col3" align="left">Minimum amount of time steps spent inside the AoR</oasis:entry>
         <oasis:entry colname="col4" align="left">12 h</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">Search Radius</oasis:entry>
         <oasis:entry colname="col2" align="left">Post-processing</oasis:entry>
         <oasis:entry colname="col3" align="left">Radius surrounding impact location to initialise Gradient Tracing from</oasis:entry>
         <oasis:entry colname="col4" align="left">250 km</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">Number of Points</oasis:entry>
         <oasis:entry colname="col2" align="left">Post-processing</oasis:entry>
         <oasis:entry colname="col3" align="left">Number of points initialised within Search Radius</oasis:entry>
         <oasis:entry colname="col4" align="left">100</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">Steps Before Timeout</oasis:entry>
         <oasis:entry colname="col2" align="left">Post-processing</oasis:entry>
         <oasis:entry colname="col3" align="left">Maximum number of steps towards minima before timeout</oasis:entry>
         <oasis:entry colname="col4" align="left">100 000</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1" align="left">Domain Resolution</oasis:entry>
         <oasis:entry colname="col2" align="left">–</oasis:entry>
         <oasis:entry colname="col3" align="left">Lateral Resolution of the dataset</oasis:entry>
         <oasis:entry colname="col4" align="left">5.5 km</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Results</title>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Correspondence problem: global optimisation vs. heuristics</title>
      <p id="d2e3461">Here we present results on the trade-off between solution quality and computational efficiency of the HA algorithm presented in Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/> over a range of complexities of correspondence problems.</p>
      <p id="d2e3466">To explore the influence of problem complexity on NN and HA performance, we vary the pruning radius <inline-formula><mml:math id="M152" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula> used in the candidate point identification step. Smaller <inline-formula><mml:math id="M153" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula>-values yield denser point clouds and larger correspondence problems. We tested six radii: 100, 175, 250, 350, 500, and 700 km, evaluating the run time and three additional metrics that explore solution differences between HA and the greedy NN solution: <list list-type="order"><list-item>
      <p id="d2e3485">Number of correspondence problem solutions that yield different connections.</p></list-item><list-item>
      <p id="d2e3489">Number of additional connections in the global HA solution relative to the greedy NN solution.</p></list-item><list-item>
      <p id="d2e3493">Mean difference in the objective value of the correspondence problem, when the two solutions differ (in %).</p></list-item></list></p>
      <p id="d2e3496">During this analysis of the performance of HA and NN for the 37 impact events, a total of 1966 correspondence problems were solved, as summarised in (Table <xref ref-type="table" rid="T2"/>). Dates of the impact events are included in Table <xref ref-type="table" rid="TA1"/> in the Appendix.</p>

<table-wrap id="T2" specific-use="star"><label>Table 2</label><caption><p id="d2e3507">Comparison of Hungarian Algorithm (HA) and Nearest Neighbour (NN) for different pruning radii. The presented run times are to solve all 1966 correspondence problems across all 37 events.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="7">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Pruning</oasis:entry>
         <oasis:entry colname="col2">Median</oasis:entry>
         <oasis:entry colname="col3">Run time</oasis:entry>
         <oasis:entry colname="col4">Run time</oasis:entry>
         <oasis:entry colname="col5"># Different</oasis:entry>
         <oasis:entry colname="col6"># Extra</oasis:entry>
         <oasis:entry colname="col7">Mean objective</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">radius [km]</oasis:entry>
         <oasis:entry colname="col2">problem size</oasis:entry>
         <oasis:entry colname="col3">for HA [s]</oasis:entry>
         <oasis:entry colname="col4">for NN [s]</oasis:entry>
         <oasis:entry colname="col5">solutions (%)</oasis:entry>
         <oasis:entry colname="col6">HA connections (%)</oasis:entry>
         <oasis:entry colname="col7">difference [%]</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">700</oasis:entry>
         <oasis:entry colname="col2">9</oasis:entry>
         <oasis:entry colname="col3">0.11</oasis:entry>
         <oasis:entry colname="col4">0.12</oasis:entry>
         <oasis:entry colname="col5">1 (0.05)</oasis:entry>
         <oasis:entry colname="col6">0 (0.0)</oasis:entry>
         <oasis:entry colname="col7">0.01</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">500</oasis:entry>
         <oasis:entry colname="col2">12</oasis:entry>
         <oasis:entry colname="col3">0.13</oasis:entry>
         <oasis:entry colname="col4">0.14</oasis:entry>
         <oasis:entry colname="col5">0 (0.0)</oasis:entry>
         <oasis:entry colname="col6">0 (0.0)</oasis:entry>
         <oasis:entry colname="col7">0.0</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">350</oasis:entry>
         <oasis:entry colname="col2">16</oasis:entry>
         <oasis:entry colname="col3">0.18</oasis:entry>
         <oasis:entry colname="col4">0.18</oasis:entry>
         <oasis:entry colname="col5">4 (0.2)</oasis:entry>
         <oasis:entry colname="col6">0 (0.0)</oasis:entry>
         <oasis:entry colname="col7">0.02</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">250</oasis:entry>
         <oasis:entry colname="col2">21</oasis:entry>
         <oasis:entry colname="col3">0.26</oasis:entry>
         <oasis:entry colname="col4">0.21</oasis:entry>
         <oasis:entry colname="col5">4 (0.2)</oasis:entry>
         <oasis:entry colname="col6">2 (0.1)</oasis:entry>
         <oasis:entry colname="col7">0.0</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">175</oasis:entry>
         <oasis:entry colname="col2">29</oasis:entry>
         <oasis:entry colname="col3">0.56</oasis:entry>
         <oasis:entry colname="col4">0.3</oasis:entry>
         <oasis:entry colname="col5">23 (1.17)</oasis:entry>
         <oasis:entry colname="col6">8 (0.41)</oasis:entry>
         <oasis:entry colname="col7">0.08</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">100</oasis:entry>
         <oasis:entry colname="col2">52</oasis:entry>
         <oasis:entry colname="col3">4.88</oasis:entry>
         <oasis:entry colname="col4">0.55</oasis:entry>
         <oasis:entry colname="col5">273 (13.89)</oasis:entry>
         <oasis:entry colname="col6">78 (3.97)</oasis:entry>
         <oasis:entry colname="col7">0.94</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e3737">As the radius decreases, the number of candidate points and assignment options increases, which leads to greater problem complexity. Below a radius of 250 km, there is a sharp increase in different matches between HA and NN as well as extra HA connections. This happens because the pruning radius is significantly lower than the <inline-formula><mml:math id="M154" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> value of 300 km, leading to multiple candidate points becoming eligible for connection. For larger radii and smaller problem sizes, the algorithms have very few legal moves, leading to similar solutions. At a 100 km radius, 13.9 % of correspondence problems yield different solutions using the NN method, and 3.97 % of the problems result in fewer valid storm track connections compared to HA.</p>
      <p id="d2e3751">Although the HA is significantly slower at small radii (e.g. 4.88 s at 100 km), it consistently achieves more connections between candidate points, which can be important for avoiding premature track termination. In applications where the domain is large and time steps are longer than the one-hour steps in CERRA (e.g. global reanalyses), similar complexity issues could potentially arise even with larger radii, making global optimisation even more relevant.</p>
      <p id="d2e3754">In our repository <xref ref-type="bibr" rid="bib1.bibx1" id="paren.39"/>, we show an animation of the HA and NN algorithms connecting points through time for an illustrative event where the two solutions differ. In this specific example, the NN solution actually ends up with two tracks that cross each other in a single time step.</p>
      <p id="d2e3760">The <inline-formula><mml:math id="M155" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> parameter is important for how the correspondence problem is solved with both HA and NN, as it controls the maximum connection distance between two candidate points in time. We have carried out a minor sensitivity analysis for <inline-formula><mml:math id="M156" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> in order to assess its impact on the tracks that are formed. This can be found in the Appendix in Fig. <xref ref-type="fig" rid="FA1"/>. As expected, we observed that small <inline-formula><mml:math id="M157" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>-values led to an increased number of tracks and generally shorter track durations, as fewer connections could be made across time steps. The sensitivity analysis showed that there was a smooth trend in the resulting number of tracks and length of individual tracks as <inline-formula><mml:math id="M158" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> was varied. There was thus no obvious cut-off value to choose. We expect this to generally be the case for other areas and reanalysis time step lengths. However, to give some practical guidance for how to tune this parameter, we recommend that a good lower estimate for it would be a physically realistic value of how far the object being tracked can potentially travel in a single time step. The user can then increase the <inline-formula><mml:math id="M159" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> value to pragmatically account for other effects, such as noise in the tracking field, terrain-driven discontinuities, etc. This is inherently a tuning problem that requires some trial and error testing.</p>
</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>Effect of track reconciliation</title>
      <p id="d2e3829">To evaluate the effect of the BLOB analysis technique for track reconciliation, we compare the full tracking system with and without the reconciliation step (see Table <xref ref-type="table" rid="T3"/>). This comparison does not assess the physical skill of reproducing the reconciled tracks as such. Instead, it quantifies how often reconciliation is applied and how it influences properties and survivability in the final track dataset after post-processing filters. The evaluation metrics are as follows: <list list-type="order"><list-item>
      <p id="d2e3836">The number of impact events in which at least one storm track survived post-processing out of the 37 total events.</p></list-item><list-item>
      <p id="d2e3840">The number of events with at least one surviving track that have used reconciliation out of the total number of events with at least one surviving track.</p></list-item><list-item>
      <p id="d2e3844">The number of tracks where reconciliation was used out of all surviving tracks in all events.</p></list-item><list-item>
      <p id="d2e3848">The number of reconciliations across all the surviving tracks versus the number of surviving tracks where reconciliation was used.</p></list-item><list-item>
      <p id="d2e3852">The average increase in track duration for tracks where reconciliation was used.</p></list-item><list-item>
      <p id="d2e3856">The average increase in track length for tracks where reconciliation was used.</p></list-item></list></p>
      <p id="d2e3859">Using the pruning radius of 350 km as an example, we notice that out of 37 total events, we have 37 events where at least one track survived the post-processing when utilising gradient tracing (see Table <xref ref-type="table" rid="T3"/>). The BLOB utilisation played a critical role in 19 events, affecting 19 surviving tracks. Across those 19 post-processed tracks, 28 reconciliations have occurred, meaning multiple surviving tracks have undergone more than one reconciliation. In summary, the use of BLOB analysis has ensured that a significantly higher number of tracks have survived post-processing. All 19 events in which BLOB analysis has been utilised have been manually investigated on an individual basis, and it has been found that the vast majority of the tracks in these events would otherwise not have represented reality satisfactorily.</p>

<table-wrap id="T3" specific-use="star"><label>Table 3</label><caption><p id="d2e3867">Summary of track reconciliation performance across different pruning radii, utilising gradient tracing post-processing. Metrics include the number of events with detected tracks, events and tracks where reconciliation is active, total number of reconciliations, and improvements in track duration and distance.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="7">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Metric<inline-formula><mml:math id="M160" display="inline"><mml:mo>\</mml:mo></mml:math></inline-formula>pruning radius [km]</oasis:entry>
         <oasis:entry colname="col2">700</oasis:entry>
         <oasis:entry colname="col3">500</oasis:entry>
         <oasis:entry colname="col4">350</oasis:entry>
         <oasis:entry colname="col5">250</oasis:entry>
         <oasis:entry colname="col6">175</oasis:entry>
         <oasis:entry colname="col7">100</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">1. Events with a track</oasis:entry>
         <oasis:entry colname="col2">36/37</oasis:entry>
         <oasis:entry colname="col3">37/37</oasis:entry>
         <oasis:entry colname="col4">37/37</oasis:entry>
         <oasis:entry colname="col5">37/37</oasis:entry>
         <oasis:entry colname="col6">37/37</oasis:entry>
         <oasis:entry colname="col7">37/37</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2. Events where reconciliation is active</oasis:entry>
         <oasis:entry colname="col2">8/36</oasis:entry>
         <oasis:entry colname="col3">11/37</oasis:entry>
         <oasis:entry colname="col4">19/37</oasis:entry>
         <oasis:entry colname="col5">20/37</oasis:entry>
         <oasis:entry colname="col6">25/37</oasis:entry>
         <oasis:entry colname="col7">32/37</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">3. Tracks where reconciliation is active</oasis:entry>
         <oasis:entry colname="col2">8/51</oasis:entry>
         <oasis:entry colname="col3">11/52</oasis:entry>
         <oasis:entry colname="col4">19/54</oasis:entry>
         <oasis:entry colname="col5">23/55</oasis:entry>
         <oasis:entry colname="col6">34/57</oasis:entry>
         <oasis:entry colname="col7">39/59</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">4. Total number of reconciliations</oasis:entry>
         <oasis:entry colname="col2">9/8</oasis:entry>
         <oasis:entry colname="col3">13/11</oasis:entry>
         <oasis:entry colname="col4">28/19</oasis:entry>
         <oasis:entry colname="col5">46/23</oasis:entry>
         <oasis:entry colname="col6">61/34</oasis:entry>
         <oasis:entry colname="col7">85/39</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">5. Average increase in track duration (%)</oasis:entry>
         <oasis:entry colname="col2">32</oasis:entry>
         <oasis:entry colname="col3">57</oasis:entry>
         <oasis:entry colname="col4">70</oasis:entry>
         <oasis:entry colname="col5">99</oasis:entry>
         <oasis:entry colname="col6">81</oasis:entry>
         <oasis:entry colname="col7">105</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">6. Average increase in track length (%)</oasis:entry>
         <oasis:entry colname="col2">36</oasis:entry>
         <oasis:entry colname="col3">52</oasis:entry>
         <oasis:entry colname="col4">62</oasis:entry>
         <oasis:entry colname="col5">75</oasis:entry>
         <oasis:entry colname="col6">66</oasis:entry>
         <oasis:entry colname="col7">81</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e4080">Figure <xref ref-type="fig" rid="F9"/> shows the geographical locations where BLOB reconstructions have occurred, as well as the distribution of the distances between candidate points connected by BLOB reconstructions. How active the BLOB step is depends heavily on the user-specified value of the pruning radius parameter. We therefore present BLOB reconstructions for the three different pruning radius values of <inline-formula><mml:math id="M161" display="inline"><mml:mn mathvariant="normal">700</mml:mn></mml:math></inline-formula> km (a, b), <inline-formula><mml:math id="M162" display="inline"><mml:mn mathvariant="normal">350</mml:mn></mml:math></inline-formula> km (c, d), and <inline-formula><mml:math id="M163" display="inline"><mml:mn mathvariant="normal">100</mml:mn></mml:math></inline-formula> km (e, f). In all cases, <italic>Max BLOB candidate point distance</italic> is set to a large value of 2500 km to analyse how connections are formed. The results generally show that smaller pruning radii lead to more blob connections because they leave many candidate points at each time step. The histograms of all three experiments show that there are a few reconstruction distances in the range of 1000–1600 km, which intuitively seems high. The vast majority of distances lie between the applied pruning radius (vertical, dashed line) and around 800 km, which is more reasonable given its intent to fix jumps across mountainous terrain. For the Nordic countries, we recommend using values of 600–800 km for this parameter, but users will need to re-evaluate this for other areas where these jumps may be smaller or larger.</p>

      <fig id="F9" specific-use="star"><label>Figure 9</label><caption><p id="d2e4111">Overview of the BLOB track reconciliation connections for three pruning radius values of 700 km <bold>(a, b)</bold>, 350 km <bold>(c, d)</bold>, and 100 km <bold>(e, f)</bold>. The left column of plots shows the geographic location of the reconstructed connections <bold>(a, c, e)</bold>, where similar numbers at the point indicate the start and end of a connection. The right column shows a histogram of the distances of these connections <bold>(b, d, f)</bold> with a dashed vertical line that represents the pruning radius value.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026-f09.png"/>

        </fig>

      <p id="d2e4135">Figure <xref ref-type="fig" rid="F9"/> also shows cases where reconstructed connections happen over very short distances. This shows up as reconstruction distances below the pruning radius value in the histograms (see Fig. <xref ref-type="fig" rid="F9"/>b, d, f). These are formed during time steps <inline-formula><mml:math id="M164" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> when multiple candidate points have the exact same MSLP value within each other's pruning radius. As explained earlier, we keep both points as candidates in such cases, but when the HA and NN algorithms then have to connect candidate points through time, there is a chance that the track ends prematurely, if the connection 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:mi>t</mml:mi></mml:math></inline-formula> is to one of the points but the continuation onwards from <inline-formula><mml:math id="M167" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> to <inline-formula><mml:math id="M168" 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> continues from the other point. The BLOB reconstruction handles this issue and connects the two broken track fragments.</p>
</sec>
<sec id="Ch1.S4.SS3">
  <label>4.3</label><title>Sensitivity and optimisation of post-processing parameters</title>
      <p id="d2e4196">Figure <xref ref-type="fig" rid="F10"/> shows the results of the parameter sensitivity analysis with both metrics. Each subplot in the figure shows the sensitivity of ETC detection to one of the four post-processing parameters. Given the discretisation of the chosen grid search for each parameter, there are a total of 325 376 possible combinations of the four parameters. The plots show the median, the 5th and 95th percentiles of the score values across all combinations. The results show that ETC detection is most sensitive to the size of the AoR (Fig. <xref ref-type="fig" rid="F10"/>a), time in AoR (Fig. <xref ref-type="fig" rid="F10"/>b), and the minimum travel distance (Fig. <xref ref-type="fig" rid="F10"/>c). Notably, there is the special case where minimum time in AoR equals 0, meaning that an ETC does not need to enter the AoR for detection, which leads to a large drop in performance (Fig. <xref ref-type="fig" rid="F10"/>b). The large distance between the 5th and 95th percentiles, as indicated by the shaded areas, shows that the same parameter value can lead to very different post-processing performance depending on the values of the other post-processing parameters. Thus, there is a strong dependence between parameters; e.g., the size of the AoR and the minimum time in the AoR are closely related.</p>

      <fig id="F10" specific-use="star"><label>Figure 10</label><caption><p id="d2e4211">Sensitivity of the ImpactETC1.0 algorithm's performance to key post-processing parameters. Each panel shows the impact of varying a specific parameter on two metrics: the <inline-formula><mml:math id="M169" display="inline"><mml:mi>S</mml:mi></mml:math></inline-formula> score (black) and SCA relative to historical impact records (blue). <bold>(a)</bold> Sensitivity to <inline-formula><mml:math id="M170" display="inline"><mml:mi mathvariant="normal">Δ</mml:mi></mml:math></inline-formula> AoR in degrees, <bold>(b)</bold> number of time steps required within the AoR, <bold>(c)</bold> minimum travel distance of detected ETC tracks in km, and <bold>(d)</bold> minimum ETC duration in hours. These experiments highlight trade-offs in tuning filtering parameters.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026-f10.png"/>

        </fig>

      <p id="d2e4247">Figure <xref ref-type="fig" rid="F11"/> shows the marginal and joint distributions of the Storm Count Accuracy and Single Storm Score after the values of both scores have been min-max normalised to fit the same 0–1 range. The marginal distributions follow each other closely with small deviations in some ranges. The joint distribution confirms that the Single Storm Score yields normalised values similar to the Storm Count Accuracy. This, combined with the general agreement of the scores in Fig. <xref ref-type="fig" rid="F10"/>, shows that the Single Storm Score is good at approximating the Storm Count Accuracy and thus suitable for impact-focused calibration when manual labelling is not possible.</p>

      <fig id="F11" specific-use="star"><label>Figure 11</label><caption><p id="d2e4257">Comparison of marginal (left) and joint (right) distributions of the Storm Count Accuracy and the Single Storm Score after both scores have been min-max normalised to fit 0–1 ranges. The joint distribution is shown as corresponding Storm Count Accuracy values for discretised bins of Single Storm Score values. The red dashed line indicates the ideal <inline-formula><mml:math id="M171" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>:</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> relationship. Colour shading in box plots indicates the number of observations per bin.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026-f11.png"/>

        </fig>

      <p id="d2e4278">For the presented case of ETCs that produce storm-surge events, we select the parameter set that yields the best Single Storm Score. Given the grid search discretisation, there are 325 376 possible combinations of the four post-processing parameters. In the case presented, 20 unique parameter sets yielded the same score. We selected the parameter set that was closest to the median of each parameter (see values in Table <xref ref-type="table" rid="T4"/>), thus avoiding extremes or accidentally fortunate local minima. We note that this method for selecting parameter combinations is only suitable if the possible combinations are centred in nature. If they had, e.g. been clustered in two different areas of the parameter space, the user would have to devise another way to select the final set. It is worth noting that even though all 325 376 parameter combinations were simulated in a brute-force manner, this still only took <inline-formula><mml:math id="M172" display="inline"><mml:mo>∼</mml:mo></mml:math></inline-formula> 3 min to complete on a standard laptop. This highlights that calibrating post-processing parameters is a simple, fast step that should be performed.</p>

<table-wrap id="T4"><label>Table 4</label><caption><p id="d2e4293">Optimal post-processing parameter values identified for the storm surge case in this study.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Minimum travel</oasis:entry>
         <oasis:entry colname="col2">Minimum</oasis:entry>
         <oasis:entry colname="col3">Minimum time</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M173" display="inline"><mml:mi mathvariant="normal">Δ</mml:mi></mml:math></inline-formula> AoR</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">distance (km)</oasis:entry>
         <oasis:entry colname="col2">duration (h)</oasis:entry>
         <oasis:entry colname="col3">in AoR (h)</oasis:entry>
         <oasis:entry colname="col4">(degrees)</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">1000</oasis:entry>
         <oasis:entry colname="col2">26</oasis:entry>
         <oasis:entry colname="col3">16</oasis:entry>
         <oasis:entry colname="col4">4</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Discussion</title>
<sec id="Ch1.S5.SS1">
  <label>5.1</label><title>Strengths and limitations of the tracking algorithm</title>
      <p id="d2e4384">To assess the quality of the identified ETC tracks, we present a set of representative storm surge cases here. Figure <xref ref-type="fig" rid="F12"/> shows six examples of well-defined ETC tracks that exhibit consistent spatial progression, relatively smooth trajectories, and alignment with the underlying MSLP field. These cases demonstrate the algorithm's ability to capture the temporal and spatial evolution of ETCs, even as they traverse complex regions with steep topography and land-ocean boundaries.</p>

      <fig id="F12" specific-use="star"><label>Figure 12</label><caption><p id="d2e4391">Six examples of well-defined, successfully identified ETC tracks by gradient tracing post-processing. Blue dots mark the time evolution along each track, and stars indicate the initial position of each track. The background shows the MSLP field at the median time step of each track, providing synoptic context for storm positioning and structure. For each example, the insert maps show locations of the water-level gauges where storm surges were found.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026-f12.png"/>

        </fig>

      <p id="d2e4400">In contrast, Fig. <xref ref-type="fig" rid="F13"/> highlights six events that illustrate the challenges of the algorithm. In these subplots, tracks that are coloured red were deemed impact-irrelevant despite manual inspection of the events suggesting that this was the wrong decision. Other colours than red show tracks that were deemed impact-relevant and has an uncertainty estimate associated with it in the legend of each subplot. For the storm surge case of this paper, we chose 300 km as the value of <inline-formula><mml:math id="M174" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> but several of the events in Fig. <xref ref-type="fig" rid="F13"/> ends up with fragmented tracks because this value is too low. This is true for the two red track fragments in the 29 January 2001 event and the two red fragments in the 18 November 2004 event. The 8 January 2005 consists of two small red track fragments and two larger ones coloured in blue and orange, however, manual inspection revealed that these all belong the same ETC. It was again a too small <inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> value that caused the break between the second red fragment and the blue fragment, and again between the blue and orange fragments. If a user of the framework is particularly interested in a single-event analyses of these events, it would be straightforward to experiment with new <inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> values until the desired track is obtained. However, for batch processing of many events at once where manual single-event inspection is deemed unfeasible, it is a limitation of the framework that the user has to specify a single <inline-formula><mml:math id="M177" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> value for all cases. Based on performing many experiments with the algorithm ourselves, we find that no single parameter set performs perfectly at all events.</p>

      <fig id="F13" specific-use="star"><label>Figure 13</label><caption><p id="d2e4455">Six examples of ETC tracks that show the limitations of the algorithm, e.g. track splitting, short-lived centres, non-smooth movements, or secondary impact-irrelevant tracks that survive post-processing. Blue tracks are successfully identified ETCs, orange and green denote secondary impact-irrelevant tracks that survive post-processing, while red shows tracks that are impact-relevant but were filtered out. The gradient tracing approach has been used to quantify, in percentages, the storm tracks relation to impact locations for each ETC event (lower-left insert maps, coloured by storm). In our repository <xref ref-type="bibr" rid="bib1.bibx1" id="paren.40"/>, we provided the animations of these six events.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026-f13.png"/>

        </fig>

      <p id="d2e4467">During the 12 January 2007 event, three separate ETC were present at the time of impact (coloured red, orange, and blue). While the red and orange tracks may look two fragments of a single track because the red ends close to where the orange starts, they were in fact two separate systems. At the time of impact, the red track was located west of the impact location, the orange track to the east, and the blue track far north between Iceland and Norway. Manual evaluation of the event suggests that the impact is caused by the combined effect of the red and orange tracks that together produce strong MSLP gradients (and related westerly winds) in the North Sea. The MSLP field in the still image of the figure shows that the impact location sits on a ridge in the field. 86 % of the initialised gradient tracing attempts traces the impact northwards on the eastern side of the Scandinavian mountains all the up to the blue ETC track, and not westwards towards the red track, which there is left undiscovered as an impact-relevant ETC. This example shows that the gradient tracing method in some special cases can be vulnerable to small-scale variations in the MSLP field, even when it initialises many tries in a 250 km radius around the impact location.</p>
      <p id="d2e4470">In the 26 December 2016 event shows a unique failure of the framework. Here, manual inspection of the event revealed that the two red fragments and the green fragment belonged to the same ETC, which originated in the North Atlantic and crossed the Scandinavian mountains in a northwest-southeast movement, terminating in Eastern Europe. However, the framework was not able to connect these fragments because there are several time steps where no ETC centre candidate points could be found as the ETC crossed the Scandinavian mountains. This happened because the MSLP field became very vauge without a well-defined minima. Between the second red and the green fragments there was a gap of four time steps without a minima, which incidentally was right at the time of impact of several of the impacted locations shown in the inset at the lower left corner of the 26 December 2016 event. Because the combined red-green fragmented track did not exist in the four time step gap, the gradient tracing algorithm traced the impacts to the orange and blue ETCs that were located further away.</p>
</sec>
<sec id="Ch1.S5.SS2">
  <label>5.2</label><title>The value of global optimisation to solve the correspondence problem</title>
      <p id="d2e4481">A central question when choosing between a heuristic and a mathematically exact solution to the correspondence problem is whether the additional computational cost of global optimisation meaningfully affects overall algorithm performance. Table <xref ref-type="table" rid="T5"/> shows the total computational run times for serial execution of ImpactETC1.0 on all 37 events. The runtime is divided into the main steps of the framework and tested across several pruning radii (i.e., <inline-formula><mml:math id="M178" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula>-values), which lead to different problem complexities to solve. This analysis shows that solving the correspondence problem with the HA accounts for only a small fraction of the total computational time, especially compared to more time-consuming components such as data loading and candidate point identification. Even at the highest level of correspondence complexity (100 km pruning radius), solving the correspondence problem remains a minor contributor to total run time compared to candidate point processing and BLOB analysis. The analysis in Table <xref ref-type="table" rid="T2"/> shows that the differences between HA and NN drastically increase with the complexity of the problem (small pruning radii), and that HA enables additional connections. While we here investigate tracking of ETCs, which exist at large spatial scales, it is likely that HA would be even more suitable for tracking smaller atmospheric objectives and for tracking in noisier fields. This is something future research could target.</p>

<table-wrap id="T5" specific-use="star"><label>Table 5</label><caption><p id="d2e4498">Breakdown of algorithm run time (s) across individual framework components for different candidate point pruning radii, <inline-formula><mml:math id="M179" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula>. Columns show total run time vs times spent on data loading, candidate identification, solving the correspondence problem, BLOB construction, and post-processing utilising gradient tracing. Values are averages over all events, highlighting how pruning radius affects computational demands and the relative contributions of each algorithm component. </p></caption><oasis:table frame="topbot"><oasis:tgroup cols="7">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Pruning</oasis:entry>
         <oasis:entry colname="col2">Total run</oasis:entry>
         <oasis:entry colname="col3">Data</oasis:entry>
         <oasis:entry colname="col4">Identify</oasis:entry>
         <oasis:entry colname="col5">Solve</oasis:entry>
         <oasis:entry colname="col6">BLOB</oasis:entry>
         <oasis:entry colname="col7">Post-processing</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">radius [km]</oasis:entry>
         <oasis:entry colname="col2">time [s]</oasis:entry>
         <oasis:entry colname="col3">load [s]</oasis:entry>
         <oasis:entry colname="col4">candidates [s]</oasis:entry>
         <oasis:entry colname="col5">correspondence [s]</oasis:entry>
         <oasis:entry colname="col6">construction [s]</oasis:entry>
         <oasis:entry colname="col7">[s]</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">700</oasis:entry>
         <oasis:entry colname="col2">803</oasis:entry>
         <oasis:entry colname="col3">640</oasis:entry>
         <oasis:entry colname="col4">25</oasis:entry>
         <oasis:entry colname="col5">0.11</oasis:entry>
         <oasis:entry colname="col6">83</oasis:entry>
         <oasis:entry colname="col7">54</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">500</oasis:entry>
         <oasis:entry colname="col2">855</oasis:entry>
         <oasis:entry colname="col3">647</oasis:entry>
         <oasis:entry colname="col4">35</oasis:entry>
         <oasis:entry colname="col5">0.14</oasis:entry>
         <oasis:entry colname="col6">118</oasis:entry>
         <oasis:entry colname="col7">55</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">350</oasis:entry>
         <oasis:entry colname="col2">909</oasis:entry>
         <oasis:entry colname="col3">652</oasis:entry>
         <oasis:entry colname="col4">48</oasis:entry>
         <oasis:entry colname="col5">0.18</oasis:entry>
         <oasis:entry colname="col6">152</oasis:entry>
         <oasis:entry colname="col7">57</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">250</oasis:entry>
         <oasis:entry colname="col2">968</oasis:entry>
         <oasis:entry colname="col3">641</oasis:entry>
         <oasis:entry colname="col4">72</oasis:entry>
         <oasis:entry colname="col5">0.26</oasis:entry>
         <oasis:entry colname="col6">197</oasis:entry>
         <oasis:entry colname="col7">58</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">175</oasis:entry>
         <oasis:entry colname="col2">1104</oasis:entry>
         <oasis:entry colname="col3">642</oasis:entry>
         <oasis:entry colname="col4">119</oasis:entry>
         <oasis:entry colname="col5">0.56</oasis:entry>
         <oasis:entry colname="col6">287</oasis:entry>
         <oasis:entry colname="col7">56</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">100</oasis:entry>
         <oasis:entry colname="col2">1627</oasis:entry>
         <oasis:entry colname="col3">673</oasis:entry>
         <oasis:entry colname="col4">337</oasis:entry>
         <oasis:entry colname="col5">5.64</oasis:entry>
         <oasis:entry colname="col6">556</oasis:entry>
         <oasis:entry colname="col7">56</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>


</sec>
<sec id="Ch1.S5.SS3">
  <label>5.3</label><title>Future improvements and considerations for broader application</title>
      <p id="d2e4745">While the ImpactETC1.0 framework demonstrates robust performance in identifying impact-relevant ETC tracks, there are several avenues to further improve its performance and computational efficiency. <list list-type="bullet"><list-item>
      <p id="d2e4750"><italic>Computational efficiency</italic>. Data loading consistently dominates runtime across all pruning radii, and while optimised data handling could reduce this component, it will likely remain a significant fraction of total runtime. The candidate identification step is already quite scalable, but it might be possible to avoid excessive block comparisons with further developments. For track reconciliation, there are likely gains to be made, e.g. by adding a distance-based pre-check before BLOB initialisation, which would reduce unnecessary BLOB constructions. The current implementation of the framework is serial but future developments could exploit parallelisation on modern computing infrastructure. Since the framework is event-focused by design, it would be straightforward and efficient to analyse independent impact events in parallel. Specific algorithmic steps could further benefit from parallelisation, especially the candidate point identification and the BLOB construction, since they treat individual time steps independently. The track reconciliation based on the constructed BLOBs would still have to remain serial to avoid conflicts during merging of track fragments. The grid search employed for the impact-oriented calibration of post-processing parameters is embarrassingly parallel. The “nearest storm selection” and “gradient tracing” post-processing options treat each impact location independently and could similarly be parallelised.</p></list-item><list-item>
      <p id="d2e4756"><italic>Improved tracking</italic>. In terms of the quality of the final tracks, more research could be done on how to refine the track reconciliation step, for example, as seen in Fig. <xref ref-type="fig" rid="F13"/> for the 6 December 2016 event, where the BLOB analysis makes the wrong connection because there is a single time step where no candidate point is found on the correct track. It might be worth exploring how to incorporate multiple adjacent time steps into the BLOB analysis, rather than limiting reconciliation checks to simultaneous candidate points. Or alternatively to allow for temporal gaps during the HA/NN solutions to the correspondence problem <xref ref-type="bibr" rid="bib1.bibx35 bib1.bibx27" id="paren.41"/>. It could also be worth testing the implementation of user-defined masks of high-uncertainty areas, such as mountain ranges, where the BLOB analysis is given more freedom in space and time to make the right connections. This extension would enable a more realistic identification of track jumps across complex terrains or during rapid ETC evolution. There may also be improvements by using ETC tracking information at higher pressure levels, such as 700 hPa, to improve the continuity of surface-level tracks during reconciliation. While the BLOB-based reconciliation step is crucial for avoiding premature track termination, it sometimes causes irregular jumps between points on the track. It would be interesting to explore ways to smooth tracks around reconciliation jumps. This could potentially also be guided by information at higher pressure levels.</p></list-item><list-item>
      <p id="d2e4767"><italic>Post-processing</italic>. The presented framework introduced three post-processing methods intended to filter out impact-irrelevant ETC tracks. Future research could further investigate the differences between these methods, e.g., comparing under which conditions the gradient tracing and nearest storm selection fail. There is also scope for more research on improving the robustness of the gradient tracing method against small-scale effects in the MSLP field. Future research could further investigate the version of the gradient tracing method with many initialisations to identify compound events where multiple ETCs interact to produce the impact. In this study, we investigate storm surge impacts driven by surface winds, which is a phenomena that is closely related to the local MSLP gradients. Other types of impacts, such as extreme precipitation events where, e.g., atmospheric rivers can cause impacts to extend far away from the ETC centre, further research will have to develop additional methods to attribute an impact to a specific nearby ETC.</p></list-item><list-item>
      <p id="d2e4773"><italic>Additional features</italic>. To deepen the physical interpretation of ETC evolution, associating additional properties – such as MSLP at ETC centre, vorticity, wind speed, or gusts – along identified tracks would allow classification of different stages of the storm life cycle, including genesis, intensification, mature phase, and occlusion. Even though these additional features could help limit the unintended removal of short-lived yet impactful systems that drive significant extremes, investigating such variables would likely increase the algorithm's computational demand.  Future iterations could also incorporate local wind direction criteria. In complex coastal regions like the Danish straits, specific wind directions are primary drivers of surges; however, defining these thresholds requires significant a priori local oceanographic knowledge.</p></list-item><list-item>
      <p id="d2e4779"><italic>Limitations of 1-D tracking and Lagrangian analysis</italic>. The main feature of the framework presented here is that it is impact-oriented, thus distinguishing between impact-relevant and irrelevant ETCs. This distinction depends on the type of impact studied, defined by the timing and location of the maximum impact, and it is the main purpose of the post-processing steps. We present three post-processing methods, all based on the assumption that the ETC responsible for the impact is close to the impact location and at the time of maximum impact. This assumption is softened in the Gradient Tracing method, as a stronger ETC farther away may be chosen instead. However, this still implicitly assumes that the impact is caused by phenomena close to the core of the ETC. Certain types of impacts, such as pluvial flooding from precipitation, may occur far from the core. For those types of impacts, the ETCs identified with our framework will most likely be the impact-relevant ETC, but without explicitly associating the tracks with the atmospheric phenomenon (i.e., precipitation) causing the impact type (i.e., pluvial flooding), it cannot be determined for certain. This requires a deeper analysis of drivers of the hazards for each individual event and is beyond the scope of the present study. This lack of information about the spatio-temporal evolution of the atmosphere is a limitation not only for the framework presented here but also, in general, for point-wise Lagrangian analysis and 1-D tracks. This could be incorporated in a future version of the algorithm.</p></list-item><list-item>
      <p id="d2e4785"><italic>Broader applications</italic>. We believe that ImpactETC1.0 is broadly applicable to other case areas. Users applying the framework to other reanalysis datasets or to different geographic regions should consider recalibrating key parameters, especially candidate detection thresholds, correspondence distance limits, and AoR size, to account for differences in data resolution, domain size, and regional storm climatology. The framework currently only works for data on structured grids but future work could explore how to adapt it to data on unstructured meshes, where especially the candidate identification and BLOB reconciliation steps would need improvements.</p></list-item></list></p>
</sec>
</sec>
<sec id="Ch1.S6" sec-type="conclusions">
  <label>6</label><title>Conclusion</title>
      <p id="d2e4799">In this study, the ImpactETC1.0 storm tracking framework is introduced, bridging the gap between large-scale dynamics and localised hazards by linking extratropical cyclone (ETC) tracks directly to surface impacts. Novelties of the paper include the use of global optimisation via the Hungarian Algorithm, BLOB-based track reconciliation (efficient, e.g., over complex terrain), several post-processing methods, and an automated validation metric that helps the user identify the storm(s) that caused the impact.</p>
      <p id="d2e4802">The framework is exemplified using the 5.5 km hourly CERRA reanalysis data for the 1991–2020 period, and the impact-based selection was validated against historical storm surges that exceeded 5-year return levels (here, 37 events), using a <inline-formula><mml:math id="M180" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>24 h search window around peak sea levels. On this basis, the algorithm isolates the primary storm track(s) relevant to the storm surge while effectively filtering out irrelevant ones.</p>
      <p id="d2e4812">To solve the correspondence problem, the framework uses the Hungarian Algorithm (HA) for global optimisation, and validated this approach against the commonly used nearest-neighbour approach. The HA approach provided more connections, especially under conditions with many candidate points, and, despite its increased computational complexity, remains highly efficient, accounting for less than 1 % of the total system runtime.</p>
      <p id="d2e4815">To address storm-track fragmentation over complex terrain, a BLOB-based reconciliation identifies contiguous low-pressure regions to reconnect broken tracks. At the chosen pruning radius of 350 km, the BLOB reconciliation increased the average track duration by 70 % and the total length by 62 %, preventing, e.g., premature termination over the Scandinavian mountains.</p>
      <p id="d2e4819">Two post-processing options – nearest storm selection, and gradient-tracing – were introduced and evaluated alongside automatic calibration with the “Single Storm Score,” which can be used to avoid manual tuning or ad-hoc parameter selection. While data loading currently accounts for a substantial share of processing time, the framework’s modular design enables future parallelisation and operational scaling.</p>
      <p id="d2e4822">For future application, ImpactETC1.0 offers a scalable tool beyond storm surges alone for assessing additional applications such as wind damages, providing a robust, automated methodology for historical hazard analysis and future climate adaptation planning. All together, these methodological advances enable skilful reconstruction of the ETC tracks, even in regions with complex topography and during rapid storm development, while maintaining relatively low computational demands.</p>
</sec>

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

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

<table-wrap id="TA1"><label>Table A1</label><caption><p id="d2e4838">Start and end dates of events, if only one station was hit then start date equals end date, if not then multiple stations were hit sequentially and start date represents the peak of the earliest station hit, and end date represents the peak of the last station hit in that event. Timestamp highlights peaks of event.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="2">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">start_date</oasis:entry>
         <oasis:entry colname="col2">end_date</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">(yyyy/mm/dd) (hh:mm:ss)</oasis:entry>
         <oasis:entry colname="col2">(yyyy/mm/dd) (hh:mm:ss)</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">1991/01/09 07:00:00</oasis:entry>
         <oasis:entry colname="col2">1991/01/09 12:15:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">1991/12/20 11:00:00</oasis:entry>
         <oasis:entry colname="col2">1991/12/20 19:00:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">1992/01/17 09:00:00</oasis:entry>
         <oasis:entry colname="col2">1992/01/17 09:00:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">1993/01/12 23:15:00</oasis:entry>
         <oasis:entry colname="col2">1993/01/12 23:15:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">1993/02/21 16:00:00</oasis:entry>
         <oasis:entry colname="col2">1993/02/21 22:45:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">1993/12/19 23:30:00</oasis:entry>
         <oasis:entry colname="col2">1993/12/20 00:00:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">1996/11/06 07:30:00</oasis:entry>
         <oasis:entry colname="col2">1996/11/06 07:30:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">1997/10/11 18:45:00</oasis:entry>
         <oasis:entry colname="col2">1997/10/11 18:45:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">1998/10/25 22:00:00</oasis:entry>
         <oasis:entry colname="col2">1998/10/25 22:00:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">1999/12/03 15:45:00</oasis:entry>
         <oasis:entry colname="col2">1999/12/03 18:30:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2000/01/29 19:45:00</oasis:entry>
         <oasis:entry colname="col2">2000/01/30 04:00:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2000/10/30 17:00:00</oasis:entry>
         <oasis:entry colname="col2">2000/10/30 23:00:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2002/01/28 22:00:00</oasis:entry>
         <oasis:entry colname="col2">2002/01/28 23:10:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2002/02/21 00:10:00</oasis:entry>
         <oasis:entry colname="col2">2002/02/21 10:50:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2002/02/26 18:50:00</oasis:entry>
         <oasis:entry colname="col2">2002/02/26 19:40:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2003/12/06 15:16:00</oasis:entry>
         <oasis:entry colname="col2">2003/12/06 21:30:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2004/11/18 16:10:00</oasis:entry>
         <oasis:entry colname="col2">2004/11/18 16:10:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2005/01/08 14:40:00</oasis:entry>
         <oasis:entry colname="col2">2005/01/09 01:40:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2006/11/01 16:40:00</oasis:entry>
         <oasis:entry colname="col2">2006/11/02 09:50:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2007/01/12 08:00:00</oasis:entry>
         <oasis:entry colname="col2">2007/01/12 08:00:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2007/01/19 06:40:00</oasis:entry>
         <oasis:entry colname="col2">2007/01/19 06:40:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2007/01/25 02:00:00</oasis:entry>
         <oasis:entry colname="col2">2007/01/25 02:00:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2008/03/01 20:00:00</oasis:entry>
         <oasis:entry colname="col2">2008/03/02 03:30:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2011/02/11 22:10:00</oasis:entry>
         <oasis:entry colname="col2">2011/02/11 22:10:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2011/11/27 18:20:00</oasis:entry>
         <oasis:entry colname="col2">2011/11/27 20:50:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2011/12/09 18:40:00</oasis:entry>
         <oasis:entry colname="col2">2011/12/10 04:40:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2012/01/14 06:10:00</oasis:entry>
         <oasis:entry colname="col2">2012/01/14 08:20:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2013/10/28 15:30:00</oasis:entry>
         <oasis:entry colname="col2">2013/10/28 16:00:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2013/12/02 03:20:00</oasis:entry>
         <oasis:entry colname="col2">2013/12/02 03:20:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2013/12/05 15:00:00</oasis:entry>
         <oasis:entry colname="col2">2013/12/06 23:50:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2015/01/10 11:40:00</oasis:entry>
         <oasis:entry colname="col2">2015/01/11 10:20:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2015/11/29 18:50:00</oasis:entry>
         <oasis:entry colname="col2">2015/11/29 18:50:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2016/12/26 19:10:00</oasis:entry>
         <oasis:entry colname="col2">2016/12/27 04:40:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2017/01/04 16:50:00</oasis:entry>
         <oasis:entry colname="col2">2017/01/05 01:00:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2017/10/29 20:00:00</oasis:entry>
         <oasis:entry colname="col2">2017/10/29 23:50:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2019/01/02 04:30:00</oasis:entry>
         <oasis:entry colname="col2">2019/01/02 17:40:00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2019/01/09 02:10:00</oasis:entry>
         <oasis:entry colname="col2">2019/01/09 07:10:00</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="TA2"><label>Table A2</label><caption><p id="d2e5218">Summary of track reconciliation performance across different pruning radii, utilizing Single Storm Score post processing. Metrics include the number of events with detected tracks, events and tracks where reconciliation is active, total number of reconciliations, and improvements in track duration and distance.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="7">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Metric<inline-formula><mml:math id="M181" display="inline"><mml:mo>\</mml:mo></mml:math></inline-formula>pruning radius [km]</oasis:entry>
         <oasis:entry colname="col2">700</oasis:entry>
         <oasis:entry colname="col3">500</oasis:entry>
         <oasis:entry colname="col4">350</oasis:entry>
         <oasis:entry colname="col5">250</oasis:entry>
         <oasis:entry colname="col6">175</oasis:entry>
         <oasis:entry colname="col7">100</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">1. Events with a track</oasis:entry>
         <oasis:entry colname="col2">35/37</oasis:entry>
         <oasis:entry colname="col3">36/37</oasis:entry>
         <oasis:entry colname="col4">34/37</oasis:entry>
         <oasis:entry colname="col5">37/37</oasis:entry>
         <oasis:entry colname="col6">35/37</oasis:entry>
         <oasis:entry colname="col7">35/37</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2. Events where reconciliation is active</oasis:entry>
         <oasis:entry colname="col2">10/35</oasis:entry>
         <oasis:entry colname="col3">12/36</oasis:entry>
         <oasis:entry colname="col4">17/34</oasis:entry>
         <oasis:entry colname="col5">23/37</oasis:entry>
         <oasis:entry colname="col6">21/35</oasis:entry>
         <oasis:entry colname="col7">29/35</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">3. Tracks where reconciliation is active</oasis:entry>
         <oasis:entry colname="col2">10/37</oasis:entry>
         <oasis:entry colname="col3">12/42</oasis:entry>
         <oasis:entry colname="col4">18/38</oasis:entry>
         <oasis:entry colname="col5">26/47</oasis:entry>
         <oasis:entry colname="col6">23/41</oasis:entry>
         <oasis:entry colname="col7">32/40</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">4. Total number of reconciliations</oasis:entry>
         <oasis:entry colname="col2">11/10</oasis:entry>
         <oasis:entry colname="col3">14/12</oasis:entry>
         <oasis:entry colname="col4">24/18</oasis:entry>
         <oasis:entry colname="col5">51/26</oasis:entry>
         <oasis:entry colname="col6">45/23</oasis:entry>
         <oasis:entry colname="col7">79/32</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">5. Average increase in track duration (%)</oasis:entry>
         <oasis:entry colname="col2">38</oasis:entry>
         <oasis:entry colname="col3">58</oasis:entry>
         <oasis:entry colname="col4">73</oasis:entry>
         <oasis:entry colname="col5">99</oasis:entry>
         <oasis:entry colname="col6">95</oasis:entry>
         <oasis:entry colname="col7">116</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">6. Average increase in track length (%)</oasis:entry>
         <oasis:entry colname="col2">38</oasis:entry>
         <oasis:entry colname="col3">54</oasis:entry>
         <oasis:entry colname="col4">60</oasis:entry>
         <oasis:entry colname="col5">80</oasis:entry>
         <oasis:entry colname="col6">69</oasis:entry>
         <oasis:entry colname="col7">101</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="TA3"><label>Table A3</label><caption><p id="d2e5435">Summary of track reconciliation performance across different pruning radii, utilizing Closest Track post processing. Metrics include the number of events with detected tracks, events and tracks where reconciliation is active, total number of reconciliations, and improvements in track duration and distance.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="7">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Metric<inline-formula><mml:math id="M182" display="inline"><mml:mo>\</mml:mo></mml:math></inline-formula>pruning radius [km]</oasis:entry>
         <oasis:entry colname="col2">700</oasis:entry>
         <oasis:entry colname="col3">500</oasis:entry>
         <oasis:entry colname="col4">350</oasis:entry>
         <oasis:entry colname="col5">250</oasis:entry>
         <oasis:entry colname="col6">175</oasis:entry>
         <oasis:entry colname="col7">100</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">1. Events with a track</oasis:entry>
         <oasis:entry colname="col2">37/37</oasis:entry>
         <oasis:entry colname="col3">37/37</oasis:entry>
         <oasis:entry colname="col4">37/37</oasis:entry>
         <oasis:entry colname="col5">37/37</oasis:entry>
         <oasis:entry colname="col6">37/37</oasis:entry>
         <oasis:entry colname="col7">37/37</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2. Events where reconciliation is active</oasis:entry>
         <oasis:entry colname="col2">7/37</oasis:entry>
         <oasis:entry colname="col3">9/37</oasis:entry>
         <oasis:entry colname="col4">16/37</oasis:entry>
         <oasis:entry colname="col5">18/37</oasis:entry>
         <oasis:entry colname="col6">20/37</oasis:entry>
         <oasis:entry colname="col7">28/37</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">3. Tracks where reconciliation is active</oasis:entry>
         <oasis:entry colname="col2">7/41</oasis:entry>
         <oasis:entry colname="col3">9/41</oasis:entry>
         <oasis:entry colname="col4">16/42</oasis:entry>
         <oasis:entry colname="col5">19/43</oasis:entry>
         <oasis:entry colname="col6">23/41</oasis:entry>
         <oasis:entry colname="col7">29/45</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">4. Total number of reconciliations</oasis:entry>
         <oasis:entry colname="col2">9/7</oasis:entry>
         <oasis:entry colname="col3">10/9</oasis:entry>
         <oasis:entry colname="col4">22/16</oasis:entry>
         <oasis:entry colname="col5">40/19</oasis:entry>
         <oasis:entry colname="col6">45/23</oasis:entry>
         <oasis:entry colname="col7">67/29</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">5. Average increase in track duration (%)</oasis:entry>
         <oasis:entry colname="col2">13</oasis:entry>
         <oasis:entry colname="col3">46</oasis:entry>
         <oasis:entry colname="col4">68</oasis:entry>
         <oasis:entry colname="col5">97</oasis:entry>
         <oasis:entry colname="col6">84</oasis:entry>
         <oasis:entry colname="col7">112</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">6. Average increase in track length (%)</oasis:entry>
         <oasis:entry colname="col2">41</oasis:entry>
         <oasis:entry colname="col3">47</oasis:entry>
         <oasis:entry colname="col4">54</oasis:entry>
         <oasis:entry colname="col5">76</oasis:entry>
         <oasis:entry colname="col6">71</oasis:entry>
         <oasis:entry colname="col7">90</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <fig id="FA1"><label>Figure A1</label><caption><p id="d2e5649">Sensitivity of <inline-formula><mml:math id="M183" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and Pruning radius represented through two track metrics. <bold>(a)</bold> shows the number of tracks under different <inline-formula><mml:math id="M184" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and Pruning radii combinations, <bold>(b)</bold> shows the q90 track duration in hours under different <inline-formula><mml:math id="M185" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and Pruning radii combinations. These experiments highlight trade-offs in tuning filtering parameters.</p></caption>
        
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/5641/2026/gmd-19-5641-2026-f14.png"/>

      </fig>

      <p id="d2e5699">Figure <xref ref-type="fig" rid="FA1"/> shows the <inline-formula><mml:math id="M186" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> sensitivity analysis, where <inline-formula><mml:math id="M187" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> was varied for two different pruning radius scenarios. The metrics selected for studying the effect on the formed tracks were (a) the number of tracks, and (b) the track duration. The sensitivity analysis was conducted on the correspondence problem-step of the algorithm, which is executed before the BLOB-based track reconciliation and the post-processing steps, which also have significant influence on the final track properties. These two steps connects small track fragments and filters minor, impact-irrelevant tracks away, respectively. These steps were not executed for this minor sensitivity analysis to isolate the influence of <inline-formula><mml:math id="M188" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and this resulted in many small tracks. Most of which would be filtered out later. We therefore chose to plot the 90th quantile of the track duration rather than the mean or median track length to better see the <inline-formula><mml:math id="M189" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> influence.</p>
      <p id="d2e5753">For good measure, we note that neither an increased number of tracks nor an increased q90 track duration is inherently desirable by themselves, as a high number of tracks implies many smaller tracks with severed connections and an abnormally high q90 track duration would imply tracks with connections that are not representative of the underlying system.</p>
</app>
  </app-group><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d2e5760">The codes and the dataset used in this paper are available at Zenodo: <ext-link xlink:href="https://doi.org/10.5281/zenodo.20309449" ext-link-type="DOI">10.5281/zenodo.20309449</ext-link> <xref ref-type="bibr" rid="bib1.bibx1" id="paren.42"/>. The CERRA sub-daily regional reanalysis data used in this study are freely available from the Copernicus Climate Change Service Climate Data Store (C3S CDS): <ext-link xlink:href="https://doi.org/10.24381/cds.622a565a" ext-link-type="DOI">10.24381/cds.622a565a</ext-link>  <xref ref-type="bibr" rid="bib1.bibx33" id="paren.43"/>.</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e5778">NA conceptualized the tracking framework, developed the methodology and software, performed the analysis, made visualizations and wrote the initial draft. JS handled data acquisition, data analysis, and visualizations. JP conceptualized the framework, data analysis and interpretation. IR performed data analysis. ML acquired funding and was the project coordinator for study conception and design. All authors revised and edited the manuscript. All authors have read and approved the manuscript.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e5784">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="d2e5790">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="d2e5796">The authors thank ECMWF and Copernicus for making the CERRA dataset available.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e5801">Niels Agertoft worked for the ECCO project, which received funding from Innovation Fund Denmark and the European Union’s Horizon Europe Programme under the 2022 Joint Transnational Call of the European Partnership Water4All (grant no. 101060874). Jonas Wied Pedersen was financially supported by the Innovation Fund Denmark through the industrial postdoc programme (grant no. 0197-00005B).</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

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

      <ref id="bib1.bibx1"><label>Agertoft et al.(2026)Agertoft, Su, Pedersen, Ringgaard, and Larsen</label><mixed-citation>Agertoft, N., Su, J., Pedersen, J. W., Ringgaard, I. M., and Larsen, M. A. D.: ImpactETC1.0 release, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.20309449" ext-link-type="DOI">10.5281/zenodo.20309449</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Andrée et al.(2023)Andrée, Su, Dahl Larsen, Drews, Stendel, and Skovgaard Madsen</label><mixed-citation>Andrée, E., Su, J.,  Larsen, M. A. D., Drews, M., Stendel, M., and Skovgaard Madsen, K.: The role of preconditioning for extreme storm surges in the western Baltic Sea, Nat. Hazards Earth Syst. Sci., 23, 1817–1834, <ext-link xlink:href="https://doi.org/10.5194/nhess-23-1817-2023" ext-link-type="DOI">10.5194/nhess-23-1817-2023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Andrée et al.(2021)Andrée, Su, Larsen, Madsen, and Drews</label><mixed-citation>Andrée, E., Su, J., Larsen, M. A. D., Madsen, K. S., and Drews, M.: Simulating major storm surge events in a complex coastal region, Ocean Model., 162, 101 802, <ext-link xlink:href="https://doi.org/10.1016/j.ocemod.2021.101802" ext-link-type="DOI">10.1016/j.ocemod.2021.101802</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Andrée et al.(2022)Andrée, Drews, Su, Larsen, Drønen, and Madsen</label><mixed-citation>Andrée, E., Drews, M., Su, J., Larsen, M. A. D., Drønen, N., and Madsen, K. S.: Simulating wind-driven extreme sea levels: Sensitivity to wind speed and direction, Weather and Climate Extremes, 36, 100422, <ext-link xlink:href="https://doi.org/10.1016/j.wace.2022.100422" ext-link-type="DOI">10.1016/j.wace.2022.100422</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Aragão and Porcù(2022)</label><mixed-citation>Aragão, L. and Porcù, F.: Cyclonic activity in the Mediterranean region from a high-resolution perspective using ECMWF ERA5 dataset, Clim. Dynam., 58, 1293–1310, <ext-link xlink:href="https://doi.org/10.1007/s00382-021-05963-x" ext-link-type="DOI">10.1007/s00382-021-05963-x</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Bengtsson et al.(2009)Bengtsson, Hodges, and Keenlyside</label><mixed-citation>Bengtsson, L., Hodges, K. I., and Keenlyside, N.: Will Extratropical Storms Intensify in a Warmer Climate?, J. Climate, 22, 2276–2301, <ext-link xlink:href="https://doi.org/10.1175/2008JCLI2678.1" ext-link-type="DOI">10.1175/2008JCLI2678.1</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Catto(2016)</label><mixed-citation>Catto, J. L.: Extratropical cyclone classification and its use in climate studies, Rev. Geophys., 54, 486–520, <ext-link xlink:href="https://doi.org/10.1002/2016RG000519" ext-link-type="DOI">10.1002/2016RG000519</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Feser et al.(2015)Feser, Barcikowska, Krueger, Schenk, Weisse, and Xia</label><mixed-citation>Feser, F., Barcikowska, M., Krueger, O., Schenk, F., Weisse, R., and Xia, L.: Storminess over the North Atlantic and northwestern Europe – A review, Q. J. Roy. Meteor. Soc., 141, 350–382, <ext-link xlink:href="https://doi.org/10.1002/qj.2364" ext-link-type="DOI">10.1002/qj.2364</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Flaounas et al.(2014)Flaounas, Kotroni, Lagouvardos, and Flaounas</label><mixed-citation>Flaounas, E., Kotroni, V., Lagouvardos, K., and Flaounas, I.: CycloTRACK (v1.0) – tracking winter extratropical cyclones based on relative vorticity: sensitivity to data filtering and other relevant parameters, Geosci. Model Dev., 7, 1841–1853, <ext-link xlink:href="https://doi.org/10.5194/gmd-7-1841-2014" ext-link-type="DOI">10.5194/gmd-7-1841-2014</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Flaounas et al.(2023)Flaounas, Aragão, Bernini, Dafis, Doiteau, Flocas, Gray, Karwat, Kouroutzoglou, Lionello, Miglietta, Pantillon, Pasquero, Patlakas, Picornell, Porcù, Priestley, Reale, Roberts, Saaroni, Sandler, Scoccimarro, Sprenger, and Ziv</label><mixed-citation>Flaounas, E., Aragão, L., Bernini, L., Dafis, S., Doiteau, B., Flocas, H., Gray, S. L., Karwat, A., Kouroutzoglou, J., Lionello, P., Miglietta, M. M., Pantillon, F., Pasquero, C., Patlakas, P., Picornell, M. Á., Porcù, F., Priestley, M. D. K., Reale, M., Roberts, M. J., Saaroni, H., Sandler, D., Scoccimarro, E., Sprenger, M., and Ziv, B.: A composite approach to produce reference datasets for extratropical cyclone tracks: application to Mediterranean cyclones, Weather Clim. Dynam., 4, 639–661, <ext-link xlink:href="https://doi.org/10.5194/wcd-4-639-2023" ext-link-type="DOI">10.5194/wcd-4-639-2023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Froude(2010)</label><mixed-citation>Froude, L. S. R.: TIGGE: Comparison of the Prediction of Northern Hemisphere Extratropical Cyclones by Different Ensemble Prediction Systems, Weather Forecast., 25, 819–836, <ext-link xlink:href="https://doi.org/10.1175/2010WAF2222326.1" ext-link-type="DOI">10.1175/2010WAF2222326.1</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Gonçalves et al.(2021)Gonçalves, Liberato, and Nieto</label><mixed-citation>Gonçalves, A., Liberato, M. L. R., and Nieto, R.: Wind Energy Assessment during High-Impact Winter Storms in Southwestern Europe, Atmosphere, 12, <ext-link xlink:href="https://doi.org/10.3390/atmos12040509" ext-link-type="DOI">10.3390/atmos12040509</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Gramcianinov et al.(2020)Gramcianinov, Campos, de Camargo, Hodges, Guedes Soares, and da Silva Dias</label><mixed-citation>Gramcianinov, C., Campos, R., de Camargo, R., Hodges, K., Guedes Soares, C., and da Silva Dias, P.: Analysis of Atlantic extratropical storm tracks characteristics in 41 years of ERA5 and CFSR/CFSv2 databases, Ocean Eng., 216, 108111, <ext-link xlink:href="https://doi.org/10.1016/j.oceaneng.2020.108111" ext-link-type="DOI">10.1016/j.oceaneng.2020.108111</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Grieger et al.(2018)Grieger, Leckebusch, Raible, Rudeva, and and</label><mixed-citation>Grieger, J., Leckebusch, G. C., Raible, C. C., Rudeva, I., and and, I. S.: Subantarctic cyclones identified by 14 tracking methods, and their role for moisture transports into the continent, Tellus A, 70, 1–18, <ext-link xlink:href="https://doi.org/10.1080/16000870.2018.1454808" ext-link-type="DOI">10.1080/16000870.2018.1454808</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Hodges(1995)</label><mixed-citation>Hodges, K. I.: Feature Tracking on the Unit Sphere, Mon. Weather Rev., 123, 3458–3465, <ext-link xlink:href="https://doi.org/10.1175/1520-0493(1995)123&lt;3458:FTOTUS&gt;2.0.CO;2" ext-link-type="DOI">10.1175/1520-0493(1995)123&lt;3458:FTOTUS&gt;2.0.CO;2</ext-link>, 1995.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Hodges et al.(2003)Hodges, Hoskins, Boyle, and Thorncroft</label><mixed-citation>Hodges, K. I., Hoskins, B. J., Boyle, J., and Thorncroft, C.: A Comparison of Recent Reanalysis Datasets Using Objective Feature Tracking: Storm Tracks and Tropical Easterly Waves, Mon. Weather Rev., 131, 2012–2037, <ext-link xlink:href="https://doi.org/10.1175/1520-0493(2003)131&lt;2012:ACORRD&gt;2.0.CO;2" ext-link-type="DOI">10.1175/1520-0493(2003)131&lt;2012:ACORRD&gt;2.0.CO;2</ext-link>, 2003.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Hofstätter et al.(2016)Hofstätter, Chimani, Lexer, and Blöschl</label><mixed-citation>Hofstätter, M., Chimani, B., Lexer, A., and Blöschl, G.: A new classiﬁcation scheme of European cyclone tracks with relevance to precipitation, Water Resour. Res., 52, 7086–7104, <ext-link xlink:href="https://doi.org/10.1002/2016WR019146" ext-link-type="DOI">10.1002/2016WR019146</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Hoskins and Hodges(2019)</label><mixed-citation>Hoskins, B. J. and Hodges, K. I.: The annual cycle of Northern Hemisphere storm tracks. Part I: Seasons, J. Climate, 32, 1743–1760, <ext-link xlink:href="https://doi.org/10.1175/JCLI-D-17-0870.s1" ext-link-type="DOI">10.1175/JCLI-D-17-0870.s1</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Hunter et al.(2016)Hunter, Stephenson, Economou, Holland, and Cook</label><mixed-citation>Hunter, A., Stephenson, D. B., Economou, T., Holland, M., and Cook, I.: New perspectives on the collective risk of extratropical cyclones, Q. J. Roy. Meteor. Soc., 142, 243–256, <ext-link xlink:href="https://doi.org/10.1002/qj.2649" ext-link-type="DOI">10.1002/qj.2649</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Kuhn(1955)</label><mixed-citation>Kuhn, H. W.: The Hungarian method for the assignment problem, Nav. Res. Logist. Q., 2, 83–97, <ext-link xlink:href="https://doi.org/10.1002/nav.3800020109" ext-link-type="DOI">10.1002/nav.3800020109</ext-link>, 1955.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Lakkis et al.(2019)Lakkis, Canziani, Yuchechen, Rocamora, Caferri, Hodges, and O'Neill</label><mixed-citation>Lakkis, S. G., Canziani, P., Yuchechen, A., Rocamora, L., Caferri, A., Hodges, K., and O'Neill, A.: A 4D feature-tracking algorithm: A multidimensional view of cyclone systems, Q. J. Roy. Meteor. Soc., 145, 395–417, <ext-link xlink:href="https://doi.org/10.1002/qj.3436" ext-link-type="DOI">10.1002/qj.3436</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Lodise et al.(2022)Lodise, Merrifield, Collins, Rogowski, Behrens, and Terrill</label><mixed-citation>Lodise, J., Merrifield, S., Collins, C., Rogowski, P., Behrens, J., and Terrill, E.: Global climatology of extratropical cyclones from a new tracking approach and associated wave heights from satellite radar altimeter, J. Geophys. Res.-Oceans, 127, e2022JC018925, <ext-link xlink:href="https://doi.org/10.1029/2022JC018925" ext-link-type="DOI">10.1029/2022JC018925</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Medina and Houze Jr.(2016)</label><mixed-citation>Medina, S. and Houze Jr., R. A.: Kelvin–Helmholtz waves in extratropical cyclones passing over mountain ranges, Q. J. Roy. Meteor. Soc., 142, 1311–1319, <ext-link xlink:href="https://doi.org/10.1002/qj.2734" ext-link-type="DOI">10.1002/qj.2734</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Munkres(1957)</label><mixed-citation>Munkres, J.: Algorithms for the Assignment and Transportation Problems, J. Soc. Ind. Appl. Math., 5, 32–38, <ext-link xlink:href="https://doi.org/10.1137/0105003" ext-link-type="DOI">10.1137/0105003</ext-link>, 1957.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Neu et al.(2013)Neu, Akperov, Bellenbaum, Benestad, Blender, Caballero, Cocozza, Dacre, Feng, Fraedrich, Grieger, Gulev, Hanley, Hewson, Inatsu, Keay, Kew, Kindem, Leckebusch, Liberato, Lionello, Mokhov, Pinto, Raible, Reale, Rudeva, Schuster, Simmonds, Sinclair, Sprenger, Tilinina, Trigo, Ulbrich, Ulbrich, Wang, and Wernli</label><mixed-citation>Neu, U., Akperov, M. G., Bellenbaum, N., Benestad, R., Blender, R., Caballero, R., Cocozza, A., Dacre, H. F., Feng, Y., Fraedrich, K., Grieger, J., Gulev, S., Hanley, J., Hewson, T., Inatsu, M., Keay, K., Kew, S. F., Kindem, I., Leckebusch, G. C., Liberato, M. L. R., Lionello, P., Mokhov, I. I., Pinto, J. G., Raible, C. C., Reale, M., Rudeva, I., Schuster, M., Simmonds, I., Sinclair, M., Sprenger, M., Tilinina, N. D., Trigo, I. F., Ulbrich, S., Ulbrich, U., Wang, X. L., and Wernli, H.: IMILAST: A Community Effort to Intercompare Extratropical Cyclone Detection and Tracking Algorithms, B. Am. Meteorol. Soc., 94, 529–547, <ext-link xlink:href="https://doi.org/10.1175/BAMS-D-11-00154.1" ext-link-type="DOI">10.1175/BAMS-D-11-00154.1</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Pauley(1998)</label><mixed-citation>Pauley, P. M.: An Example of Uncertainty in Sea Level Pressure Reduction, Weather Forecast., 13, 833–850, <ext-link xlink:href="https://doi.org/10.1175/1520-0434(1998)013&lt;0833:AEOUIS&gt;2.0.CO;2" ext-link-type="DOI">10.1175/1520-0434(1998)013&lt;0833:AEOUIS&gt;2.0.CO;2</ext-link>, 1998.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Peréz-Alarcón et al.(2024)Peréz-Alarcón, Coll-Hidalgo, Trigo, Nieto, , and Gimeno</label><mixed-citation>Peréz-Alarcón, A., Coll-Hidalgo, P., Trigo, R. M., Nieto, R., and Gimeno, L.: CyTRACK: An open-source and user-friendly python toolbox for detecting and tracking cyclones, Environ. Modell. Softw., 176, 106027, <ext-link xlink:href="https://doi.org/10.1016/j.envsoft.2024.106027" ext-link-type="DOI">10.1016/j.envsoft.2024.106027</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Priestley et al.(2020)Priestley, Ackerley, Catto, Hodges, McDonald, and Lee</label><mixed-citation>Priestley, M. D., Ackerley, D., Catto, J. L., Hodges, K. I., McDonald, R. E., and Lee, R. W.: An overview of the extratropical storm tracks in CMIP6 historical simulations, J. Climate, 33, 6315–6343, <ext-link xlink:href="https://doi.org/10.1175/JCLI-D-19-0928.1" ext-link-type="DOI">10.1175/JCLI-D-19-0928.1</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Ragone et al.(2018)Ragone, Mariotti, Parodi, von Hardenberg, and Pasquero</label><mixed-citation>Ragone, F., Mariotti, M., Parodi, A., von Hardenberg, J., and Pasquero, C.: A climatological study of Western Mediterranean Medicanes in numerical simulations with explicit and parameterized convection, Atmosphere, 397, <ext-link xlink:href="https://doi.org/10.3390/atmos9100397" ext-link-type="DOI">10.3390/atmos9100397</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Raible et al.(2008)Raible, Della-Marta, Schwierz, Wernli, and Blender</label><mixed-citation>Raible, C. C., Della-Marta, P. M., Schwierz, C., Wernli, H., and Blender, R.: Northern Hemisphere Extratropical Cyclones: A Comparison of Detection and Tracking Methods and Different Reanalyses, Mon. Weather Rev., 136, 880–897, <ext-link xlink:href="https://doi.org/10.1175/2007MWR2143.1" ext-link-type="DOI">10.1175/2007MWR2143.1</ext-link>, 2008.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Ridal et al.(2024)Ridal, Bazile, Le Moigne, Randriamampianina, Schimanke, Andrae, Berggren, Brousseau, Dahlgren, Edvinsson, El-Said, Glinton, Hagelin, Hopsch, Isaksson, Medeiros, Olsson, Unden, and Wang</label><mixed-citation>Ridal, M., Bazile, E., Le Moigne, P., Randriamampianina, R., Schimanke, S., Andrae, U., Berggren, L., Brousseau, P., Dahlgren, P., Edvinsson, L., El-Said, A., Glinton, M., Hagelin, S., Hopsch, S., Isaksson, L., Medeiros, P., Olsson, E., Unden, P., and Wang, Z. Q.: CERRA, the Copernicus European Regional Reanalysis system, Q. J. Roy. Meteor. Soc., 150, 3385–3411, <ext-link xlink:href="https://doi.org/10.1002/qj.4764" ext-link-type="DOI">10.1002/qj.4764</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Sanchez-Gomez and Somot(2018)</label><mixed-citation>Sanchez-Gomez, E. and Somot, S.: Impact of the internal variability on the cyclone tracks simulated by a regional climate model over the Med-CORDEX domain, Clim. Dynam., 51, 1005–1021, <ext-link xlink:href="https://doi.org/10.1007/s00382-016-3394-y" ext-link-type="DOI">10.1007/s00382-016-3394-y</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Schimanke et al.(2021)Schimanke, Ridal, Le Moigne, Berggren, Undén, Randriamampianina, Andrea, Bazile, Bertelsen, Brousseau, Dahlgren, Edvinsson, El Said, Glinton, Hopsch, Isaksson, Mladek, Olsson, Verrelle, and Wang</label><mixed-citation>Schimanke, S., Ridal, M., Le Moigne, P., Berggren, L., Undén, P., Randriamampianina, R., Andrea, U., Bazile, E., Bertelsen, A., Brousseau, P., Dahlgren, P., Edvinsson, L., El Said, A., Glinton, M., Hopsch, S., Isaksson, L., Mladek, R., Olsson, E., Verrelle, A., and Wang, Z.: CERRA sub-daily regional reanalysis data for Europe on single levels from 1984 to present, Copernicus Climate Change Service (C3S) Climate Data Store (CDS) [data set], <ext-link xlink:href="https://doi.org/10.24381/cds.622a565a" ext-link-type="DOI">10.24381/cds.622a565a</ext-link>,  2021.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Seda(2022)</label><mixed-citation>Seda, M.: The Assignment Problem and Its Relation to Logistics Problems, Algorithms, 15, <ext-link xlink:href="https://doi.org/10.3390/a15100377" ext-link-type="DOI">10.3390/a15100377</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>Ullrich et al.(2021)Ullrich, Zarzycki, McClenny, Pinheiro, Stansfield, and Reed</label><mixed-citation>Ullrich, P. A., Zarzycki, C. M., McClenny, E. E., Pinheiro, M. C., Stansfield, A. M., and Reed, K. A.: TempestExtremes v2.1: a community framework for feature detection, tracking, and analysis in large datasets, Geosci. Model Dev., 14, 5023–5048, <ext-link xlink:href="https://doi.org/10.5194/gmd-14-5023-2021" ext-link-type="DOI">10.5194/gmd-14-5023-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>Walker et al.(2020)Walker, Mitchell, and Seviour</label><mixed-citation>Walker, E., Mitchell, D., and Seviour, W.: The numerous approaches to tracking extratropical cyclones and the challenges they present, Weather, 75, 336–341, <ext-link xlink:href="https://doi.org/10.1002/wea.3861" ext-link-type="DOI">10.1002/wea.3861</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>Zappa et al.(2013)Zappa, Shaffrey, Hodges, Sansom, and Stephenson</label><mixed-citation>Zappa, G., Shaffrey, L. C., Hodges, K. I., Sansom, P. G., and Stephenson, D. B.: A Multimodel Assessment of Future Projections of North Atlantic and European Extratropical Cyclones in the CMIP5 Climate Models, J. Climate, 26, 5846–5862, <ext-link xlink:href="https://doi.org/10.1175/JCLI-D-12-00573.1" ext-link-type="DOI">10.1175/JCLI-D-12-00573.1</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Zhang et al.(2024)Zhang, Xue, Zhang, Zhou, Li, and Liu</label><mixed-citation>Zhang, S., Xue, Y., Zhang, H., Zhou, X., Li, K., and Liu, R.: Improved Hungarian algorithm–based task scheduling optimization strategy for remote sensing big data processing, Geo-Spatial Information Science, 27, 1141–1154, <ext-link xlink:href="https://doi.org/10.1080/10095020.2023.2178339" ext-link-type="DOI">10.1080/10095020.2023.2178339</ext-link>, 2024.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>ImpactETC1.0: impact-oriented tracking of extratropical cyclones with global optimisation and track reconciliation</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Agertoft et al.(2026)Agertoft, Su, Pedersen, Ringgaard, and
Larsen</label><mixed-citation>
      
Agertoft, N., Su, J., Pedersen, J. W., Ringgaard, I. M., and Larsen, M. A. D.:
ImpactETC1.0 release, Zenodo [code],
<a href="https://doi.org/10.5281/zenodo.20309449" target="_blank">https://doi.org/10.5281/zenodo.20309449</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Andrée et al.(2023)Andrée, Su, Dahl Larsen, Drews, Stendel, and
Skovgaard Madsen</label><mixed-citation>
      
Andrée, E., Su, J.,  Larsen, M. A. D., Drews, M., Stendel, M., and Skovgaard Madsen, K.: The role of preconditioning for extreme storm surges in the western Baltic Sea, Nat. Hazards Earth Syst. Sci., 23, 1817–1834, <a href="https://doi.org/10.5194/nhess-23-1817-2023" target="_blank">https://doi.org/10.5194/nhess-23-1817-2023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Andrée et al.(2021)Andrée, Su, Larsen, Madsen, and
Drews</label><mixed-citation>
      
Andrée, E., Su, J., Larsen, M. A. D., Madsen, K. S., and Drews, M.: Simulating
major storm surge events in a complex coastal region, Ocean Model., 162,
101&thinsp;802, <a href="https://doi.org/10.1016/j.ocemod.2021.101802" target="_blank">https://doi.org/10.1016/j.ocemod.2021.101802</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Andrée et al.(2022)Andrée, Drews, Su, Larsen, Drønen, and
Madsen</label><mixed-citation>
      
Andrée, E., Drews, M., Su, J., Larsen, M. A. D., Drønen, N., and Madsen,
K. S.: Simulating wind-driven extreme sea levels: Sensitivity to wind speed
and direction, Weather and Climate Extremes, 36, 100422,
<a href="https://doi.org/10.1016/j.wace.2022.100422" target="_blank">https://doi.org/10.1016/j.wace.2022.100422</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Aragão and Porcù(2022)</label><mixed-citation>
      
Aragão, L. and Porcù, F.: Cyclonic activity in the Mediterranean region
from a high-resolution perspective using ECMWF ERA5 dataset, Clim.
Dynam., 58, 1293–1310, <a href="https://doi.org/10.1007/s00382-021-05963-x" target="_blank">https://doi.org/10.1007/s00382-021-05963-x</a>,
2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Bengtsson et al.(2009)Bengtsson, Hodges, and
Keenlyside</label><mixed-citation>
      
Bengtsson, L., Hodges, K. I., and Keenlyside, N.: Will Extratropical Storms
Intensify in a Warmer Climate?, J. Climate, 22, 2276–2301,
<a href="https://doi.org/10.1175/2008JCLI2678.1" target="_blank">https://doi.org/10.1175/2008JCLI2678.1</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Catto(2016)</label><mixed-citation>
      
Catto, J. L.: Extratropical cyclone classification and its use in climate
studies, Rev. Geophys., 54, 486–520, <a href="https://doi.org/10.1002/2016RG000519" target="_blank">https://doi.org/10.1002/2016RG000519</a>,
2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Feser et al.(2015)Feser, Barcikowska, Krueger, Schenk, Weisse, and
Xia</label><mixed-citation>
      
Feser, F., Barcikowska, M., Krueger, O., Schenk, F., Weisse, R., and Xia, L.:
Storminess over the North Atlantic and northwestern Europe – A review,
Q. J. Roy. Meteor. Soc., 141, 350–382,
<a href="https://doi.org/10.1002/qj.2364" target="_blank">https://doi.org/10.1002/qj.2364</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Flaounas et al.(2014)Flaounas, Kotroni, Lagouvardos, and
Flaounas</label><mixed-citation>
      
Flaounas, E., Kotroni, V., Lagouvardos, K., and Flaounas, I.: CycloTRACK (v1.0) – tracking winter extratropical cyclones based on relative vorticity: sensitivity to data filtering and other relevant parameters, Geosci. Model Dev., 7, 1841–1853, <a href="https://doi.org/10.5194/gmd-7-1841-2014" target="_blank">https://doi.org/10.5194/gmd-7-1841-2014</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Flaounas et al.(2023)Flaounas, Aragão, Bernini, Dafis, Doiteau,
Flocas, Gray, Karwat, Kouroutzoglou, Lionello, Miglietta, Pantillon,
Pasquero, Patlakas, Picornell, Porcù, Priestley, Reale, Roberts, Saaroni,
Sandler, Scoccimarro, Sprenger, and Ziv</label><mixed-citation>
      
Flaounas, E., Aragão, L., Bernini, L., Dafis, S., Doiteau, B., Flocas, H., Gray, S. L., Karwat, A., Kouroutzoglou, J., Lionello, P., Miglietta, M. M., Pantillon, F., Pasquero, C., Patlakas, P., Picornell, M. Á., Porcù, F., Priestley, M. D. K., Reale, M., Roberts, M. J., Saaroni, H., Sandler, D., Scoccimarro, E., Sprenger, M., and Ziv, B.: A composite approach to produce reference datasets for extratropical cyclone tracks: application to Mediterranean cyclones, Weather Clim. Dynam., 4, 639–661, <a href="https://doi.org/10.5194/wcd-4-639-2023" target="_blank">https://doi.org/10.5194/wcd-4-639-2023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Froude(2010)</label><mixed-citation>
      
Froude, L. S. R.: TIGGE: Comparison of the Prediction of Northern Hemisphere
Extratropical Cyclones by Different Ensemble Prediction Systems, Weather
Forecast., 25, 819–836, <a href="https://doi.org/10.1175/2010WAF2222326.1" target="_blank">https://doi.org/10.1175/2010WAF2222326.1</a>, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Gonçalves et al.(2021)Gonçalves, Liberato, and
Nieto</label><mixed-citation>
      
Gonçalves, A., Liberato, M. L. R., and Nieto, R.: Wind Energy Assessment
during High-Impact Winter Storms in Southwestern Europe, Atmosphere, 12,
<a href="https://doi.org/10.3390/atmos12040509" target="_blank">https://doi.org/10.3390/atmos12040509</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Gramcianinov et al.(2020)Gramcianinov, Campos, de Camargo, Hodges,
Guedes Soares, and da Silva Dias</label><mixed-citation>
      
Gramcianinov, C., Campos, R., de Camargo, R., Hodges, K., Guedes Soares,
C., and da Silva Dias, P.: Analysis of Atlantic extratropical storm tracks
characteristics in 41 years of ERA5 and CFSR/CFSv2 databases, Ocean
Eng., 216, 108111,
<a href="https://doi.org/10.1016/j.oceaneng.2020.108111" target="_blank">https://doi.org/10.1016/j.oceaneng.2020.108111</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Grieger et al.(2018)Grieger, Leckebusch, Raible, Rudeva, and
and</label><mixed-citation>
      
Grieger, J., Leckebusch, G. C., Raible, C. C., Rudeva, I., and and, I. S.:
Subantarctic cyclones identified by 14 tracking methods, and their role for
moisture transports into the continent, Tellus A, 70, 1–18, <a href="https://doi.org/10.1080/16000870.2018.1454808" target="_blank">https://doi.org/10.1080/16000870.2018.1454808</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Hodges(1995)</label><mixed-citation>
      
Hodges, K. I.: Feature Tracking on the Unit Sphere, Mon. Weather Rev.,
123, 3458–3465, <a href="https://doi.org/10.1175/1520-0493(1995)123&lt;3458:FTOTUS&gt;2.0.CO;2" target="_blank">https://doi.org/10.1175/1520-0493(1995)123&lt;3458:FTOTUS&gt;2.0.CO;2</a>,
1995.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Hodges et al.(2003)Hodges, Hoskins, Boyle, and
Thorncroft</label><mixed-citation>
      
Hodges, K. I., Hoskins, B. J., Boyle, J., and Thorncroft, C.: A Comparison of
Recent Reanalysis Datasets Using Objective Feature Tracking: Storm Tracks and
Tropical Easterly Waves, Mon. Weather Rev., 131, 2012–2037,
<a href="https://doi.org/10.1175/1520-0493(2003)131&lt;2012:ACORRD&gt;2.0.CO;2" target="_blank">https://doi.org/10.1175/1520-0493(2003)131&lt;2012:ACORRD&gt;2.0.CO;2</a>, 2003.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Hofstätter et al.(2016)Hofstätter, Chimani, Lexer, and
Blöschl</label><mixed-citation>
      
Hofstätter, M., Chimani, B., Lexer, A., and Blöschl, G.: A new
classiﬁcation scheme of European cyclone tracks with relevance to
precipitation, Water Resour. Res., 52, 7086–7104,
<a href="https://doi.org/10.1002/2016WR019146" target="_blank">https://doi.org/10.1002/2016WR019146</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Hoskins and Hodges(2019)</label><mixed-citation>
      
Hoskins, B. J. and Hodges, K. I.: The annual cycle of Northern Hemisphere storm
tracks. Part I: Seasons, J. Climate, 32, 1743–1760,
<a href="https://doi.org/10.1175/JCLI-D-17-0870.s1" target="_blank">https://doi.org/10.1175/JCLI-D-17-0870.s1</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Hunter et al.(2016)Hunter, Stephenson, Economou, Holland, and
Cook</label><mixed-citation>
      
Hunter, A., Stephenson, D. B., Economou, T., Holland, M., and Cook, I.: New
perspectives on the collective risk of extratropical cyclones, Q. J. Roy. Meteor. Soc., 142, 243–256,
<a href="https://doi.org/10.1002/qj.2649" target="_blank">https://doi.org/10.1002/qj.2649</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Kuhn(1955)</label><mixed-citation>
      
Kuhn, H. W.: The Hungarian method for the assignment problem, Nav. Res. Logist. Q., 2, 83–97, <a href="https://doi.org/10.1002/nav.3800020109" target="_blank">https://doi.org/10.1002/nav.3800020109</a>, 1955.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Lakkis et al.(2019)Lakkis, Canziani, Yuchechen, Rocamora, Caferri,
Hodges, and O'Neill</label><mixed-citation>
      
Lakkis, S. G., Canziani, P., Yuchechen, A., Rocamora, L., Caferri, A., Hodges,
K., and O'Neill, A.: A 4D feature-tracking algorithm: A multidimensional
view of cyclone systems, Q. J. Roy. Meteor. Soc., 145, 395–417, <a href="https://doi.org/10.1002/qj.3436" target="_blank">https://doi.org/10.1002/qj.3436</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Lodise et al.(2022)Lodise, Merrifield, Collins, Rogowski, Behrens,
and Terrill</label><mixed-citation>
      
Lodise, J., Merrifield, S., Collins, C., Rogowski, P., Behrens, J., and
Terrill, E.: Global climatology of extratropical cyclones from a new tracking
approach and associated wave heights from satellite radar altimeter, J. Geophys. Res.-Oceans, 127, e2022JC018925,
<a href="https://doi.org/10.1029/2022JC018925" target="_blank">https://doi.org/10.1029/2022JC018925</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Medina and Houze Jr.(2016)</label><mixed-citation>
      
Medina, S. and Houze Jr., R. A.: Kelvin–Helmholtz waves in extratropical
cyclones passing over mountain ranges, Q. J. Roy. Meteor. Soc., 142, 1311–1319, <a href="https://doi.org/10.1002/qj.2734" target="_blank">https://doi.org/10.1002/qj.2734</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Munkres(1957)</label><mixed-citation>
      
Munkres, J.: Algorithms for the Assignment and Transportation Problems, J. Soc. Ind. Appl. Math., 5, 32–38,
<a href="https://doi.org/10.1137/0105003" target="_blank">https://doi.org/10.1137/0105003</a>, 1957.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Neu et al.(2013)Neu, Akperov, Bellenbaum, Benestad, Blender,
Caballero, Cocozza, Dacre, Feng, Fraedrich, Grieger, Gulev, Hanley, Hewson,
Inatsu, Keay, Kew, Kindem, Leckebusch, Liberato, Lionello, Mokhov, Pinto,
Raible, Reale, Rudeva, Schuster, Simmonds, Sinclair, Sprenger, Tilinina,
Trigo, Ulbrich, Ulbrich, Wang, and Wernli</label><mixed-citation>
      
Neu, U., Akperov, M. G., Bellenbaum, N., Benestad, R., Blender, R., Caballero,
R., Cocozza, A., Dacre, H. F., Feng, Y., Fraedrich, K., Grieger, J., Gulev,
S., Hanley, J., Hewson, T., Inatsu, M., Keay, K., Kew, S. F., Kindem, I.,
Leckebusch, G. C., Liberato, M. L. R., Lionello, P., Mokhov, I. I., Pinto,
J. G., Raible, C. C., Reale, M., Rudeva, I., Schuster, M., Simmonds, I.,
Sinclair, M., Sprenger, M., Tilinina, N. D., Trigo, I. F., Ulbrich, S.,
Ulbrich, U., Wang, X. L., and Wernli, H.: IMILAST: A Community Effort to
Intercompare Extratropical Cyclone Detection and Tracking Algorithms,
B. Am. Meteorol. Soc., 94, 529–547,
<a href="https://doi.org/10.1175/BAMS-D-11-00154.1" target="_blank">https://doi.org/10.1175/BAMS-D-11-00154.1</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Pauley(1998)</label><mixed-citation>
      
Pauley, P. M.: An Example of Uncertainty in Sea Level Pressure Reduction,
Weather Forecast., 13, 833–850,
<a href="https://doi.org/10.1175/1520-0434(1998)013&lt;0833:AEOUIS&gt;2.0.CO;2" target="_blank">https://doi.org/10.1175/1520-0434(1998)013&lt;0833:AEOUIS&gt;2.0.CO;2</a>, 1998.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Peréz-Alarcón et al.(2024)Peréz-Alarcón, Coll-Hidalgo, Trigo,
Nieto, , and Gimeno</label><mixed-citation>
      
Peréz-Alarcón, A., Coll-Hidalgo, P., Trigo, R. M., Nieto, R., and Gimeno,
L.: CyTRACK: An open-source and user-friendly python toolbox for detecting
and tracking cyclones, Environ. Modell. Softw., 176, 106027,
<a href="https://doi.org/10.1016/j.envsoft.2024.106027" target="_blank">https://doi.org/10.1016/j.envsoft.2024.106027</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Priestley et al.(2020)Priestley, Ackerley, Catto, Hodges, McDonald,
and Lee</label><mixed-citation>
      
Priestley, M. D., Ackerley, D., Catto, J. L., Hodges, K. I., McDonald, R. E.,
and Lee, R. W.: An overview of the extratropical storm tracks in CMIP6
historical simulations, J. Climate, 33, 6315–6343,
<a href="https://doi.org/10.1175/JCLI-D-19-0928.1" target="_blank">https://doi.org/10.1175/JCLI-D-19-0928.1</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Ragone et al.(2018)Ragone, Mariotti, Parodi, von Hardenberg, and
Pasquero</label><mixed-citation>
      
Ragone, F., Mariotti, M., Parodi, A., von Hardenberg, J., and Pasquero, C.: A
climatological study of Western Mediterranean Medicanes in numerical
simulations with explicit and parameterized convection, Atmosphere, 397,
<a href="https://doi.org/10.3390/atmos9100397" target="_blank">https://doi.org/10.3390/atmos9100397</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Raible et al.(2008)Raible, Della-Marta, Schwierz, Wernli, and
Blender</label><mixed-citation>
      
Raible, C. C., Della-Marta, P. M., Schwierz, C., Wernli, H., and Blender, R.:
Northern Hemisphere Extratropical Cyclones: A Comparison of Detection and
Tracking Methods and Different Reanalyses, Mon. Weather Rev., 136, 880–897, <a href="https://doi.org/10.1175/2007MWR2143.1" target="_blank">https://doi.org/10.1175/2007MWR2143.1</a>, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Ridal et al.(2024)Ridal, Bazile, Le Moigne, Randriamampianina,
Schimanke, Andrae, Berggren, Brousseau, Dahlgren, Edvinsson, El-Said,
Glinton, Hagelin, Hopsch, Isaksson, Medeiros, Olsson, Unden, and
Wang</label><mixed-citation>
      
Ridal, M., Bazile, E., Le Moigne, P., Randriamampianina, R., Schimanke, S.,
Andrae, U., Berggren, L., Brousseau, P., Dahlgren, P., Edvinsson, L.,
El-Said, A., Glinton, M., Hagelin, S., Hopsch, S., Isaksson, L., Medeiros,
P., Olsson, E., Unden, P., and Wang, Z. Q.: CERRA, the Copernicus European
Regional Reanalysis system, Q. J. Roy. Meteor. Soc., 150, 3385–3411, <a href="https://doi.org/10.1002/qj.4764" target="_blank">https://doi.org/10.1002/qj.4764</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Sanchez-Gomez and Somot(2018)</label><mixed-citation>
      
Sanchez-Gomez, E. and Somot, S.: Impact of the internal variability on the
cyclone tracks simulated by a regional climate model over the Med-CORDEX
domain, Clim. Dynam., 51, 1005–1021,
<a href="https://doi.org/10.1007/s00382-016-3394-y" target="_blank">https://doi.org/10.1007/s00382-016-3394-y</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Schimanke et al.(2021)Schimanke, Ridal, Le Moigne, Berggren, Undén,
Randriamampianina, Andrea, Bazile, Bertelsen, Brousseau, Dahlgren, Edvinsson,
El Said, Glinton, Hopsch, Isaksson, Mladek, Olsson, Verrelle, and
Wang</label><mixed-citation>
      
Schimanke, S., Ridal, M., Le Moigne, P., Berggren, L., Undén, P.,
Randriamampianina, R., Andrea, U., Bazile, E., Bertelsen, A., Brousseau, P.,
Dahlgren, P., Edvinsson, L., El Said, A., Glinton, M., Hopsch, S., Isaksson,
L., Mladek, R., Olsson, E., Verrelle, A., and Wang, Z.: CERRA sub-daily
regional reanalysis data for Europe on single levels from 1984 to present,
Copernicus Climate Change Service (C3S) Climate Data Store (CDS) [data set],
<a href="https://doi.org/10.24381/cds.622a565a" target="_blank">https://doi.org/10.24381/cds.622a565a</a>,  2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Seda(2022)</label><mixed-citation>
      
Seda, M.: The Assignment Problem and Its Relation to Logistics Problems,
Algorithms, 15, <a href="https://doi.org/10.3390/a15100377" target="_blank">https://doi.org/10.3390/a15100377</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>Ullrich et al.(2021)Ullrich, Zarzycki, McClenny, Pinheiro,
Stansfield, and Reed</label><mixed-citation>
      
Ullrich, P. A., Zarzycki, C. M., McClenny, E. E., Pinheiro, M. C., Stansfield, A. M., and Reed, K. A.: TempestExtremes v2.1: a community framework for feature detection, tracking, and analysis in large datasets, Geosci. Model Dev., 14, 5023–5048, <a href="https://doi.org/10.5194/gmd-14-5023-2021" target="_blank">https://doi.org/10.5194/gmd-14-5023-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>Walker et al.(2020)Walker, Mitchell, and Seviour</label><mixed-citation>
      
Walker, E., Mitchell, D., and Seviour, W.: The numerous approaches to tracking
extratropical cyclones and the challenges they present, Weather, 75,
336–341, <a href="https://doi.org/10.1002/wea.3861" target="_blank">https://doi.org/10.1002/wea.3861</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>Zappa et al.(2013)Zappa, Shaffrey, Hodges, Sansom, and
Stephenson</label><mixed-citation>
      
Zappa, G., Shaffrey, L. C., Hodges, K. I., Sansom, P. G., and Stephenson,
D. B.: A Multimodel Assessment of Future Projections of North Atlantic and
European Extratropical Cyclones in the CMIP5 Climate Models, J. Climate, 26, 5846–5862, <a href="https://doi.org/10.1175/JCLI-D-12-00573.1" target="_blank">https://doi.org/10.1175/JCLI-D-12-00573.1</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Zhang et al.(2024)Zhang, Xue, Zhang, Zhou, Li, and Liu</label><mixed-citation>
      
Zhang, S., Xue, Y., Zhang, H., Zhou, X., Li, K., and Liu, R.: Improved
Hungarian algorithm–based task scheduling optimization strategy for remote
sensing big data processing, Geo-Spatial Information Science, 27,
1141–1154, <a href="https://doi.org/10.1080/10095020.2023.2178339" target="_blank">https://doi.org/10.1080/10095020.2023.2178339</a>, 2024.

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