<?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-8269-2026</article-id><title-group><article-title>A semi-Lagrangian advection scheme in Elmer (v26.1): benchmarking against discontinuous Galerkin and application to ice-damage transport</article-title><alt-title>Semi-Lagrangian advection in Elmer</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" equal-contrib="yes" corresp="yes" rid="aff1">
          <name><surname>Mosbeux</surname><given-names>Cyrille</given-names></name>
          <email>cyrille.mosbeux@univ-grenoble-alpes.fr</email>
        </contrib>
        <contrib contrib-type="author" equal-contrib="yes" corresp="no" rid="aff2">
          <name><surname>Råback</surname><given-names>Peter</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Gilbert</surname><given-names>Adrien</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Brondex</surname><given-names>Julien</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-9446-4698</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Gillet-Chaulet</surname><given-names>Fabien</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-6592-3840</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Jourdain</surname><given-names>Nicolas C.</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-1372-2235</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Chekki</surname><given-names>Mondher</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-0676-8910</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Gagliardini</surname><given-names>Olivier</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-9162-3518</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Durand</surname><given-names>Gaël</given-names></name>
          
        </contrib>
        <aff id="aff1"><label>1</label><institution>Univ. Grenoble Alpes, CNRS, IRD, Grenoble INP, INRAE, IGE, 38000 Grenoble, France</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>CSC-IT Center for Science, Espoo, Finland</institution>
        </aff><author-comment content-type="econtrib"><p>These authors contributed equally to this work.</p></author-comment>
      </contrib-group>
      <author-notes><corresp id="corr1">Cyrille Mosbeux (cyrille.mosbeux@univ-grenoble-alpes.fr)</corresp></author-notes><pub-date><day>8</day><month>September</month><year>2026</year></pub-date>
      
      <volume>19</volume>
      <issue>17</issue>
      <fpage>8269</fpage><lpage>8288</lpage>
      <history>
        <date date-type="received"><day>26</day><month>June</month><year>2025</year></date>
           <date date-type="rev-request"><day>20</day><month>August</month><year>2025</year></date>
           <date date-type="rev-recd"><day>16</day><month>March</month><year>2026</year></date>
           <date date-type="accepted"><day>7</day><month>April</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Cyrille Mosbeux 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/8269/2026/gmd-19-8269-2026.html">This article is available from https://gmd.copernicus.org/articles/19/8269/2026/gmd-19-8269-2026.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/19/8269/2026/gmd-19-8269-2026.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/19/8269/2026/gmd-19-8269-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e164">Transport processes are of great importance in geophysical applications, including atmospheric, oceanic, and ice flow dynamics. An Eulerian view is commonly adopted in models representing fluid dynamics. In such a framework, transport processes are accounted for by prescribing advection terms within the partial differential equations (PDEs) of the model. Yet, advection terms are prone to cause instabilities in the numerical solution of these equations, notably when using the finite element method with a standard Galerkin approach. Various methods have been developed to overcome these instabilities, but often at the price of spurious artificial diffusion. To avoid such unwanted numerical smoothing, a commonly used technique is the discontinuous Galerkin method, which allows for discontinuous solutions; hence, a better tracking of fine features with steep gradients without relying on artificial diffusion. In this study, we explore an alternative approach that lies in semi-Lagrangian schemes, combining elements of both Eulerian and Lagrangian frameworks by updating particle positions based on the Eulerian velocity field from the previous time step. The method does not rely on explicit artificial diffusion and can accurately capture advection while limiting numerical diffusion. Here, we present a computationally efficient semi-Lagrangian algorithm to track the motion of particles in complex 3D geometries that is suitable for highly parallel computing. We illustrate the accuracy and power of the semi-Lagrangian (SL) algorithm by comparing it to a discontinuous Galerkin (DG) method developed within the open-source multi-physics code Elmer. We show that both the DG and SL methods can provide accurate transport solutions with different sensitivity to resolution. We conclude that, for practical use, the choice between the SL and the DG methods will depend on specific simulation requirements and the trade-off between acceptable diffusion and computational efficiency.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>Horizon 2020</funding-source>
<award-id>820575</award-id>
<award-id>869304</award-id>
</award-group>
<award-group id="gs2">
<funding-source>Agence Nationale de la Recherche</funding-source>
<award-id>ISClim, ANR-22-EXTR-0010</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="d2e176">Transport processes play a key role in the field of geoscience fluid dynamics, with applications in various fields such as atmospheric, oceanic, and ice flow modeling. In glaciology and ice sheet modeling, pure transport problems are of major importance when it comes to simulating ice age <xref ref-type="bibr" rid="bib1.bibx27 bib1.bibx58" id="paren.1"><named-content content-type="pre">e.g.</named-content></xref>, rock and sediment transport <xref ref-type="bibr" rid="bib1.bibx60" id="paren.2"><named-content content-type="pre">e.g.</named-content></xref>, snow densification <xref ref-type="bibr" rid="bib1.bibx13 bib1.bibx11" id="paren.3"><named-content content-type="pre">e.g.</named-content></xref>, anisotropy <xref ref-type="bibr" rid="bib1.bibx15" id="paren.4"><named-content content-type="pre">e.g.</named-content></xref> or ice damage evolution <xref ref-type="bibr" rid="bib1.bibx57 bib1.bibx30 bib1.bibx50" id="paren.5"><named-content content-type="pre">e.g.</named-content></xref>. In numerical models, the transport and evolution of quantities can be solved using different frameworks: Eulerian, Lagrangian, and semi-Lagrangian.</p>
      <p id="d2e204">Transport processes in a continuum can be described by the advection (or transport) equation, which governs the spatial and temporal evolution of a scalar or tensor quantity <inline-formula><mml:math id="M1" display="inline"><mml:mi mathvariant="bold">q</mml:mi></mml:math></inline-formula> under a velocity field  <inline-formula><mml:math id="M2" display="inline"><mml:mi mathvariant="bold-italic">u</mml:mi></mml:math></inline-formula>


          <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M3" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="bold">q</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold">q</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="bold">S</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        with <inline-formula><mml:math id="M4" display="inline"><mml:mi mathvariant="bold">S</mml:mi></mml:math></inline-formula> a potential source or sink term. This partial differential equation (PDE) can be expressed in different reference frames.</p>
      <p id="d2e263">In an Eulerian framework, the equations are solved on a fixed spatial mesh, observing how <inline-formula><mml:math id="M5" display="inline"><mml:mi mathvariant="bold">q</mml:mi></mml:math></inline-formula> changes as material flows through control volumes. The numerical discretization and resolution of this equation, such as the Galerkin method widely used in finite element methods (FEMs), often presents stability issues <xref ref-type="bibr" rid="bib1.bibx48" id="paren.6"><named-content content-type="pre">e.g.</named-content></xref>. In the context of FEMs, a common solution is to rely on the streamline upwind Petrov–Galerkin (SUPG) method <xref ref-type="bibr" rid="bib1.bibx22" id="paren.7"><named-content content-type="pre">e.g.</named-content></xref>, which modifies the test functions in the weak formulation, introducing a residual-based term that acts as directional diffusion along streamlines. Theoretically, this diffusion vanishes as the residual approaches zero upon mesh and time-step refinement. In practical simulations, however, the residual remains finite and the term effectively behaves as a form of artificial diffusion, introducing numerical smoothing that can reduce the accuracy of sharp gradients.</p>
      <p id="d2e283">Variational multiscale (VMS) stabilization frameworks have been proposed to improve upon classical SUPG formulations by better controlling cross-wind oscillations and enhancing robustness on non-uniform meshes <xref ref-type="bibr" rid="bib1.bibx39 bib1.bibx7" id="paren.8"><named-content content-type="pre">e.g.</named-content></xref>. While these approaches significantly improve the behavior of stabilized continuous Galerkin (CG) methods in many advection-dominated regimes, they still rely on residual-based modeling and may introduce some degree of numerical diffusion, particularly when sharp fronts or strongly localized features must be preserved.</p>
      <p id="d2e292">An alternative approach to improving stability while addressing the limitations of SUPG is the discontinuous Galerkin method (DG) <xref ref-type="bibr" rid="bib1.bibx51 bib1.bibx62" id="paren.9"><named-content content-type="pre">e.g.</named-content></xref>, which is increasingly used within FEMs <xref ref-type="bibr" rid="bib1.bibx4 bib1.bibx31 bib1.bibx32" id="paren.10"><named-content content-type="pre">e.g.</named-content></xref>. Unlike the standard Galerkin method, which requires the test functions to be smooth and continuous across element boundaries, this method allows the test functions to be discontinuous at those boundaries. Instead, it uses special conditions, called numerical fluxes, to handle how information passes between elements. These fluxes account for information exchange between elements, maintaining stability and accuracy while the discontinuous nature of the test functions allows for sharper resolution of solution features across interfaces. Treating these discontinuities requires the use of “halo” or “ghost” elements surrounding native elements to receive the solution from one partition to another or on domain boundaries, which results in additional computation and communication volume <xref ref-type="bibr" rid="bib1.bibx6" id="paren.11"/>. Although the method generally improves the solution compared to CG methods, it still experiences inherent numerical diffusion that arises from the numerical flux formulations used to ensure stability at element interfaces.</p>
      <p id="d2e308">Particle-based approaches, which are conceptually rooted in the Lagrangian framework, offer a distinct perspective on transport processes. Instead of solving the continuum equations on a fixed spatial grid, these methods explicitly track discrete particles (or markers) as they move along trajectories defined by the flow field <xref ref-type="bibr" rid="bib1.bibx53" id="paren.12"><named-content content-type="pre">e.g.</named-content></xref>. Physical quantities are carried by the particles themselves and evolve according to the local flow, thereby avoiding the explicit computation of the advection term on a mesh.</p>
      <p id="d2e316">More broadly, Lagrangian and hybrid formulations encompass a wide spectrum of approaches beyond particle tracking, including moving-mesh formulations such as Arbitrary Lagrangian–Eulerian (ALE) methods, coupled Eulerian–Lagrangian (CEL) techniques, and Material Point Method (MPM) formulations. These approaches have demonstrated strong capabilities for simulating fully coupled ice-flow, damage, and fracture processes, including rift propagation and evolving ice–ocean boundaries <xref ref-type="bibr" rid="bib1.bibx26 bib1.bibx23 bib1.bibx24 bib1.bibx25" id="paren.13"><named-content content-type="pre">e.g.</named-content></xref>. Particle-in-cell (PiC) tracer approaches have also been used to investigate crevasse advection and its impact on calving dynamics <xref ref-type="bibr" rid="bib1.bibx3" id="paren.14"><named-content content-type="pre">e.g.</named-content></xref>.</p>
      <p id="d2e329">Although particle-based formulations can scale efficiently on modern high-performance computing systems <xref ref-type="bibr" rid="bib1.bibx38 bib1.bibx28" id="paren.15"><named-content content-type="pre">e.g.</named-content></xref>, they may still become computationally demanding in large-scale simulations due to the large number of particles that must be tracked and interpolated at each time step. This overhead is particularly relevant in coupled Eulerian–Lagrangian frameworks, where particle advection and particle–mesh interpolation introduce additional communication and memory costs.</p>
      <p id="d2e337">In contrast, the present work focuses on the advection of tracer-like quantities within an Eulerian finite-element ice-flow model, for which semi-Lagrangian methods provide a lightweight alternative that avoids maintaining persistent particle populations while limiting numerical diffusion. The semi-Lagrangian scheme stands between Eulerian and Lagrangian formulations by solving the transport equation along characteristic trajectories computed from the Eulerian velocity field. More precisely, the semi-Lagrangian scheme solves the transport equation along characteristic trajectories obtained by backward integration of the Eulerian velocity field <xref ref-type="bibr" rid="bib1.bibx9 bib1.bibx42" id="paren.16"><named-content content-type="pre">e.g.</named-content></xref>. In the present implementation, these trajectories are approximated using particles initialized at mesh locations. Particles are initialized at each node, element barycenter or integration point of the Eulerian mesh at the current time step. Field values are then interpolated from the Eulerian mesh to the former position of the particles and transported to their position at the current time step.</p>
      <p id="d2e345">In this study, we present a semi-Lagrangian (SL) method developed in the Elmer finite element model, a multiphysical simulation software mainly developed by CSC in Finland (<uri>https://research.csc.fi/service/elmer/</uri>, last access: 15 June 2026) that can solve a large number of partial differential equations, including models for fluid dynamics. While SL and Discontinuous Galerkin (DG) advection schemes were already present in Elmer, the original SL implementation had several limitations that prevented its reliable use for the advection of active tracers such as damage variables. In this work, we revisit and substantially extend this solver by correcting the treatment of source terms depending on the transported variable, improving particle tracking and boundary handling, and ensuring robust parallel execution (see Appendix <xref ref-type="sec" rid="App1.Ch1.S1.SS1"/> for implementation improvements). Using this improved implementation, we perform a systematic and quantitative comparison between the SL and DG advection schemes within Elmer, highlighting their respective strengths and limitations in the transport of sharp tracer features. Finally, using the glaciological extension of Elmer, Elmer/Ice, which can be used to simulate complex ice flows <xref ref-type="bibr" rid="bib1.bibx12" id="paren.17"/>, we demonstrate the ability of both advection schemes to simulate the transport of ice damage (representations of sub-mesh-scale ice crevasses) in a realistic scenario for which numerical diffusion has often been a limiting factor.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Methods</title>
      <p id="d2e364">In this section, we provide a detailed overview of the SL method, starting with its theoretical foundations, followed by the specific implementation of the particle tracking within Elmer. Additionally, we briefly introduce the DG method, which we use for comparison with the SL method.</p>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Semi-Lagrangian advection</title>
      <p id="d2e374">By definition, a Lagrangian description of a system consists of following individual particles along their trajectories as opposed to the classical Eulerian description usually used in Elmer, which focuses on the variation of system variables at fixed locations (the grid points). The SL method is based on a Lagrangian discretization of the transport equation but uses the Eulerian velocity field to determine the particle velocities and, therefore, their trajectories. The velocity and pressure fields are typically solved following Stokes-like equations with Elmer's standard continuous Galerkin formulation with stabilized equal-order linear elements. The resulting velocity field is continuous at element nodes, ensuring smooth trajectories for particle advection. In the absence of source/sink, particles are then simply used to carry advected field from their previous to their current locations. To this end, particles are initialized at the mesh nodes (they can also be initialized at the center of the elements or at integration points) and tracked backward in time following the velocity field <inline-formula><mml:math id="M6" display="inline"><mml:mi mathvariant="bold-italic">u</mml:mi></mml:math></inline-formula>. In the present implementation, particles are not persistently stored throughout the entire simulation but are periodically reinitialized from the Eulerian field at a user-defined interval (see Sect. <xref ref-type="sec" rid="Ch1.S4"/> for an example of the impact of this choice). When their previous position is recovered, the value of the advected field is reconstructed from the Eulerian mesh using continuous Galerkin (CG) shape functions and assigned to the corresponding nodes at the current time step. These nodal values are subsequently projected to the integration points when required for source-term and velocity-update evaluations (the principle of the method is illustrated in Fig. <xref ref-type="fig" rid="F1"/>). This is done by evaluating the following integral:

            <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M7" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∫</mml:mo><mml:mi>t</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:munderover><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M8" display="inline"><mml:mi mathvariant="bold-italic">r</mml:mi></mml:math></inline-formula> is the position vector, <inline-formula><mml:math id="M9" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> is the current time step at which we want to evaluate the new value and new position of the transported variable <inline-formula><mml:math id="M10" display="inline"><mml:mi>q</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M11" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> is the previous time step. In order to account for the spatial variability of the velocity field in the reconstruction of the particle trajectory, the integral in Eq. (<xref ref-type="disp-formula" rid="Ch1.E2"/>) is evaluated by dividing the main time step of the simulation <inline-formula><mml:math id="M12" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> into a discrete number <inline-formula><mml:math id="M13" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> of internal time steps <inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> so that:

            <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M15" display="block"><mml:mrow><mml:munderover><mml:mo movablelimits="false">∫</mml:mo><mml:mi>t</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:munderover><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:munderover><mml:msub><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          with <inline-formula><mml:math id="M16" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the position vector at internal time step <inline-formula><mml:math id="M17" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> (the red dots in Fig. <xref ref-type="fig" rid="F1"/>). Note that the value of <inline-formula><mml:math id="M18" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> is a trade-off between an increasing computation time for large <inline-formula><mml:math id="M19" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> and inaccuracies in the path description, leading to an inaccurate evaluation of the position <inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and therefore the particle value <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:mi>q</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, for small <inline-formula><mml:math id="M22" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula>. The integral may be evaluated using a first-order explicit scheme or a second-order Runge–Kutta scheme. In the first-order scheme, a quadratic correction of the velocity <inline-formula><mml:math id="M23" display="inline"><mml:mi mathvariant="bold-italic">u</mml:mi></mml:math></inline-formula> accounts for the variation of the velocity field across a particle's path, improving the tracking:

            <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M24" display="block"><mml:mrow><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula>

          with <inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M26" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> the velocity and velocity gradient at the current time step <inline-formula><mml:math id="M27" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> and evaluated in <inline-formula><mml:math id="M28" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, respectively. This evaluation is conducted by determining the location of the particle in the element, solving for the local coordinates, and interpolating from nodal values through shape functions. When using a second-order Runge–Kutta temporal discretization, the method already contains inherent quadratic terms, and the correction is not applied. However, the correction of Eq. (<xref ref-type="disp-formula" rid="Ch1.E4"/>) is quadratic in the velocity field and can lead to oscillations in the computed field, resulting in non-physical particle positions. When the particles have been advected, the field is evaluated from:

            <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M29" display="block"><mml:mrow><mml:mi>q</mml:mi><mml:mo>=</mml:mo><mml:mi>q</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>q</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>

          where the variable <inline-formula><mml:math id="M30" display="inline"><mml:mi>q</mml:mi></mml:math></inline-formula> in each node depends on the interpolated value of <inline-formula><mml:math id="M31" display="inline"><mml:mi>q</mml:mi></mml:math></inline-formula> at the initial position and the earlier time step.</p>

      <fig id="F1"><label>Figure 1</label><caption><p id="d2e844">Schematics of a finite element mesh and a particle (here a nodal particle in green) that is back-tracked in time until reaching the position it was at previous time step (grey particle with a value interpolated from the finite element). <bold>(a)</bold> The back-tracking is divided in a series of internal time steps  <inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> that can be adjusted for accuracy. <bold>(b)</bold> The source integral is then evaluated forward in time, over the same number of time steps <inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8269/2026/gmd-19-8269-2026-f01.png"/>

        </fig>

      <p id="d2e885">A source term <inline-formula><mml:math id="M34" display="inline"><mml:mi mathvariant="italic">χ</mml:mi></mml:math></inline-formula> that depends on the evolution of the particle along the path integral, following a function <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:mi mathvariant="italic">χ</mml:mi><mml:mo>(</mml:mo><mml:mi>q</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, can be evaluated over time. This corresponds to solving:

                <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M36" display="block"><mml:mstyle class="stylechange" displaystyle="true"/><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>I</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="italic">χ</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∫</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:munderover><mml:mi mathvariant="italic">χ</mml:mi><mml:mo>(</mml:mo><mml:mi>q</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></disp-formula>

          The new value of <inline-formula><mml:math id="M37" display="inline"><mml:mi>q</mml:mi></mml:math></inline-formula> is then reevaluated as the combination of Eqs. (<xref ref-type="disp-formula" rid="Ch1.E5"/>) and (<xref ref-type="disp-formula" rid="Ch1.E6"/>):

                <disp-formula id="Ch1.E7" content-type="numbered"><label>7</label><mml:math id="M38" display="block"><mml:mstyle class="stylechange" displaystyle="true"/><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi>q</mml:mi><mml:mo>=</mml:mo><mml:mi>q</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="italic">χ</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e1028">Back-tracked particles have to be localized within the mesh at each internal time step <inline-formula><mml:math id="M39" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> to capture the velocity of the particle. The simplest way to find this position is to localize the particle's new location using the coordinate of the particle to retrieve its position into the mesh. The method is accurate but very inefficient for unstructured meshes, making it very greedy in terms of computation time and memory access. In-cell test algorithms have been developed to overcome this issue <xref ref-type="bibr" rid="bib1.bibx38 bib1.bibx20 bib1.bibx28" id="paren.18"><named-content content-type="pre">e.g.</named-content></xref>. The in-cell test allows to back-track the mesh cell where the particle resides, without the need for additional searches over the entire mesh. The shape functions associated with the nodes within the element are then evaluated, and the interpolation is performed using the nodal values.</p>
      <p id="d2e1047">Our particle-tracking algorithm is based on the method developed by <xref ref-type="bibr" rid="bib1.bibx38" id="text.19"/>. It involves tracking the motion of particles from element to element by checking whether or not an element face is crossed over an internal time step. Similarly to <xref ref-type="bibr" rid="bib1.bibx38" id="text.20"/>, let's define a particle with an initial position <inline-formula><mml:math id="M40" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> corresponding to a node. For each internal time step <inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> of the back-tracking procedure, a check is performed to evaluate whether or not one of the faces of the element has been crossed. This is done through geometrical considerations via the calculation of determinants between the vectors formed by the initial and final locations of the particle over the internal time step on the one hand, and the vectors formed by the positions of the nodes of the considered element face on the other hand. If it turns out that a face has been crossed, the face index is used to determine which element, if any, is on the other side of the face. Then, the algorithm is continued from this new element for each remaining internal time step <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> until the end of the main simulation time step <inline-formula><mml:math id="M43" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. While the method requires some complex geometrical tests, it is shown that computational time scales approximately linearly (<inline-formula><mml:math id="M44" display="inline"><mml:mrow><mml:mi mathvariant="script">O</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>) with the number of particles (<inline-formula><mml:math id="M45" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>), as only local operations are performed. This makes the method faster than most tree-based localizations that are shown to scale logarithmically (<inline-formula><mml:math id="M46" display="inline"><mml:mrow><mml:mi mathvariant="script">O</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mi>log⁡</mml:mi><mml:msub><mml:mi>N</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>). More detail on the particle location and element crossing, as well as the interaction with boundary interfaces can be found in the Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/>.</p>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Discontinuous Galerkin advection</title>
      <p id="d2e1166">In Elmer/Ice, the advection equation Eq. (<xref ref-type="disp-formula" rid="Ch1.E1"/>) can also be solved by applying a discontinuous Galerkin method (DG). Similarly to the SL algorithm, the flow solution does not rely on a DG formulation; only the advection equation employs a DG formulation. The implementation of the method mostly relies on the work of <xref ref-type="bibr" rid="bib1.bibx4" id="text.21"/> for solving first-order linear hyperbolic equations. In this method,  the stability of the numerical scheme (i.e. the stabilization of the oscillations near the discontinuities) is ensured by adding a jump-penalty term to the discretized Eq. (<xref ref-type="disp-formula" rid="Ch1.E1"/>) without requiring upwind stabilization or other terms. Only a short summary is presented here.</p>
      <p id="d2e1176">To apply the DG method with jump-penalty stabilization to the advection equation, we begin by rewriting Eq. (<xref ref-type="disp-formula" rid="Ch1.E1"/> in its weak form by multiplying it by a discontinuous test function <inline-formula><mml:math id="M47" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and integrating over each element <inline-formula><mml:math id="M48" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>:

                <disp-formula id="Ch1.E8" content-type="numbered"><label>8</label><mml:math id="M49" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mi>T</mml:mi></mml:munder><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi>v</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>x</mml:mi><mml:mo>+</mml:mo><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mi>T</mml:mi></mml:munder><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi>q</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi>v</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mi>T</mml:mi></mml:munder><mml:mi>S</mml:mi><mml:msub><mml:mi>v</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>x</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          Integrating the advection term by parts, we obtain:

                <disp-formula id="Ch1.E9" content-type="numbered"><label>9</label><mml:math id="M50" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mi>T</mml:mi></mml:munder><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi>q</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi>v</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mi>T</mml:mi></mml:munder><mml:msub><mml:mi>q</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi>v</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>x</mml:mi><mml:mo>+</mml:mo><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:munder><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>q</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>v</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>s</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M51" display="inline"><mml:mi mathvariant="bold-italic">n</mml:mi></mml:math></inline-formula> is the outward normal on <inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e1412">The DG formulation can then be expressed as:

                <disp-formula specific-use="align" content-type="numbered"><mml:math id="M53" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>T</mml:mi><mml:mo>∈</mml:mo><mml:msub><mml:mi mathvariant="script">T</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:munder><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mi>T</mml:mi></mml:munder><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi>v</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>T</mml:mi><mml:mo>∈</mml:mo><mml:msub><mml:mi mathvariant="script">T</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:munder><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mi>T</mml:mi></mml:munder><mml:msub><mml:mi>q</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:msub><mml:mi>v</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>+</mml:mo><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>e</mml:mi><mml:mo>∈</mml:mo><mml:msub><mml:mi mathvariant="script">E</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:munder><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mi>e</mml:mi></mml:munder><mml:mo mathvariant="italic">{</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>q</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mo mathvariant="italic">}</mml:mo><mml:mo>[</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mo>]</mml:mo><mml:mo>]</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mlabeledtr id="Ch1.E10"><mml:mtd><mml:mtext>10</mml:mtext></mml:mtd><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>+</mml:mo><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>e</mml:mi><mml:mo>∈</mml:mo><mml:msub><mml:mi mathvariant="script">E</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:munder><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mi>e</mml:mi></mml:munder><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mo>[</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mo>]</mml:mo><mml:mo>]</mml:mo><mml:mo>[</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mo>]</mml:mo><mml:mo>]</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>T</mml:mi><mml:mo>∈</mml:mo><mml:msub><mml:mi mathvariant="script">T</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:munder><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mi>T</mml:mi></mml:munder><mml:mi>S</mml:mi><mml:msub><mml:mi>v</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>x</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

          where the third term <inline-formula><mml:math id="M54" display="inline"><mml:mrow><mml:msub><mml:mo>∫</mml:mo><mml:mi>e</mml:mi></mml:msub><mml:mo mathvariant="italic">{</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>q</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mo mathvariant="italic">}</mml:mo><mml:mo>[</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mo>]</mml:mo><mml:mo>]</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:math></inline-formula> captures the advection across the element interface <inline-formula><mml:math id="M55" display="inline"><mml:mi>e</mml:mi></mml:math></inline-formula> using the average flux, with <inline-formula><mml:math id="M56" display="inline"><mml:mrow><mml:mo>[</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mo>]</mml:mo><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> being the jump operator representing the difference in <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> between the two sides of <inline-formula><mml:math id="M58" display="inline"><mml:mi>e</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M59" display="inline"><mml:mrow><mml:mo mathvariant="italic">{</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi>q</mml:mi><mml:mi>h</mml:mi></mml:msub><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> represents the mean flux across <inline-formula><mml:math id="M60" display="inline"><mml:mi>e</mml:mi></mml:math></inline-formula>. The fourth term ensures stability by penalizing large jumps in <inline-formula><mml:math id="M61" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> across element edges, where <inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is a penalty parameter, often set as <inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mo>|</mml:mo></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula>. This penalization helps prevent spurious oscillations and improves the convergence of the solution.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Synthetic experiments</title>
      <p id="d2e1854">To illustrate the performance of our SL model, we have conducted two numerical experiments that solve simple transport problems. The first experiment, using the Zalesak disc <xref ref-type="bibr" rid="bib1.bibx61" id="paren.22"/>, allows us to evaluate the ability of our model to transport sharp shapes while guaranteeing their conservation in a simple 2D framework. The second test allows us to evaluate the performance of the transport in a 3D framework. In both of these simple cases, the SL framework is evaluated against the Eulerian advection model usually used in Elmer with a discontinuous-Galerkin (DG) method.</p>
      <p id="d2e1860">Besides comparing the general patterns, the accuracy of the two methods will be evaluated using two metrics. The first metric assesses the spatial distribution of the advected field and consists of the normalized root mean square error (NRMSE) between a reference solution (<inline-formula><mml:math id="M64" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mtext>ref</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>) and the advected quantity (<inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> with <inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mtext>SL</mml:mtext></mml:mrow></mml:math></inline-formula> or DG):

              <disp-formula id="Ch1.E11" content-type="numbered"><label>11</label><mml:math id="M67" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mtext>NRMSE</mml:mtext><mml:mo>(</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="normal">Ω</mml:mi></mml:mfrac></mml:mstyle><mml:msqrt><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mo>∫</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mtext>ref</mml:mtext></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mo>max⁡</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mtext>ref</mml:mtext></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:msqrt><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

        The second metric is used to assess conservation, i.e. we expect the integral of the field <inline-formula><mml:math id="M68" display="inline"><mml:mi>q</mml:mi></mml:math></inline-formula> over the domain <inline-formula><mml:math id="M69" display="inline"><mml:mi mathvariant="normal">Ω</mml:mi></mml:math></inline-formula> to remain constant over time, and the following quantity to remain equal to 0 (for a closed system and without a source/sink term in Eq. <xref ref-type="disp-formula" rid="Ch1.E6"/>):

              <disp-formula id="Ch1.E12" content-type="numbered"><label>12</label><mml:math id="M70" display="block"><mml:mstyle class="stylechange" displaystyle="true"/><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi mathvariant="normal">Δ</mml:mi><mml:mo>[</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>]</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="normal">Ω</mml:mi></mml:mfrac></mml:mstyle><mml:munder><mml:mo movablelimits="false">∫</mml:mo><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:munder><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mtext>ref</mml:mtext></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mtext>ref</mml:mtext></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Solid bodies in rotation</title>
      <p id="d2e2060">This classical rotating-disc experiment is designed to assess the ability of the advection schemes to preserve sharp geometrical features and global mass under purely advective motion. Because the analytical solution corresponds to a rigid-body rotation, any deformation or diffusion of the discs can be directly attributed to numerical errors.</p>
<sec id="Ch1.S3.SS1.SSS1">
  <label>3.1.1</label><title>Experimental setup</title>
      <p id="d2e2070">We define a square domain <inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mtext>square</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>]</mml:mo><mml:mo>×</mml:mo><mml:mo>[</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, with linear (i.e. linear shape functions) square finite elements. We put 2D solid bodies in rotation within a 2D circular steady velocity field with an angular velocity <inline-formula><mml:math id="M72" display="inline"><mml:mrow><mml:mi mathvariant="italic">ω</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><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>. The discs are hence supposed to maintain their shape while rotating, allowing for the evaluation of the advection scheme's ability to accurately transport information. Simulations are performed at coarse (<inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">101</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">101</mml:mn></mml:mrow></mml:math></inline-formula> nodes) and fine resolution (<inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">201</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">201</mml:mn></mml:mrow></mml:math></inline-formula> nodes), and with different time steps, from (<inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mn mathvariant="normal">30</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M76" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M77" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mn mathvariant="normal">1440</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M78" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula>), to assess the sensitivity of the solution to both spatial and temporal resolution.</p>
      <p id="d2e2237">We perform three types of simulations: <list list-type="order"><list-item>
      <p id="d2e2242">SL transport of the discs without reinitialization of the particles, i.e. only one simulation timestep <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M80" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula>. Given the stationary velocity field, particles do not require to be reinitialized at each time step. In this case, there is almost no loss of information since only one interpolation is needed over the entire simulation – only internal time steps (<inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) are considered to improve the trajectory of the particles but the interpolation of the field to the particle position is made once at the end of the backward trajectory. As a consequence, we consider that this simulation can be used as a reference for the other methods.</p></list-item><list-item>
      <p id="d2e2281">SL transport with reinitialization at each time step (<inline-formula><mml:math id="M82" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M83" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula>). This case shows how the simulation would perform in a transient simulation with <inline-formula><mml:math id="M84" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>.</p></list-item><list-item>
      <p id="d2e2327">Eulerian transport with a DG method. The method is applied in the same conditions as the SL transport to compare the results.</p></list-item></list></p>
</sec>
<sec id="Ch1.S3.SS1.SSS2">
  <label>3.1.2</label><title>Results</title>
      <p id="d2e2338">The SL and Eulerian DG methods exhibit opposite sensitivities to spatial and temporal resolution (Figs. <xref ref-type="fig" rid="F2"/> and <xref ref-type="fig" rid="F3"/>). With the SL method, the sharpness of the discs at the end of the solution increases with spatial resolution and decreases with temporal resolution. This is directly linked to interpolation errors: higher spatial resolution improves the interpolation accuracy, while smaller time steps increase the number of interpolations performed during the simulation. As <inline-formula><mml:math id="M85" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> decreases, particles move only slightly within the same element and are therefore interpolated more frequently, leading to the accumulation of interpolation errors. For sufficiently small <inline-formula><mml:math id="M86" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> (e.g. <inline-formula><mml:math id="M87" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">200</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M88" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math id="M89" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M90" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">700</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M91" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math id="M92" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>), this decrease in accuracy tends to stabilize (Fig. <xref ref-type="fig" rid="F3"/>a). This saturation occurs because the interpolated values change very little between successive steps, and the cumulative interpolation error becomes effectively bounded.</p>

      <fig id="F2" specific-use="star"><label>Figure 2</label><caption><p id="d2e2454">Evolution of two discs and one Zalesak disc after a complete rotation: <bold>(a)</bold> Reference solution (i.e. the SL solution after one rotation with no reinitialisation), <bold>(b, d, f)</bold> SL solution and <bold>(c, e, g)</bold> Eulerian DG. The simulation is conducted at the resolution <inline-formula><mml:math id="M93" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> with 3 different <inline-formula><mml:math id="M94" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>: (first line) <inline-formula><mml:math id="M95" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>×</mml:mo><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">90</mml:mn></mml:mrow></mml:math></inline-formula>, (second line) <inline-formula><mml:math id="M96" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>×</mml:mo><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">360</mml:mn></mml:mrow></mml:math></inline-formula>, (third line) <inline-formula><mml:math id="M97" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>×</mml:mo><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">720</mml:mn></mml:mrow></mml:math></inline-formula>. The grey arrows show the circular direction of the flow.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/8269/2026/gmd-19-8269-2026-f02.png"/>

          </fig>

      <fig id="F3" specific-use="star"><label>Figure 3</label><caption><p id="d2e2565">Assessment of the SL and Eulerian DG methods after a full rotation of the three solid bodies: <bold>(a)</bold> NRMSE (Eq. <xref ref-type="disp-formula" rid="Ch1.E11"/>) and <bold>(b)</bold> spatially-integrated relative bias in concentration (Eq. <xref ref-type="disp-formula" rid="Ch1.E12"/>). The results are shown for low (<inline-formula><mml:math id="M98" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">101</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">101</mml:mn></mml:mrow></mml:math></inline-formula> nodes) and high (<inline-formula><mml:math id="M99" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">201</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">201</mml:mn></mml:mrow></mml:math></inline-formula> nodes) spatial resolutions.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/8269/2026/gmd-19-8269-2026-f03.png"/>

          </fig>

      <p id="d2e2630">On the contrary, the accuracy of the Eulerian DG method increases mostly with temporal resolution, while showing little sensitivity to spatial resolution (Fig. <xref ref-type="fig" rid="F3"/>a).</p>
      <p id="d2e2635">In terms of conservation, the SL method leads to a decrease of <inline-formula><mml:math id="M100" display="inline"><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> as <inline-formula><mml:math id="M101" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> increases, resulting in non-zero values of Eq. (<xref ref-type="disp-formula" rid="Ch1.E12"/>). This loss can be attributed to the non-conservative nature of the particle–mesh interpolation process, where particle values are reconstructed from nodal values using FEM shape functions. In contrast, with DG, <inline-formula><mml:math id="M102" display="inline"><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> remains largely insensitive to changes in <inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> and is therefore conservative. Finally, the diffusion introduced by the SL method is mostly isotropic, whereas the diffusion in the Eulerian DG scheme is primarily aligned with the velocity field (Fig. <xref ref-type="fig" rid="F2"/>).</p>
</sec>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Tracer in a 3D slab flow</title>
      <p id="d2e2702">This second experiment extends the analysis to a three-dimensional setting and focuses on the influence of time stepping, parallel domain decomposition, and computational cost on tracer advection.</p>
<sec id="Ch1.S3.SS2.SSS1">
  <label>3.2.1</label><title>Experimental setup</title>
      <p id="d2e2712">This experiment involves a 3D parallelepipedal domain with a horizontal surface <inline-formula><mml:math id="M104" display="inline"><mml:mi mathvariant="normal">Ω</mml:mi></mml:math></inline-formula> of <inline-formula><mml:math id="M105" display="inline"><mml:mrow><mml:mn mathvariant="normal">100</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow><mml:mo>×</mml:mo><mml:mn mathvariant="normal">50</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> and a thickness of 100 <inline-formula><mml:math id="M106" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>. We impose a 1000 <inline-formula><mml:math id="M107" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">yr</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> unidirectional flow along <inline-formula><mml:math id="M108" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>.  We use 3D linear hexahedral elements obtained by vertically extruding the 2D rectangular mesh into three layers and conduct the simulations at a coarse resolution (<inline-formula><mml:math id="M109" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>) with <inline-formula><mml:math id="M110" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> elements, i.e. 15 912 nodes, and a fine resolution (<inline-formula><mml:math id="M111" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>) with <inline-formula><mml:math id="M112" display="inline"><mml:mrow><mml:mn mathvariant="normal">250</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow><mml:mo>×</mml:mo><mml:mn mathvariant="normal">250</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> elements, i.e. 401 919 nodes. A donut-shaped tracer is initialized at the position <inline-formula><mml:math id="M113" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">25</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M114" display="inline"><mml:mrow><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">25</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> (center of the donut) to test the advection algorithms. The simulations are conducted for 50 years with a stationary flow. The horizontal velocities are set up so that the center of the tracer flows from <inline-formula><mml:math id="M115" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">25</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M116" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">75</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> over the course of the simulation.</p>
      <p id="d2e2912">With the increasing availability of high-performance computing systems, most numerical simulations are now executed in parallel. Such parallelization can be challenging for the SL algorithm when one particle moves from one partition to another. We perform the simulations using distributed-memory parallelization with MPI only; no shared-memory (OpenMP) parallelism is employed. Inter-partition communication is carried out after each internal time step of the particle tracking to ensure consistent particle ownership across sub-domain boundaries. A dedicated scalability analysis is presented in Appendix <xref ref-type="sec" rid="App1.Ch1.S1.SS4"/>. In addition, we compare the computation time of the SL and the DG methods, as well as the impact of the number <inline-formula><mml:math id="M117" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> of internal time steps <inline-formula><mml:math id="M118" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> in Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>).</p>
</sec>
<sec id="Ch1.S3.SS2.SSS2">
  <label>3.2.2</label><title>Results</title>
      <p id="d2e2946">In this experiment, the SL method shows again a large sensitivity to the time-stepping choice. Given that the grid is regular and the flow velocity is uniform, steady, and unidirectional, the best results are obtained when fixing <inline-formula><mml:math id="M119" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mi>m</mml:mi><mml:mo>×</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (with <inline-formula><mml:math id="M120" display="inline"><mml:mrow><mml:mi>m</mml:mi><mml:mo>∈</mml:mo><mml:mi mathvariant="double-struck">N</mml:mi></mml:mrow></mml:math></inline-formula>), which allows a perfect node-to-node displacement at each <inline-formula><mml:math id="M121" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> and no interpolation requirement in the absence of any source/sink term. Once we fall into values of <inline-formula><mml:math id="M122" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>&lt;</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, we rapidly see a decrease in solution sharpness with increasing diffusion as <inline-formula><mml:math id="M123" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> decreases (Fig. <xref ref-type="fig" rid="F4"/>a). Since the particles follow a straight line, there is no need for internal time steps to improve the accuracy of the trajectory and we see little to no impact of the number of internal time steps <inline-formula><mml:math id="M124" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> in Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>). Contrary to the previous case, where the solid shapes were moving along both <inline-formula><mml:math id="M125" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M126" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> axes, the uni-directional trajectory only leads to interpolation error along <inline-formula><mml:math id="M127" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>, allowing to have no diffusion along <inline-formula><mml:math id="M128" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>, i.e. perpendicularly to the flow.</p>

      <fig id="F4" specific-use="star"><label>Figure 4</label><caption><p id="d2e3074">Donut transport with the <bold>(a)</bold> SL method (with <inline-formula><mml:math id="M129" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula>)  and <bold>(b)</bold> the DG method, at 1 <inline-formula><mml:math id="M130" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> resolution. The donut advects from left to right and is plotted on each panel at <inline-formula><mml:math id="M131" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M132" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M133" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">25</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M134" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M135" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M136" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula>. Flowlines are represented in grey.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/8269/2026/gmd-19-8269-2026-f04.png"/>

          </fig>

      <p id="d2e3170">These results stand again in opposition with the DG method which leads to better performance when using a smaller <inline-formula><mml:math id="M137" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> (Fig. <xref ref-type="fig" rid="F4"/>b), with little impact of the spatial resolution. Focusing on the calculation of the NRMSE (Eq. <xref ref-type="disp-formula" rid="Ch1.E11"/>), the SL method yields smaller NRMSE as <inline-formula><mml:math id="M138" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> increases, while the DG method leads to higher NRMSE (Fig. <xref ref-type="fig" rid="F5"/>). In both cases, the rate of the NRMSE evolution decreases over time, which can be due to an increasing numerical accuracy as the solution gets smoother. In terms of concentration, the DG method leads to almost no average concentration loss (i.e. less than 1 <inline-formula><mml:math id="M139" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">%</mml:mi></mml:mrow></mml:math></inline-formula> after 50 years) while the SL concentration oscillates up to <inline-formula><mml:math id="M140" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M141" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">%</mml:mi></mml:mrow></mml:math></inline-formula>. This reflects the non-conservative nature of the particle–mesh interpolation: depending on the local configuration, the reconstructed field can introduce either a slight artificial gain or loss when integrated over the domain. The small oscillations visible in Fig. <xref ref-type="fig" rid="F5"/> primarily originate from the repeated reinitializations and interpolations of particle values at each simulation time step (<inline-formula><mml:math id="M142" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>), which leads to the accumulation of rounding and interpolation errors. The number of internal sub-steps (<inline-formula><mml:math id="M143" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>, kept constant here) affects these oscillations only indirectly through its influence on trajectory accuracy. In parallel runs, additional minor deviations may arise from transient particle losses when particles cross sub-domain boundaries between MPI synchronizations; these events are rare and decrease as synchronization frequency increases.</p>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e3251"><bold>(a)</bold> NRMSE and <bold>(b)</bold> spatially-integrated relative bias in concentration of the donut tracer over time for different time step lengths at 1 <inline-formula><mml:math id="M144" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> resolution (SL: blue shades; DG: red shades).</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/8269/2026/gmd-19-8269-2026-f05.png"/>

          </fig>

      <p id="d2e3273">The computation time also differs between the methods. For identical <inline-formula><mml:math id="M145" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, the computing time of the SL method increases with the number of internal time steps <inline-formula><mml:math id="M146" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> (see Table <xref ref-type="table" rid="T1"/>). This behavior is approximately linear, as interpolation and mesh-related operations are performed once per simulation time step, whereas the particle advection cost scales with <inline-formula><mml:math id="M147" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula>. Although large values of <inline-formula><mml:math id="M148" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> are not required in the present configuration, they increase the SL runtime relative to the DG method, whose cost typically falls within the range of the SL solver for <inline-formula><mml:math id="M149" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula>. Nevertheless, for the configurations considered here, these advection costs remain small compared with the computational expense of the 3D flow solvers (e.g. Stokes flow) typically used in Elmer.</p>

<table-wrap id="T1" specific-use="star"><label>Table 1</label><caption><p id="d2e3335">Average time (in seconds) spent in the solver over one simulation time step (<inline-formula><mml:math id="M150" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>) for different algorithms for the 3D-slab-flow case of Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/> for an 8-partition domain and a 1 <inline-formula><mml:math id="M151" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> resolution.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="6">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="center"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:colspec colnum="6" colname="col6" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Method</oasis:entry>
         <oasis:entry colname="col2">DG</oasis:entry>
         <oasis:entry colname="col3">SL (<inline-formula><mml:math id="M152" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col4">SL (<inline-formula><mml:math id="M153" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col5">SL (<inline-formula><mml:math id="M154" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col6"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Average time step time <inline-formula><mml:math id="M155" display="inline"><mml:mrow class="unit"><mml:mo>(</mml:mo><mml:mi mathvariant="normal">s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0.23</oasis:entry>
         <oasis:entry colname="col3">0.11</oasis:entry>
         <oasis:entry colname="col4">0.41</oasis:entry>
         <oasis:entry colname="col5">0.78</oasis:entry>
         <oasis:entry colname="col6"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Application of semi-Lagrangian and discontinuous Galerkin advection to ice-damage evolution in Antarctica</title>
      <p id="d2e3481">The experiments conducted to assess the performance of the SL method in comparison with the DG method provide valuable insights into the behavior of these numerical schemes under different conditions. These results demonstrate the trade-offs involved in using SL and DG methods, particularly in terms of accuracy, computational efficiency, and sensitivity to spatial and temporal resolutions.</p>
      <p id="d2e3484">Hereafter, we apply both advection schemes to a high-resolution ice sheet model to simulate the evolution of ice damage in the Amundsen Sea region, where a rapid and significant ice-sheet mass loss has been observed over the last decades <xref ref-type="bibr" rid="bib1.bibx55" id="paren.23"><named-content content-type="pre">e.g.</named-content></xref>. This rapid mass loss has led to structural changes in the ice sheet and increased damage in key areas such as shear margins <xref ref-type="bibr" rid="bib1.bibx56 bib1.bibx34 bib1.bibx2" id="paren.24"/>. These damaged areas correspond to highly crevassed regions that often appear where the ice becomes afloat and evolve as they are advected downstream over the ocean.</p>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Numerical ice sheet setup and experiment</title>
      <p id="d2e3502">We build a 3D model of the region and simulate the ice flow using the state-of-the-art Stokes flow model Elmer/Ice (see Appendix <xref ref-type="sec" rid="App1.Ch1.S2.SS1"/>), following the initialization procedure described in Appendix <xref ref-type="sec" rid="App1.Ch1.S2.SS2"/>. The model is discretized on an unstructured finite-element mesh using stabilized equal-order linear wedge elements for velocity and pressure. Numerical integration is performed using 44 Gauss points per element (11 points on the triangular face and 4 along the vertical direction). Although the velocity and pressure are approximated with first-order Lagrange elements, this relatively high quadrature order is required to accurately integrate the nonlinear viscosity and stabilization terms within each element. Stresses are computed at these integration points and subsequently interpolated to the mesh nodes, where the damage variable is evaluated. Once initialized, we simulate the evolution of damage over 50 years.</p>
      <p id="d2e3509">Our damage model is based on Continuous Damage Mechanics (CDM) and follows the same physical approach as <xref ref-type="bibr" rid="bib1.bibx30" id="text.25"/> and <xref ref-type="bibr" rid="bib1.bibx14" id="text.26"/>: damage is created where the maximum tensile principal stress exceeds a threshold and is advected downstream with the flow. The corresponding advection equation with a source term is solved using either the SL or the DG solver described previously.</p>
      <p id="d2e3518">To keep the case as simple as possible, we use a constant source term for damage and focus only on the creation of surface damage (i.e. we do not include basal damage due to water pressure in Eq. <xref ref-type="disp-formula" rid="App1.Ch1.S2.E26"/>). We also ignore feedbacks between damage and viscosity (see Eq. <xref ref-type="disp-formula" rid="App1.Ch1.S2.E21"/>). Details of the damage model are presented in Appendix <xref ref-type="sec" rid="App1.Ch1.S2.SS3"/>. A key parameter of the model is the stress threshold <inline-formula><mml:math id="M156" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mtext>th</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> at which damage occurs. In previous studies, <inline-formula><mml:math id="M157" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mtext>th</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is often taken between 0.1–0.3 <inline-formula><mml:math id="M158" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MPa</mml:mi></mml:mrow></mml:math></inline-formula> <xref ref-type="bibr" rid="bib1.bibx30 bib1.bibx1 bib1.bibx19" id="paren.27"><named-content content-type="pre">e.g.</named-content></xref>. Here, we select a particularly high value of <inline-formula><mml:math id="M159" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mtext>th</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.55</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M160" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MPa</mml:mi></mml:mrow></mml:math></inline-formula> to limit damage production (<inline-formula><mml:math id="M161" display="inline"><mml:mrow><mml:mi mathvariant="italic">χ</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>) to areas clearly identified as crevasse onset regions in observations <xref ref-type="bibr" rid="bib1.bibx34" id="paren.28"/>. Additionally, mountainous regions and steep slopes are excluded from the simulations as these areas are unlikely to sustain ice cover.</p>
      <p id="d2e3601">Our synthetic experiments indicated that using longer SL advection time steps (<inline-formula><mml:math id="M162" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>) combined with multiple internal time steps (<inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) helps limit the interpolation errors that accumulate over repeated advection cycles. This issue is particularly acute in high-resolution ice-flow models (e.g. <inline-formula><mml:math id="M164" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M165" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula>), where small time steps (e.g. <inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>∼</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M167" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">year</mml:mi></mml:mrow></mml:math></inline-formula>) are typically required for the flow solver to limit feedbacks between vertical velocities and free-surface evolution.</p>
      <p id="d2e3677">To address this, the SL advection step is executed with a larger time step than the flow solver (<inline-formula><mml:math id="M168" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>&gt;</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mtext>flow</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>), reducing both interpolation frequency and computational cost. Because feedbacks between damage and viscosity are disabled in this experiment, this reduced update frequency does not affect the flow solution. In a fully coupled setup, such decoupling would introduce a trade-off between numerical diffusion and the accuracy of damage-flow interactions. However, as our focus is solely on evaluating numerical diffusion, deactivating the feedback allows us to better compare stepping choices.</p>
      <p id="d2e3699">We conduct a set of eight simulations of damage evolution using the same steady-state geometry, ice flow, and damage model parameters. Each simulation covers 50 years of damage evolution with SL advection time steps ranging from <inline-formula><mml:math id="M169" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> to 5 year. The same simulations are performed using the DG advection scheme for comparison.</p>
</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>Damage simulation results</title>
      <p id="d2e3730">The simulations reproduce the main damage structures observed in the Amundsen Sea sector, with damage primarily generated in shear margins near the grounding line of Pine Island Glacier and subsequently advected downstream along flowlines that follow patterns observed in satellite imagery <xref ref-type="bibr" rid="bib1.bibx34" id="paren.29"><named-content content-type="pre">e.g.</named-content></xref>. Over the Thwaites Ice Shelf, damage is more widespread but still aligns with the general patterns inferred from observations. Both advection schemes capture the large-scale transport of damage from upstream source regions toward the ice shelves.</p>
      <p id="d2e3739">In a purely advective setting without numerical diffusion, damage generated in localized source regions should remain laterally confined to the downstream flowlines along which it originates. To visualize potential spreading caused by numerical diffusion, we overlay flowlines with spacing ranging from about one to three elements (approximately 500 <inline-formula><mml:math id="M170" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> to 5 <inline-formula><mml:math id="M171" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> depending on the region).</p>
      <p id="d2e3758">For the SL simulations, decreasing the advection time step <inline-formula><mml:math id="M172" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>–and therefore increasing the number of particle–mesh interpolation operations–leads to increased smoothing of the vertically integrated damage field, producing progressively smoother damage patterns (Fig. <xref ref-type="fig" rid="F6"/>). This effect is particularly noticeable over Thwaites Glacier and its ice shelf, where margins and sharp structures become increasingly diffuse as <inline-formula><mml:math id="M173" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> decreases. For instance, for <inline-formula><mml:math id="M174" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M175" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula> (Fig. <xref ref-type="fig" rid="F6"/>a), only limited lateral spreading is observed: damage generated upstream remains largely confined within one flowline spacing (<inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mtext>mean</mml:mtext></mml:msub><mml:mo>&lt;</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>). Smaller time steps of <inline-formula><mml:math id="M177" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M178" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula> (Fig. <xref ref-type="fig" rid="F6"/>b) and <inline-formula><mml:math id="M179" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M180" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula> (Fig. <xref ref-type="fig" rid="F6"/>c) lead to progressively stronger lateral spreading, with damage originating from neighboring ice streams occasionally merging downstream. In addition, we observe cumulative smoothing and a gradual loss of damage intensity along the flowlines as the signal is advected farther from its source, an effect that is particularly visible along the shear margins of Pine Island Glacier and consistent with the non-conservative nature of the particle–mesh remapping.</p>

      <fig id="F6" specific-use="star"><label>Figure 6</label><caption><p id="d2e3893">Semi-Lagrangian (SL) vertically integrated damage after 50 years of simulation in the Amundsen Sea Sector for different time steps: <bold>(a)</bold> <inline-formula><mml:math id="M181" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M182" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula>, <bold>(b)</bold> <inline-formula><mml:math id="M183" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M184" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula>, and <bold>(c)</bold> <inline-formula><mml:math id="M185" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M186" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula>. All the simulations were conducted with a <inline-formula><mml:math id="M187" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mtext>th</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.55</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M188" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MPa</mml:mi></mml:mrow></mml:math></inline-formula>, and no damage retro-action neither on the viscosity nor on the damage source term, i.e. <inline-formula><mml:math id="M189" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> in Eqs. (<xref ref-type="disp-formula" rid="App1.Ch1.S2.E21"/>) and (<xref ref-type="disp-formula" rid="App1.Ch1.S2.E26"/>). The grounding line is represented with a thick black line, the flowlines with thin grey lines, and the sources for damage are represented in cyan. The Landsat Image Mosaic of Antarctica (LIMA) for the region is plotted in background. The location of Pine Island and Thwaites glacier is indicated for reference.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8269/2026/gmd-19-8269-2026-f06.jpg"/>

        </fig>

      <p id="d2e4030">The DG simulations exhibit a different spreading structure. While the large-scale damage patterns remain comparable, diffusion occurs preferentially along the flow direction. As a result, damage features tend to extend farther downstream from the source regions for larger time steps, producing elongated streaks aligned with the velocity field. This contrasts with the SL solution, where smoothing arises primarily from particle–mesh interpolation and therefore appears more isotropic, with only a secondary influence from mesh orientation. At the same time, the DG formulation preserves tracer intensity more effectively, reflecting its locally conservative nature. These differences are consistent with the behavior observed in the synthetic benchmark experiments. Small oscillatory patterns can also be observed along some DG damage trajectories, appearing as triangular structures aligned with the mesh elements. These features likely reflect element-wise reconstruction and limiting operations used in the DG discretization. Although these mesh-scale artefacts remain localized and do not significantly affect the large-scale damage distribution, they highlight differences in how the two schemes handle steep tracer gradients during advection.</p>
      <p id="d2e4033">We can also assess numerical diffusion by examining three vertical damage profiles at different locations (see locations in Fig. <xref ref-type="fig" rid="F6"/> and profiles in Fig. <xref ref-type="fig" rid="F8"/>). On <italic>Profile 1</italic> (Fig. <xref ref-type="fig" rid="F8"/>)a, d), located within a shear margin of Pine Island Glacier and downstream of a damage source, the overall damage distribution remains relatively similar for both advection schemes. However, for the SL simulations, decreasing <inline-formula><mml:math id="M190" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> leads to a reduction in the maximum damage near the surface. The DG simulations show the opposite tendency, with the surface maximum decreasing as <inline-formula><mml:math id="M191" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> increases. We also observe a deeper penetration of damage into the ice column as <inline-formula><mml:math id="M192" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> decreases or increases, depending on the method but this effect is stronger with SL. One exception occurs for very large SL time steps (e.g. <inline-formula><mml:math id="M193" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M194" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula>), which produce slightly lower damage within the upper <inline-formula><mml:math id="M195" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">100</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M196" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> of the ice column. This behavior may result from reduced numerical diffusion of damage originating from adjacent flowlines. <italic>Profile 2</italic>, located downstream of a damage source of Thwaites Glacier, exhibits a similar pattern (Fig. <xref ref-type="fig" rid="F8"/>b and e). Conversely, <italic>Profile 3</italic> which is situated between two damage sources and is not downstream of any specific source, exhibits low to no damage for <inline-formula><mml:math id="M197" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M198" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula> SL simulation. In the absence of numerical diffusion, the ice should remain undamaged at this location. However, due to numerical diffusion, damage appears and increases rapidly as <inline-formula><mml:math id="M199" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> decreases for the SL, before stabilizing once the particle displacement per time step becomes small enough that further interpolations have a lesser impact on the results (Fig. <xref ref-type="fig" rid="F8"/>c). The DG simulations also show the effect of numerical diffusion but to a lesser extent. Overall, the vertical profiles for both methods tend to converge toward similar damage distributions as <inline-formula><mml:math id="M200" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> decreases for SL and increases for DG, suggesting that numerical diffusion approaches a plateau for both schemes</p>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e4172">Same as Fig. <xref ref-type="fig" rid="F6"/> but with the Discontinuous Galerkin (DG) solver. The Landsat Image Mosaic of Antarctica (LIMA) for the region is plotted in background.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8269/2026/gmd-19-8269-2026-f07.jpg"/>

        </fig>

      <fig id="F8" specific-use="star"><label>Figure 8</label><caption><p id="d2e4185">Vertical damage profiles after 50 years of simulation for three locations shown in Figs. <xref ref-type="fig" rid="F6"/> and <xref ref-type="fig" rid="F7"/>. Panels <bold>(a–c)</bold> correspond to the semi-Lagrangian (SL) solver and panels <bold>(d–f)</bold> to the Discontinuous Galerkin (DG) solver. The three columns show results for <bold>(a, d)</bold> <italic>Profile 1</italic>, <bold>(b, e)</bold> <italic>Profile 2</italic> <bold>(b, e)</bold>, and <bold>(c, f)</bold> <italic>Profile 3</italic>. Colored solid lines indicate the different advection time steps <inline-formula><mml:math id="M201" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>, while the dashed line indicates the case <inline-formula><mml:math id="M202" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M203" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula>.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8269/2026/gmd-19-8269-2026-f08.png"/>

        </fig>

      <p id="d2e4260">In addition to the differences in numerical diffusion, the two advection schemes exhibit markedly different computational costs in the present configuration. In the Antarctic experiments, the DG simulations require an advection time step of order <inline-formula><mml:math id="M204" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>≈</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M205" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula>. In contrast, accurate SL solutions are obtained with <inline-formula><mml:math id="M206" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M207" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula> using <inline-formula><mml:math id="M208" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> internal timesteps for trajectory integration. Under these conditions, the SL advection step is roughly <inline-formula><mml:math id="M209" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula>–100 times cheaper than the DG solver at the same mesh resolution. While the SL still shows diffusion at <inline-formula><mml:math id="M210" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M211" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula>, this computing time difference could allow for the SL solver to run with <inline-formula><mml:math id="M212" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula>–100 times more particles for a similar cost as the DG solver at <inline-formula><mml:math id="M213" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>≈</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M214" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
</sec>
</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Discussion and future adaptations</title>
      <p id="d2e4406">The current application of the SL method to damage evolution in the Amundsen Sea sector of Antarctica provides a practical demonstration of both the challenges and benefits of the method in glaciological simulations. The SL method's sensitivity to time step length directly impacts the diffusion of the damage field: longer time steps reduce numerical diffusion. The observed lateral diffusion of damage along flowlines, especially in regions like Thwaites Glacier, underscores the importance of carefully selecting time step parameters to minimize unwanted diffusion while ensuring computational feasibility. While small time steps are typically required for solving ice flow (i.e. Stokes flow in our case) and free-surface evolution (usually about <inline-formula><mml:math id="M215" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M216" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">yr</mml:mi></mml:mrow></mml:math></inline-formula>), we have proposed to address the issue by decoupling the time stepping of damage evolution from the rest of the simulation. However, this approach may compromise the accuracy of the coupling between ice flow and damage evolution, which could pose challenges in capturing short timescale dynamics, such as sub-annual variations in ice flow and damage. More generally, this highlights that DG and SL schemes exhibit complementary numerical behaviors that are controlled by different error mechanisms. DG primarily benefits from time-step refinement, whereas the SL accuracy is largely controlled by spatial resolution and, critically, by the number of interpolation operations: fewer (but larger) advection steps reduce the accumulation of interpolation-driven diffusion. This distinction is important in coupled applications, where frequent exchanges between the flow solver and the transport step can amplify interpolation errors and provide the motivation for testing reduced coupling frequencies in Sect. <xref ref-type="sec" rid="Ch1.S4"/>.</p>
      <p id="d2e4439">Another practical advantage of the SL formulation is its ability to advect multiple fields within a single solver execution. This feature makes the method particularly attractive for problems involving several passively advected quantities, such as tracers, since particle trajectories can be computed once and reused for all transported variables. When source or sink terms are present, only the trajectories can be shared, while the source and sink contributions must still be evaluated separately for each field. Nevertheless, this strategy can substantially reduce the computational cost compared to Eulerian approaches, which typically require solving the full advection equation independently for each transported variable.</p>
      <p id="d2e4442">We outline four strategies to further improve the accuracy of the SL method in Elmer and potentially increase the coupling frequency between Stokes flow and SL damage advection, without introducing additional numerical diffusion:</p>
      <p id="d2e4445"><list list-type="bullet">
          <list-item>

      <p id="d2e4450">Since the additional computing cost of the SL method is usually relatively cheap to run with respect to the Stokes flow (or any flow) simulation, one possible improvement would be to run the SL method on a higher-resolution mesh than the rest of the simulation. In this approach, the Stokes flow would be computed on a coarser base mesh, and the resulting velocity field and SL source term would be interpolated onto the finer mesh for the advection step. At each time step, the advected field – such as damage – would be updated on the fine mesh and then reinterpolated back onto the coarse mesh to compute a new viscosity and solve the Stokes problem again. The  velocity field will remain unchanged across both meshes but the finer resolution and the increased number of particles will improve the interpolation of the advected fields.</p>
          </list-item>
          <list-item>

      <p id="d2e4456">Another solution would consist in dynamically adjusting  the mesh during the simulation, enabling local refinement in regions of strong gradients and thereby reducing interpolation errors. Adaptive mesh refinement strategies have been shown to improve the representation of sharp advective features by locally increasing resolution <xref ref-type="bibr" rid="bib1.bibx60" id="paren.30"/>. Remeshing tools such as <xref ref-type="bibr" rid="bib1.bibx10" id="text.31"/> are already interfaced with Elmer but their impact in the present context still needs to be quantified, in particular with respect to the trade-off between accuracy gains, additional computational cost, and potential interpolation errors introduced by the remeshing procedure itself.</p>
          </list-item>
          <list-item>

      <p id="d2e4468">Instead of increasing the resolution, the SL particles could be initialized at Gauss points used for the integration of the flow problem, which number can be larger than the number of nodes <xref ref-type="bibr" rid="bib1.bibx48" id="paren.32"><named-content content-type="post">e.g.</named-content></xref>. For example, in Elmer, we typically employ up to 44 Gauss integration points when solving the Stokes equations on linear triangular wedge elements, which could considerably increase the number of particles and the accuracy of trajectories and interpolation. However, this solution requires additional development to our current implementation of the SL problem in Elmer.</p>
          </list-item>
          <list-item>

      <p id="d2e4479">Increasing the spatial resolution of the model can reduce spatially integrated bias in the concentration of the solution, as demonstrated in our first experiment. However, a more robust solution would be to develop a conservative formulation for the particle–mesh remapping, which is not currently implemented in Elmer. The synthetic tracer experiments indicate that the dominant limitation of the present SL implementation is not the accuracy of the trajectory integration itself, but the repeated interpolation used to reconstruct the advected field on the Eulerian mesh. Because this remapping is not strictly conservative, it introduces cumulative smoothing and a gradual loss of tracer intensity over time. Conservative SL approaches enforce tracer conservation during the remapping step by redistributing tracer mass across the computational mesh, and would likely improve amplitude preservation in the present framework. However, conservative remapping schemes can also introduce shape distortions or numerical oscillations due to the inherent difficulty of simultaneously preserving conservation and monotonicity <xref ref-type="bibr" rid="bib1.bibx49" id="paren.33"><named-content content-type="pre">e.g.</named-content></xref>.</p>
          </list-item>
        </list></p>
      <p id="d2e4490">Taken together, the experiments indicate that the main limitation of the present SL implementation lies in the non-conservative particle–mesh remapping used to reconstruct the advected field. While the DG formulation better preserves tracer intensity, it introduces diffusion preferentially aligned with the flow direction and remains, to some extent constrained by smaller timesteps.</p>
      <p id="d2e4493">Developing conservative remapping strategies that better preserve tracer amplitude while maintaining the flexibility of the SL approach, therefore, represents an important direction for future developments in Elmer.</p>
      <p id="d2e4497">Finally, particle–grid approaches such as Particle-in-Cell (PiC) or Markers-in-Cell, introduced in Sect. 1, could provide an alternative strategy for tracer advection. In these methods, particles are advected forward in time while carrying tracer properties, and their values are periodically projected back onto the Eulerian mesh using conservative weighting, which can improve mass conservation and represent sub-grid variability. However, such schemes typically require maintaining a large number of particles per element to ensure adequate sampling, and particle–mesh communication as well as particle repopulation can become costly on unstructured meshes. While implementing an efficient PiC framework in Elmer would require substantial modifications to the current FEM-based data structures, they represent a promising avenue for the future evolution of Elmer particle-based implementations.</p>
</sec>
<sec id="Ch1.S6" sec-type="conclusions">
  <label>6</label><title>Conclusions</title>
      <p id="d2e4508">In this study, we implemented a semi-Lagrangian (SL) advection scheme in the finite-element ice-flow model Elmer/Ice (v26.1) and evaluated its performance for the transport of ice-damage fields. The SL formulation was benchmarked against a discontinuous Galerkin (DG) advection scheme through idealized tests and applied to a realistic Antarctic configuration to assess its behavior in a glaciological context. The results highlight the distinct numerical characteristics of the two approaches: the SL method enables the use of larger time steps with competitive accuracy but introduces numerical diffusion associated with repeated particle–mesh interpolation, whereas the DG scheme provides sharper transport of damage gradients at the cost of stricter time-step constraints. The Antarctic application demonstrates that both approaches can be used to simulate the large-scale evolution of ice damage, while illustrating the trade-offs between computational efficiency and numerical diffusion when modeling damage transport in ice-sheet simulations.</p>
      <p id="d2e4511">The DG method is particularly effective in scenarios requiring high temporal precision, as it shows significant accuracy improvements with smaller time steps. This makes DG suitable for rapidly evolving flows. On the other hand, the SL method benefits from increasing the time step size and spatial resolution, performing best when the time step allows particles to move precisely from node to node. This characteristic makes the SL method advantageous in relatively steady flows where the time step at which the transport equation is solved can be decoupled from the time step at which the velocity field is recomputed.</p>
      <p id="d2e4514">In recent years, research on ice sheet and glacier evolution has highlighted the importance of damage processes, but without thoroughly addressing the limitations of current advection methods regarding numerical stability, potential artifacts, or excessive diffusion <xref ref-type="bibr" rid="bib1.bibx57 bib1.bibx34 bib1.bibx50 bib1.bibx35" id="paren.34"><named-content content-type="pre">e.g.</named-content></xref>. The application of the SL method to ice damage evolution in the Amundsen Sea sector yields promising results, suggesting that Elmer/Ice simulations could effectively incorporate ice damage–a critical factor for accurate predictions of ice sheet and glacier evolution. Although the present simulations are steady in order to facilitate the characterization of numerical diffusion, the formulation of the SL advection scheme does not introduce mechanisms that would inherently lead to convergence or stability issues in transient simulations.</p>
      <p id="d2e4522">Looking ahead, the SL method's potential is likely to grow with advancements in computing power, which will enable finer spatial resolutions but also longer stable time steps of the free-surface problem in ice-flow and ice-sheet simulations <xref ref-type="bibr" rid="bib1.bibx36" id="paren.35"><named-content content-type="pre">e.g.</named-content></xref>.</p>
      <p id="d2e4532">For now, Elmer allows the SL method to be run at a lower frequency than the flow model itself, reducing diffusion at the expense of physical precision. As computing capabilities advance, we expect the SL method to become an even more powerful tool in glaciological simulations.</p>
</sec>

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

<app id="App1.Ch1.S1">
  <label>Appendix A</label><title>Semi-Lagrangian Model</title>
<sec id="App1.Ch1.S1.SS1">
  <label>A1</label><title>Implementation improvements to the semi-Lagrangian solver in Elmer/Ice</title>
      <p id="d2e4553">The SL solver used in this study has existed in the Elmer framework for many years. However, several limitations in the original implementation made it unsuitable for the advection of active tracers such as the damage variable considered here. In particular, the previous formulation did not properly handle source terms that depend explicitly on the transported variable. As part of the present work, several improvements and corrections have been implemented and validated. These include: <list list-type="bullet"><list-item>
      <p id="d2e4558">Correct treatment of source terms that explicitly depend on the advected variable.</p></list-item><list-item>
      <p id="d2e4562">Improvement of the path-integral formulation by allowing forward integration of the source term along the particle trajectory, as illustrated schematically in Fig. 1.</p></list-item><list-item>
      <p id="d2e4566">Improved handling of initial conditions, enabling reliable restart capabilities for long simulations.</p></list-item><list-item>
      <p id="d2e4570">Improved treatment of boundary conditions to avoid undesired particle loss near domain boundaries.</p></list-item><list-item>
      <p id="d2e4574">Corrections and improvements related to parallel execution and MPI communication.</p></list-item></list></p>
      <p id="d2e4577">These developments were implemented primarily in the modules <monospace>ParticleUtils.F90</monospace> and <monospace>ParticleAdvector.F90</monospace>. The evolution of these implementations is documented in the Elmer GitHub repository. The improvements were validated through extensive testing in both idealized benchmark experiments and realistic glaciological simulations.</p>
</sec>
<sec id="App1.Ch1.S1.SS2">
  <label>A2</label><title>Particle location and element crossing</title>
      <p id="d2e4595">The first part of the motion (in the starting element and until reaching the element face at a location <inline-formula><mml:math id="M217" display="inline"><mml:mi mathvariant="bold-italic">p</mml:mi></mml:math></inline-formula>) can be found using:

                <disp-formula id="App1.Ch1.S1.E13" content-type="numbered"><label>A1</label><mml:math id="M218" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mi mathvariant="italic">λ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M219" display="inline"><mml:mi mathvariant="italic">λ</mml:mi></mml:math></inline-formula> is the fraction along the line <inline-formula><mml:math id="M220" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> where the interaction occurs with the element face.</p>
      <p id="d2e4697">In the case of a 2D plan tracking, we can define <inline-formula><mml:math id="M221" display="inline"><mml:mi>I</mml:mi></mml:math></inline-formula> as the point corresponding to the initial position (i.e. at <inline-formula><mml:math id="M222" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>) of the particle, <inline-formula><mml:math id="M223" display="inline"><mml:mi>F</mml:mi></mml:math></inline-formula> as the point corresponding to the final position (i.e. at <inline-formula><mml:math id="M224" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>) of the particle, and <inline-formula><mml:math id="M225" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M226" display="inline"><mml:mi>B</mml:mi></mml:math></inline-formula> as the positions of the two nodes forming the tested face (or segment in this 2D case; Fig. <xref ref-type="fig" rid="FA1"/>).</p>
      <p id="d2e4752">Let's define two vectors, <inline-formula><mml:math id="M227" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">I</mml:mi><mml:mi mathvariant="bold-italic">F</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M228" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">B</mml:mi></mml:mrow></mml:math></inline-formula>. If <inline-formula><mml:math id="M229" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">I</mml:mi><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mo>×</mml:mo><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">B</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, this indicates that <inline-formula><mml:math id="M230" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">I</mml:mi><mml:mi mathvariant="bold-italic">F</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M231" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">B</mml:mi></mml:mrow></mml:math></inline-formula> are parallel, and therefore, no intersection exists between the lines they define.</p>
      <p id="d2e4815">Next, we compute <inline-formula><mml:math id="M232" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi mathvariant="bold-italic">I</mml:mi><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mo>×</mml:mo><mml:mi mathvariant="bold-italic">I</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">I</mml:mi><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mo>×</mml:mo><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">B</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula>. If this ratio is negative or greater than 1, it indicates that the line defined by <inline-formula><mml:math id="M233" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">I</mml:mi><mml:mi mathvariant="bold-italic">F</mml:mi></mml:mrow></mml:math></inline-formula> intersects the line defined by <inline-formula><mml:math id="M234" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">B</mml:mi></mml:mrow></mml:math></inline-formula> outside the segment <inline-formula><mml:math id="M235" display="inline"><mml:mrow><mml:mi>A</mml:mi><mml:mi>B</mml:mi></mml:mrow></mml:math></inline-formula>. As a result, there is no intersection between the particle path and the segment <inline-formula><mml:math id="M236" display="inline"><mml:mrow><mml:mi>A</mml:mi><mml:mi>B</mml:mi></mml:mrow></mml:math></inline-formula>.</p>

      <fig id="FA1"><label>Figure A1</label><caption><p id="d2e4890">Representation of a trajectory (<inline-formula><mml:math id="M237" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">I</mml:mi><mml:mi mathvariant="bold-italic">F</mml:mi></mml:mrow></mml:math></inline-formula>) from an initial point (<inline-formula><mml:math id="M238" display="inline"><mml:mi>I</mml:mi></mml:math></inline-formula>, here at a node of a triangular element) to a final point <inline-formula><mml:math id="M239" display="inline"><mml:mi>F</mml:mi></mml:math></inline-formula> in another element. <bold>(a)</bold> The segment <inline-formula><mml:math id="M240" display="inline"><mml:mrow><mml:mi>I</mml:mi><mml:mi>F</mml:mi></mml:mrow></mml:math></inline-formula> intersects the face segment <inline-formula><mml:math id="M241" display="inline"><mml:mrow><mml:mi>A</mml:mi><mml:mi>B</mml:mi></mml:mrow></mml:math></inline-formula> at point <inline-formula><mml:math id="M242" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula>. <bold>(b)</bold> The segment <inline-formula><mml:math id="M243" display="inline"><mml:mrow><mml:mi>I</mml:mi><mml:mi>F</mml:mi></mml:mrow></mml:math></inline-formula> is too short to intersect the face segment <inline-formula><mml:math id="M244" display="inline"><mml:mrow><mml:mi>A</mml:mi><mml:mi>B</mml:mi></mml:mrow></mml:math></inline-formula>.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8269/2026/gmd-19-8269-2026-f09.png"/>

        </fig>

      <fig id="FA2" specific-use="star"><label>Figure A2</label><caption><p id="d2e4979">Parallel scalability of the semi-Lagrangian solver. <bold>(a)</bold> Strong scaling efficiency and wall-clock time as a function of the number of partitions <inline-formula><mml:math id="M245" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>, obtained by increasing the number of processors while keeping the total problem size constant. <bold>(b)</bold> Weak scaling efficiency and wall-clock time as a function of <inline-formula><mml:math id="M246" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>, where the workload per partition is kept constant. Efficiency is defined relative to the single-partition reference case, and wall time corresponds to the elapsed time for 100 simulation time steps to reduce variability.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/8269/2026/gmd-19-8269-2026-f10.png"/>

        </fig>

      <p id="d2e5008">Finally, we calculate <inline-formula><mml:math id="M247" display="inline"><mml:mi mathvariant="italic">λ</mml:mi></mml:math></inline-formula> following

                <disp-formula id="App1.Ch1.S1.E14" content-type="numbered"><label>A2</label><mml:math id="M248" display="block"><mml:mstyle class="stylechange" displaystyle="true"/><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi mathvariant="italic">λ</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="bold-italic">I</mml:mi><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mo>×</mml:mo><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">B</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">I</mml:mi><mml:mi mathvariant="bold-italic">F</mml:mi><mml:mo>×</mml:mo><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mi mathvariant="bold-italic">B</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e5055">If <inline-formula><mml:math id="M249" display="inline"><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, the segment <inline-formula><mml:math id="M250" display="inline"><mml:mrow><mml:mi>I</mml:mi><mml:mi>F</mml:mi></mml:mrow></mml:math></inline-formula> is too short to intersect <inline-formula><mml:math id="M251" display="inline"><mml:mrow><mml:mi>A</mml:mi><mml:mi>B</mml:mi></mml:mrow></mml:math></inline-formula>. If <inline-formula><mml:math id="M252" display="inline"><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, there is also no intersection (point <inline-formula><mml:math id="M253" display="inline"><mml:mi>I</mml:mi></mml:math></inline-formula> is on the opposite side of <inline-formula><mml:math id="M254" display="inline"><mml:mrow><mml:mi>A</mml:mi><mml:mi>B</mml:mi></mml:mrow></mml:math></inline-formula>). If <inline-formula><mml:math id="M255" display="inline"><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, an intersection occurs, where

                <disp-formula id="App1.Ch1.S1.E15" content-type="numbered"><label>A3</label><mml:math id="M256" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi mathvariant="italic">λ</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>I</mml:mi><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>F</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          with <inline-formula><mml:math id="M257" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> representing the intersection point of lines <inline-formula><mml:math id="M258" display="inline"><mml:mrow><mml:mi>I</mml:mi><mml:mi>F</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M259" display="inline"><mml:mrow><mml:mi>A</mml:mi><mml:mi>B</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
</sec>
<sec id="App1.Ch1.S1.SS3">
  <label>A3</label><title>Boundary interactions and parallelization</title>
      <p id="d2e5194">At every face crossing, a check is performed to determine whether the face corresponds to a domain boundary or is an interface between two elements of the mesh. In case of parallel computing, the element face crossed can also stand at the interface between two mesh partitions. Specific actions can be undertaken depending on the type of boundary encountered: <list list-type="bullet"><list-item>
      <p id="d2e5199">partition boundary: the particle position is moved to the other partition and the tracking continues in this partition.</p></list-item><list-item>
      <p id="d2e5203">physical boundary: the particle is back-tracked outside the mesh. This can happen when the velocity vector points outward across the domain boundary, i.e. is not tangent to the boundary. In such case, two options are possible: (1) the particle tracking can be stopped at the boundary, effectively treating it as a solid wall; or (2) the particle can be allowed to continue its trajectory along a path tangent to the boundary surface. The same occurs for the forward tracking of the source term.</p></list-item></list></p>
</sec>
<sec id="App1.Ch1.S1.SS4">
  <label>A4</label><title>Scalability Analysis</title>
      <p id="d2e5214">Scaling tests were conducted on the 3D slab flow experiment with the SL method (Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>). Strong-scaling tests were performed by fixing the global problem size while increasing the number of MPI partitions from 1 to 256. Weak-scaling tests were conducted by increasing the global problem size proportionally to the number of partitions while keeping the number of mesh nodes and particles per partition approximately constant (with less than 1 <inline-formula><mml:math id="M260" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">%</mml:mi></mml:mrow></mml:math></inline-formula> variation in the number of nodes per partition). All experiments were executed using distributed-memory MPI parallelization only on a high-performance computing system equipped with dual AMD EPYC Rome processors (128 cores per node) and 228 <inline-formula><mml:math id="M261" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">GB</mml:mi></mml:mrow></mml:math></inline-formula> of RAM per node (approximately 1.8 <inline-formula><mml:math id="M262" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">GB</mml:mi></mml:mrow></mml:math></inline-formula> per core).</p>
      <p id="d2e5243">Strong-scaling efficiency remains above 0.8 up to 16 partitions and decreases to approximately 43 <inline-formula><mml:math id="M263" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">%</mml:mi></mml:mrow></mml:math></inline-formula> at 128 partitions, reflecting the growing impact of communication and synchronization costs relative to computation. The solver exhibits good weak-scaling behavior up to 64 partitions, with efficiencies above 80 <inline-formula><mml:math id="M264" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">%</mml:mi></mml:mrow></mml:math></inline-formula>. At larger partition counts, efficiency decreases gradually due to increased inter-partition particle exchanges and MPI communication overhead. Nevertheless, the corresponding wall-clock time increase remains moderate, indicating acceptable scalability for large three-dimensional applications.</p>
</sec>
</app>

<app id="App1.Ch1.S2">
  <label>Appendix B</label><title>Mechanical Models</title>
<sec id="App1.Ch1.S2.SS1">
  <label>B1</label><title>Ice flow model</title>
      <p id="d2e5279">For continuously deforming fluids, the equation of state can be written as:

                <disp-formula id="App1.Ch1.S2.E16" content-type="numbered"><label>B1</label><mml:math id="M265" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi mathvariant="normal">∇</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi mathvariant="bold-italic">g</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M266" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mo>⋅</mml:mo></mml:mrow></mml:math></inline-formula> is the divergence operator, <inline-formula><mml:math id="M267" display="inline"><mml:mi mathvariant="bold-italic">g</mml:mi></mml:math></inline-formula> is gravity, and <inline-formula><mml:math id="M268" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="bold-italic">τ</mml:mi><mml:mo>-</mml:mo><mml:mi>p</mml:mi><mml:mtext mathvariant="bold">I</mml:mtext></mml:mrow></mml:math></inline-formula> is the Cauchy stress tensor, which links the deviatoric stress tensor <inline-formula><mml:math id="M269" display="inline"><mml:mi mathvariant="bold-italic">τ</mml:mi></mml:math></inline-formula> and the isotropic pressure <inline-formula><mml:math id="M270" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>, where <bold>I</bold> is the identity matrix. Stress can then be linked to strain rate with an isotropic power law known as Glen's flow law <xref ref-type="bibr" rid="bib1.bibx18" id="paren.36"/>, written as

                <disp-formula id="App1.Ch1.S2.E17" content-type="numbered"><label>B2</label><mml:math id="M271" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi mathvariant="bold-italic">τ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">η</mml:mi><mml:mover accent="true"><mml:mi mathvariant="bold-italic">ε</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M272" display="inline"><mml:mi mathvariant="italic">η</mml:mi></mml:math></inline-formula> is the effective viscosity, and <inline-formula><mml:math id="M273" display="inline"><mml:mover accent="true"><mml:mi mathvariant="bold-italic">ε</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:math></inline-formula> is the strain-rate tensor, defined as

                <disp-formula id="App1.Ch1.S2.E18" content-type="numbered"><label>B3</label><mml:math id="M274" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">ε</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>≡</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>j</mml:mi></mml:msub></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:msub><mml:mi>u</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          with <inline-formula><mml:math id="M275" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the components of the velocity vector <inline-formula><mml:math id="M276" display="inline"><mml:mi mathvariant="bold-italic">u</mml:mi></mml:math></inline-formula>. The effective viscosity, <inline-formula><mml:math id="M277" display="inline"><mml:mi mathvariant="italic">η</mml:mi></mml:math></inline-formula>,  in Eq. (<xref ref-type="disp-formula" rid="App1.Ch1.S2.E17"/>) is given by:

                <disp-formula id="App1.Ch1.S2.E19" content-type="numbered"><label>B4</label><mml:math id="M278" display="block"><mml:mstyle class="stylechange" displaystyle="true"/><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi mathvariant="italic">η</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>(</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">D</mml:mi></mml:msub><mml:mi>A</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:msubsup><mml:msub><mml:mi mathvariant="bold-italic">I</mml:mi><mml:mover accent="true"><mml:mi mathvariant="bold-italic">ε</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:msub><mml:mn mathvariant="normal">2</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>n</mml:mi><mml:mo>)</mml:mo><mml:mo>/</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where  <inline-formula><mml:math id="M279" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">D</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is an enhancement factor, <inline-formula><mml:math id="M280" display="inline"><mml:mrow><mml:msub><mml:msub><mml:mi mathvariant="bold-italic">I</mml:mi><mml:mover accent="true"><mml:mi mathvariant="bold-italic">ε</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover></mml:msub><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">ε</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">ε</mml:mi><mml:mo mathvariant="normal">˙</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula> is the second invariant of the strain-rate tensor and <inline-formula><mml:math id="M281" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> is the Glen exponent, with an empirically determined value between 1–5 <xref ref-type="bibr" rid="bib1.bibx59 bib1.bibx16" id="paren.37"/>. An average value of <inline-formula><mml:math id="M282" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula> is usually used in ice sheet models and is also applied in this study. <inline-formula><mml:math id="M283" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> is the fluidity, which depends on the temperature following Arrhenius' law:

                <disp-formula id="App1.Ch1.S2.E20" content-type="numbered"><label>B5</label><mml:math id="M284" display="block"><mml:mstyle class="stylechange" displaystyle="true"/><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi>A</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:msup><mml:mi mathvariant="normal">e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mi>Q</mml:mi><mml:mo>/</mml:mo><mml:mo>(</mml:mo><mml:mi>R</mml:mi><mml:mi>T</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          with <inline-formula><mml:math id="M285" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> a reference fluidity or prefactor, <inline-formula><mml:math id="M286" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula> the activation energy, <inline-formula><mml:math id="M287" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> the gas constant, and  <inline-formula><mml:math id="M288" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> the temperature (units of K). Following <xref ref-type="bibr" rid="bib1.bibx8" id="text.38"/>, we set the reference fluidity to <inline-formula><mml:math id="M289" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.258</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">13</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M290" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">MPa</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">a</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 the activation energy to <inline-formula><mml:math id="M291" display="inline"><mml:mrow><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">60</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M292" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">kJ</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">mol</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> for <inline-formula><mml:math id="M293" display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">263</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M294" display="inline"><mml:mrow class="unit"><mml:mo>(</mml:mo><mml:mi mathvariant="normal">K</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">10</mml:mn><mml:mrow class="unit"><mml:mi mathvariant="normal">°</mml:mi><mml:mi mathvariant="normal">C</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M295" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">6.046</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">28</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M296" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">MPa</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">a</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 <inline-formula><mml:math id="M297" display="inline"><mml:mrow><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">139</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M298" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">kJ</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">mol</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> for <inline-formula><mml:math id="M299" display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">263</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M300" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:math></inline-formula>. The code is based on a 3D Finite Element Method (FEM) for numerically solving the Stokes equations, computing ice flow by solving Eq. (<xref ref-type="disp-formula" rid="App1.Ch1.S2.E16"/>) subject to the principle of mass conservation, <inline-formula><mml:math id="M301" display="inline"><mml:mrow><mml:mi mathvariant="bold">∇</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e5954">In the context of continuum mechanics, fractures and crevasses that weaken the ice can be represented by reducing the enhancement factor <inline-formula><mml:math id="M302" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi>D</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> following:

                <disp-formula id="App1.Ch1.S2.E21" content-type="numbered"><label>B6</label><mml:math id="M303" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>E</mml:mi><mml:mi>D</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>D</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula>

          with <inline-formula><mml:math id="M304" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>∈</mml:mo><mml:mo>[</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>[</mml:mo></mml:mrow></mml:math></inline-formula> (see Sect. <xref ref-type="sec" rid="App1.Ch1.S2.SS3"/>). In our application of Sect. <xref ref-type="sec" rid="Ch1.S4"/>, we keep <inline-formula><mml:math id="M305" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi>D</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, i.e. we do not account for the retroaction of the evolving damage on the <inline-formula><mml:math id="M306" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi>D</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e6052">For transient simulations, the advection equation of the surface can be solved <xref ref-type="bibr" rid="bib1.bibx12" id="paren.39"/>. We apply a Dirichlet boundary condition on the velocity at the inflow boundary:

                <disp-formula id="App1.Ch1.S2.E22" content-type="numbered"><label>B7</label><mml:math id="M307" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M308" display="inline"><mml:mi mathvariant="bold-italic">n</mml:mi></mml:math></inline-formula> is the normal to the surface. At the ocean-ice interface, we apply a sea pressure: 

                <disp-formula id="App1.Ch1.S2.E23" content-type="numbered"><label>B8</label><mml:math id="M309" display="block"><mml:mstyle class="stylechange" displaystyle="true"/><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mi>g</mml:mi><mml:mi>z</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M310" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the seawater density and <inline-formula><mml:math id="M311" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the depth, resulting in the following Neumann condition applied on the ice-ocean interface:

                <disp-formula id="App1.Ch1.S2.E24" content-type="numbered"><label>B9</label><mml:math id="M312" display="block"><mml:mstyle displaystyle="true" class="stylechange"/><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi mathvariant="bold-italic">σ</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="App1.Ch1.S2.SS2">
  <label>B2</label><title>Ice flow model initialization</title>
      <p id="d2e6178">The 3D model is initialized by calculating the fluidity of the ice as a function of the temperature following an Arrhenius' law <xref ref-type="bibr" rid="bib1.bibx17 bib1.bibx46" id="paren.40"><named-content content-type="pre">e.g.</named-content></xref> and by reconstructing a poorly known parameter in ice sheet models, the basal drag at the interface between the ice and the bedrock (that can vary depending on the basal condition and the presence of water at the interface). The reconstruction consists in finding the parameter values that minimize the discrepancy between observed and model surface velocities (for a given geometry), following the approach presented in <xref ref-type="bibr" rid="bib1.bibx37" id="text.41"/> and commonly used in ice sheet modeling and in Elmer/Ice in particular <xref ref-type="bibr" rid="bib1.bibx47 bib1.bibx45 bib1.bibx21 bib1.bibx29 bib1.bibx5" id="paren.42"><named-content content-type="pre">e.g.</named-content></xref>. This inversion often leads to unrealistic ice flux divergence <xref ref-type="bibr" rid="bib1.bibx54" id="paren.43"/>, caused by remaining uncertainties in model initial conditions, that we mitigate by running the model forward over 20 years, damping the divergences to acceptable values <xref ref-type="bibr" rid="bib1.bibx17" id="paren.44"><named-content content-type="pre">e.g.</named-content></xref>.</p>
      <p id="d2e6202">The 3D finite element mesh is built in two steps. First, we build a 2D-plan mesh of the footprint of the glacier basin preferentially refined along directions of highest second-derivative of observed ice velocity and ice thickness with a resolution varying from 1 to 25 <inline-formula><mml:math id="M313" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> (e.g. <xref ref-type="bibr" rid="bib1.bibx21" id="altparen.45"/>). The 2D mesh is then vertically extruded into 11 layers, with the bottom and top surfaces adjusted to match the glacier bed and surface digital elevation models, leading to a vertical resolution ranging from 10 to 300 <inline-formula><mml:math id="M314" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> locally depending on the ice thickness <xref ref-type="bibr" rid="bib1.bibx17" id="paren.46"><named-content content-type="pre">e.g.</named-content></xref>. This results in a 3D mesh of 651 690 linear wedge elements and 316 310 nodes. Due to the large number of elements and nodes, the simulations are conducted in parallel with 32 partitions, giving roughly 10 000 nodes per partition.</p>
</sec>
<sec id="App1.Ch1.S2.SS3">
  <label>B3</label><title>Damage Mechanics</title>
      <p id="d2e6237">The increase of damage in the media depends on the stress field and occurs when the maximum tensile stress exceeds a threshold <inline-formula><mml:math id="M315" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mtext>th</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> (between 0.01–0.20 <inline-formula><mml:math id="M316" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MPa</mml:mi></mml:mrow></mml:math></inline-formula> in Krug et al., 2014). To account for ice heterogeneity, some noise can be introduced on <inline-formula><mml:math id="M317" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mtext>th</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>: <inline-formula><mml:math id="M318" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mtext>th</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">σ</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:mover><mml:mtext>th</mml:mtext></mml:msub><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M319" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">σ</mml:mi><mml:mo>/</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">σ</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:mover><mml:mtext>th</mml:mtext></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> follows a standard normal distribution with an arbitrary standard deviation. For a better assessment of the impact of the SL time stepping choice, we keep <inline-formula><mml:math id="M320" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi mathvariant="italic">σ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> in all our simulations. As stated in Sect. <xref ref-type="sec" rid="Ch1.S4"/>, all our simulations are conducted with <inline-formula><mml:math id="M321" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mtext>th</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.65</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M322" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MPa</mml:mi></mml:mrow></mml:math></inline-formula> for the purpose of the experiment. However, for an accurate representation of damage and a better alignment with current observations, this threshold should be carefully considered in relation to the tensile strength of ice and the selected damage criterion <xref ref-type="bibr" rid="bib1.bibx40 bib1.bibx41" id="paren.47"/>.</p>
      <p id="d2e6368">The source term can be described as follows:

                <disp-formula id="App1.Ch1.S2.E25" content-type="numbered"><label>B10</label><mml:math id="M323" display="block"><mml:mstyle class="stylechange" displaystyle="true"/><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">χ</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mfenced open="{" close=""><mml:mtable columnspacing="1em" rowspacing="0.2ex" class="cases" columnalign="left left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:mi>B</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="italic">χ</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>I</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mtext>th</mml:mtext></mml:msub><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if </mml:mtext><mml:mi mathvariant="italic">χ</mml:mi><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if </mml:mtext><mml:mi mathvariant="italic">χ</mml:mi><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M324" display="inline"><mml:mi>B</mml:mi></mml:math></inline-formula> is a damage enhancement factor that needs to be calibrated and that we take equal to 1 in our experiment. The variable <inline-formula><mml:math id="M325" display="inline"><mml:mi mathvariant="italic">χ</mml:mi></mml:math></inline-formula> is called the damage criterion and writes:

                <disp-formula id="App1.Ch1.S2.E26" content-type="numbered"><label>B11</label><mml:math id="M326" display="block"><mml:mstyle class="stylechange" displaystyle="true"/><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi mathvariant="italic">χ</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>I</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mtext>th</mml:mtext></mml:msub><mml:mo>,</mml:mo><mml:mi>D</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>I</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>D</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mtext>th</mml:mtext></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M327" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>I</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the maximal tensile principal stress, and <inline-formula><mml:math id="M328" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the eventual water pressure in the crevasse (e.g. sea pressure in basal crevasses). In our application of Sect. <xref ref-type="sec" rid="Ch1.S4"/>, we keep <inline-formula><mml:math id="M329" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, hence preventing damage creation close to the bed. We can see <inline-formula><mml:math id="M330" display="inline"><mml:mi mathvariant="italic">χ</mml:mi></mml:math></inline-formula> increases as <inline-formula><mml:math id="M331" display="inline"><mml:mi>D</mml:mi></mml:math></inline-formula> increases, simulating the fact that internal forces acting on any damaged section of material are the same as the ones before damage but on a reduced surface <xref ref-type="bibr" rid="bib1.bibx33" id="paren.48"/>.</p>
</sec>
</app>
  </app-group><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d2e6586">The Last released version of the Elmer/Ice code is publicly available on Zenodo at (v26.2.1, <ext-link xlink:href="https://doi.org/10.5281/zenodo.19888172" ext-link-type="DOI">10.5281/zenodo.19888172</ext-link>, <xref ref-type="bibr" rid="bib1.bibx52" id="altparen.49"/>). All simulations were performed with Elmer/Ice based on commit 97773a1f2 with some additional chances that have been included since v26.1. We encourage users to use the latest version available on the Elmer/Ice Github repository and refer to the documentation for recent updates. All the material necessary to reproduce the simulations is available through CM GitHub (<uri>https://github.com/cmosbeux/SEMI-LAGRANGIAN-PUBLICATION.git</uri>; <xref ref-type="bibr" rid="bib1.bibx44" id="altparen.50"/>) and on Zenodo at <ext-link xlink:href="https://doi.org/10.5281/zenodo.15741827" ext-link-type="DOI">10.5281/zenodo.15741827</ext-link> <xref ref-type="bibr" rid="bib1.bibx43" id="paren.51"/>, along with post-processing python scripts and detailed explanations.</p>
  </notes><notes notes-type="videosupplement"><title>Video supplement</title>

      <p id="d2e6611">A video supplement for the ice damage application (Sect. <xref ref-type="sec" rid="Ch1.S4"/>) is available in the video section of the Zenodo repository: <ext-link xlink:href="https://doi.org/10.5281/zenodo.15741827" ext-link-type="DOI">10.5281/zenodo.15741827</ext-link> <xref ref-type="bibr" rid="bib1.bibx43" id="paren.52"/>.</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e6625">PR developed the initial version of the semi-Lagrangian solver in Elmer, CM and JB helped in resolving bugs and implementing solutions. CM, JB, AG, and FGC developed the different test cases. CM conducted the simulations and the analysis with help from all the authors. All authors contributed to the writing of the manuscript.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e6631">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="d2e6638">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="d2e6645">The authors thank the editor, Ludovic Räss, as well as Ravindra Duddu and two anonymous reviewers for their insightful and helpful comments. These projects received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement no. 820575 (TiPACCs) and no. 869304  (PROTECT contribution 171) respectively. This study has received funding from Agence Nationale de la Recherche  –  France 2030 as part of the PEPR TRACCS programme under grant number ANR-22-EXTR-0010. The Elmer/Ice computations presented in this paper were performed using the HPC resources of TGCC under the allocations A0140106035, AD010106066R1 and AD010106066R2 attributed by GENCI. We also acknowledge the French National Research Infrastructure  CLIMERI-France (<uri>https://climeri-france.fr/</uri>, last access: 15 June 2026) which supports the French contribution to the CMIP and CORDEX international modeling exercises, and provides national label for the code Elmer/Ice.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e6653">This research has been supported by the EU Horizon 2020 (grant nos. 820575 and 869304) and the Agence Nationale de la Recherche (ISClim (grant no. ANR-22-EXTR-0010)).</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d2e6659">This paper was edited by Ludovic Räss and reviewed by Albert de Montserrat Navarro, Ravindra Duddu, and one anonymous referee.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bibx1"><label>Albrecht and Levermann(2012)</label><mixed-citation>Albrecht, T. and Levermann, A.: Fracture field for large-scale ice dynamics, J. Glaciol., 58, 165–176, <ext-link xlink:href="https://doi.org/10.3189/2012JoG11J191" ext-link-type="DOI">10.3189/2012JoG11J191</ext-link>, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Alley et al.(2019)</label><mixed-citation>Alley, K. E., Scambos, T. A., Alley, R. B., and Holschuh, N.: Troughs developed in ice-stream shear margins precondition ice shelves for ocean-driven breakup, Science Advances, 5, eaax2215, <ext-link xlink:href="https://doi.org/10.1126/sciadv.aax2215" ext-link-type="DOI">10.1126/sciadv.aax2215</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Berg and Bassis(2022)</label><mixed-citation>Berg, B. and Bassis, J.: Crevasse advection increases glacier calving, J. Glaciol., 68, 977–986, <ext-link xlink:href="https://doi.org/10.1017/jog.2022.10" ext-link-type="DOI">10.1017/jog.2022.10</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Brezzi et al.(2004)</label><mixed-citation>Brezzi, F., Marini, L. D., and Süli, E.: Discontinuous galerkin methods for first-order hyperbolic problems, Math. Mod. Meth. Appl. S., 14, 1893–1903, <ext-link xlink:href="https://doi.org/10.1142/S0218202504003866" ext-link-type="DOI">10.1142/S0218202504003866</ext-link>, 2004.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Brondex et al.(2019)</label><mixed-citation>Brondex, J., Gillet-Chaulet, F., and Gagliardini, O.: Sensitivity of centennial mass loss projections of the Amundsen basin to the friction law, The Cryosphere, 13, 177–195, <ext-link xlink:href="https://doi.org/10.5194/tc-13-177-2019" ext-link-type="DOI">10.5194/tc-13-177-2019</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Brus et al.(2017)</label><mixed-citation>Brus, S. R., Wirasaet, D., Westerink, J. J., and Dawson, C.: Performance and scalability improvements for discontinuous Galerkin solutions to conservation laws on unstructured grids, J. Sci. Comput., 70, 210–242, <ext-link xlink:href="https://doi.org/10.1007/s10915-016-0249-y" ext-link-type="DOI">10.1007/s10915-016-0249-y</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Cheng et al.(2024)</label><mixed-citation>Cheng, G., Morlighem, M., and Gudmundsson, G. H.: Numerical stabilization methods for level-set-based ice front migration, Geosci. Model Dev., 17, 6227–6247, <ext-link xlink:href="https://doi.org/10.5194/gmd-17-6227-2024" ext-link-type="DOI">10.5194/gmd-17-6227-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Cuffey and Paterson(2010)</label><mixed-citation> Cuffey, K. M. and Paterson, W. S. B.: The Physics of Glaciers, Academic Press, New York, ISBN 978-0-12-369461-4, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Côté and Staniforth(1988)</label><mixed-citation>Côté, J. and Staniforth, A.: A two-time-level semi-Lagrangian semi-implicit scheme for spectral models, Mon. Weather Rev., 116, 2003–2012, <ext-link xlink:href="https://doi.org/10.1175/1520-0493(1988)116&lt;2003:ATTLSL&gt;2.0.CO;2" ext-link-type="DOI">10.1175/1520-0493(1988)116&lt;2003:ATTLSL&gt;2.0.CO;2</ext-link>, 1988.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Dapogny et al.(2014)</label><mixed-citation>Dapogny, C., Dobrzynski, C., and Frey, P.: Three-dimensional adaptive domain remeshing, implicit domain meshing, and applications to free and moving boundary problems, J. Comput. Phys., 262, 358–378, <ext-link xlink:href="https://doi.org/10.1016/j.jcp.2014.01.005" ext-link-type="DOI">10.1016/j.jcp.2014.01.005</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Gagliardini and Meyssonnier(1997)</label><mixed-citation>Gagliardini, O. and Meyssonnier, J.: Flow simulation of a firn-covered cold glacier, Ann. Glaciol., 24, 242–248, <ext-link xlink:href="https://doi.org/10.3189/S0260305500012246" ext-link-type="DOI">10.3189/S0260305500012246</ext-link>, 1997.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Gagliardini et al.(2013)</label><mixed-citation>Gagliardini, O., Zwinger, T., Gillet-Chaulet, F., Durand, G., Favier, L., de Fleurian, B., Greve, R., Malinen, M., Martín, C., Råback, P., Ruokolainen, J., Sacchettini, M., Schäfer, M., Seddik, H., and Thies, J.: Capabilities and performance of Elmer/Ice, a new-generation ice sheet model, Geosci. Model Dev., 6, 1299–1318, <ext-link xlink:href="https://doi.org/10.5194/gmd-6-1299-2013" ext-link-type="DOI">10.5194/gmd-6-1299-2013</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Gilbert et al.(2014)</label><mixed-citation>Gilbert, A., Gagliardini, O., Vincent, C., and Wagnon, P.: A 3-D thermal regime model suitable for cold accumulation zones of polythermal mountain glaciers, J. Geophys. Res.-Earth, 119, 1876–1893, <ext-link xlink:href="https://doi.org/10.1002/2014JF003199" ext-link-type="DOI">10.1002/2014JF003199</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Gilbert et al.(2015)</label><mixed-citation>Gilbert, A., Vincent, C., Gagliardini, O., Krug, J., and Berthier, E.: Assessment of thermal change in cold avalanching glaciers in relation to climate warming, Geophys. Res. Lett., 42, 6382–6390, <ext-link xlink:href="https://doi.org/10.1002/2015GL064838" ext-link-type="DOI">10.1002/2015GL064838</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Gillet-Chaulet et al.(2006)</label><mixed-citation>Gillet-Chaulet, F., Gagliardini, O., Meyssonnier, J., Zwinger, T., and Ruokolainen, J.: Flow-induced anisotropy in polar ice and related ice-sheet flow modelling, J. Non-Newton. Fluid, 134, 33–43, <ext-link xlink:href="https://doi.org/10.1016/j.jnnfm.2005.11.005" ext-link-type="DOI">10.1016/j.jnnfm.2005.11.005</ext-link>, 2006.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Gillet-Chaulet et al.(2011)</label><mixed-citation>Gillet-Chaulet, F., Hindmarsh, R. C. A., Corr, H. F. J., King, E. C., and Jenkins, A.: In-situquantification of ice rheology and direct measurement of the Raymond Effect at Summit, Greenland using a phase-sensitive radar, Geophys. Res. Lett., 38, L24503, <ext-link xlink:href="https://doi.org/10.1029/2011GL049843" ext-link-type="DOI">10.1029/2011GL049843</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Gillet-Chaulet et al.(2012)</label><mixed-citation>Gillet-Chaulet, F., Gagliardini, O., Seddik, H., Nodet, M., Durand, G., Ritz, C., Zwinger, T., Greve, R., and Vaughan, D. G.: Greenland ice sheet contribution to sea-level rise from a new-generation ice-sheet model, The Cryosphere, 6, 1561–1576, <ext-link xlink:href="https://doi.org/10.5194/tc-6-1561-2012" ext-link-type="DOI">10.5194/tc-6-1561-2012</ext-link>, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Glen(1955)</label><mixed-citation>Glen, J. W.: The creep of polycrystalline ice, P. Roy. Soc. A-Math. Phy., 228, 519–538, <ext-link xlink:href="https://doi.org/10.1098/rspa.1955.0066" ext-link-type="DOI">10.1098/rspa.1955.0066</ext-link>, 1955.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Grinsted et al.(2024)</label><mixed-citation>Grinsted, A., Rathmann, N. M., Mottram, R., Solgaard, A. M., Mathiesen, J., and Hvidberg, C. S.: Failure strength of glacier ice inferred from Greenland crevasses, The Cryosphere, 18, 1947–1957, <ext-link xlink:href="https://doi.org/10.5194/tc-18-1947-2024" ext-link-type="DOI">10.5194/tc-18-1947-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Haselbacher et al.(2007)</label><mixed-citation>Haselbacher, A., Najjar, F. M., and Ferry, J. P.: An efficient and robust particle-localization algorithm for unstructured grids, J. Comput. Phys., 225, 2198–2213, <ext-link xlink:href="https://doi.org/10.1016/j.jcp.2007.03.018" ext-link-type="DOI">10.1016/j.jcp.2007.03.018</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Hill et al.(2023)</label><mixed-citation>Hill, E. A., Urruty, B., Reese, R., Garbe, J., Gagliardini, O., Durand, G., Gillet-Chaulet, F., Gudmundsson, G. H., Winkelmann, R., Chekki, M., Chandler, D., and Langebroek, P. M.: The stability of present-day Antarctic grounding lines – Part 1: No indication of marine ice sheet instability in the current geometry, The Cryosphere, 17, 3739–3759, <ext-link xlink:href="https://doi.org/10.5194/tc-17-3739-2023" ext-link-type="DOI">10.5194/tc-17-3739-2023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Hughes(1987)</label><mixed-citation>Hughes, T. J. R.: Recent progress in the development and understanding of SUPG methods with special reference to the compressible Euler and Navier-Stokes equations, Int. J. Numer. Meth. Fl., 7, 1261–1275, <ext-link xlink:href="https://doi.org/10.1002/fld.1650071108" ext-link-type="DOI">10.1002/fld.1650071108</ext-link>, 1987.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Huth et al.(2021a)</label><mixed-citation>Huth, A., Duddu, R., and Smith, B.: A generalized interpolation material point method for shallow ice shelves. 1: Shallow shelf approximation and ice thickness evolution, J. Adv. Model. Earth Sy., 13, e2020MS002277, <ext-link xlink:href="https://doi.org/10.1029/2020MS002277" ext-link-type="DOI">10.1029/2020MS002277</ext-link>, 2021a.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Huth et al.(2021b)</label><mixed-citation>Huth, A., Duddu, R., and Smith, B.: A generalized interpolation material point method for shallow ice shelves. 2: Anisotropic nonlocal damage mechanics and rift propagation, J. Adv. Model. Earth Sy., 13, e2020MS002292, <ext-link xlink:href="https://doi.org/10.1029/2020MS002292" ext-link-type="DOI">10.1029/2020MS002292</ext-link>, 2021b.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Huth et al.(2023)</label><mixed-citation>Huth, A., Duddu, R., Smith, B., and Sergienko, O.: Simulating the processes controlling ice-shelf rift paths using damage mechanics, J. Glaciol., 69, 1915–1928, <ext-link xlink:href="https://doi.org/10.1017/jog.2023.71" ext-link-type="DOI">10.1017/jog.2023.71</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Jiménez et al.(2017)</label><mixed-citation>Jiménez, S., Duddu, R., and Bassis, J.: An updated-Lagrangian damage mechanics formulation for modeling the creeping flow and fracture of ice sheets, Comput. Method. Appl. M., 313, 406–432, <ext-link xlink:href="https://doi.org/10.1016/j.cma.2016.09.034" ext-link-type="DOI">10.1016/j.cma.2016.09.034</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Jouvet et al.(2020)</label><mixed-citation>Jouvet, G., Röllin, S., Sahli, H., Corcho, J., Gnägi, L., Compagno, L., Sidler, D., Schwikowski, M., Bauder, A., and Funk, M.: Mapping the age of ice of Gauligletscher combining surface radionuclide contamination and ice flow modeling, The Cryosphere, 14, 4233–4251, <ext-link xlink:href="https://doi.org/10.5194/tc-14-4233-2020" ext-link-type="DOI">10.5194/tc-14-4233-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Ketefian et al.(2016)</label><mixed-citation>Ketefian, G. S., Gross, E. S., and Stelling, G. S.: Accurate and consistent particle tracking on unstructured grids, Int. J. Numer. Meth. Fl., 80, 648–665, <ext-link xlink:href="https://doi.org/10.1002/fld.4168" ext-link-type="DOI">10.1002/fld.4168</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Klein et al.(2020)</label><mixed-citation>Klein, E., Mosbeux, C., Bromirski, P. D., Padman, L., Bock, Y., Springer, S. R., and Fricker, H. A.: Annual cycle in flow of Ross Ice Shelf, Antarctica: contribution of variable basal melting, J. Glaciol., 66, 861–875, <ext-link xlink:href="https://doi.org/10.1017/jog.2020.61" ext-link-type="DOI">10.1017/jog.2020.61</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Krug et al.(2014)</label><mixed-citation>Krug, J., Weiss, J., Gagliardini, O., and Durand, G.: Combining damage and fracture mechanics to model calving, The Cryosphere, 8, 2101–2117, <ext-link xlink:href="https://doi.org/10.5194/tc-8-2101-2014" ext-link-type="DOI">10.5194/tc-8-2101-2014</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Kuzmin(2006)</label><mixed-citation>Kuzmin, D.: On the design of general-purpose flux limiters for finite element schemes. I. Scalar convection, J. Comput. Phys., 219, 513–531, <ext-link xlink:href="https://doi.org/10.1016/j.jcp.2006.03.034" ext-link-type="DOI">10.1016/j.jcp.2006.03.034</ext-link>, 2006.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Kuzmin(2010)</label><mixed-citation>Kuzmin, D.: A vertex-based hierarchical slope limiter for <inline-formula><mml:math id="M332" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>-adaptive discontinuous Galerkin methods, J. Comput. Appl. Math., 233, 3077–3085, <ext-link xlink:href="https://doi.org/10.1016/j.cam.2009.05.028" ext-link-type="DOI">10.1016/j.cam.2009.05.028</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Lemaitre and Chaboche(1978)</label><mixed-citation> Lemaitre, J. and Lemaitre, J. and Chaboche, J. L. Aspect phénoménologique de la rupture par endommagement, Journal de Mécanique Appliquée, 2, 317–365, 1978.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Lhermitte et al.(2020)</label><mixed-citation>Lhermitte, S., Sun, S., Shuman, C., Wouters, B., Pattyn, F., Wuite, J., Berthier, E., and Nagler, T.: Damage accelerates ice shelf instability and mass loss in Amundsen Sea Embayment, P. Natl. Acad. Sci. USA, 117, 24735–24741, <ext-link xlink:href="https://doi.org/10.1073/pnas.1912890117" ext-link-type="DOI">10.1073/pnas.1912890117</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>Li et al.(2025)</label><mixed-citation> Li, Y., Coulon, V., Blasco, J., Qiao, G., Yang, Q., and Pattyn, F.: Damage intensity increases ice mass loss from Thwaites Glacier, Antarctica, The Cryosphere, 19, 4373–4390, https://doi.org/10.5194/tc-19-4373-2025, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>Löfgren et al.(2022)</label><mixed-citation>Löfgren, A., Ahlkrona, J., and Helanow, C.: Increasing stable time-step sizes of the free-surface problem arising in ice-sheet simulations, Journal of Computational Physics: X, 16, 100114, <ext-link xlink:href="https://doi.org/10.1016/j.jcpx.2022.100114" ext-link-type="DOI">10.1016/j.jcpx.2022.100114</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>Macayeal(1993)</label><mixed-citation>Macayeal, D. R.: A tutorial on the use of control methods in ice-sheet modeling, J. Glaciol., 39, 91–98, <ext-link xlink:href="https://doi.org/10.3189/S0022143000015744" ext-link-type="DOI">10.3189/S0022143000015744</ext-link>, 1993.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Macpherson et al.(2009)</label><mixed-citation>Macpherson, G. B., Nordin, N., and Weller, H. G.: Particle tracking in unstructured, arbitrary polyhedral meshes for use in CFD and molecular dynamics, Commun. Numer. Meth. En., 25, 263–273, <ext-link xlink:href="https://doi.org/10.1002/cnm.1128" ext-link-type="DOI">10.1002/cnm.1128</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>Masud and Khurram(2004)</label><mixed-citation>Masud, A. and Khurram, R. A.: A multiscale/stabilized finite element method for the advection–diffusion equation, Comput. Method. Appl. M., 193, 1997–2018, <ext-link xlink:href="https://doi.org/10.1016/j.cma.2003.12.047" ext-link-type="DOI">10.1016/j.cma.2003.12.047</ext-link>, 2004.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Mercenier et al.(2018)</label><mixed-citation>Mercenier, R., Lüthi, M. P., and Vieli, A.: Calving relation for tidewater glaciers based on detailed stress field analysis, The Cryosphere, 12, 721–739, <ext-link xlink:href="https://doi.org/10.5194/tc-12-721-2018" ext-link-type="DOI">10.5194/tc-12-721-2018</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx41"><label>Mercenier et al.(2019)</label><mixed-citation>Mercenier, R., Lüthi, M. P., and Vieli, A.: A transient coupled ice flow-damage model to simulate iceberg calving from tidewater outlet glaciers, J. Adv. Model. Earth Sy., 11, 3057–3072, <ext-link xlink:href="https://doi.org/10.1029/2018MS001567" ext-link-type="DOI">10.1029/2018MS001567</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx42"><label>Mortezazadeh et al.(2024)</label><mixed-citation>Mortezazadeh, M., Cossette, J.-F., Dastoor, A., de Grandpré, J., Ivanova, I., and Qaddouri, A.: Sweep interpolation: a cost-effective semi-Lagrangian scheme in the Global Environmental Multiscale model, Geosci. Model Dev., 17, 335–346, <ext-link xlink:href="https://doi.org/10.5194/gmd-17-335-2024" ext-link-type="DOI">10.5194/gmd-17-335-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx43"><label>Mosbeux(2025a)</label><mixed-citation>Mosbeux, C.: Semi-Lagrangian Advection Scheme in Elmer/Ice – Benchmark and Damage Tests, Zenodo [code, data set, video], <ext-link xlink:href="https://doi.org/10.5281/zenodo.15741827" ext-link-type="DOI">10.5281/zenodo.15741827</ext-link>, 2025a.</mixed-citation></ref>
      <ref id="bib1.bibx44"><label>Mosbeux(2025b)</label><mixed-citation>Mosbeux, C.: Semi-Lagrangian Advection Scheme in Elmer/Ice – Benchmark and Damage Tests, GitHub [data set], <uri>https://github.com/cmosbeux/SEMI-LAGRANGIAN-PUBLICATION</uri> (last access: 15 June 2026), 2025b.</mixed-citation></ref>
      <ref id="bib1.bibx45"><label>Mosbeux et al.(2016)</label><mixed-citation>Mosbeux, C., Gillet-Chaulet, F., and Gagliardini, O.: Comparison of adjoint and nudging methods to initialise ice sheet model basal conditions, Geosci. Model Dev., 9, 2549–2562, <ext-link xlink:href="https://doi.org/10.5194/gmd-9-2549-2016" ext-link-type="DOI">10.5194/gmd-9-2549-2016</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx46"><label>Mosbeux et al.(2020)</label><mixed-citation>Mosbeux, C., Wagner, T. J. W., Becker, M. K., and Fricker, H. A.: Viscous and elastic buoyancy stresses as drivers of ice-shelf calving, J. Glaciol., 66, 643–657, <ext-link xlink:href="https://doi.org/10.1017/jog.2020.35" ext-link-type="DOI">10.1017/jog.2020.35</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx47"><label>Mosbeux et al.(2023)</label><mixed-citation>Mosbeux, C., Padman, L., Klein, E., Bromirski, P. D., and Fricker, H. A.: Seasonal variability in Antarctic ice shelf velocities forced by sea surface height variations, The Cryosphere, 17, 2585–2606, <ext-link xlink:href="https://doi.org/10.5194/tc-17-2585-2023" ext-link-type="DOI">10.5194/tc-17-2585-2023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx48"><label>Ouardghi et al.(2022)</label><mixed-citation>Ouardghi, A., El-Amrani, M., and Seaid, M.: An adaptive enriched semi-Lagrangian finite element method for coupled flow-transport problems, Comput. Fluids, 240, 105474, <ext-link xlink:href="https://doi.org/10.1016/j.compfluid.2022.105474" ext-link-type="DOI">10.1016/j.compfluid.2022.105474</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx49"><label>Priestley(1993)</label><mixed-citation>Priestley, A.: A quasi-conservative version of the semi-Lagrangian advection scheme, Mon. Weather Rev., 121, 621–629, <ext-link xlink:href="https://doi.org/10.1175/1520-0493(1993)121&lt;0621:AQCVOT&gt;2.0.CO;2" ext-link-type="DOI">10.1175/1520-0493(1993)121&lt;0621:AQCVOT&gt;2.0.CO;2</ext-link>, 1993.</mixed-citation></ref>
      <ref id="bib1.bibx50"><label>Ranganathan et al.(2025)</label><mixed-citation>Ranganathan, M., Robel, A. A., Huth, A., and Duddu, R.: Glacier damage evolution over ice flow timescales, The Cryosphere, 19, 1599–1619, <ext-link xlink:href="https://doi.org/10.5194/tc-19-1599-2025" ext-link-type="DOI">10.5194/tc-19-1599-2025</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx51"><label>Reed and Hill(1973)</label><mixed-citation> Reed, W. H. andHill, T. R.: Triangular Mesh Methods for the Neutron Transport Equation, Los Alamos Scientific Laboratory Report LA-UR-73-479, OSTI 4491151, presented at the American Nuclear Society Topical Meeting on Mathematical Models and Computational Techniques for Analysis of Nuclear Systems, Ann Arbor, Michigan, 1973.</mixed-citation></ref>
      <ref id="bib1.bibx52"><label>Ruokolainen et al.(2026)</label><mixed-citation>Ruokolainen, J., Råback, P., Malinen, M., Zwinger, T., Kataja, J., Ilvonen, S., Lyly, M., Byckling, M., Takala, E., Gillet-Chaulet, F., Gagliardini, O., Todd, J., Gladstone, R., Gong, C., Cook, S., Robertsen, F., Wheel, I., Chekki, M., Ponomarev, P., van Dongen, E., Thies, J., Saeki, T., Löfgren, A., Rodenberg, B., and Schannwell, C.: ElmerFEM, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.19888172" ext-link-type="DOI">10.5281/zenodo.19888172</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx53"><label>Samelson and Wiggins(2006)</label><mixed-citation>Samelson, R. M. and Wiggins, S.: Lagrangian Transport in Geophysical Jets and Waves: The Dynamical Systems Approach, in: Interdisciplinary Applied Mathematics, Vol. 31, Springer, New York, <ext-link xlink:href="https://doi.org/10.1007/978-0-387-46213-4" ext-link-type="DOI">10.1007/978-0-387-46213-4</ext-link>, 2006.</mixed-citation></ref>
      <ref id="bib1.bibx54"><label>Seroussi et al.(2011)</label><mixed-citation>Seroussi, H., Morlighem, M., Rignot, E., Larour, E., Aubry, D., Ben Dhia, H., and Kristensen, S. S.: Ice flux divergence anomalies on 79north Glacier, Greenland, Geophys. Res. Lett., 38, L09501, <ext-link xlink:href="https://doi.org/10.1029/2011GL047338" ext-link-type="DOI">10.1029/2011GL047338</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx55"><label>Smith et al.(2020)</label><mixed-citation>Smith, B., Fricker, H. A., Gardner, A. S., Medley, B., Nilsson, J., Paolo, F. S., Holschuh, N., Adusumilli, S., Brunt, K., Csatho, B., Harbeck, K., Markus, T., Neumann, T., Siegfried, M. R., and Zwally, H. J.: Pervasive ice sheet mass loss reflects competing ocean and atmosphere processes, Science, 368, 1239–1242, <ext-link xlink:href="https://doi.org/10.1126/science.aaz5845" ext-link-type="DOI">10.1126/science.aaz5845</ext-link>, 2020. </mixed-citation></ref>
      <ref id="bib1.bibx56"><label>Sun and Gudmundsson(2023)</label><mixed-citation>Sun, S. and Gudmundsson, G. H.: The speedup of Pine Island Ice Shelf between 2017 and 2020: revaluating the importance of ice damage, J. Glaciol., 69, 1983–1991, <ext-link xlink:href="https://doi.org/10.1017/jog.2023.76" ext-link-type="DOI">10.1017/jog.2023.76</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx57"><label>Sun et al.(2017)</label><mixed-citation>Sun, S., Cornford, S. L., Moore, J. C., Gladstone, R., and Zhao, L.: Ice shelf fracture parameterization in an ice sheet model, The Cryosphere, 11, 2543–2554, <ext-link xlink:href="https://doi.org/10.5194/tc-11-2543-2017" ext-link-type="DOI">10.5194/tc-11-2543-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx58"><label>Van Liefferinge and Pattyn(2013)</label><mixed-citation>Van Liefferinge, B. and Pattyn, F.: Using ice-flow models to evaluate potential sites of million year-old ice in Antarctica, Clim. Past, 9, 2335–2345, <ext-link xlink:href="https://doi.org/10.5194/cp-9-2335-2013" ext-link-type="DOI">10.5194/cp-9-2335-2013</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx59"><label>Weertman(1983)</label><mixed-citation>Weertman, J.: Creep deformation of ice, Annu. Rev. Earth Pl. Sc., 11, 215–240, <ext-link xlink:href="https://doi.org/10.1146/annurev.ea.11.050183.001243" ext-link-type="DOI">10.1146/annurev.ea.11.050183.001243</ext-link>, 1983.</mixed-citation></ref>
      <ref id="bib1.bibx60"><label>Wirbel et al.(2018)</label><mixed-citation>Wirbel, A., Jarosch, A. H., and Nicholson, L.: Modelling debris transport within glaciers by advection in a full-Stokes ice flow model, The Cryosphere, 12, 189–204, <ext-link xlink:href="https://doi.org/10.5194/tc-12-189-2018" ext-link-type="DOI">10.5194/tc-12-189-2018</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx61"><label>Zalesak(1979)</label><mixed-citation>Zalesak, S. T.: Fully multidimensional flux-corrected transport algorithms for fluids, J. Comput. Phys., 31, 335–362, <ext-link xlink:href="https://doi.org/10.1016/0021-9991(79)90051-2" ext-link-type="DOI">10.1016/0021-9991(79)90051-2</ext-link>, 1979.</mixed-citation></ref>
      <ref id="bib1.bibx62"><label>Zienkiewicz et al.(2003)</label><mixed-citation>Zienkiewicz, O. C., Taylor, R. L., Sherwin, S. J., and Peiró, J.: On discontinuous Galerkin methods, Int. J. Numer. Meth. Eng., 58, 1119–1148, <ext-link xlink:href="https://doi.org/10.1002/nme.884" ext-link-type="DOI">10.1002/nme.884</ext-link>, 2003.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>A semi-Lagrangian advection scheme in Elmer (v26.1): benchmarking against discontinuous Galerkin and application to ice-damage transport</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Albrecht and Levermann(2012)</label><mixed-citation>
       Albrecht, T. and Levermann, A.: Fracture field for large-scale ice dynamics, J. Glaciol., 58, 165–176, <a href="https://doi.org/10.3189/2012JoG11J191" target="_blank">https://doi.org/10.3189/2012JoG11J191</a>, 2012.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Alley et al.(2019)</label><mixed-citation>
       Alley, K. E., Scambos, T. A., Alley, R. B., and Holschuh, N.: Troughs developed in ice-stream shear margins precondition ice shelves for ocean-driven breakup, Science Advances, 5, eaax2215, <a href="https://doi.org/10.1126/sciadv.aax2215" target="_blank">https://doi.org/10.1126/sciadv.aax2215</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Berg and Bassis(2022)</label><mixed-citation>
      
Berg, B. and Bassis, J.: Crevasse advection increases glacier calving, J. Glaciol., 68, 977–986, <a href="https://doi.org/10.1017/jog.2022.10" target="_blank">https://doi.org/10.1017/jog.2022.10</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Brezzi et al.(2004)</label><mixed-citation>
       Brezzi, F., Marini, L. D., and Süli, E.: Discontinuous galerkin methods for first-order hyperbolic problems, Math. Mod. Meth. Appl. S., 14, 1893–1903, <a href="https://doi.org/10.1142/S0218202504003866" target="_blank">https://doi.org/10.1142/S0218202504003866</a>, 2004.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Brondex et al.(2019)</label><mixed-citation>
       Brondex, J., Gillet-Chaulet, F., and Gagliardini, O.: Sensitivity of centennial mass loss projections of the Amundsen basin to the friction law, The Cryosphere, 13, 177–195, <a href="https://doi.org/10.5194/tc-13-177-2019" target="_blank">https://doi.org/10.5194/tc-13-177-2019</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Brus et al.(2017)</label><mixed-citation>
       Brus, S. R., Wirasaet, D., Westerink, J. J., and Dawson, C.: Performance and scalability improvements for discontinuous Galerkin solutions to conservation laws on unstructured grids, J. Sci. Comput., 70, 210–242, <a href="https://doi.org/10.1007/s10915-016-0249-y" target="_blank">https://doi.org/10.1007/s10915-016-0249-y</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Cheng et al.(2024)</label><mixed-citation>
       Cheng, G., Morlighem, M., and Gudmundsson, G. H.: Numerical stabilization methods for level-set-based ice front migration, Geosci. Model Dev., 17, 6227–6247, <a href="https://doi.org/10.5194/gmd-17-6227-2024" target="_blank">https://doi.org/10.5194/gmd-17-6227-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Cuffey and Paterson(2010)</label><mixed-citation>
      
Cuffey, K. M. and Paterson, W. S. B.: The Physics of Glaciers, Academic Press, New York, ISBN 978-0-12-369461-4, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Côté and Staniforth(1988)</label><mixed-citation>
       Côté, J. and Staniforth, A.: A two-time-level semi-Lagrangian semi-implicit scheme for spectral models, Mon. Weather Rev., 116, 2003–2012, <a href="https://doi.org/10.1175/1520-0493(1988)116&lt;2003:ATTLSL&gt;2.0.CO;2" target="_blank">https://doi.org/10.1175/1520-0493(1988)116&lt;2003:ATTLSL&gt;2.0.CO;2</a>, 1988.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Dapogny et al.(2014)</label><mixed-citation>
       Dapogny, C., Dobrzynski, C., and Frey, P.: Three-dimensional adaptive domain remeshing, implicit domain meshing, and applications to free and moving boundary problems, J. Comput. Phys., 262, 358–378, <a href="https://doi.org/10.1016/j.jcp.2014.01.005" target="_blank">https://doi.org/10.1016/j.jcp.2014.01.005</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Gagliardini and Meyssonnier(1997)</label><mixed-citation>
       Gagliardini, O. and Meyssonnier, J.: Flow simulation of a firn-covered cold glacier, Ann. Glaciol., 24, 242–248, <a href="https://doi.org/10.3189/S0260305500012246" target="_blank">https://doi.org/10.3189/S0260305500012246</a>, 1997.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Gagliardini et al.(2013)</label><mixed-citation>
       Gagliardini, O., Zwinger, T., Gillet-Chaulet, F., Durand, G., Favier, L., de Fleurian, B., Greve, R., Malinen, M., Martín, C., Råback, P., Ruokolainen, J., Sacchettini, M., Schäfer, M., Seddik, H., and Thies, J.: Capabilities and performance of Elmer/Ice, a new-generation ice sheet model, Geosci. Model Dev., 6, 1299–1318, <a href="https://doi.org/10.5194/gmd-6-1299-2013" target="_blank">https://doi.org/10.5194/gmd-6-1299-2013</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Gilbert et al.(2014)</label><mixed-citation>
       Gilbert, A., Gagliardini, O., Vincent, C., and Wagnon, P.: A 3-D thermal regime model suitable for cold accumulation zones of polythermal mountain glaciers, J. Geophys. Res.-Earth, 119, 1876–1893, <a href="https://doi.org/10.1002/2014JF003199" target="_blank">https://doi.org/10.1002/2014JF003199</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Gilbert et al.(2015)</label><mixed-citation>
       Gilbert, A., Vincent, C., Gagliardini, O., Krug, J., and Berthier, E.: Assessment of thermal change in cold avalanching glaciers in relation to climate warming, Geophys. Res. Lett., 42, 6382–6390, <a href="https://doi.org/10.1002/2015GL064838" target="_blank">https://doi.org/10.1002/2015GL064838</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Gillet-Chaulet et al.(2006)</label><mixed-citation>
       Gillet-Chaulet, F., Gagliardini, O., Meyssonnier, J., Zwinger, T., and Ruokolainen, J.: Flow-induced anisotropy in polar ice and related ice-sheet flow modelling, J. Non-Newton. Fluid, 134, 33–43, <a href="https://doi.org/10.1016/j.jnnfm.2005.11.005" target="_blank">https://doi.org/10.1016/j.jnnfm.2005.11.005</a>, 2006.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Gillet-Chaulet et al.(2011)</label><mixed-citation>
       Gillet-Chaulet, F., Hindmarsh, R. C. A., Corr, H. F. J., King, E. C., and Jenkins, A.: In-situquantification of ice rheology and direct measurement of the Raymond Effect at Summit, Greenland using a phase-sensitive radar, Geophys. Res. Lett., 38, L24503, <a href="https://doi.org/10.1029/2011GL049843" target="_blank">https://doi.org/10.1029/2011GL049843</a>, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Gillet-Chaulet et al.(2012)</label><mixed-citation>
       Gillet-Chaulet, F., Gagliardini, O., Seddik, H., Nodet, M., Durand, G., Ritz, C., Zwinger, T., Greve, R., and Vaughan, D. G.: Greenland ice sheet contribution to sea-level rise from a new-generation ice-sheet model, The Cryosphere, 6, 1561–1576, <a href="https://doi.org/10.5194/tc-6-1561-2012" target="_blank">https://doi.org/10.5194/tc-6-1561-2012</a>, 2012.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Glen(1955)</label><mixed-citation>
       Glen, J. W.: The creep of polycrystalline ice, P. Roy. Soc. A-Math. Phy., 228, 519–538, <a href="https://doi.org/10.1098/rspa.1955.0066" target="_blank">https://doi.org/10.1098/rspa.1955.0066</a>, 1955.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Grinsted et al.(2024)</label><mixed-citation>
       Grinsted, A., Rathmann, N. M., Mottram, R., Solgaard, A. M., Mathiesen, J., and Hvidberg, C. S.: Failure strength of glacier ice inferred from Greenland crevasses, The Cryosphere, 18, 1947–1957, <a href="https://doi.org/10.5194/tc-18-1947-2024" target="_blank">https://doi.org/10.5194/tc-18-1947-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Haselbacher et al.(2007)</label><mixed-citation>
       Haselbacher, A., Najjar, F. M., and Ferry, J. P.: An efficient and robust particle-localization algorithm for unstructured grids, J. Comput. Phys., 225, 2198–2213, <a href="https://doi.org/10.1016/j.jcp.2007.03.018" target="_blank">https://doi.org/10.1016/j.jcp.2007.03.018</a>, 2007.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Hill et al.(2023)</label><mixed-citation>
       Hill, E. A., Urruty, B., Reese, R., Garbe, J., Gagliardini, O., Durand, G., Gillet-Chaulet, F., Gudmundsson, G. H., Winkelmann, R., Chekki, M., Chandler, D., and Langebroek, P. M.: The stability of present-day Antarctic grounding lines – Part 1: No indication of marine ice sheet instability in the current geometry, The Cryosphere, 17, 3739–3759, <a href="https://doi.org/10.5194/tc-17-3739-2023" target="_blank">https://doi.org/10.5194/tc-17-3739-2023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Hughes(1987)</label><mixed-citation>
       Hughes, T. J. R.: Recent progress in the development and understanding of SUPG methods with special reference to the compressible Euler and Navier-Stokes equations, Int. J. Numer. Meth. Fl., 7, 1261–1275, <a href="https://doi.org/10.1002/fld.1650071108" target="_blank">https://doi.org/10.1002/fld.1650071108</a>, 1987.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Huth et al.(2021a)</label><mixed-citation>
       Huth, A., Duddu, R., and Smith, B.: A generalized interpolation material point method for shallow ice shelves. 1: Shallow shelf approximation and ice thickness evolution, J. Adv. Model. Earth Sy., 13, e2020MS002277, <a href="https://doi.org/10.1029/2020MS002277" target="_blank">https://doi.org/10.1029/2020MS002277</a>, 2021a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Huth et al.(2021b)</label><mixed-citation>
       Huth, A., Duddu, R., and Smith, B.: A generalized interpolation material point method for shallow ice shelves. 2: Anisotropic nonlocal damage mechanics and rift propagation, J. Adv. Model. Earth Sy., 13, e2020MS002292, <a href="https://doi.org/10.1029/2020MS002292" target="_blank">https://doi.org/10.1029/2020MS002292</a>, 2021b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Huth et al.(2023)</label><mixed-citation>
       Huth, A., Duddu, R., Smith, B., and Sergienko, O.: Simulating the processes controlling ice-shelf rift paths using damage mechanics, J. Glaciol., 69, 1915–1928, <a href="https://doi.org/10.1017/jog.2023.71" target="_blank">https://doi.org/10.1017/jog.2023.71</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Jiménez et al.(2017)</label><mixed-citation>
       Jiménez, S., Duddu, R., and Bassis, J.: An updated-Lagrangian damage mechanics formulation for modeling the creeping flow and fracture of ice sheets, Comput. Method. Appl. M., 313, 406–432, <a href="https://doi.org/10.1016/j.cma.2016.09.034" target="_blank">https://doi.org/10.1016/j.cma.2016.09.034</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Jouvet et al.(2020)</label><mixed-citation>
       Jouvet, G., Röllin, S., Sahli, H., Corcho, J., Gnägi, L., Compagno, L., Sidler, D., Schwikowski, M., Bauder, A., and Funk, M.: Mapping the age of ice of Gauligletscher combining surface radionuclide contamination and ice flow modeling, The Cryosphere, 14, 4233–4251, <a href="https://doi.org/10.5194/tc-14-4233-2020" target="_blank">https://doi.org/10.5194/tc-14-4233-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Ketefian et al.(2016)</label><mixed-citation>
       Ketefian, G. S., Gross, E. S., and Stelling, G. S.: Accurate and consistent particle tracking on unstructured grids, Int. J. Numer. Meth. Fl., 80, 648–665, <a href="https://doi.org/10.1002/fld.4168" target="_blank">https://doi.org/10.1002/fld.4168</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Klein et al.(2020)</label><mixed-citation>
       Klein, E., Mosbeux, C., Bromirski, P. D., Padman, L., Bock, Y., Springer, S. R., and Fricker, H. A.: Annual cycle in flow of Ross Ice Shelf, Antarctica: contribution of variable basal melting, J. Glaciol., 66, 861–875, <a href="https://doi.org/10.1017/jog.2020.61" target="_blank">https://doi.org/10.1017/jog.2020.61</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Krug et al.(2014)</label><mixed-citation>
       Krug, J., Weiss, J., Gagliardini, O., and Durand, G.: Combining damage and fracture mechanics to model calving, The Cryosphere, 8, 2101–2117, <a href="https://doi.org/10.5194/tc-8-2101-2014" target="_blank">https://doi.org/10.5194/tc-8-2101-2014</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Kuzmin(2006)</label><mixed-citation>
       Kuzmin, D.: On the design of general-purpose flux limiters for finite element schemes. I. Scalar convection, J. Comput. Phys., 219, 513–531, <a href="https://doi.org/10.1016/j.jcp.2006.03.034" target="_blank">https://doi.org/10.1016/j.jcp.2006.03.034</a>, 2006.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Kuzmin(2010)</label><mixed-citation>
       Kuzmin, D.: A vertex-based hierarchical slope limiter for <i>p</i>-adaptive discontinuous Galerkin methods, J. Comput. Appl. Math., 233, 3077–3085, <a href="https://doi.org/10.1016/j.cam.2009.05.028" target="_blank">https://doi.org/10.1016/j.cam.2009.05.028</a>, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Lemaitre and Chaboche(1978)</label><mixed-citation>
       Lemaitre, J. and
Lemaitre, J. and Chaboche, J. L. Aspect phénoménologique de la rupture par endommagement, Journal de Mécanique Appliquée, 2, 317–365, 1978.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Lhermitte et al.(2020)</label><mixed-citation>
       Lhermitte, S., Sun, S., Shuman, C., Wouters, B., Pattyn, F., Wuite, J., Berthier, E., and Nagler, T.: Damage accelerates ice shelf instability and mass loss in Amundsen Sea Embayment, P. Natl. Acad. Sci. USA, 117, 24735–24741, <a href="https://doi.org/10.1073/pnas.1912890117" target="_blank">https://doi.org/10.1073/pnas.1912890117</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>Li et al.(2025)</label><mixed-citation>
      
Li, Y., Coulon, V., Blasco, J., Qiao, G., Yang, Q., and Pattyn, F.: Damage intensity increases ice mass loss from Thwaites Glacier, Antarctica, The Cryosphere, 19, 4373–4390, https://doi.org/10.5194/tc-19-4373-2025, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>Löfgren et al.(2022)</label><mixed-citation>
       Löfgren, A., Ahlkrona, J., and Helanow, C.: Increasing stable time-step sizes of the free-surface problem arising in ice-sheet simulations, Journal of Computational Physics: X, 16, 100114, <a href="https://doi.org/10.1016/j.jcpx.2022.100114" target="_blank">https://doi.org/10.1016/j.jcpx.2022.100114</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>Macayeal(1993)</label><mixed-citation>
       Macayeal, D. R.: A tutorial on the use of control methods in ice-sheet modeling, J. Glaciol., 39, 91–98, <a href="https://doi.org/10.3189/S0022143000015744" target="_blank">https://doi.org/10.3189/S0022143000015744</a>, 1993.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Macpherson et al.(2009)</label><mixed-citation>
       Macpherson, G. B., Nordin, N., and Weller, H. G.: Particle tracking in unstructured, arbitrary polyhedral meshes for use in CFD and molecular dynamics, Commun. Numer. Meth. En., 25, 263–273, <a href="https://doi.org/10.1002/cnm.1128" target="_blank">https://doi.org/10.1002/cnm.1128</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>Masud and Khurram(2004)</label><mixed-citation>
       Masud, A. and Khurram, R. A.: A multiscale/stabilized finite element method for the advection–diffusion equation, Comput. Method. Appl. M., 193, 1997–2018, <a href="https://doi.org/10.1016/j.cma.2003.12.047" target="_blank">https://doi.org/10.1016/j.cma.2003.12.047</a>, 2004.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Mercenier et al.(2018)</label><mixed-citation>
       Mercenier, R., Lüthi, M. P., and Vieli, A.: Calving relation for tidewater glaciers based on detailed stress field analysis, The Cryosphere, 12, 721–739, <a href="https://doi.org/10.5194/tc-12-721-2018" target="_blank">https://doi.org/10.5194/tc-12-721-2018</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>Mercenier et al.(2019)</label><mixed-citation>
       Mercenier, R., Lüthi, M. P., and Vieli, A.: A transient coupled ice flow-damage model to simulate iceberg calving from tidewater outlet glaciers, J. Adv. Model. Earth Sy., 11, 3057–3072, <a href="https://doi.org/10.1029/2018MS001567" target="_blank">https://doi.org/10.1029/2018MS001567</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>Mortezazadeh et al.(2024)</label><mixed-citation>
       Mortezazadeh, M., Cossette, J.-F., Dastoor, A., de Grandpré, J., Ivanova, I., and Qaddouri, A.: Sweep interpolation: a cost-effective semi-Lagrangian scheme in the Global Environmental Multiscale model, Geosci. Model Dev., 17, 335–346, <a href="https://doi.org/10.5194/gmd-17-335-2024" target="_blank">https://doi.org/10.5194/gmd-17-335-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>Mosbeux(2025a)</label><mixed-citation>
      
Mosbeux, C.: Semi-Lagrangian Advection Scheme in Elmer/Ice – Benchmark and Damage Tests, Zenodo [code, data set, video], <a href="https://doi.org/10.5281/zenodo.15741827" target="_blank">https://doi.org/10.5281/zenodo.15741827</a>, 2025a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>Mosbeux(2025b)</label><mixed-citation>
      
Mosbeux, C.: Semi-Lagrangian Advection Scheme in Elmer/Ice – Benchmark and Damage Tests, GitHub [data set], <a href="https://github.com/cmosbeux/SEMI-LAGRANGIAN-PUBLICATION" target="_blank"/> (last access: 15 June 2026), 2025b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>Mosbeux et al.(2016)</label><mixed-citation>
       Mosbeux, C., Gillet-Chaulet, F., and Gagliardini, O.: Comparison of adjoint and nudging methods to initialise ice sheet model basal conditions, Geosci. Model Dev., 9, 2549–2562, <a href="https://doi.org/10.5194/gmd-9-2549-2016" target="_blank">https://doi.org/10.5194/gmd-9-2549-2016</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>Mosbeux et al.(2020)</label><mixed-citation>
       Mosbeux, C., Wagner, T. J. W., Becker, M. K., and Fricker, H. A.: Viscous and elastic buoyancy stresses as drivers of ice-shelf calving, J. Glaciol., 66, 643–657, <a href="https://doi.org/10.1017/jog.2020.35" target="_blank">https://doi.org/10.1017/jog.2020.35</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib47"><label>Mosbeux et al.(2023)</label><mixed-citation>
       Mosbeux, C., Padman, L., Klein, E., Bromirski, P. D., and Fricker, H. A.: Seasonal variability in Antarctic ice shelf velocities forced by sea surface height variations, The Cryosphere, 17, 2585–2606, <a href="https://doi.org/10.5194/tc-17-2585-2023" target="_blank">https://doi.org/10.5194/tc-17-2585-2023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib48"><label>Ouardghi et al.(2022)</label><mixed-citation>
       Ouardghi, A., El-Amrani, M., and Seaid, M.: An adaptive enriched semi-Lagrangian finite element method for coupled flow-transport problems, Comput. Fluids, 240, 105474, <a href="https://doi.org/10.1016/j.compfluid.2022.105474" target="_blank">https://doi.org/10.1016/j.compfluid.2022.105474</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib49"><label>Priestley(1993)</label><mixed-citation>
       Priestley, A.: A quasi-conservative version of the semi-Lagrangian advection scheme, Mon. Weather Rev., 121, 621–629, <a href="https://doi.org/10.1175/1520-0493(1993)121&lt;0621:AQCVOT&gt;2.0.CO;2" target="_blank">https://doi.org/10.1175/1520-0493(1993)121&lt;0621:AQCVOT&gt;2.0.CO;2</a>, 1993.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib50"><label>Ranganathan et al.(2025)</label><mixed-citation>
       Ranganathan, M., Robel, A. A., Huth, A., and Duddu, R.: Glacier damage evolution over ice flow timescales, The Cryosphere, 19, 1599–1619, <a href="https://doi.org/10.5194/tc-19-1599-2025" target="_blank">https://doi.org/10.5194/tc-19-1599-2025</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib51"><label>Reed and Hill(1973)</label><mixed-citation>
      
Reed, W. H. andHill, T. R.: Triangular Mesh Methods for the Neutron Transport Equation, Los Alamos Scientific Laboratory Report LA-UR-73-479, OSTI 4491151, presented at the American Nuclear Society Topical Meeting on Mathematical Models and Computational Techniques for Analysis of Nuclear Systems, Ann Arbor, Michigan, 1973.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib52"><label>Ruokolainen et al.(2026)</label><mixed-citation>
      
Ruokolainen, J., Råback, P., Malinen, M., Zwinger, T., Kataja, J., Ilvonen, S., Lyly, M., Byckling, M., Takala, E., Gillet-Chaulet, F., Gagliardini, O., Todd, J., Gladstone, R., Gong, C., Cook, S., Robertsen, F., Wheel, I., Chekki, M., Ponomarev, P., van Dongen, E., Thies, J., Saeki, T., Löfgren, A., Rodenberg, B., and Schannwell, C.: ElmerFEM, Zenodo [code],
<a href="https://doi.org/10.5281/zenodo.19888172" target="_blank">https://doi.org/10.5281/zenodo.19888172</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib53"><label>Samelson and Wiggins(2006)</label><mixed-citation>
      
Samelson, R. M. and Wiggins, S.: Lagrangian Transport in Geophysical Jets and Waves: The Dynamical Systems Approach, in: Interdisciplinary Applied Mathematics, Vol. 31, Springer, New York, <a href="https://doi.org/10.1007/978-0-387-46213-4" target="_blank">https://doi.org/10.1007/978-0-387-46213-4</a>, 2006.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib54"><label>Seroussi et al.(2011)</label><mixed-citation>
       Seroussi, H., Morlighem, M., Rignot, E., Larour, E., Aubry, D., Ben Dhia, H., and Kristensen, S. S.: Ice flux divergence anomalies on 79north Glacier, Greenland, Geophys. Res. Lett., 38, L09501, <a href="https://doi.org/10.1029/2011GL047338" target="_blank">https://doi.org/10.1029/2011GL047338</a>, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib55"><label>Smith et al.(2020)</label><mixed-citation>
       Smith, B., Fricker, H. A., Gardner, A. S., Medley, B., Nilsson, J., Paolo, F. S., Holschuh, N., Adusumilli, S., Brunt, K., Csatho, B., Harbeck, K., Markus, T., Neumann, T., Siegfried, M. R., and Zwally, H. J.: Pervasive ice sheet mass loss reflects competing ocean and atmosphere processes, Science, 368, 1239–1242, <a href="https://doi.org/10.1126/science.aaz5845" target="_blank">https://doi.org/10.1126/science.aaz5845</a>, 2020.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib56"><label>Sun and Gudmundsson(2023)</label><mixed-citation>
      
Sun, S. and Gudmundsson, G. H.: The speedup of Pine Island Ice Shelf between 2017 and 2020: revaluating the importance of ice damage, J. Glaciol., 69, 1983–1991, <a href="https://doi.org/10.1017/jog.2023.76" target="_blank">https://doi.org/10.1017/jog.2023.76</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib57"><label>Sun et al.(2017)</label><mixed-citation>
       Sun, S., Cornford, S. L., Moore, J. C., Gladstone, R., and Zhao, L.: Ice shelf fracture parameterization in an ice sheet model, The Cryosphere, 11, 2543–2554, <a href="https://doi.org/10.5194/tc-11-2543-2017" target="_blank">https://doi.org/10.5194/tc-11-2543-2017</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib58"><label>Van Liefferinge and Pattyn(2013)</label><mixed-citation>
       Van Liefferinge, B. and Pattyn, F.: Using ice-flow models to evaluate potential sites of million year-old ice in Antarctica, Clim. Past, 9, 2335–2345, <a href="https://doi.org/10.5194/cp-9-2335-2013" target="_blank">https://doi.org/10.5194/cp-9-2335-2013</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib59"><label>Weertman(1983)</label><mixed-citation>
      
Weertman, J.: Creep deformation of ice, Annu. Rev. Earth Pl. Sc., 11, 215–240, <a href="https://doi.org/10.1146/annurev.ea.11.050183.001243" target="_blank">https://doi.org/10.1146/annurev.ea.11.050183.001243</a>, 1983.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib60"><label>Wirbel et al.(2018)</label><mixed-citation>
       Wirbel, A., Jarosch, A. H., and Nicholson, L.: Modelling debris transport within glaciers by advection in a full-Stokes ice flow model, The Cryosphere, 12, 189–204, <a href="https://doi.org/10.5194/tc-12-189-2018" target="_blank">https://doi.org/10.5194/tc-12-189-2018</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib61"><label>Zalesak(1979)</label><mixed-citation>
       Zalesak, S. T.: Fully multidimensional flux-corrected transport algorithms for fluids, J. Comput. Phys., 31, 335–362, <a href="https://doi.org/10.1016/0021-9991(79)90051-2" target="_blank">https://doi.org/10.1016/0021-9991(79)90051-2</a>, 1979.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib62"><label>Zienkiewicz et al.(2003)</label><mixed-citation>
       Zienkiewicz, O. C., Taylor, R. L., Sherwin, S. J., and Peiró, J.: On discontinuous Galerkin methods, Int. J. Numer. Meth. Eng., 58, 1119–1148, <a href="https://doi.org/10.1002/nme.884" target="_blank">https://doi.org/10.1002/nme.884</a>, 2003.

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