<?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-2903-2026</article-id><title-group><article-title>MinSIA v1: a lightweight and efficient implementation of  the shallow ice approximation</article-title><alt-title>MinSIA v1 </alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Hergarten</surname><given-names>Stefan</given-names></name>
          <email>stefan.hergarten@geologie.uni-freiburg.de</email>
        <ext-link>https://orcid.org/0000-0002-4780-284X</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>Institut für Geo- und Umweltnaturwissenschaften, Albert-Ludwigs-Universität Freiburg,  Albertstr. 23B, 79104 Freiburg, Germany</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Stefan Hergarten (stefan.hergarten@geologie.uni-freiburg.de)</corresp></author-notes><pub-date><day>16</day><month>April</month><year>2026</year></pub-date>
      
      <volume>19</volume>
      <issue>7</issue>
      <fpage>2903</fpage><lpage>2917</lpage>
      <history>
        <date date-type="received"><day>16</day><month>May</month><year>2025</year></date>
           <date date-type="rev-request"><day>25</day><month>June</month><year>2025</year></date>
           <date date-type="rev-recd"><day>18</day><month>March</month><year>2026</year></date>
           <date date-type="accepted"><day>23</day><month>March</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Stefan Hergarten</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/2903/2026/gmd-19-2903-2026.html">This article is available from https://gmd.copernicus.org/articles/19/2903/2026/gmd-19-2903-2026.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/19/2903/2026/gmd-19-2903-2026.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/19/2903/2026/gmd-19-2903-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e82">Simulations of ice flow have recently been boosted to an unprecedented numerical performance by machine learning techniques. This paper aims at keeping classical numerics competitive in this field. It introduces a new numerical scheme for the shallow ice approximation. Key features are a semi-implicit time-stepping scheme in combination with a dynamic smoothing of the nonlinearity in the slope-dependence of the flow velocity. As a first step, the software MinSIA presented here provides lightweight implementations of the new scheme in MATLAB and Python. MinSIA is designed for simulations on grids with several million nodes on standard desktop PCs and allows for spatial resolutions of 25 m or even finer. The numerical scheme performs particularly well for heavily glaciated topographies with moderately inclined ice surfaces. In turn, the advantage of the scheme decreases slightly for alpine topographies with steep walls during phases of moderate glaciation. The main limitation, however, arises from the simplified physics behind the shallow ice approximation, which becomes particularly severe in narrow valleys and if sliding along the bed is strong.</p>
  </abstract>
    </article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e94">Numerical glacier and ice-sheet models have been widely used in the context of climate change <xref ref-type="bibr" rid="bib1.bibx11 bib1.bibx26" id="paren.1"><named-content content-type="pre">e.g.,</named-content></xref>, paleoglacial reconstruction <xref ref-type="bibr" rid="bib1.bibx6 bib1.bibx25 bib1.bibx27" id="paren.2"><named-content content-type="pre">e.g.,</named-content></xref>, and long-term landform evolution <xref ref-type="bibr" rid="bib1.bibx2 bib1.bibx10" id="paren.3"><named-content content-type="pre">e.g.,</named-content></xref>. While models of ice dynamics typically include a multitude of processes beyond the flow of ice (e.g., meltwater flow and heat transport), the latter is typically by far the computationally most expensive part.</p>
      <p id="d2e112">Three-dimensional simulations of the Stokes equations with a free surface (as implemented, e.g., in the model Elmer/Ice) and the shallow ice approximation (SIA) are end-members in the hierarchy of ice-flow models. In its simplest form, the SIA reduces the problem to a single partial differential equation for the elevation of the ice surface by assuming hydrostatic pressure and neglecting all stresses arising from horizontal shearing. Mathematically, the SIA requires that the ice layer is thin compared to the horizontal length scale defined by the topography. In particular for alpine glaciers, this condition is typically not met. In order to overcome this limitation, several depth-integrated approaches that account for horizontal stress components were developed, such as the second-order approximation iSOSIA proposed by <xref ref-type="bibr" rid="bib1.bibx9" id="text.4"/> and the Parallel Ice Sheet Model (PISM), which includes the shallow shelf approximation <xref ref-type="bibr" rid="bib1.bibx5" id="paren.5"/>.</p>
      <p id="d2e121">Several benchmark experiments were performed in order to compare depth-averaged models to solutions of the full Stokes equations based on synthetic examples <xref ref-type="bibr" rid="bib1.bibx16 bib1.bibx21 bib1.bibx23" id="paren.6"><named-content content-type="pre">e.g.,</named-content></xref> or real-world scenarios <xref ref-type="bibr" rid="bib1.bibx24" id="paren.7"><named-content content-type="pre">e.g.,</named-content></xref>. These experiments confirmed the relevance of the theoretical limitations of the SIA concerning the topography and also pointed out its limited applicability to scenarios with fast sliding along the bed.</p>
      <p id="d2e134">The numerical expense of all these models depends strongly on spatial resolution. <xref ref-type="bibr" rid="bib1.bibx25" id="text.8"/> achieved a spatial resolution of 1 <inline-formula><mml:math id="M1" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> in a simulation covering the entire Alps (<inline-formula><mml:math id="M2" display="inline"><mml:mrow><mml:mn mathvariant="normal">900</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">600</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M3" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula>) over a time span of 120 000 <inline-formula><mml:math id="M4" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> with PISM. However, these simulations required high-performance computing facilities and a resolution of 1 <inline-formula><mml:math id="M5" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> is by far not perfect for a complex topography with many valleys of various sizes. <xref ref-type="bibr" rid="bib1.bibx6" id="text.9"/> achieved a spatial resolution of about <inline-formula><mml:math id="M6" display="inline"><mml:mn mathvariant="normal">500</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M7" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> in 3-D full Stokes simulations of the Rhine glacier with Elmer/Ice. Although the domain was smaller and the simulated time span was much shorter then in the study of <xref ref-type="bibr" rid="bib1.bibx25" id="text.10"/>, these numbers tentatively suggest that the numerical advantage of depth-averaged models over full Stokes simulations is not as huge as it might be expected.</p>
      <p id="d2e207">The limited computational performance of depth-integrated models arises from a combination of assuming hydrostatic pressure and the explicit time-stepping scheme implemented in almost all contemporary models <xref ref-type="bibr" rid="bib1.bibx4" id="paren.11"/>. The main problem is that local variations in the slope of the ice surface generate a horizontal pressure gradient in the ice column down to the bed and thus affect the velocity of the entire ice column. As a consequence, all depth-integrated models, including the SIA in its simplest form, are susceptible to short-wavelength oscillations in surface elevation. Explicit schemes can only avoid the resulting instability by small time increments, which decrease quadratically with decreasing grid spacing.</p>
      <p id="d2e213">The limited progress concerning the numerical efficiency has motivated the development of alternative approaches. In the context of large-scale landform evolution, <xref ref-type="bibr" rid="bib1.bibx8" id="text.12"/> and <xref ref-type="bibr" rid="bib1.bibx13" id="text.13"/> independently developed an approach to simulate erosion of valley glaciers without simulating the flow of ice explicitly. Implemented in the landform evolution model OpenLEM, it allows for simulations with spatial resolutions of less than 100 <inline-formula><mml:math id="M8" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> over millions of years, and a benchmarking with the iSOSIA model yielded promising results <xref ref-type="bibr" rid="bib1.bibx22" id="paren.14"/>. However, this approach circumvents the numerical issues of simulating the flow of ice for a specific application, but does not solve them.</p>
      <p id="d2e233">The most remarkable alternative approach is based on deep learning. The Instructed Glacier Model (IGM) <xref ref-type="bibr" rid="bib1.bibx19" id="paren.15"/> is an ice flow emulator that uses a Convolutional Neural Network trained by a two- or three-dimensional fluid-dynamical model. It achieves a speedup of up to three orders of magnitude compared to the original models. Recently, a version has been developed that even does not require a numerical model for training, but integrates a Convolutional Neural Network directly in the numerical solver <xref ref-type="bibr" rid="bib1.bibx18" id="paren.16"/>.</p>
      <p id="d2e242">The purpose of this paper is to challenge the hypothesis that the potential for further improvements in computational efficiency with classical numerical methods is limited <xref ref-type="bibr" rid="bib1.bibx19" id="paren.17"/>. Despite the deficiencies of the SIA, this study only considers the SIA without extensions by horizontal stress components. The reason for this restriction is that the SIA can be formulated as a single partial differential equation, which makes the development of efficient numerical schemes much easier than for systems of differential equations. In this sense, the development proposed here is only a starting point with the perspective that parts of it can be transferred to models with a more elaborate stress balance in the future.</p>
      <p id="d2e248">The approach presented in the following combines a semi-implicit time-stepping scheme as already implemented in a few models <xref ref-type="bibr" rid="bib1.bibx3 bib1.bibx29" id="paren.18"/> with a novel dynamic stabilization against small-wavelength oscillations. Implementations in MATLAB and Python are available. Since the MATLAB implementation was developed prior to the Python implementation, the numerical tests presented in this paper were performed with the MATLAB version. Further details are given in Sect. <xref ref-type="sec" rid="Ch1.S7"/>.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Scope and governing equations</title>
      <p id="d2e264">MinSIA simulates the flow of ice on a given topography <inline-formula><mml:math id="M9" display="inline"><mml:mrow><mml:mi>b</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> in a two-dimensional approximation in Cartesian coordinates. The vertical ice thickness <inline-formula><mml:math id="M10" display="inline"><mml:mrow><mml:mi>h</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the considered variable. The rate of change in ice thickness is defined by the volumetric balance equation

          <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M11" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>h</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:mo>-</mml:mo><mml:mtext>div</mml:mtext><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mo>+</mml:mo><mml:mi>r</mml:mi></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M12" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the two-dimensional flux density (volume per time and cross-section length), <inline-formula><mml:math id="M13" display="inline"><mml:mrow><mml:mi>r</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> the net rate of ice production and melting (thickness per time), and div the two-dimensional divergence operator.</p>
      <p id="d2e381">Combining efficiency with maximum flexibility was the design goal of MinSIA. At the lowest level of complexity, simple predefined functions for <inline-formula><mml:math id="M14" display="inline"><mml:mi mathvariant="bold-italic">q</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M15" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula> are offered, which do not require much additional programming for running the model. These functions can be combined with spatially and temporally variable parameter values for more complex applications. Finally, custom functions can be included, which also allow for coupling MinSIA with other models., e.g., for temperature.</p>
      <p id="d2e398">The simple predefined model for the flux density is based on a decomposition into ice deformation and sliding along the bed,

          <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M16" display="block"><mml:mrow><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mtext>d</mml:mtext></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mtext>s</mml:mtext></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

        The contribution of deformation is described by the relation

          <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M17" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mtext>d</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mtext>d</mml:mtext></mml:msub><mml:msup><mml:mi>h</mml:mi><mml:mn mathvariant="normal">5</mml:mn></mml:msup><mml:mo>(</mml:mo><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">8</mml:mn></mml:msup><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:msup><mml:mo>|</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        where

          <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M18" display="block"><mml:mrow><mml:mi>s</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>b</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mi>h</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>

        is the elevation of the ice surface and <inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:math></inline-formula> is its gradient. This relation is based on Glen's flow law, which assumes that the strain rate is proportional to <inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="italic">τ</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> with <inline-formula><mml:math id="M21" 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>, where <inline-formula><mml:math id="M22" display="inline"><mml:mi mathvariant="italic">τ</mml:mi></mml:math></inline-formula> is the shear stress. For a detailed discussion of this relation and the value of the exponent <inline-formula><mml:math id="M23" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula>, readers are referred to <xref ref-type="bibr" rid="bib1.bibx7" id="text.19"/>. The factor <inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mtext>d</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> mainly depends on temperature in reality.</p>
      <p id="d2e597">The factor involving the cosine of the slope angle <inline-formula><mml:math id="M25" display="inline"><mml:mi mathvariant="italic">β</mml:mi></mml:math></inline-formula> of the ice surface with

          <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M26" display="block"><mml:mrow><mml:msup><mml:mi>cos⁡</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><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:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mi>tan⁡</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:msup><mml:mo>|</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula>

        is a simple correction for steep slopes. It takes into account that the thickness perpendicular to the surface is lower than the vertical thickness and that driving forces by gravity are proportional to <inline-formula><mml:math id="M27" display="inline"><mml:mrow><mml:mi>sin⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:math></inline-formula> instead of <inline-formula><mml:math id="M28" display="inline"><mml:mrow><mml:mi>tan⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi><mml:mo>=</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula>. The correction is explained in the derivation of Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>) in Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/>. It compensates the apparent inadequacy of the SIA for thin layers at steep bedrock slopes reported by <xref ref-type="bibr" rid="bib1.bibx21" id="text.20"><named-content content-type="post">Fig. 5</named-content></xref>. However, it is less elaborate than the full version of the SIA for an inclined bed developed by <xref ref-type="bibr" rid="bib1.bibx17" id="text.21"/>. While the full version allows for moderately different slopes of the bed and the ice surface, the simplified version considered here assumes that the bed is parallel to the ice surface. This simplified version is basically the same as the parallel sided slab elaborated by <xref ref-type="bibr" rid="bib1.bibx12" id="text.22"><named-content content-type="post">Sect. 7.2</named-content></xref>.</p>
      <p id="d2e709">For sliding at the bed, the relation

          <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M29" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mtext>s</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mtext>s</mml:mtext></mml:msub><mml:msup><mml:mi>h</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">5</mml:mn></mml:msup><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:msup><mml:mo>|</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        is used. It combines the ideas of <xref ref-type="bibr" rid="bib1.bibx28" id="text.23"/> and <xref ref-type="bibr" rid="bib1.bibx1" id="text.24"/>
<xref ref-type="bibr" rid="bib1.bibx7" id="paren.25"><named-content content-type="pre">see also</named-content><named-content content-type="post">Chap. 7</named-content></xref>. As a strong simplification, Eq. (<xref ref-type="disp-formula" rid="Ch1.E6"/>) with a given value of the parameter <inline-formula><mml:math id="M30" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mtext>s</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> relies on the assumption that the water pressure at the bed is proportional to the normal stress, following some simple models of glacial erosion that do not consider meltwater hydraulics explicitly <xref ref-type="bibr" rid="bib1.bibx2 bib1.bibx8 bib1.bibx13" id="paren.26"/>. A short derivation of Eq. (<xref ref-type="disp-formula" rid="Ch1.E6"/>) is given in Appendix <xref ref-type="sec" rid="App1.Ch1.S2"/>. It should, however, be emphasized that modeling sliding along the bed is still one of the major challenges in this field and that the applicability of the SIA is limited under fast sliding conditions <xref ref-type="bibr" rid="bib1.bibx16 bib1.bibx23 bib1.bibx24" id="paren.27"><named-content content-type="pre">e.g.,</named-content></xref>.</p>
      <p id="d2e803">To make the model more flexible, the values of <inline-formula><mml:math id="M31" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mtext>d</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mtext>s</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> may vary in space and time. This would, e.g., allow for taking into account their dependence on temperature in combination with a thermal model or taking into account water pressure explicitly.</p>
      <p id="d2e828">The generic form of the flow law,

          <disp-formula id="Ch1.E7" content-type="numbered"><label>7</label><mml:math id="M33" display="block"><mml:mrow><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mi>D</mml:mi><mml:mo>(</mml:mo><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo><mml:mo>)</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        with a user-defined function <inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>(</mml:mo><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, offers the highest degree of flexibility.</p>
      <p id="d2e892">Taking into account that <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>h</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:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula>, the considered differential equation then reads

          <disp-formula id="Ch1.E8" content-type="numbered"><label>8</label><mml:math id="M36" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>s</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:mtext>div</mml:mtext><mml:mfenced close=")" open="("><mml:mrow><mml:mi>D</mml:mi><mml:mo>(</mml:mo><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo><mml:mo>)</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:mi>r</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        where the specific version defined by Eqs. (<xref ref-type="disp-formula" rid="Ch1.E3"/>) and (<xref ref-type="disp-formula" rid="Ch1.E6"/>) assumes

          <disp-formula id="Ch1.E9" content-type="numbered"><label>9</label><mml:math id="M37" display="block"><mml:mrow><mml:mi>D</mml:mi><mml:mo>(</mml:mo><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mtext>d</mml:mtext></mml:msub><mml:msup><mml:mi>h</mml:mi><mml:mn mathvariant="normal">5</mml:mn></mml:msup><mml:mo>(</mml:mo><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">8</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mtext>s</mml:mtext></mml:msub><mml:msup><mml:mi>h</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:mfenced><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:msup><mml:mo>|</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

        The property <inline-formula><mml:math id="M38" display="inline"><mml:mi>D</mml:mi></mml:math></inline-formula> is denoted diffusivity in the following, although the diffusion equation formally only allows a dependence of the diffusivity on <inline-formula><mml:math id="M39" display="inline"><mml:mi>s</mml:mi></mml:math></inline-formula> (and thus on <inline-formula><mml:math id="M40" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula>), but not on <inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e1099">Different approaches are also included for the net rate of ice production and melting, <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:mi>r</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. The simplest model is piecewise linear with an equilibrium line altitude (ELA) <inline-formula><mml:math id="M43" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mtext>e</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and a maximum rate <inline-formula><mml:math id="M44" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mo>max⁡</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula>,

          <disp-formula id="Ch1.E10" content-type="numbered"><label>10</label><mml:math id="M45" display="block"><mml:mrow><mml:mi>r</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="center center center"><mml:mtr><mml:mtd><mml:mrow><mml:mo>min⁡</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mo>+</mml:mo></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:mi>z</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mtext>e</mml:mtext></mml:msub></mml:mrow></mml:mfenced><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mo>max⁡</mml:mo></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd><mml:mtd><mml:mtext>for</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mi>z</mml:mi><mml:mo>≥</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mtext>e</mml:mtext></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mo>-</mml:mo></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:mi>z</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mtext>e</mml:mtext></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd><mml:mtd><mml:mtext>for</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mi>z</mml:mi><mml:mo>&lt;</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mtext>e</mml:mtext></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

        applied to the ice surface (<inline-formula><mml:math id="M46" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>), where <inline-formula><mml:math id="M47" display="inline"><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mo>+</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula> is the accumulation gradient (net rate of ice production per meter above the ELA) and <inline-formula><mml:math id="M48" display="inline"><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mo>-</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula> is the ablation gradient (net rate of melting per meter below the ELA). A typical application would be a time-dependent ELA while keeping the other parameters constant. However, MinSIA allows for a variation of all parameter values in space and time as well as for replacing Eq. (<xref ref-type="disp-formula" rid="Ch1.E10"/>) by a custom function. Alternatively, <inline-formula><mml:math id="M49" display="inline"><mml:mrow><mml:mi>r</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> can also be defined directly for each cell of the grid at each time.</p>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Numerical scheme and implementation</title>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Semi-implicit time stepping</title>
      <p id="d2e1329">MinSIA employs a semi-implicit time-stepping scheme. This scheme combines an explicit discretization of the diffusivity with an implicit discretization for the diffusion process itself. The respective time-discrete version of Eq. (<xref ref-type="disp-formula" rid="Ch1.E8"/>) reads

            <disp-formula id="Ch1.E11" content-type="numbered"><label>11</label><mml:math id="M50" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>s</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>s</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mtext>div</mml:mtext><mml:mfenced close=")" open="("><mml:mrow><mml:mi>D</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</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:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:mi>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>

          This semi-implicit scheme already ensures stability for arbitrary time increments <inline-formula><mml:math id="M51" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> in the sense that perturbations remain bounded. Let us neglect ice production and melting (<inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>) and consider the point with the highest ice surface at <inline-formula><mml:math id="M53" 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>. Since the fluxes also refer to <inline-formula><mml:math id="M54" 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>, this point must have lost ice towards all its neighbors. Therefore, the ice surface must have declined from <inline-formula><mml:math id="M55" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> to <inline-formula><mml:math id="M56" 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> at this point. In turn, the ice surface of the point with the lowest ice surface at <inline-formula><mml:math id="M57" 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> must have risen. So the total variation in <inline-formula><mml:math id="M58" display="inline"><mml:mi>s</mml:mi></mml:math></inline-formula> decreases in each time step (unless a different behavior is enforced by production and melting or by the boundary conditions), regardless of <inline-formula><mml:math id="M59" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>. The resulting unconditional stability, however, neither ensures a reasonable accuracy nor a physically meaningful solution at large <inline-formula><mml:math id="M60" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>. Therefore, some extensions are necessary, which will be explained in the following sections. </p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Finite volumes with upstream diffusivity</title>
      <p id="d2e1539">MinSIA uses a finite-volume discretization of the domain with square cells. Since the finite-volume approach is based on the flux densities across the boundaries between adjacent cells, it requires the diffusivity <inline-formula><mml:math id="M61" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>(</mml:mo><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> at the cell boundaries. MinSIA uses an upstream scheme here, which means that the diffusivity of the node with the higher ice surface is adopted for the respective cell boundary.</p>
      <p id="d2e1566">The upstream scheme helps to maintain the volumetric balance. While the finite-volume scheme itself preserves the ice volume exactly, the semi-implicit scheme does not see the obvious condition <inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:mi>h</mml:mi><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> (equivalent to <inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:mi>s</mml:mi><mml:mo>≥</mml:mo><mml:mi>b</mml:mi></mml:mrow></mml:math></inline-formula>) since <inline-formula><mml:math id="M64" display="inline"><mml:mi>D</mml:mi></mml:math></inline-formula> is fixed during the time step. Therefore, negative values of <inline-formula><mml:math id="M65" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula> may occur, which have to be compensated afterwards. Setting negative values to zero causes a systematic increase in total volume. This problem predominantly occurs at the contact of valley glaciers with ice-free slopes. If <inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> at the contact of a glacier cell and a (higher) slope cell, the slope cell will deliver non-existing ice to the glacier. The upstream scheme ensures <inline-formula><mml:math id="M67" 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 this situation and thus avoids a permanent systematic increase in ice volume. However, the upstream scheme cannot avoid that cells flip from positive to negative values of <inline-formula><mml:math id="M68" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula> occasionally. This effect will be investigated numerically in Sect. <xref ref-type="sec" rid="Ch1.S4.SS3"/>.</p>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>Smoothing the slope in the diffusivity</title>
      <p id="d2e1649">While the semi-implicit scheme is unconditionally stable, the explicit treatment of <inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>(</mml:mo><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> still limits the accuracy. Regions with a high diffusivity tend to become rather flat in the next step, which then leads to a low diffusivity. It will be shown in Sect. <xref ref-type="sec" rid="Ch1.S4.SS1"/> that these oscillations in the diffusivity result in staircase-shaped ice surfaces and oscillations in the ice surface. While these oscillations are limited by the decreasing total variation, reducing these oscillations to achieve a reasonable accuracy requires small time steps. For the high-resolution example considered in Sect. <xref ref-type="sec" rid="Ch1.S4"/>, a reasonable accuracy was achieved for <inline-formula><mml:math id="M70" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4096</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M71" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>, while an explicit scheme was found to be stable for <inline-formula><mml:math id="M72" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">32</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mn mathvariant="normal">768</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M73" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>. So the semi-implicit only allows for an 8 times larger time increment in this example, which is not a great enhancement in view of the higher numerical effort per time step.</p>
      <p id="d2e1736">Therefore, a dynamic smoothing of the slope of the ice surface in the diffusivity <inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>(</mml:mo><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the central novel idea in MinSIA. The main challenge is to reduce the numerical artifacts arising from the explicit treatment of <inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula> in <inline-formula><mml:math id="M76" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>(</mml:mo><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> without introducing new artifacts. In particular, the typically small values of <inline-formula><mml:math id="M77" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula> at large glaciers should not be merged with high values of <inline-formula><mml:math id="M78" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula> at the adjacent slopes. This is achieved in MinSIA by assuming that the length scale of smoothing is proportional to the ice thickness and by using a thickness-weighted average instead of a simple arithmetic mean. In sum, these assumptions ensure that smoothing is weak at at low thickness, where smoothing is also typically not necessary, and that regions with high thickness are not affected strongly by adjacent regions with low thickness.</p>
      <p id="d2e1829">As a starting point, the slope of the ice surface is computed at each node <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> according to

            <disp-formula id="Ch1.E12" content-type="numbered"><label>12</label><mml:math id="M80" display="block"><mml:mrow><mml:msub><mml:mfenced open="|" close="|"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:mfenced><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:msubsup><mml:mfenced close="|" open="|"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mfenced close="|" open="|"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:msqrt></mml:mrow></mml:math></disp-formula>

          with the individual components approximated by

                <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M81" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E13"><mml:mtd><mml:mtext>13</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mfenced close="|" open="|"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><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 open="(" close=")"><mml:mrow><mml:mfenced open="|" close="|"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mo>+</mml:mo><mml:mfenced close="|" open="|"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E14"><mml:mtd><mml:mtext>14</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mfenced open="|" close="|"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><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:mfenced open="|" close="|"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mo>+</mml:mo><mml:mfenced open="|" close="|"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

          and <inline-formula><mml:math id="M82" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:math></inline-formula>. In contrast to the conventional central difference quotient, the absolute values are taken individually for the left-hand and right-hand parts. While this modification has no effect for smooth inclined ice surfaces, it avoids the formation of unrealistic spikes in the ice surface at local maxima during the simulation.</p>
      <p id="d2e2162">Smoothing is implemented by computing the thickness-weighted average of <inline-formula><mml:math id="M83" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula> over a square,

            <disp-formula id="Ch1.E15" content-type="numbered"><label>15</label><mml:math id="M84" display="block"><mml:mrow><mml:msubsup><mml:mfenced open="|" close="|"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:mfenced><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mtext>smoothed</mml:mtext></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mo>=</mml:mo><mml:mi>j</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mfenced open="|" close="|"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:mfenced><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mo>=</mml:mo><mml:mi>j</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          The sum extends over a square of <inline-formula><mml:math id="M85" display="inline"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>m</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> cells along each coordinate axis. To achieve a smoothing scale proportional to the thickness, a nondimensional smoothing factor <inline-formula><mml:math id="M86" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> is introduced in such a way that averaging is performed over a length of <inline-formula><mml:math id="M87" display="inline"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>f</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:math></inline-formula> along each axis (so <inline-formula><mml:math id="M88" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:math></inline-formula> in each direction). In the context of Eq. (<xref ref-type="disp-formula" rid="Ch1.E15"/>), this implies

            <disp-formula id="Ch1.E16" content-type="numbered"><label>16</label><mml:math id="M89" display="block"><mml:mrow><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>m</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi>f</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:math></disp-formula>

          and thus

            <disp-formula id="Ch1.E17" content-type="numbered"><label>17</label><mml:math id="M90" display="block"><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>h</mml:mi><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><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:mrow></mml:math></disp-formula>

          However, <inline-formula><mml:math id="M91" display="inline"><mml:mi>m</mml:mi></mml:math></inline-formula> will typically not be an integer number. Therefore, the weighted average is computed for the two integer numbers around <inline-formula><mml:math id="M92" display="inline"><mml:mi>m</mml:mi></mml:math></inline-formula> and linear interpolation between the results is used. So smoothing starts gently as soon as <inline-formula><mml:math id="M93" display="inline"><mml:mrow><mml:mi>h</mml:mi><mml:mo>&gt;</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>f</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e2470">The weighted average can be implemented efficiently by computing the cumulative sums

            <disp-formula id="Ch1.E18" content-type="numbered"><label>18</label><mml:math id="M94" display="block"><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>i</mml:mi></mml:munderover><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>j</mml:mi></mml:munderover><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mfenced close="|" open="|"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:mfenced><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></disp-formula>

          and

            <disp-formula id="Ch1.E19" content-type="numbered"><label>19</label><mml:math id="M95" display="block"><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>i</mml:mi></mml:munderover><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>j</mml:mi></mml:munderover><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></disp-formula>

          at first. Then the weighted average (Eq. <xref ref-type="disp-formula" rid="Ch1.E15"/>) is obtained as

            <disp-formula id="Ch1.E20" content-type="numbered"><label>20</label><mml:math id="M96" display="block"><mml:mrow><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msubsup><mml:mfenced open="|" close="|"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:mfenced><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mtext>smoothed</mml:mtext></mml:msubsup><mml:mo>=</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>-</mml:mo><mml:mi>m</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="Ch1.S3.SS4">
  <label>3.4</label><title>The linear solver</title>
      <p id="d2e2828">The linear equation system to be solved in each time step is positive definite and sparse. To improve efficiency for partly ice-covered surfaces, it is reduced to the relevant nodes (ice-covered nodes and their direct neighbors) in each step.</p>
      <p id="d2e2831">The preconditioned conjugate gradients (PCG) method is used for solving the linear equation system. An incomplete Cholesky factorization is used as a preconditioner, whereby the version that compensates dropped nondiagonal elements at the respective diagonal elements turned out to be particularly suitable. A direct solver is also implemented for testing.</p>
</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Numerical tests</title>
      <p id="d2e2843">The present-day topography of the Southern Black Forest was used for the numerical tests. The considered domain consists of a <inline-formula><mml:math id="M97" display="inline"><mml:mrow><mml:mn mathvariant="normal">60</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">60</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M98" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> square centered to the highest peak (Feldberg, 1493 <inline-formula><mml:math id="M99" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>). The publicly available 1 <inline-formula><mml:math id="M100" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> terrain model <xref ref-type="bibr" rid="bib1.bibx20" id="paren.28"/> was downsampled to a grid spacing of <inline-formula><mml:math id="M101" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">25</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M102" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>, resulting in a grid of <inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:mn mathvariant="normal">2400</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">2400</mml:mn></mml:mrow></mml:math></inline-formula> cells. The spatial resolution was chosen to investigate the accuracy and the efficiency of the numerical scheme within in the framework of the SIA. To the author's knowledge, such a high spatial resolution cannot be achieved at a reasonable computational effort by any existing scheme for the SIA or for a more elaborate model of ice flow. In turn, the considered topography contains several steep valleys where the physical limitations of the SIA become relevant. This topic will be briefly addressed in Sect. <xref ref-type="sec" rid="Ch1.S6"/>, but is not the primary subject of this paper.</p>
      <p id="d2e2928">The values <inline-formula><mml:math id="M104" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mtext>d</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5.34</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M105" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</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">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> and <inline-formula><mml:math id="M106" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mtext>s</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3.56</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M107" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><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> are assumed for the flow parameters, corresponding to the values used by <xref ref-type="bibr" rid="bib1.bibx8" id="text.29"/>. For the net rate of ice production, the simple ELA-based approach (Eq. <xref ref-type="disp-formula" rid="Ch1.E10"/>) was used with an accumulation gradient of <inline-formula><mml:math id="M108" display="inline"><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mo>+</mml:mo></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.002</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M109" display="inline"><mml:mrow class="unit"><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> and an ablation gradient of <inline-formula><mml:math id="M110" display="inline"><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mo>-</mml:mo></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.003</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M111" display="inline"><mml:mrow class="unit"><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>. These values are oriented on the rates assumed in the model comparison of <xref ref-type="bibr" rid="bib1.bibx22" id="text.30"/>. All simulations were run over a time span of 3000 <inline-formula><mml:math id="M112" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> with a constant ELA at <inline-formula><mml:math id="M113" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mtext>e</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1000</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M114" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>, starting from an ice-free surface. This setup does not address anything that ever happened, but was designed as a simple scenario with a transition from isolated valley glaciers towards a continuous ice cap, as illustrated in Fig. <xref ref-type="fig" rid="F1"/>.</p>

      <fig id="F1" specific-use="star"><label>Figure 1</label><caption><p id="d2e3120">Snapshots from the reference scenario with a <inline-formula><mml:math id="M115" display="inline"><mml:mn mathvariant="normal">5</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M116" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> grid for illustrating the spatial scale. The black line in <bold>(d)</bold> refers to the longitudinal profile analyzed in Fig. <xref ref-type="fig" rid="F3"/>, the blue line to the cross section shown in Fig. <xref ref-type="fig" rid="F11"/>, and the red line to the profile through the highest peak shown in Fig. <xref ref-type="fig" rid="F12"/>.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2903/2026/gmd-19-2903-2026-f01.jpg"/>

      </fig>

      <p id="d2e3155">Time increment was <inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">64</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M118" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> and the smoothing factor was set to <inline-formula><mml:math id="M119" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula> as a reference. As the maximum thickness achieved at the end was <inline-formula><mml:math id="M120" display="inline"><mml:mrow><mml:mi>h</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">637</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M121" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>, this choice corresponds to smoothing over squares of <inline-formula><mml:math id="M122" display="inline"><mml:mrow><mml:mn mathvariant="normal">13</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">13</mml:mn></mml:mrow></mml:math></inline-formula> cells (<inline-formula><mml:math id="M123" display="inline"><mml:mn mathvariant="normal">325</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M124" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>; <inline-formula><mml:math id="M125" display="inline"><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula> in Eq. <xref ref-type="disp-formula" rid="Ch1.E15"/>) at maximum. While it would be desirable to use a simulation without smoothing as a reference scenario, the scenario considered here was originally chosen as a tradeoff between accuracy and numerical effort. The semi-implicit scheme without smoothing requires <inline-formula><mml:math id="M126" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4096</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M127" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> and would have taken several months on a standard desktop PC. The error arising from the choice of the reference scenario will be discussed at the end of Sect. <xref ref-type="sec" rid="Ch1.S4.SS1"/>.</p>
      <p id="d2e3287">All simulations, except for the tests of the linear solver (Sect. <xref ref-type="sec" rid="Ch1.S4.SS4"/>), were performed either with the direct solver or with the PCG solver with a relative tolerance of <inline-formula><mml:math id="M128" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>. This value is small enough to ensure that the errors caused by the iterative PCG solver are negligible.</p>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>The effect of smoothing</title>
      <p id="d2e3313">As a first test, the accuracy of the solutions for different values of the smoothing factor <inline-formula><mml:math id="M129" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> with respect to the reference solution (<inline-formula><mml:math id="M130" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M131" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">64</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M132" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>) is measured. For this purpose, the empirical cumulative distribution function (CDF) of the node-by-node deviation from the reference solution is computed, derived from all nodes covered by ice in either of the two compared scenarios.</p>
      <p id="d2e3361">The colored curves in Fig. <xref ref-type="fig" rid="F2"/> show an increase in deviation from the reference solution (<inline-formula><mml:math id="M133" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula>) with increasing <inline-formula><mml:math id="M134" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula>. Comparing the deviations at <inline-formula><mml:math id="M135" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">300</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M136" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> (Fig. <xref ref-type="fig" rid="F2"/>a) to those at <inline-formula><mml:math id="M137" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3000</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M138" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> (Fig. <xref ref-type="fig" rid="F2"/>b) reveals an increase through time. This increase is, however, not only due to the accumulation of errors, but also goes along with the overall increase in ice thickness.</p>

      <fig id="F2"><label>Figure 2</label><caption><p id="d2e3432">Deviation in ice thickness from the reference scenario (<inline-formula><mml:math id="M139" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula>). The empirical CDF was derived from all nodes covered by ice in either of the two compared scenarios.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2903/2026/gmd-19-2903-2026-f02.png"/>

        </fig>

      <p id="d2e3454">To get a better feeling for the accuracy, Fig. <xref ref-type="fig" rid="F3"/> shows the longitudinal valley profile defined in Fig. <xref ref-type="fig" rid="F1"/>d. The profile line follows the direction of the steepest descent of the bedrock topography. The profiles for <inline-formula><mml:math id="M140" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M141" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> are visually indistinguishable from the reference profile, in agreement with the small deviations in Fig. <xref ref-type="fig" rid="F2"/>. For <inline-formula><mml:math id="M142" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M143" display="inline"><mml:mn mathvariant="normal">95</mml:mn></mml:math></inline-formula> % of all deviations are in the range from <inline-formula><mml:math id="M144" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1.79</mml:mn></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M145" display="inline"><mml:mn mathvariant="normal">0.23</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M146" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> at <inline-formula><mml:math id="M147" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3000</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M148" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>. While the deviation in the profile (Fig. <xref ref-type="fig" rid="F3"/>) is still small for <inline-formula><mml:math id="M149" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>, the ice surface is considerably too low for <inline-formula><mml:math id="M150" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula>, in particular in the upper part of the glacier. Here the ice thickness is almost 100 <inline-formula><mml:math id="M151" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> lower for <inline-formula><mml:math id="M152" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">8</mml:mn></mml:mrow></mml:math></inline-formula> than for <inline-formula><mml:math id="M153" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula>.</p>

      <fig id="F3"><label>Figure 3</label><caption><p id="d2e3614">Longitudinal glacier profile along the line defined in Fig. <xref ref-type="fig" rid="F1"/>d at <inline-formula><mml:math id="M154" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3000</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M155" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> for different values of <inline-formula><mml:math id="M156" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula>.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2903/2026/gmd-19-2903-2026-f03.png"/>

        </fig>

      <p id="d2e3652">The behavior is completely different for <inline-formula><mml:math id="M157" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.125</mml:mn></mml:mrow></mml:math></inline-formula>. The vast majority of all nodes has a very small deviation from the reference surface (<inline-formula><mml:math id="M158" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula>) at <inline-formula><mml:math id="M159" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">300</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M160" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> (Fig. <xref ref-type="fig" rid="F2"/>a). However, the distribution already shows quite long tails at both sides, reflecting a considerable deviation for a few percent of the nodes. The deviations become much larger at <inline-formula><mml:math id="M161" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3000</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M162" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> (Fig. <xref ref-type="fig" rid="F2"/>b) with a strong trend towards large elevations. This trend is also visible in the glacier profile (Fig. <xref ref-type="fig" rid="F3"/>), where the ice surface is systematically too high and the glacier is 1 <inline-formula><mml:math id="M163" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> too long.</p>
      <p id="d2e3734">Figure <xref ref-type="fig" rid="F3"/> also reveals that the strong decrease in accuracy for <inline-formula><mml:math id="M164" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.125</mml:mn></mml:mrow></mml:math></inline-formula> goes along with staircase-shaped surface. One of the staircase-shaped sections is even considerably steeper than the reference surface. This means that the step-like shape has a negative effect on the ice flux, which must be compensated either by a greater thickness or a greater average slope.  As mentioned above, a reference scenario without smoothing (<inline-formula><mml:math id="M165" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>) would have required <inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4096</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M167" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>, which was considered too expensive. To get an idea about the errors arising from the considered reference scenario, simulations over a shorter time span were conducted. While an analysis of convergence can be performed with an arbitrary initial condition theoretically, the end of the simulated time span is more representative here since smoothing has little effect in the early phase due to the low ice thickness.</p>
      <p id="d2e3792">The results shown in Fig. <xref ref-type="fig" rid="F4"/>, obtained from a <inline-formula><mml:math id="M168" display="inline"><mml:mn mathvariant="normal">100</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M169" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">year</mml:mi></mml:mrow></mml:math></inline-formula> time span starting from the reference scenario at <inline-formula><mml:math id="M170" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2900</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M171" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>, suggest that the deviation from the solution with <inline-formula><mml:math id="M172" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> even decreases stronger than linearly with <inline-formula><mml:math id="M173" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula>. Comparing the root mean square deviations (<inline-formula><mml:math id="M174" display="inline"><mml:mn mathvariant="normal">0.0583</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M175" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula> vs. <inline-formula><mml:math id="M177" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M178" display="inline"><mml:mn mathvariant="normal">0.158</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M179" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math id="M180" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn></mml:mrow></mml:math></inline-formula> vs. <inline-formula><mml:math id="M181" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>) suggests that the error is proportional to <inline-formula><mml:math id="M182" display="inline"><mml:mrow><mml:msup><mml:mi>f</mml:mi><mml:mn mathvariant="normal">1.43</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>. The root mean square deviations of the full time span (<inline-formula><mml:math id="M183" display="inline"><mml:mn mathvariant="normal">0.262</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M184" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math id="M185" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn></mml:mrow></mml:math></inline-formula> vs. <inline-formula><mml:math id="M186" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M187" display="inline"><mml:mn mathvariant="normal">0.778</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M188" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math id="M189" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> vs. <inline-formula><mml:math id="M190" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M191" display="inline"><mml:mn mathvariant="normal">2.17</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M192" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math id="M193" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> vs. <inline-formula><mml:math id="M194" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula>) yield the same dependence with an offset of <inline-formula><mml:math id="M195" display="inline"><mml:mn mathvariant="normal">0.11</mml:mn></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>, corresponding to the deviation between <inline-formula><mml:math id="M197" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula> and the unknown solution for <inline-formula><mml:math id="M198" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>. So the error of the reference scenario (<inline-formula><mml:math id="M199" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula>) is clearly smaller than the smallest deviations shown in Figs. <xref ref-type="fig" rid="F2"/> and <xref ref-type="fig" rid="F3"/> and is thus irrelevant for the considerations.</p>

      <fig id="F4"><label>Figure 4</label><caption><p id="d2e4120">Deviation in ice thickness at <inline-formula><mml:math id="M200" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3000</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M201" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> obtained from simulations starting at <inline-formula><mml:math id="M202" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2900</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M203" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>. The empirical CDF was derived from all nodes covered by ice in either of the two compared scenarios.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2903/2026/gmd-19-2903-2026-f04.png"/>

        </fig>

</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>The maximum time increment</title>
      <p id="d2e4177">Since even explicit schemes are stable for sufficiently small time increments, the occurrence of the staircase oscillation must be related to both the smoothing factor <inline-formula><mml:math id="M204" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> and the time increment <inline-formula><mml:math id="M205" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>. It can be easily detected by tracking the elevation of the ice surface node by node without analyzing the topography of the ice surface. Let us define

            <disp-formula id="Ch1.E21" content-type="numbered"><label>21</label><mml:math id="M206" display="block"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>h</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="center center center"><mml:mtr><mml:mtd><mml:mrow><mml:mi>h</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>h</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mtext>for</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mi>h</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>&lt;</mml:mo><mml:mi>h</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:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>h</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>h</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced></mml:mrow></mml:mtd><mml:mtd><mml:mtext>for</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mi>h</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>≥</mml:mo><mml:mi>h</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:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          Positive values of <inline-formula><mml:math id="M207" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:math></inline-formula> describe points that decreased previously and increase now or increased previously and decrease now. So positive values of <inline-formula><mml:math id="M208" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:math></inline-formula> are a measure of the oscillation. MinSIA returns the maximum value of <inline-formula><mml:math id="M209" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:math></inline-formula> over all nodes in each time step.</p>
      <p id="d2e4372">Figure <xref ref-type="fig" rid="F5"/> shows the <inline-formula><mml:math id="M210" display="inline"><mml:mn mathvariant="normal">95</mml:mn></mml:math></inline-formula> % quantiles of the oscillation (still the maximum <inline-formula><mml:math id="M211" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:math></inline-formula> over all nodes in each step, but then the value that is not exceeded in <inline-formula><mml:math id="M212" display="inline"><mml:mn mathvariant="normal">95</mml:mn></mml:math></inline-formula> % of all time steps). Since not all changes from increasing to decreasing thickness or vice versa are necessarily numerical artifacts, the <inline-formula><mml:math id="M213" display="inline"><mml:mn mathvariant="normal">95</mml:mn></mml:math></inline-formula> % quantile is more useful than the maximum over all time steps. The exact choice of the quantile, however, is not important.</p>

      <fig id="F5"><label>Figure 5</label><caption><p id="d2e4410"><inline-formula><mml:math id="M214" display="inline"><mml:mn mathvariant="normal">95</mml:mn></mml:math></inline-formula> % quantiles of the maximum oscillation for different values of <inline-formula><mml:math id="M215" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> and time increments <inline-formula><mml:math id="M216" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2903/2026/gmd-19-2903-2026-f05.png"/>

        </fig>

      <p id="d2e4443">The values of the <inline-formula><mml:math id="M217" display="inline"><mml:mn mathvariant="normal">95</mml:mn></mml:math></inline-formula> % oscillations show a clear distinction with only values above <inline-formula><mml:math id="M218" display="inline"><mml:mn mathvariant="normal">10</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M219" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> (yellow) and below <inline-formula><mml:math id="M220" display="inline"><mml:mn mathvariant="normal">0.1</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M221" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> (blue). So there is a clearly defined (at least within a factor of two) maximum time increment for each value of <inline-formula><mml:math id="M222" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula>. There seem to be two different regimes concerning the value of <inline-formula><mml:math id="M223" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula>. While the maximum <inline-formula><mml:math id="M224" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> increases strongly with increasing <inline-formula><mml:math id="M225" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> for <inline-formula><mml:math id="M226" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, it seems to remain constant for <inline-formula><mml:math id="M227" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e4539">At least for this example, this means that increasing the smoothing factor to values <inline-formula><mml:math id="M228" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> does not improve performance strongly. In combination with the good accuracy observed for <inline-formula><mml:math id="M229" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> in Sect. <xref ref-type="sec" rid="Ch1.S4.SS1"/>, this finding suggests <inline-formula><mml:math id="M230" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> tentatively as a good tradeoff between accuracy and performance.</p>
</sec>
<sec id="Ch1.S4.SS3">
  <label>4.3</label><title>The volumetric balance</title>
      <p id="d2e4588">As discussed in Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>, the upstream scheme cannot avoid an occasional occurrence of negative thickness values. These negative values have to be compensated (set to zero) to keep the ice surface consistent, which causes a systematic error in the volumetric balance.</p>
      <p id="d2e4593">Figure <xref ref-type="fig" rid="F6"/> shows the results of an analysis similar to that from Fig. <xref ref-type="fig" rid="F5"/>, but for the total ice volume added throughout the simulation instead of the maximum oscillation. Effects of melting were removed from the considered volume. As an example, <inline-formula><mml:math id="M231" display="inline"><mml:mn mathvariant="normal">2</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M232" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> initial thickness, <inline-formula><mml:math id="M233" display="inline"><mml:mn mathvariant="normal">1</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M234" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> loss by melting, and <inline-formula><mml:math id="M235" display="inline"><mml:mn mathvariant="normal">5</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M236" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> loss by outflow would be only <inline-formula><mml:math id="M237" display="inline"><mml:mn mathvariant="normal">3</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M238" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> to be compensated.</p>

      <fig id="F6"><label>Figure 6</label><caption><p id="d2e4663">Total volume added throughout the simulation in order to keep the ice surface consistent (<inline-formula><mml:math id="M239" display="inline"><mml:mrow><mml:mi>h</mml:mi><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>).</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2903/2026/gmd-19-2903-2026-f06.png"/>

        </fig>

      <p id="d2e4685">The result for the added volume looks qualitative similar to the result for the oscillation (Fig. <xref ref-type="fig" rid="F5"/>) with only values below <inline-formula><mml:math id="M240" display="inline"><mml:mn mathvariant="normal">1000</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M241" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> (blue) and above <inline-formula><mml:math id="M242" display="inline"><mml:mrow><mml:mn mathvariant="normal">200</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mn mathvariant="normal">000</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M243" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> (green to yellow). The transition takes place at higher <inline-formula><mml:math id="M244" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> than in Fig. <xref ref-type="fig" rid="F5"/> at least for <inline-formula><mml:math id="M245" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, which means that avoiding staircase oscillations defines a lower limit for <inline-formula><mml:math id="M246" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> than preserving the volumetric balance.</p>
      <p id="d2e4765">It should, however, be mentioned that even the highest added volume of about <inline-formula><mml:math id="M247" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.4</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">8</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M248" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> is small in relation to the total volume of about <inline-formula><mml:math id="M249" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">11</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M250" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>. To ensure that this result is not limited to advancing glaciers, two additional scenarios were considered. One of them assumes a sudden rise of the ELA to <inline-formula><mml:math id="M251" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mtext>e</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3000</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M252" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> at <inline-formula><mml:math id="M253" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3000</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M254" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>, which lets all ice vanish within 100 years. The other scenario switches off ice production and melting at <inline-formula><mml:math id="M255" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3000</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M256" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>, so that the existing ice flows down toward the boundaries of the domain. The added volume per time is even lower than for advancing glaciers in both cases.</p>
      <p id="d2e4884">These results suggest that the systematic error in the volumetric balance is negligible compared to the immediate effect of the staircase oscillations on accuracy. So focus should be on limiting <inline-formula><mml:math id="M257" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> to avoid these oscillations.</p>
</sec>
<sec id="Ch1.S4.SS4">
  <label>4.4</label><title>The linear solver</title>
      <p id="d2e4905">The application of the iterative PCG solver is a tradeoff between accuracy and numerical effort. The version implemented in MinSIA uses the relative norm of the residuum (the default for the used MATLAB function) as a criterion for terminating the iteration, called tolerance in the following.</p>
      <p id="d2e4908">The colored lines in Fig. <xref ref-type="fig" rid="F7"/> show the error caused by the finite tolerance of the PCG solver for <inline-formula><mml:math id="M258" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> at <inline-formula><mml:math id="M259" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3000</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M260" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>, quantified by the root mean square deviation. Following the same concept as in Fig. <xref ref-type="fig" rid="F2"/>, the deviation is derived from all nodes covered by ice in either of the two compared scenarios.</p>

      <fig id="F7"><label>Figure 7</label><caption><p id="d2e4949">Root mean square deviations for <inline-formula><mml:math id="M261" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> at <inline-formula><mml:math id="M262" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3000</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M263" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>. Colored lines correspond to different tolerance levels of the PCG solver. Black lines and points correspond to the error arising from smoothing (<inline-formula><mml:math id="M264" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> vs. <inline-formula><mml:math id="M265" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula>) and from the finite time increment (actual <inline-formula><mml:math id="M266" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> vs. <inline-formula><mml:math id="M267" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">64</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M268" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>).</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2903/2026/gmd-19-2903-2026-f07.png"/>

        </fig>

      <p id="d2e5052">As long as the tolerance is not bigger than <inline-formula><mml:math id="M269" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, the respective error is much smaller than the error arising from smoothing with <inline-formula><mml:math id="M270" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>. Therefore, a tolerance of <inline-formula><mml:math id="M271" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> is sufficient here. However, a decrease to <inline-formula><mml:math id="M272" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">7</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> increases the numerical effort by less than <inline-formula><mml:math id="M273" display="inline"><mml:mn mathvariant="normal">10</mml:mn></mml:math></inline-formula> % here and thus provides an additional safety margin at reasonable cost. These results also hold for the coarser resolutions considered in the next section.</p>
</sec>
<sec id="Ch1.S4.SS5">
  <label>4.5</label><title>The spatial resolution</title>
      <p id="d2e5125">While the upstream scheme is necessary for maintaining the volumetric balance, it reduces the numerical accuracy. Upstream schemes achieve a linear convergence, which means that the numerical error due to the finite spatial resolution is theoretically proportional to <inline-formula><mml:math id="M274" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> in the limit <inline-formula><mml:math id="M275" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>→</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>. Schemes of higher order achieve a faster convergence.</p>
      <p id="d2e5152">The deviations in ice thickness between simulations with different resolutions are analyzed in Fig. <xref ref-type="fig" rid="F8"/>. It is visually recognized that the respective deviations are roughly proportional to the change in <inline-formula><mml:math id="M276" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> at <inline-formula><mml:math id="M277" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">300</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M278" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> (solid lines). This means that the theoretical linear convergence of the upstream scheme is confirmed here. At <inline-formula><mml:math id="M279" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3000</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M280" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> (dashed lines), however, the dependence of the deviation on <inline-formula><mml:math id="M281" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> is weaker than linear, indicating that linear convergence is practically not achieved here.</p>

      <fig id="F8"><label>Figure 8</label><caption><p id="d2e5220">Deviation in ice thickness between simulations with different spatial resolutions. Solid lines refer to <inline-formula><mml:math id="M282" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">300</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M283" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> and dashed lines to <inline-formula><mml:math id="M284" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3000</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M285" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>. The empirical CDF was derived from all nodes covered by ice in either of the two compared scenarios.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2903/2026/gmd-19-2903-2026-f08.png"/>

        </fig>

      <p id="d2e5270">It is also recognized that the deviations arising from the finite resolution are considerably higher than those arising from smoothing at least for <inline-formula><mml:math id="M286" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> (Fig. <xref ref-type="fig" rid="F2"/>). From the mathematical point of view, this means that a high resolution, even with a grid spacing lower than the <inline-formula><mml:math id="M287" display="inline"><mml:mn mathvariant="normal">25</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M288" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> considered here, is useful. This argument is, however, only valid within the framework of the SIA and does not take into account the physical error due to neglecting horizontal stress components. This error may be much higher than the numerical error and will be discussed briefly in Sect. <xref ref-type="sec" rid="Ch1.S6"/>.</p>
      <p id="d2e5304">If there is a maximum stable time increment for a numerical scheme, it typically depends on the spatial resolution. Figure <xref ref-type="fig" rid="F9"/> shows the maximum time increment that avoids staircase oscillations for grids of different resolutions. A sudden increase in maximum oscillation at a certain time increment was observed for each set of simulations and a threshold of <inline-formula><mml:math id="M289" display="inline"><mml:mn mathvariant="normal">1</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M290" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> could be used consistently.</p>

      <fig id="F9"><label>Figure 9</label><caption><p id="d2e5326">Maximum time increment that avoids staircase oscillations for different spatial resolutions.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/2903/2026/gmd-19-2903-2026-f09.png"/>

        </fig>

      <p id="d2e5335">Basically the same behavior was found for <inline-formula><mml:math id="M291" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">25</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M292" display="inline"><mml:mn mathvariant="normal">50</mml:mn></mml:math></inline-formula>, and <inline-formula><mml:math id="M293" display="inline"><mml:mn mathvariant="normal">100</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M294" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>. In particular, the benefit of values <inline-formula><mml:math id="M295" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> is small. Overall, a fourfold increase in <inline-formula><mml:math id="M296" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> increases the maximum <inline-formula><mml:math id="M297" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> by a factor of 2 at maximum. This decrease is small compared to the total number of nodes, which decreases by a factor of 16 here. So the immediate effect of the number of nodes on the computational effort is much stronger than the effect of changes in maximum <inline-formula><mml:math id="M298" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>.  Increasing grid spacing to <inline-formula><mml:math id="M299" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">200</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M300" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> still has a minor effect on the maximum <inline-formula><mml:math id="M301" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> around <inline-formula><mml:math id="M302" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>. However, the dependence on <inline-formula><mml:math id="M303" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> becomes less clear. Instead of the distinct change in behavior at <inline-formula><mml:math id="M304" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, the maximum <inline-formula><mml:math id="M305" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> rather increases linearly with <inline-formula><mml:math id="M306" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula>.</p>
      <p id="d2e5500">The simulations over the entire time span with <inline-formula><mml:math id="M307" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M308" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> took <inline-formula><mml:math id="M309" display="inline"><mml:mrow><mml:mn mathvariant="normal">35</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mn mathvariant="normal">400</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M310" 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="M311" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">25</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M312" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M313" display="inline"><mml:mn mathvariant="normal">6740</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M314" 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="M315" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M316" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M317" display="inline"><mml:mn mathvariant="normal">1290</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M318" 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="M319" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">100</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M320" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> on an Intel Core i5-7600 CPU (3.50 GHz) from 2018 with the MATLAB implementation. Since no dedicated parallel computing options were used, the usage of multiple cores only concerned the default vectorization of MATLAB. With the PCG solver and the incomplete Cholesky preconditioner written in C++ (see Sect. <xref ref-type="sec" rid="Ch1.S7"/>), the Python version was at least 1.5 times as fast in all performance tests, although only a single core was employed.</p>
      <p id="d2e5645">The measured computing times tentatively suggest that the numerical effort increases like <inline-formula><mml:math id="M321" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2.4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> at constant <inline-formula><mml:math id="M322" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>, which is not much stronger than <inline-formula><mml:math id="M323" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> from the number of nodes alone. Taking into account the above finding that the maximum <inline-formula><mml:math id="M324" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> increases like <inline-formula><mml:math id="M325" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mn mathvariant="normal">0.5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> or weaker, the increase in numerical effort is still weaker than <inline-formula><mml:math id="M326" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>.</p>
</sec>
</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Finding the best time increment</title>
      <p id="d2e5740">Finding a suitable time increment is the main challenge in setting up a simulation with MinSIA. As illustrated for the considered example in Fig. <xref ref-type="fig" rid="F7"/>, the error caused by the finite time increment is quite small as long as staircase oscillations are avoided. So a time increment slightly below the limit at which staircase oscillations are initiated is typically the best tradeoff between accuracy and efficiency.</p>
      <p id="d2e5745">The findings from Sect. <xref ref-type="sec" rid="Ch1.S4.SS5"/> suggest that the dependence of the maximum time increment on grid spacing is weaker than linear. Since the criteria that are typically applied to explicit schemes predict a stronger dependence, these criteria are not immediately useful for estimating the maximum time increment. In particular, the Fourier criterion for the diffusion equation predicts a maximum <inline-formula><mml:math id="M327" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> proportional to <inline-formula><mml:math id="M328" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>, which would be a much stronger dependence than found here numerically. The Courant–Friedrichs–Lewy (CFL) criterion for the advection equation, which roughly says that the material must not move by more than the grid spacing in one step, predicts a maximum <inline-formula><mml:math id="M329" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> proportional to <inline-formula><mml:math id="M330" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula>, which also is still stronger than found here numerically. The maximum depth-averaged velocity is approximately <inline-formula><mml:math id="M331" display="inline"><mml:mn mathvariant="normal">500</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M332" 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> here, which means that distances of up to <inline-formula><mml:math id="M333" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> are traveled per step for <inline-formula><mml:math id="M334" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">25</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M335" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M336" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M337" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>. So the CFL criterion is also exceeded absolutely.</p>
      <p id="d2e5875">However, the CFL criterion becomes relevant in some situations. As described in Sect. <xref ref-type="sec" rid="Ch1.S3.SS3"/>, The numerical scheme was tailored to capture the high sensitivity of <inline-formula><mml:math id="M338" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>(</mml:mo><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> to changes in <inline-formula><mml:math id="M339" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula> at large ice thickness <inline-formula><mml:math id="M340" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula>. In turn, the sensitivity to changes in <inline-formula><mml:math id="M341" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula> is high at steep slopes. Concerning this sensitivity, the semi-implicit scheme is not much better than an explicit scheme.</p>
      <p id="d2e5932">Figure <xref ref-type="fig" rid="F10"/> illustrates the weakness of the scheme at steep slopes for <inline-formula><mml:math id="M342" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">25</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M343" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M344" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M345" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>. Oscillations of several meters occur during the early phase when the maximum thickness is still much lower than at the end. A detailed analysis of the strong oscillations with <inline-formula><mml:math id="M346" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>h</mml:mi><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M347" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> around <inline-formula><mml:math id="M348" 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="M349" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> reveals that these affect only a few nodes. While the slope <inline-formula><mml:math id="M350" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula> is greater than <inline-formula><mml:math id="M351" display="inline"><mml:mn mathvariant="normal">0.74</mml:mn></mml:math></inline-formula> at these nodes, the ice thickness is lower than <inline-formula><mml:math id="M352" display="inline"><mml:mn mathvariant="normal">30</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M353" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>.</p>

      <fig id="F10"><label>Figure 10</label><caption><p id="d2e6064">Maximum ice thickness <inline-formula><mml:math id="M354" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula> and maximum oscillation <inline-formula><mml:math id="M355" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:math></inline-formula> (Eq. <xref ref-type="disp-formula" rid="Ch1.E21"/>) for <inline-formula><mml:math id="M356" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">25</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M357" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M358" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M359" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2903/2026/gmd-19-2903-2026-f10.png"/>

      </fig>

      <p id="d2e6137">These oscillations are not a problem for the test scenario. Practically, it does not matter whether ice flows down steep slopes uniformly or in distinct surges, provided that the oscillations do not cause large errors in the volumetric balance due to negative values of <inline-formula><mml:math id="M360" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula>. In this example, the oscillations even cease  for <inline-formula><mml:math id="M361" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">100</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M362" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> due to filling up the steep slopes with ice. However, this is not necessarily the case for other topographies.</p>
      <p id="d2e6167">Some additional, but preliminary tests were performed for the Rhone–Aare region in Switzerland and the Salzach region in Austria as two examples of alpine topography. All parameter values were the same as for the Black Forest example, except for an ELA of <inline-formula><mml:math id="M363" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mtext>e</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1500</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M364" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> and an upper limit for the net rate of ice production (Eq. <xref ref-type="disp-formula" rid="Ch1.E10"/>) of <inline-formula><mml:math id="M365" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mo>max⁡</mml:mo></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M366" 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>.</p>
      <p id="d2e6227">A time increment of <inline-formula><mml:math id="M367" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">32</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M368" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> turned out to be sufficient for both scenarios at <inline-formula><mml:math id="M369" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M370" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>, whereby the maximum ice thickness exceeded <inline-formula><mml:math id="M371" display="inline"><mml:mn mathvariant="normal">2000</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M372" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> in the Rhone–Aare example and <inline-formula><mml:math id="M373" display="inline"><mml:mn mathvariant="normal">1450</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M374" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> in the Salzach example. This time increment is 8 times smaller than that found for the Black Forest example. However, the maximum ice thickness is also more than 3 times higher and it was already found in Sect. <xref ref-type="sec" rid="Ch1.S4.SS1"/> that the occurrence of staircase oscillations depends on ice thickness.</p>
      <p id="d2e6311">However, larger time increments caused oscillations of several meters at steep slopes already in an early phase of the simulation at moderate ice thickness. These oscillations cease in the Salzach example when the valleys have been filled with ice, which allows for increasing <inline-formula><mml:math id="M375" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M376" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">16</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M377" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>. This is, however, not the case for the Rhone–Aare example.</p>
      <p id="d2e6344">So the numerical efficiency is limited by the weak performance at steep slopes for moderate ice thickness in the alpine examples. Even increasing the ELA so that the maximum ice thickness is similar to that in the Black Forest example does not bring the maximum time increment close to the value <inline-formula><mml:math id="M378" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M379" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula> achieved there.</p>
      <p id="d2e6374">Since the scheme is not much better than an explicit scheme concerning the dependence of the ice flux on <inline-formula><mml:math id="M380" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula> at steep slopes, the CFL criterion becomes relevant here in contrast to the results from the previous section. As mentioned above, the CFL criterion predicts a stronger (linear) dependence of the maximum <inline-formula><mml:math id="M381" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> on <inline-formula><mml:math id="M382" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> than found numerically for large ice thickness. Therefore, the limitation arising from steep slopes becomes more relevant with increasing spatial resolution.</p>
      <p id="d2e6404">As a consequence, simulations of large alpine regions with <inline-formula><mml:math id="M383" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M384" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> are hardly feasible on standard PCs. Beyond the limitation of the maximum time increment, the number of iterations of the PCG scheme also contributes to the increasing numerical effort. The results on the tolerance of the PCG solver found in Sect. <xref ref-type="sec" rid="Ch1.S4.SS4"/> also hold for the alpine examples, whereby a tolerance of <inline-formula><mml:math id="M385" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> even seems to be slightly better than in the Black Forest example. However, the absolute number of iterations is higher for the alpine examples. It even reaches <inline-formula><mml:math id="M386" display="inline"><mml:mn mathvariant="normal">100</mml:mn></mml:math></inline-formula> at <inline-formula><mml:math id="M387" display="inline"><mml:mrow><mml:mi>h</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2000</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M388" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>, which lets the PCG solver contribute more than <inline-formula><mml:math id="M389" display="inline"><mml:mn mathvariant="normal">80</mml:mn></mml:math></inline-formula> % to the total effort.</p>
      <p id="d2e6480">However, the results obtained from the numerical tests still do not allow for estimating the maximum time increment from the topography and the parameters directly. Finding the maximum time increment experimentally by watching the maximum oscillation <inline-formula><mml:math id="M390" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:math></inline-formula> (Eq. <xref ref-type="disp-formula" rid="Ch1.E21"/>) seems to be the best way to estimate the maximum <inline-formula><mml:math id="M391" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> at present.</p>
</sec>
<sec id="Ch1.S6">
  <label>6</label><title>Limitations of the SIA</title>
      <p id="d2e6513">While the numerical scheme proposed here introduces a major progress concerning the numerical efficiency, it cannot overcome the physical limitations of the SIA. As a main limitation, the SIA in the simple form considered here completely neglects stresses arising from horizontal shearing.</p>
      <p id="d2e6516">As an example, Fig. <xref ref-type="fig" rid="F11"/> shows the valley cross section marked in Fig. <xref ref-type="fig" rid="F1"/>d. The valley is quite narrow here with a large ice thickness. The slope angles are about <inline-formula><mml:math id="M392" display="inline"><mml:mrow><mml:mn mathvariant="normal">30</mml:mn><mml:mi mathvariant="italic">°</mml:mi></mml:mrow></mml:math></inline-formula> and the depth-to-width ratio is higher than <inline-formula><mml:math id="M393" display="inline"><mml:mn mathvariant="normal">0.25</mml:mn></mml:math></inline-formula> and thus clearly not close to zero as theoretically assumed for the SIA.</p>

      <fig id="F11"><label>Figure 11</label><caption><p id="d2e6542">Cross section through the valley marked in Fig. <xref ref-type="fig" rid="F1"/>d. Velocity is depth-averaged and includes deformation and sliding.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2903/2026/gmd-19-2903-2026-f11.png"/>

      </fig>

      <p id="d2e6554">The simulated flow velocity is strongly concentrated around the center of the valley. The depth-averaged velocity decreases to half of its maximum value over a distance of about <inline-formula><mml:math id="M394" display="inline"><mml:mn mathvariant="normal">150</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M395" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>. In relation to a maximum thickness of about <inline-formula><mml:math id="M396" display="inline"><mml:mn mathvariant="normal">300</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M397" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>, this means that the horizontal velocity gradients are in the same order of magnitude as the vertical gradients. Accordingly, the horizontal shear stresses not captured by the SIA are in the same order of magnitude as the vertical shear stress and are by far not negligible.</p>
      <p id="d2e6587">In combination with the large ice thickness, the horizontal shear stresses would slow down the flow strongly in the central region. In turn, the horizontal stresses exert a driving force to regions of low velocity and thus increase the velocity there. Furthermore, these stresses increase the fluidity of the ice according to the nonlinear flow law. So the SIA overestimates the velocities in the central part of the valley and vice versa.</p>
      <p id="d2e6590">As shown in Fig. <xref ref-type="fig" rid="F11"/>, neither the ice surface nor the velocities depend strongly on <inline-formula><mml:math id="M398" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> at least for <inline-formula><mml:math id="M399" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">100</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M400" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>. The variations in the elevation of the ice surface at the center are a few meters, in agreement with the overall deviations analyzed in Fig. <xref ref-type="fig" rid="F8"/>. In combination with the strong effect of horizontal stresses, the moderate dependence of thickness and velocity on <inline-formula><mml:math id="M401" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> shows, however, that we are already in the regime where the physical error of the SIA dominates over the numerical error.</p>
      <p id="d2e6640">The artificial concentration of high velocities around the center of the valley would be a crucial issue in glacial erosion models that assume that the erosion rate depends on the local sliding velocity <xref ref-type="bibr" rid="bib1.bibx2 bib1.bibx10" id="paren.31"><named-content content-type="pre">e.g.,</named-content></xref>. Here it would even generate narrow canyons instead of U-shaped valleys, and their width would depend on the spatial resolution. In turn, the effect on reconstructions of ice margins might be smaller since the errors in flow velocity compensate partly and small changes in ice thickness have a large effect on the ice flux. So it depends strongly on the application how far the SIA can be pushed outside its theoretical range of validity, defined by the ice thickness being much smaller than the length scale of horizontal variations.</p>
      <p id="d2e6648">While the physical deficiencies of the SIA obviously limit the merit of spatial resolutions much finer than the width of steep valleys, this is not necessarily the case for the entire topography. Figure <xref ref-type="fig" rid="F12"/> shows the profile through the highest peak marked in Fig. <xref ref-type="fig" rid="F1"/>d. The ice thickness is much smaller than the horizontal scale of the major topographic structures in the central part (e.g., <inline-formula><mml:math id="M402" display="inline"><mml:mn mathvariant="normal">18</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M403" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> at the highest peak and <inline-formula><mml:math id="M404" display="inline"><mml:mn mathvariant="normal">7.7</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M405" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> at the minimum). Since either the thickness is low or the spatial variation in velocity is moderate in each part of the profile, horizontal stresses should not have a major effect here. So the limitations of the SIA should not be crucial here.</p>

      <fig id="F12"><label>Figure 12</label><caption><p id="d2e6689">Cross section through the highest peak marked in Fig. <xref ref-type="fig" rid="F1"/>d with a fivefold vertical exaggeration. Velocity is depth-averaged and includes deformation and sliding.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/2903/2026/gmd-19-2903-2026-f12.png"/>

      </fig>

      <p id="d2e6700">In any case, it would be desirable to include horizontal stress components. It is, however, not trivial whether any of the existing approaches (a second-order approximation or a combination with the shallow shelf approximation) could be implemented in such a way that the numerical efficiency is preserved or whether a different approximation is needed.</p>
</sec>
<sec id="Ch1.S7">
  <label>7</label><title>Software description</title>
      <p id="d2e6711">At present, MATLAB and Python implementations of MinSIA are available under the GNU General Public License. None of them requires specific packages, except for NumPy and SciPy for the Python version.</p>
      <p id="d2e6714">For performance reasons, the PCG solver and the incomplete Cholesky preconditioner used in the Python version were written in C++. Depending on the operating system, the C++ code (pcg.cpp) has to be compiled and the respective shared object file (pcg.so) should be placed in the same folder as the Python package (minsia.py). The respective dynamic-link library for Windows systems (pcg.dll) can be directly downloaded instead of compiling the source code.</p>
      <p id="d2e6717">Developers are encouraged to include and test alternative solvers for the linear equation system, which typically consumes the biggest part of the computing time. In particular for the Python version, it is recommended to include alternative solvers at the location of the direct solver in the code since the sparse matrix and the right-hand side of the equation system are easily recognized there. Improving the performance further by GPUs may be one option. It should, however, be noted that the standard PCG solver of SciPy was by up to 20 times slower than the compiled C++ version in the tests, which may reduce the improvement achievable by parallel computing strongly.</p>
      <p id="d2e6720">The implementation is minimalistic and consists of a class <monospace>minsia</monospace> (MATLAB) or <monospace>MinSIA</monospace> (Python), which contains only a constructor and a method <monospace>step</monospace> for performing a forward time step. Data handling and visualization are left to the user.</p>
      <p id="d2e6733">The constructor requires 4 mandatory arguments: <list list-type="bullet"><list-item>
      <p id="d2e6738">An array <monospace>b</monospace> for the topography <inline-formula><mml:math id="M406" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula>.</p></list-item><list-item>
      <p id="d2e6752">The grid spacing <monospace>dx</monospace> (<inline-formula><mml:math id="M407" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:math></inline-formula>).</p></list-item><list-item>
      <p id="d2e6775">The ice flow parameters <monospace>fd</monospace> (<inline-formula><mml:math id="M408" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mtext>d</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>) and <monospace>fs</monospace> (<inline-formula><mml:math id="M409" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mtext>s</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>). These parameters must be either scalar values or arrays with the same size as <monospace>b</monospace>.</p></list-item></list> Further optional arguments are: <list list-type="bullet"><list-item>
      <p id="d2e6812">The model for the net rate of ice production <monospace>prod</monospace>, either given as an array with up to 3 elements or as a function handle. A 3-element array defines the accumulation gradient <inline-formula><mml:math id="M410" display="inline"><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mo>+</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula>, the ablation gradient <inline-formula><mml:math id="M411" display="inline"><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mo>-</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula>, and the maximum rate <inline-formula><mml:math id="M412" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mo>max⁡</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula> (in this order) for the ELA-based model (Eq. <xref ref-type="disp-formula" rid="Ch1.E10"/>). A 2-element array corresponds to <inline-formula><mml:math id="M413" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mo>max⁡</mml:mo></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="normal">∞</mml:mi></mml:mrow></mml:math></inline-formula> and a scalar value additionally to <inline-formula><mml:math id="M414" display="inline"><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mo>-</mml:mo></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mo>+</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula>. If <monospace>prod</monospace> is a function handle, it must refer to a function that receives the actual elevation <inline-formula><mml:math id="M415" display="inline"><mml:mi>s</mml:mi></mml:math></inline-formula> of the ice surface and the ELA <inline-formula><mml:math id="M416" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mtext>e</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> as arguments (so <monospace>prod = @(s,ela)...</monospace> or <monospace>prod = lambda s,ela:...</monospace>) and returns the net production rate <inline-formula><mml:math id="M417" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula>. It must be able to handle array-valued arguments. If the argument <monospace>prod</monospace> is not used, the production rate must be defined in each time step by the respective argument <monospace>prod</monospace> of the method <monospace>step</monospace>.</p></list-item><list-item>
      <p id="d2e6932">The scalar smoothing factor <monospace>f</monospace> (<inline-formula><mml:math id="M418" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula>). Based on the findings of Sect. <xref ref-type="sec" rid="Ch1.S4.SS1"/>, the default value is <inline-formula><mml:math id="M419" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>.</p></list-item><list-item>
      <p id="d2e6960">A logical variable <monospace>slopecorr</monospace> that defines whether or not the correction for steep slopes (terms with <inline-formula><mml:math id="M420" display="inline"><mml:mrow><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:math></inline-formula> in Eqs. (<xref ref-type="disp-formula" rid="Ch1.E3"/>), (<xref ref-type="disp-formula" rid="Ch1.E6"/>), and (<xref ref-type="disp-formula" rid="Ch1.E9"/>)) are used. Default is <monospace>true</monospace>.</p></list-item><list-item>
      <p id="d2e6987">The relative tolerance <monospace>tol</monospace> of the PCG solver. The default value is <inline-formula><mml:math id="M421" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">7</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, which is a very conservative setting according to the findings of Sect. <xref ref-type="sec" rid="Ch1.S4.SS4"/>. A value of <inline-formula><mml:math id="M422" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> should not affect the accuracy strongly and should improve the performance by about <inline-formula><mml:math id="M423" display="inline"><mml:mn mathvariant="normal">10</mml:mn></mml:math></inline-formula> %. Values higher than <inline-formula><mml:math id="M424" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> are not recommended. Setting the tolerance to zero switches to a direct solver.</p></list-item><list-item>
      <p id="d2e7046">The diffusivity <monospace>diffus</monospace> for custom models of ice flow according to Eq. (<xref ref-type="disp-formula" rid="Ch1.E7"/>). It must be a handle to a function that receives the ice thickness <inline-formula><mml:math id="M425" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula>, the slope of the ice surface <inline-formula><mml:math id="M426" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula>, and the flow parameters <inline-formula><mml:math id="M427" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mtext>d</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M428" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mtext>s</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> as arguments (so <monospace>diffus = @(h,slope,fd,fs)...</monospace> or <monospace>diffus = lambda h,slope,fd,fs:...</monospace>). It must be able to handle array-valued arguments.</p></list-item></list> The method <monospace>step</monospace> requires two out of the following three arguments: <list list-type="bullet"><list-item>
      <p id="d2e7110">The time increment <monospace>dt</monospace> (<inline-formula><mml:math id="M429" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>) is strictly required. Since the occurrence of staircase oscillations depends on topography, ice thickness and flow parameters, it is not possible to provide a useful default value. It is instead recommended to watch the maximum oscillation and adjust <inline-formula><mml:math id="M430" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> manually. According to the preliminary tests, it is suggested to start the search somewhere around <inline-formula><mml:math id="M431" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.1</mml:mn></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M432" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">years</mml:mi></mml:mrow></mml:math></inline-formula>.</p></list-item><list-item>
      <p id="d2e7159">A scalar value or an array <monospace>ela</monospace> (<inline-formula><mml:math id="M433" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mtext>e</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>) that defines the ELA.</p></list-item><list-item>
      <p id="d2e7177">An array <monospace>prod</monospace> that defines the net rate of ice production (<inline-formula><mml:math id="M434" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula>) in each cell. If this argument is provided, the argument <monospace>ela</monospace> is not used.</p></list-item></list> The method <monospace>step</monospace> updates the thickness <monospace>h</monospace>. It returns the maximum oscillation (Eq. <xref ref-type="disp-formula" rid="Ch1.E21"/>) and the ice volume that was added to compensate negative thickness values (Sect. <xref ref-type="sec" rid="Ch1.S4.SS3"/>). It also updates the class variable <monospace>slope</monospace>, which contains the smoothed slope of the ice surface, <inline-formula><mml:math id="M435" display="inline"><mml:mrow><mml:msup><mml:mfenced close="|" open="|"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:mfenced><mml:mtext>smoothed</mml:mtext></mml:msup></mml:mrow></mml:math></inline-formula> (Sect. <xref ref-type="sec" rid="Ch1.S3.SS3"/>). This property may be useful for calculating velocities. Furthermore, it updates the class variable <monospace>dh</monospace>, which contains the oscillation at each node (Eq. <xref ref-type="disp-formula" rid="Ch1.E21"/>). This property may be helpful for analyzing oscillations in detail.</p>
      <p id="d2e7231">MinSIA assumes homogeneous Neumann boundary conditions, i.e., closed boundaries. If ice reaches the boundary, it will accumulate. Alternatively, Dirichlet boundary conditions, i.e., a given ice thickness, can be mimicked by setting the thickness to the requested value after each time step.</p>
</sec>
<sec id="Ch1.S8" sec-type="conclusions">
  <label>8</label><title>Summary and outlook</title>
      <p id="d2e7242">This paper presents a novel numerical scheme and a lightweight implementation of the SIA for the flow of ice over a given topography. Key features are a semi-implicit time-stepping scheme and a dynamic smoothing of the slope of the ice surface. The proposed scheme overcomes the limitations of explicit schemes at large ice thickness and small slopes, which are crucial to their numerical efficiency. The results of the performed numerical tests with grid spacings down to <inline-formula><mml:math id="M436" display="inline"><mml:mn mathvariant="normal">25</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M437" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> are promising.</p>
      <p id="d2e7260">Numerically, steep slopes are the main problem. In contrast to thick ice layers with moderately inclined surfaces, the new scheme is not much better than an explicit scheme for thin layers on steep slopes. This limitation depends on the topography and on the model parameters and becomes increasingly relevant for finer grids. Practically, some loss of performance was observed for steep alpine topographies at <inline-formula><mml:math id="M438" display="inline"><mml:mn mathvariant="normal">50</mml:mn></mml:math></inline-formula> <inline-formula><mml:math id="M439" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> grid spacing. However, this loss does not affect the improvement compared to explicit schemes strongly.</p>
      <p id="d2e7278">Conceptually, the restriction to the SIA is the main limitation of the new scheme at present. Since the SIA neglects all horizontal stress components, it overestimates the flow velocities in the middle of valleys and vice versa. The SIA is also not well-suited if sliding along the bed is strong.</p>
      <p id="d2e7281">The physical limitation due to the restriction to the SIA is clearly stronger than the remaining numerical limitations. The new scheme allows for spatial resolutions that seem not to be achievable with conventional numerical models at a reasonable computational effort. In turn, however, such high resolutions are particularly useful in rugged alpine terrain, where the limitations of the SIA are most severe. At the moment, it has to be evaluated carefully how much the physical deficiencies of the SIA affect the respective application.</p>
      <p id="d2e7285">In this sense, challenging the hypothesis about the limited potential for further improvements in computational efficiency with classical numerical methods made by <xref ref-type="bibr" rid="bib1.bibx19" id="text.32"/> was partly successful. Numerical performance has been improved greatly, but only for a very simple model with clear physical limitations. Therefore, the approach developed here cannot compete with the Instructed Glacier Model (IGM) at present since the IGM achieves a high numerical efficiency without obvious limitations concerning the underlying physics.</p>
      <p id="d2e7291">Concerning the future development, the crucial question is whether horizontal stress components can be included to overcome the limitations of the SIA. If this is possible without losing much of the numerical efficiency, classical numerics may become competitive again to the IGM. It is, however, not trivial whether any of the existing approaches (a second-order approximation or a combination with the shallow shelf approximation) could be implemented in such a way that the numerical efficiency is preserved or whether a different approximation is needed.</p>
</sec>

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

<app id="App1.Ch1.S1">
  <label>Appendix A</label><title>The flux density for deformation</title>
      <p id="d2e7305">Let us, for simplicity, assume that the ice surface is parallel to the bed with a slope angle <inline-formula><mml:math id="M440" display="inline"><mml:mi mathvariant="italic">β</mml:mi></mml:math></inline-formula> and that the <inline-formula><mml:math id="M441" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>-coordinate is perpendicular to the surface with <inline-formula><mml:math id="M442" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> at the bed. Then the shear stress acting on a surface-parallel plane is given by the downslope component of the weight of the ice column  above <inline-formula><mml:math id="M443" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>,

          <disp-formula id="App1.Ch1.S1.E22" content-type="numbered"><label>A1</label><mml:math id="M444" display="block"><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>g</mml:mi><mml:mi>sin⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="italic">κ</mml:mi><mml:mo>-</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula>

        for <inline-formula><mml:math id="M445" display="inline"><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mo>≤</mml:mo><mml:mi>z</mml:mi><mml:mo>≤</mml:mo><mml:mi mathvariant="italic">κ</mml:mi></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M446" display="inline"><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>g</mml:mi></mml:mrow></mml:math></inline-formula> is the specific weight of the ice and <inline-formula><mml:math id="M447" display="inline"><mml:mi mathvariant="italic">κ</mml:mi></mml:math></inline-formula> the thickness perpendicular to the surface. According to Glen's flow law, the strain rate is

          <disp-formula id="App1.Ch1.S1.E23" content-type="numbered"><label>A2</label><mml:math id="M448" display="block"><mml:mrow><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:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi>v</mml:mi><mml:mtext>d</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>A</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">τ</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:msup><mml:mo>)</mml:mo><mml:mi>n</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:mi>A</mml:mi><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>g</mml:mi><mml:mi>sin⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="italic">κ</mml:mi><mml:mo>-</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mi>n</mml:mi></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M449" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mtext>d</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the respective velocity and <inline-formula><mml:math id="M450" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> the creep parameter (Pa<sup>−<italic>n</italic></sup> s<sup>−1</sup>). The velocity is then obtained by integration,

          <disp-formula id="App1.Ch1.S1.E24" content-type="numbered"><label>A3</label><mml:math id="M453" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mtext>d</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∫</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mi>z</mml:mi></mml:munderover><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ζ</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi>v</mml:mi><mml:mtext>d</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ζ</mml:mi><mml:mo>)</mml:mo><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="italic">ζ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>A</mml:mi><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>g</mml:mi><mml:mi>sin⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfenced><mml:mi>n</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi mathvariant="italic">κ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="italic">κ</mml:mi><mml:mo>-</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfenced><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

        if <inline-formula><mml:math id="M454" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> is constant. Integrating the velocity yields the flux density

          <disp-formula id="App1.Ch1.S1.E25" content-type="numbered"><label>A4</label><mml:math id="M455" display="block"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mtext>d</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∫</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mi mathvariant="italic">κ</mml:mi></mml:munderover><mml:msub><mml:mi>v</mml:mi><mml:mtext>d</mml:mtext></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mi mathvariant="normal">d</mml:mi><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mtext>d</mml:mtext></mml:msub><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>sin⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfenced><mml:mi>n</mml:mi></mml:msup><mml:msup><mml:mi mathvariant="italic">κ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        with

          <disp-formula id="App1.Ch1.S1.E26" content-type="numbered"><label>A5</label><mml:math id="M456" display="block"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mtext>d</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>A</mml:mi><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>g</mml:mi></mml:mrow></mml:mfenced><mml:mi>n</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

        Expressing <inline-formula><mml:math id="M457" display="inline"><mml:mi mathvariant="italic">κ</mml:mi></mml:math></inline-formula> in terms of the vertical thickness <inline-formula><mml:math id="M458" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula> according to <inline-formula><mml:math id="M459" display="inline"><mml:mrow><mml:mi mathvariant="italic">κ</mml:mi><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:math></inline-formula> yields the relation

          <disp-formula id="App1.Ch1.S1.E27" content-type="numbered"><label>A6</label><mml:math id="M460" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mtext>d</mml:mtext></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mtext>d</mml:mtext></mml:msub><mml:msup><mml:mi>h</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfenced><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>sin⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfenced><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mtext>d</mml:mtext></mml:msub><mml:msup><mml:mi>h</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfenced><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>tan⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfenced><mml:mi>n</mml:mi></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

        which is the scalar version of Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>) for <inline-formula><mml:math id="M461" 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>.</p>
</app>

<app id="App1.Ch1.S2">
  <label>Appendix B</label><title>The flux density for sliding at the bed</title>
      <p id="d2e7919">Starting point is the relation

          <disp-formula id="App1.Ch1.S2.E28" content-type="numbered"><label>B1</label><mml:math id="M462" display="block"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mtext>s</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mi>k</mml:mi><mml:msup><mml:mi mathvariant="italic">τ</mml:mi><mml:mstyle scriptlevel="+1"><mml:mfrac><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:msup><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="italic">τ</mml:mi><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi><mml:mo>-</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula>

        <xref ref-type="bibr" rid="bib1.bibx7" id="paren.33"><named-content content-type="post">Eqs. 7.11. and 7.17</named-content></xref> for the sliding velocity <inline-formula><mml:math id="M463" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mtext>s</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M464" display="inline"><mml:mi mathvariant="italic">σ</mml:mi></mml:math></inline-formula> is normal stress and <inline-formula><mml:math id="M465" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> water pressure. The term <inline-formula><mml:math id="M466" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:msup><mml:mi mathvariant="italic">τ</mml:mi><mml:mfrac><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:msup></mml:mrow></mml:math></inline-formula> describes the original relation proposed by <xref ref-type="bibr" rid="bib1.bibx28" id="text.34"/>, whereby the factor of proportionality <inline-formula><mml:math id="M467" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> depends on the thermal and mechanical properties of ice and on the roughness of the bed. The last multiplier in Eq. (<xref ref-type="disp-formula" rid="App1.Ch1.S2.E28"/>) is the bed separation index introduced by <xref ref-type="bibr" rid="bib1.bibx1" id="text.35"/>. According to Eq. (<xref ref-type="disp-formula" rid="App1.Ch1.S1.E22"/>) for <inline-formula><mml:math id="M468" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, the shear stress at the bed is

          <disp-formula id="App1.Ch1.S2.E29" content-type="numbered"><label>B2</label><mml:math id="M469" display="block"><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>g</mml:mi><mml:mi>sin⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="italic">κ</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

        For the normal stress, the component of gravity perpendicular to the surface must be taken into account, which yields

          <disp-formula id="App1.Ch1.S2.E30" content-type="numbered"><label>B3</label><mml:math id="M470" display="block"><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>g</mml:mi><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="italic">κ</mml:mi></mml:mrow></mml:math></disp-formula>

        Inserting the stresses into Eq. (<xref ref-type="disp-formula" rid="App1.Ch1.S2.E28"/>) yields

          <disp-formula id="App1.Ch1.S2.E31" content-type="numbered"><label>B4</label><mml:math id="M471" display="block"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mtext>s</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mtext>s</mml:mtext></mml:msub><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="italic">κ</mml:mi><mml:mi>sin⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfenced><mml:mstyle scriptlevel="+1"><mml:mfrac><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:msup><mml:mi>tan⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:math></disp-formula>

        with

          <disp-formula id="App1.Ch1.S2.E32" content-type="numbered"><label>B5</label><mml:math id="M472" display="block"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mtext>s</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>k</mml:mi><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>g</mml:mi></mml:mrow></mml:mfenced><mml:mfrac><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>p</mml:mi><mml:mi mathvariant="italic">σ</mml:mi></mml:mfrac></mml:mstyle></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

        Then the flux density is

          <disp-formula id="App1.Ch1.S2.E33" content-type="numbered"><label>B6</label><mml:math id="M473" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mtext>s</mml:mtext></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mi mathvariant="italic">κ</mml:mi><mml:msub><mml:mi>v</mml:mi><mml:mtext>s</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mtext>s</mml:mtext></mml:msub><mml:mi mathvariant="italic">κ</mml:mi><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="italic">κ</mml:mi><mml:mi>sin⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfenced><mml:mstyle scriptlevel="+1"><mml:mfrac><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:msup><mml:mi>tan⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mtext>s</mml:mtext></mml:msub><mml:msup><mml:mi mathvariant="italic">κ</mml:mi><mml:mstyle scriptlevel="+1"><mml:mfrac><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:msup><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfenced><mml:mstyle scriptlevel="+1"><mml:mfrac><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:msup><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>tan⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfenced><mml:mstyle scriptlevel="+1"><mml:mfrac><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:msup><mml:mi>tan⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mtext>s</mml:mtext></mml:msub><mml:msup><mml:mi>h</mml:mi><mml:mstyle scriptlevel="+1"><mml:mfrac><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:msup><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfenced><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>tan⁡</mml:mi><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:mfenced><mml:mstyle scriptlevel="+1"><mml:mfrac><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

        This equation is the scalar version of Eq. (<xref ref-type="disp-formula" rid="Ch1.E6"/>) for <inline-formula><mml:math id="M474" 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>.</p>
</app>
  </app-group><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d2e8377">All codes are available in a Zenodo repository at <ext-link xlink:href="https://doi.org/10.5281/zenodo.17275986" ext-link-type="DOI">10.5281/zenodo.17275986</ext-link> <xref ref-type="bibr" rid="bib1.bibx15" id="paren.36"/> and can be redistributed under the GNU General Public License. This repository also contains data obtained from the numerical simulations. Interested users are advised to download the most recent version of the MinSIA software from <uri>http://hergarten.at/minsia</uri>
<xref ref-type="bibr" rid="bib1.bibx14" id="paren.37"/>.</p>
  </notes><notes notes-type="videosupplement"><title>Video supplement</title>

      <p id="d2e8395">A movie which illustrates the Black Forest test scenario is available at <uri>http://hergarten.at/minsia/examples</uri> <xref ref-type="bibr" rid="bib1.bibx14" id="paren.38"/>.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e8408">The author is a member of the editorial board of <italic>Geoscientific Model Development</italic>. The peer-review process was guided by an independent editor, and the author also has no other competing interests to declare.</p>
  </notes><notes notes-type="disclaimer"><title>Disclaimer</title>

      <p id="d2e8417">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="d2e8423">The author would like to thank the reviewers Daniel Moreno-Parada and Thomas Zwinger for clarifying that the physical limitations of the approximation are bigger than initially assumed and the editor Ludovic Räss for not losing his patience during the review process.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e8428">This open-access publication was funded by the University of Freiburg.</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d2e8434">This paper was edited by Ludovic Räss and reviewed by Daniel Moreno-Parada and Thomas Zwinger.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bibx1"><label>Bindschadler(1983)</label><mixed-citation>Bindschadler, R.: The importance of pressurized subglacial water in separation and sliding at the glacier bed, J. Glaciol., 29, 9–19, <ext-link xlink:href="https://doi.org/10.3189/S0022143000005104" ext-link-type="DOI">10.3189/S0022143000005104</ext-link>, 1983.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Braun et al.(1999)Braun, Zwartz, and Tomkin</label><mixed-citation>Braun, J., Zwartz, D., and Tomkin, J. H.: A new surface-processes model combining glacial and fluvial erosion, Ann. Glaciol., 28, 282–290, <ext-link xlink:href="https://doi.org/10.3189/172756499781821797" ext-link-type="DOI">10.3189/172756499781821797</ext-link>, 1999.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Bueler(2016)</label><mixed-citation>Bueler, E.: Stable finite volume element schemes for the shallow-ice approximation, J. Glaciol., 62, 230–242, <ext-link xlink:href="https://doi.org/10.1017/jog.2015.3" ext-link-type="DOI">10.1017/jog.2015.3</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Bueler(2023)</label><mixed-citation>Bueler, E.: Performance analysis of high-resolution ice-sheet simulations, J. Glaciol., 69, 930–935, <ext-link xlink:href="https://doi.org/10.1017/jog.2022.113" ext-link-type="DOI">10.1017/jog.2022.113</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Bueler and Brown(2009)</label><mixed-citation>Bueler, E. and Brown, J.: Shallow shelf approximation as a “sliding law” in a thermomechanically coupled ice sheet model, J. Geophys. Res.-Earth, 114, F03008, <ext-link xlink:href="https://doi.org/10.1029/2008JF001179" ext-link-type="DOI">10.1029/2008JF001179</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Cohen et al.(2018)Cohen, Gillet-Chaulet, Haeberli, Machguth, and Fischer</label><mixed-citation>Cohen, D., Gillet-Chaulet, F., Haeberli, W., Machguth, H., and Fischer, U. H.: Numerical reconstructions of the flow and basal conditions of the Rhine glacier, European Central Alps, at the Last Glacial Maximum, The Cryosphere, 12, 2515–2544, <ext-link xlink:href="https://doi.org/10.5194/tc-12-2515-2018" ext-link-type="DOI">10.5194/tc-12-2515-2018</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Cuffey and Paterson(2010)</label><mixed-citation> Cuffey, K. M. and Paterson, W. S. B.: The Physics of Glaciers, Butterworth-Heinemann, Oxford, 4th Edn.,  ISBN 9780080919126, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Deal and Prasicek(2021)</label><mixed-citation>Deal, E. and Prasicek, G.: The sliding ice incision model: A new approach to understanding glacial landscape evolution, Geophys. Res. Lett., 48, e2020GL089263, <ext-link xlink:href="https://doi.org/10.1029/2020GL089263" ext-link-type="DOI">10.1029/2020GL089263</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Egholm et al.(2011)Egholm, Knudsen, Clark, , and Lesemann</label><mixed-citation>Egholm, D. L., Knudsen, M. F., Clark, C. D.,  and Lesemann, J. E.: Modeling the flow of glaciers in steep terrains: The integrated second‐order shallow ice approximation (iSOSIA), J. Geophys. Res.-Earth, 116, F02012, <ext-link xlink:href="https://doi.org/10.1029/2010JF001900" ext-link-type="DOI">10.1029/2010JF001900</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Egholm et al.(2012)Egholm, Pedersen, Knudsen, and Larsen</label><mixed-citation>Egholm, D. L., Pedersen, V. K., Knudsen, M. F., and Larsen, N. K.: Coupling the flow of ice, water, and sediment in a glacial landscape evolution model, Geomorphology, 141–142, 47–66, <ext-link xlink:href="https://doi.org/10.1016/j.geomorph.2011.12.019" ext-link-type="DOI">10.1016/j.geomorph.2011.12.019</ext-link>, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Goelzer et al.(2020)</label><mixed-citation>Goelzer, H., Nowicki, S., Payne, A., Larour, E., Seroussi, H., Lipscomb, W. H., Gregory, J., Abe-Ouchi, A., Shepherd, A., Simon, E., Agosta, C., Alexander, P., Aschwanden, A., Barthel, A., Calov, R., Chambers, C., Choi, Y., Cuzzone, J., Dumas, C., Edwards, T., Felikson, D., Fettweis, X., Golledge, N. R., Greve, R., Humbert, A., Huybrechts, P., Le clec'h, S., Lee, V., Leguy, G., Little, C., Lowry, D. P., Morlighem, M., Nias, I., Quiquet, A., Rückamp, M., Schlegel, N.-J., Slater, D. A., Smith, R. S., Straneo, F., Tarasov, L., van de Wal, R., and van den Broeke, M.: The future sea-level contribution of the Greenland ice sheet: a multi-model ensemble study of ISMIP6, The Cryosphere, 14, 3071–3096, <ext-link xlink:href="https://doi.org/10.5194/tc-14-3071-2020" ext-link-type="DOI">10.5194/tc-14-3071-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Greve and Blatter(2009)</label><mixed-citation>Greve, R. and Blatter, H.: Dynamics of Ice Sheets and Glaciers, Springer, Berlin, Heidelberg, <ext-link xlink:href="https://doi.org/10.1007/978-3-642-03415-2" ext-link-type="DOI">10.1007/978-3-642-03415-2</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Hergarten(2021)</label><mixed-citation>Hergarten, S.: Modeling glacial and fluvial landform evolution at large scales using a stream-power approach, Earth Surf. Dynam., 9, 937–952, <ext-link xlink:href="https://doi.org/10.5194/esurf-9-937-2021" ext-link-type="DOI">10.5194/esurf-9-937-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Hergarten(2025a)</label><mixed-citation>Hergarten, S.: MinSIA,  <uri>http://hergarten.at/minsia</uri> (last access: 7 October 2025), 2025a.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Hergarten(2025b)</label><mixed-citation>Hergarten, S.: MinSIA v1: a lightweight and efficient implementation of the shallow ice approximation, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.17275986" ext-link-type="DOI">10.5281/zenodo.17275986</ext-link>, 2025b.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Hindmarsh(2004)</label><mixed-citation>Hindmarsh, R. C. A.: A numerical comparison of approximations to the Stokes equations used in ice sheet and glacier modeling, J. Geophys. Res.-Earth, 109, F01012, <ext-link xlink:href="https://doi.org/10.1029/2003JF000065" ext-link-type="DOI">10.1029/2003JF000065</ext-link>, 2004.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Hutter(1983)</label><mixed-citation>Hutter, K.: Theoretical Glaciology, Springer, Dordrecht, <ext-link xlink:href="https://doi.org/10.1007/978-94-015-1167-4" ext-link-type="DOI">10.1007/978-94-015-1167-4</ext-link>, 1983.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Jouvet and Cordonnier(2023)</label><mixed-citation>Jouvet, G. and Cordonnier, G.: Ice-flow model emulator based on physics-informed deep learning, J. Glaciol., 69, 1951–1955, <ext-link xlink:href="https://doi.org/10.1017/jog.2023.73" ext-link-type="DOI">10.1017/jog.2023.73</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Jouvet et al.(2021)Jouvet, Cordonnier, Kim, Lüthi, Vieli, and Aschwanden</label><mixed-citation>Jouvet, G., Cordonnier, G., Kim, B., Lüthi, M., Vieli, A., and Aschwanden, A.: Deep learning speeds up ice flow modelling by several orders of magnitude, J. Glaciol., 68, 651–664, <ext-link xlink:href="https://doi.org/10.1017/jog.2021.120" ext-link-type="DOI">10.1017/jog.2021.120</ext-link>, 2021. </mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Landesamt für Geoinformation und Landentwicklung(2025)</label><mixed-citation>Landesamt für Geoinformation und Landentwicklung: Open GeoData Portal, <uri>https://opengeodata.lgl-bw.de</uri> (last access: 10 January 2025), 2025.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Le Meur et al.(2004)Le Meur, Gagliardini, Zwinger, and Ruokolainen</label><mixed-citation>Le Meur, E., Gagliardini, O., Zwinger, T., and Ruokolainen, J.: Glacier flow modelling: a comparison of the Shallow Ice Approximation and the full-Stokes solution, C. R. Physique, 5, 709–722, <ext-link xlink:href="https://doi.org/10.1016/j.crhy.2004.10.001" ext-link-type="DOI">10.1016/j.crhy.2004.10.001</ext-link>, 2004.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Liebl et al.(2023)Liebl, Robl, Hergarten, Egholm, and Stüwe</label><mixed-citation>Liebl, M., Robl, J., Hergarten, S., Egholm, D. L., and Stüwe, K.: Modeling large‐scale landform evolution with a stream power law for glacial erosion (OpenLEM v37): benchmarking experiments against a more process-based description of ice flow (iSOSIA v3.4.3), Geosci. Model Dev., 16, 1315–1343, <ext-link xlink:href="https://doi.org/10.5194/gmd-16-1315-2023" ext-link-type="DOI">10.5194/gmd-16-1315-2023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Pattyn et al.(2008)Pattyn, Perichon, Aschwanden, Breuer, de Smedt, Gagliardini, Gudmundsson, Hindmarsh, Hubbard, Johnson, Kleiner, Konovalov, Martin, Payne, Pollard, Price, Rückamp, Saito, Souček, Sugiyama, and Zwinger</label><mixed-citation>Pattyn, F., Perichon, L., Aschwanden, A., Breuer, B., de Smedt, B., Gagliardini, O., Gudmundsson, G. H., Hindmarsh, R. C. A., Hubbard, A., Johnson, J. V., Kleiner, T., Konovalov, Y., Martin, C., Payne, A. J., Pollard, D., Price, S., Rückamp, M., Saito, F., Souček, O., Sugiyama, S., and Zwinger, T.: Benchmark experiments for higher-order and full-Stokes ice sheet models (ISMIP–HOM), The Cryosphere, 2, 95–108, <ext-link xlink:href="https://doi.org/10.5194/tc-2-95-2008" ext-link-type="DOI">10.5194/tc-2-95-2008</ext-link>, 2008.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Seddik et al.(2017)Seddik, Greve, Zwinger, and Sugiyama</label><mixed-citation>Seddik, H., Greve, R., Zwinger, T., and Sugiyama, S.: Regional modeling of the Shirase drainage basin, East Antarctica: full Stokes vs. shallow ice dynamics, The Cryosphere, 11, 2213–2229, <ext-link xlink:href="https://doi.org/10.5194/tc-11-2213-2017" ext-link-type="DOI">10.5194/tc-11-2213-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Seguinot et al.(2018)Seguinot, Ivy-Ochs, Jouvet, Huss, Funk, and Preusser</label><mixed-citation>Seguinot, J., Ivy-Ochs, S., Jouvet, G., Huss, M., Funk, M., and Preusser, F.: Modelling last glacial cycle ice dynamics in the Alps, The Cryosphere, 12, 3265–3285, <ext-link xlink:href="https://doi.org/10.5194/tc-12-3265-2018" ext-link-type="DOI">10.5194/tc-12-3265-2018</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Seroussi et al.(2020)Seroussi, Nowicki, Payne, Goelzer, Lipscomb, Abe-Ouchi, Agosta, Albrecht, Asay-Davis, Barthel, Calov, Cullather, Dumas, Galton-Fenzi, Gladstone, Golledge, Gregory, Greve, Hattermann, Hoffman, Humbert, Huybrechts, Jourdain, Kleiner, Larour, Leguy, Lowry, Little, Morlighem, Pattyn, Pelle, Price, Quiquet, Reese, Schlegel, Shepherd, Simon, Smith, Straneo, Sun, Trusel, van Breedam, van de Wal, Winkelmann, Zhao, Zhang, and Zwinger</label><mixed-citation>Seroussi, H., Nowicki, S., Payne, A. J., Goelzer, H., Lipscomb, W. H., Abe-Ouchi, A., Agosta, C., Albrecht, T., Asay-Davis, X., Barthel, A., Calov, R., Cullather, R., Dumas, C., Galton-Fenzi, B. K., Gladstone, R., Golledge, N. R., Gregory, J. M., Greve, R., Hattermann, T., Hoffman, M. J., Humbert, A., Huybrechts, P., Jourdain, N. C., Kleiner, T., Larour, E., Leguy, G. R., Lowry, D. P., Little, C. M., Morlighem, M., Pattyn, F., Pelle, T., Price, S. F., Quiquet, A., Reese, R., Schlegel, N.-J., Shepherd, A., Simon, E., Smith, R. S., Straneo, F., Sun, S., Trusel, L. D., Van Breedam, J., van de Wal, R. S. W., Winkelmann, R., Zhao, C., Zhang, T., and Zwinger, T.: ISMIP6 Antarctica: a multi-model ensemble of the Antarctic ice sheet evolution over the 21st century, The Cryosphere, 14, 3033–3070, <ext-link xlink:href="https://doi.org/10.5194/tc-14-3033-2020" ext-link-type="DOI">10.5194/tc-14-3033-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Weber et al.(2021)Weber, Golledge, Fogwill, Turney, and Thomas</label><mixed-citation>Weber, M. E., Golledge, N. R., Fogwill, C. J., Turney, C. S. M., and Thomas, Z. A.: Decadal-scale onset and termination of Antarctic ice-mass loss during the last deglaciation, Nat. Commun., 12, 6683, <ext-link xlink:href="https://doi.org/10.1038/s41467-021-27053-6" ext-link-type="DOI">10.1038/s41467-021-27053-6</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Weertman(1957)</label><mixed-citation>Weertman, J.: On the sliding of glaciers, J. Glaciol., 3, 33–38, <ext-link xlink:href="https://doi.org/10.3189/S0022143000024709" ext-link-type="DOI">10.3189/S0022143000024709</ext-link>, 1957.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Wirbel et al.(2018)Wirbel, Jarosch, and Nicholson</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-list></back>
    <!--<article-title-html>MinSIA v1: a lightweight and efficient implementation of  the shallow ice approximation</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Bindschadler(1983)</label><mixed-citation>
      
Bindschadler, R.: The importance of pressurized subglacial water in separation
and sliding at the glacier bed, J. Glaciol., 29, 9–19,
<a href="https://doi.org/10.3189/S0022143000005104" target="_blank">https://doi.org/10.3189/S0022143000005104</a>, 1983.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Braun et al.(1999)Braun, Zwartz, and Tomkin</label><mixed-citation>
      
Braun, J., Zwartz, D., and Tomkin, J. H.: A new surface-processes model
combining glacial and fluvial erosion, Ann. Glaciol., 28, 282–290,
<a href="https://doi.org/10.3189/172756499781821797" target="_blank">https://doi.org/10.3189/172756499781821797</a>, 1999.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Bueler(2016)</label><mixed-citation>
      
Bueler, E.: Stable finite volume element schemes for the shallow-ice
approximation, J. Glaciol., 62, 230–242, <a href="https://doi.org/10.1017/jog.2015.3" target="_blank">https://doi.org/10.1017/jog.2015.3</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Bueler(2023)</label><mixed-citation>
      
Bueler, E.: Performance analysis of high-resolution ice-sheet simulations, J.
Glaciol., 69, 930–935, <a href="https://doi.org/10.1017/jog.2022.113" target="_blank">https://doi.org/10.1017/jog.2022.113</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Bueler and Brown(2009)</label><mixed-citation>
      
Bueler, E. and Brown, J.: Shallow shelf approximation as a “sliding law” in a
thermomechanically coupled ice sheet model, J. Geophys. Res.-Earth,
114, F03008, <a href="https://doi.org/10.1029/2008JF001179" target="_blank">https://doi.org/10.1029/2008JF001179</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Cohen et al.(2018)Cohen, Gillet-Chaulet, Haeberli, Machguth, and
Fischer</label><mixed-citation>
      
Cohen, D., Gillet-Chaulet, F., Haeberli, W., Machguth, H., and Fischer, U. H.: Numerical reconstructions of the flow and basal conditions of the Rhine glacier, European Central Alps, at the Last Glacial Maximum, The Cryosphere, 12, 2515–2544, <a href="https://doi.org/10.5194/tc-12-2515-2018" target="_blank">https://doi.org/10.5194/tc-12-2515-2018</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Cuffey and Paterson(2010)</label><mixed-citation>
      
Cuffey, K. M. and Paterson, W. S. B.: The Physics of Glaciers,
Butterworth-Heinemann, Oxford, 4th Edn.,  ISBN 9780080919126, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Deal and Prasicek(2021)</label><mixed-citation>
      
Deal, E. and Prasicek, G.: The sliding ice incision model: A new approach to
understanding glacial landscape evolution, Geophys. Res. Lett., 48,
e2020GL089263, <a href="https://doi.org/10.1029/2020GL089263" target="_blank">https://doi.org/10.1029/2020GL089263</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Egholm et al.(2011)Egholm, Knudsen, Clark, , and Lesemann</label><mixed-citation>
      
Egholm, D. L., Knudsen, M. F., Clark, C. D.,  and Lesemann, J. E.: Modeling
the flow of glaciers in steep terrains: The integrated second‐order shallow
ice approximation (iSOSIA), J. Geophys. Res.-Earth, 116, F02012,
<a href="https://doi.org/10.1029/2010JF001900" target="_blank">https://doi.org/10.1029/2010JF001900</a>, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Egholm et al.(2012)Egholm, Pedersen, Knudsen, and Larsen</label><mixed-citation>
      
Egholm, D. L., Pedersen, V. K., Knudsen, M. F., and Larsen, N. K.: Coupling the
flow of ice, water, and sediment in a glacial landscape evolution model,
Geomorphology, 141–142, 47–66, <a href="https://doi.org/10.1016/j.geomorph.2011.12.019" target="_blank">https://doi.org/10.1016/j.geomorph.2011.12.019</a>, 2012.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Goelzer et al.(2020)</label><mixed-citation>
      
Goelzer, H., Nowicki, S., Payne, A., Larour, E., Seroussi, H., Lipscomb, W. H., Gregory, J., Abe-Ouchi, A., Shepherd, A., Simon, E., Agosta, C., Alexander, P., Aschwanden, A., Barthel, A., Calov, R., Chambers, C., Choi, Y., Cuzzone, J., Dumas, C., Edwards, T., Felikson, D., Fettweis, X., Golledge, N. R., Greve, R., Humbert, A., Huybrechts, P., Le clec'h, S., Lee, V., Leguy, G., Little, C., Lowry, D. P., Morlighem, M., Nias, I., Quiquet, A., Rückamp, M., Schlegel, N.-J., Slater, D. A., Smith, R. S., Straneo, F., Tarasov, L., van de Wal, R., and van den Broeke, M.: The future sea-level contribution of the Greenland ice sheet: a multi-model ensemble study of ISMIP6, The Cryosphere, 14, 3071–3096, <a href="https://doi.org/10.5194/tc-14-3071-2020" target="_blank">https://doi.org/10.5194/tc-14-3071-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Greve and Blatter(2009)</label><mixed-citation>
      
Greve, R. and Blatter, H.: Dynamics of Ice Sheets and Glaciers, Springer,
Berlin, Heidelberg, <a href="https://doi.org/10.1007/978-3-642-03415-2" target="_blank">https://doi.org/10.1007/978-3-642-03415-2</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Hergarten(2021)</label><mixed-citation>
      
Hergarten, S.: Modeling glacial and fluvial landform evolution at large scales using a stream-power approach, Earth Surf. Dynam., 9, 937–952, <a href="https://doi.org/10.5194/esurf-9-937-2021" target="_blank">https://doi.org/10.5194/esurf-9-937-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Hergarten(2025a)</label><mixed-citation>
      
Hergarten, S.: MinSIA,  <a href="http://hergarten.at/minsia" target="_blank"/> (last
access: 7 October 2025), 2025a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Hergarten(2025b)</label><mixed-citation>
      
Hergarten, S.: MinSIA v1: a lightweight and efficient implementation of the
shallow ice approximation, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.17275986" target="_blank">https://doi.org/10.5281/zenodo.17275986</a>, 2025b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Hindmarsh(2004)</label><mixed-citation>
      
Hindmarsh, R. C. A.: A numerical comparison of approximations to the Stokes
equations used in ice sheet and glacier modeling, J. Geophys. Res.-Earth, 109, F01012, <a href="https://doi.org/10.1029/2003JF000065" target="_blank">https://doi.org/10.1029/2003JF000065</a>, 2004.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Hutter(1983)</label><mixed-citation>
      
Hutter, K.: Theoretical Glaciology, Springer, Dordrecht,
<a href="https://doi.org/10.1007/978-94-015-1167-4" target="_blank">https://doi.org/10.1007/978-94-015-1167-4</a>, 1983.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Jouvet and Cordonnier(2023)</label><mixed-citation>
      
Jouvet, G. and Cordonnier, G.: Ice-flow model emulator based on
physics-informed deep learning, J. Glaciol., 69, 1951–1955,
<a href="https://doi.org/10.1017/jog.2023.73" target="_blank">https://doi.org/10.1017/jog.2023.73</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Jouvet et al.(2021)Jouvet, Cordonnier, Kim, Lüthi, Vieli, and
Aschwanden</label><mixed-citation>
      
Jouvet, G., Cordonnier, G., Kim, B., Lüthi, M., Vieli, A., and Aschwanden,
A.: Deep learning speeds up ice flow modelling by several orders of
magnitude, J. Glaciol., 68, 651–664, <a href="https://doi.org/10.1017/jog.2021.120" target="_blank">https://doi.org/10.1017/jog.2021.120</a>, 2021.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Landesamt für Geoinformation und Landentwicklung(2025)</label><mixed-citation>
      
Landesamt für Geoinformation und Landentwicklung: Open GeoData Portal,
<a href="https://opengeodata.lgl-bw.de" target="_blank"/> (last access: 10 January 2025), 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Le Meur et al.(2004)Le Meur, Gagliardini, Zwinger, and
Ruokolainen</label><mixed-citation>
      
Le Meur, E., Gagliardini, O., Zwinger, T., and Ruokolainen, J.: Glacier flow
modelling: a comparison of the Shallow Ice Approximation and the
full-Stokes solution, C. R. Physique, 5, 709–722,
<a href="https://doi.org/10.1016/j.crhy.2004.10.001" target="_blank">https://doi.org/10.1016/j.crhy.2004.10.001</a>, 2004.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Liebl et al.(2023)Liebl, Robl, Hergarten, Egholm, and
Stüwe</label><mixed-citation>
      
Liebl, M., Robl, J., Hergarten, S., Egholm, D. L., and Stüwe, K.: Modeling large‐scale landform evolution with a stream power law for glacial erosion (OpenLEM v37): benchmarking experiments against a more process-based description of ice flow (iSOSIA v3.4.3), Geosci. Model Dev., 16, 1315–1343, <a href="https://doi.org/10.5194/gmd-16-1315-2023" target="_blank">https://doi.org/10.5194/gmd-16-1315-2023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Pattyn et al.(2008)Pattyn, Perichon, Aschwanden, Breuer, de Smedt,
Gagliardini, Gudmundsson, Hindmarsh, Hubbard, Johnson, Kleiner, Konovalov,
Martin, Payne, Pollard, Price, Rückamp, Saito, Souček, Sugiyama, and
Zwinger</label><mixed-citation>
      
Pattyn, F., Perichon, L., Aschwanden, A., Breuer, B., de Smedt, B., Gagliardini, O., Gudmundsson, G. H., Hindmarsh, R. C. A., Hubbard, A., Johnson, J. V., Kleiner, T., Konovalov, Y., Martin, C., Payne, A. J., Pollard, D., Price, S., Rückamp, M., Saito, F., Souček, O., Sugiyama, S., and Zwinger, T.: Benchmark experiments for higher-order and full-Stokes ice sheet models (ISMIP–HOM), The Cryosphere, 2, 95–108, <a href="https://doi.org/10.5194/tc-2-95-2008" target="_blank">https://doi.org/10.5194/tc-2-95-2008</a>, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Seddik et al.(2017)Seddik, Greve, Zwinger, and Sugiyama</label><mixed-citation>
      
Seddik, H., Greve, R., Zwinger, T., and Sugiyama, S.: Regional modeling of the Shirase drainage basin, East Antarctica: full Stokes vs. shallow ice dynamics, The Cryosphere, 11, 2213–2229, <a href="https://doi.org/10.5194/tc-11-2213-2017" target="_blank">https://doi.org/10.5194/tc-11-2213-2017</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Seguinot et al.(2018)Seguinot, Ivy-Ochs, Jouvet, Huss, Funk, and
Preusser</label><mixed-citation>
      
Seguinot, J., Ivy-Ochs, S., Jouvet, G., Huss, M., Funk, M., and Preusser, F.: Modelling last glacial cycle ice dynamics in the Alps, The Cryosphere, 12, 3265–3285, <a href="https://doi.org/10.5194/tc-12-3265-2018" target="_blank">https://doi.org/10.5194/tc-12-3265-2018</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Seroussi et al.(2020)Seroussi, Nowicki, Payne, Goelzer, Lipscomb,
Abe-Ouchi, Agosta, Albrecht, Asay-Davis, Barthel, Calov, Cullather, Dumas,
Galton-Fenzi, Gladstone, Golledge, Gregory, Greve, Hattermann, Hoffman,
Humbert, Huybrechts, Jourdain, Kleiner, Larour, Leguy, Lowry, Little,
Morlighem, Pattyn, Pelle, Price, Quiquet, Reese, Schlegel, Shepherd, Simon,
Smith, Straneo, Sun, Trusel, van Breedam, van de Wal, Winkelmann, Zhao,
Zhang, and Zwinger</label><mixed-citation>
      
Seroussi, H., Nowicki, S., Payne, A. J., Goelzer, H., Lipscomb, W. H., Abe-Ouchi, A., Agosta, C., Albrecht, T., Asay-Davis, X., Barthel, A., Calov, R., Cullather, R., Dumas, C., Galton-Fenzi, B. K., Gladstone, R., Golledge, N. R., Gregory, J. M., Greve, R., Hattermann, T., Hoffman, M. J., Humbert, A., Huybrechts, P., Jourdain, N. C., Kleiner, T., Larour, E., Leguy, G. R., Lowry, D. P., Little, C. M., Morlighem, M., Pattyn, F., Pelle, T., Price, S. F., Quiquet, A., Reese, R., Schlegel, N.-J., Shepherd, A., Simon, E., Smith, R. S., Straneo, F., Sun, S., Trusel, L. D., Van Breedam, J., van de Wal, R. S. W., Winkelmann, R., Zhao, C., Zhang, T., and Zwinger, T.: ISMIP6 Antarctica: a multi-model ensemble of the Antarctic ice sheet evolution over the 21st century, The Cryosphere, 14, 3033–3070, <a href="https://doi.org/10.5194/tc-14-3033-2020" target="_blank">https://doi.org/10.5194/tc-14-3033-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Weber et al.(2021)Weber, Golledge, Fogwill, Turney, and
Thomas</label><mixed-citation>
      
Weber, M. E., Golledge, N. R., Fogwill, C. J., Turney, C. S. M., and Thomas,
Z. A.: Decadal-scale onset and termination of Antarctic ice-mass loss
during the last deglaciation, Nat. Commun., 12, 6683,
<a href="https://doi.org/10.1038/s41467-021-27053-6" target="_blank">https://doi.org/10.1038/s41467-021-27053-6</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Weertman(1957)</label><mixed-citation>
      
Weertman, J.: On the sliding of glaciers, J. Glaciol., 3, 33–38,
<a href="https://doi.org/10.3189/S0022143000024709" target="_blank">https://doi.org/10.3189/S0022143000024709</a>, 1957.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Wirbel et al.(2018)Wirbel, Jarosch, and Nicholson</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>--></article>
