<?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-6207-2026</article-id><title-group><article-title>CarboKitten.jl – an open source toolkit  for carbonate stratigraphic modeling</article-title><alt-title>CarboKitten.jl</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Hidding</surname><given-names>Johan</given-names></name>
          <email>j.hidding@esciencecenter.nl</email>
        <ext-link>https://orcid.org/0000-0002-7550-1796</ext-link></contrib>
        <contrib contrib-type="author" corresp="yes" rid="aff2">
          <name><surname>Jarochowska</surname><given-names>Emilia</given-names></name>
          <email>e.b.jarochowska@uu.nl</email>
        <ext-link>https://orcid.org/0000-0001-8937-9405</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Hohmann</surname><given-names>Niklas</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-1559-1838</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Liu</surname><given-names>Xianyi</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Burgess</surname><given-names>Peter</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Spreeuw</surname><given-names>Hanno</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-5057-0322</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>Netherlands eScience Center, Science Park 402 (Matrix THREE), 1098 XH Amsterdam, the Netherlands</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Utrecht University, Faculty of Geosciences, Princetonlaan 8a, 3584 CB Utrecht, the Netherlands</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>University of Liverpool, School of Environmental Sciences, 4 Brownlow Street, Liverpool, L69 3GP, United Kingdom</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Johan Hidding (j.hidding@esciencecenter.nl) and Emilia Jarochowska (e.b.jarochowska@uu.nl)</corresp></author-notes><pub-date><day>13</day><month>July</month><year>2026</year></pub-date>
      
      <volume>19</volume>
      <issue>13</issue>
      <fpage>6207</fpage><lpage>6229</lpage>
      <history>
        <date date-type="received"><day>16</day><month>September</month><year>2025</year></date>
           <date date-type="rev-request"><day>13</day><month>October</month><year>2025</year></date>
           <date date-type="rev-recd"><day>7</day><month>May</month><year>2026</year></date>
           <date date-type="accepted"><day>21</day><month>May</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Johan Hidding et al.</copyright-statement>
        <copyright-year>2026</copyright-year>
      <license license-type="open-access"><license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p></license></permissions><self-uri xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026.html">This article is available from https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e144">Stratigraphic forward modeling is a powerful tool for testing hypotheses about the geological record and conducting numerical experiments in stratigraphy at timescales not accessible to direct human observation. Open Source software for stratigraphic modeling available so far has previously focused on siliciclastic or terrestrial depositional environments. CarboKitten is a stratigraphic forward modeling toolkit for carbonate platforms. With performance and accessibility in mind, CarboKitten is implemented in Julia, using the literate programming approach.</p>

      <p id="d2e147">CarboKitten integrates three components: the carbonate production model of <xref ref-type="bibr" rid="bib1.bibx5" id="text.1"/>, the cellular automaton for spatial heterogeneity introduced by <xref ref-type="bibr" rid="bib1.bibx8" id="text.2"/>, and a novel finite difference transport model inspired by <xref ref-type="bibr" rid="bib1.bibx59" id="text.3"/>. The model simulates carbonate production through multiple biological factories (typically euphotic, oligophotic and aphotic), accounts for ecological processes that create spatial facies patterns through cellular automaton rules, and implements sediment transport via an active layer approach where material moves along paths of steepest descent.</p>

      <p id="d2e159">Key features include support for different boundary conditions, variable sea level and insolation inputs, wave-induced transport capabilities, and visualization tools aiming at beautiful plots. The software exports data in the interoperable HDF5 format and includes functions for creating stratigraphic cross-sections, chronostratigraphic (Wheeler) diagrams, topographic maps, and sediment accumulation curves. Performance benchmarks demonstrate linear scaling with grid size and time steps, enabling efficient execution on consumer hardware.</p>

      <p id="d2e162">CarboKitten addresses a gap in available carbonate modeling tools by providing an accessible, well-documented, and modifiable toolkit for hypothesis testing in carbonate stratigraphy. The model operates on timescales from centuries to millions of years and can simulate various scenarios including orbital forcing, sea level change, and biological succession patterns. CarboKitten's accessibility should encourage broader adoption of stratigraphic forward modeling in carbonate research and education, supporting hypothesis-driven approaches to understanding the structure of the geological record and reconstructing the history of the Earth from carbonate strata.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>European Research Council</funding-source>
<award-id>101041077</award-id>
</award-group>
</funding-group>
</article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e174">Stratigraphic forward modelling is well established as a means of examining our understanding of the formation of stratal architectures <xref ref-type="bibr" rid="bib1.bibx25 bib1.bibx11 bib1.bibx61 bib1.bibx67 bib1.bibx17 bib1.bibx42 bib1.bibx52" id="paren.4"/>, prediction, correlation and imputation of architectures from incomplete data <xref ref-type="bibr" rid="bib1.bibx72 bib1.bibx55" id="paren.5"/>, and testing hypotheses on the structure of the geological record <xref ref-type="bibr" rid="bib1.bibx46 bib1.bibx54 bib1.bibx51" id="paren.6"><named-content content-type="pre">e.g.,</named-content></xref> and the preservation of proxies <xref ref-type="bibr" rid="bib1.bibx14" id="paren.7"/>, fossils <xref ref-type="bibr" rid="bib1.bibx36 bib1.bibx26 bib1.bibx35" id="paren.8"/>, or forcing mechanisms <xref ref-type="bibr" rid="bib1.bibx45 bib1.bibx44 bib1.bibx12" id="paren.9"/>. Owing to their economic interest, most such models are proprietary to exploration companies and their availability to researchers is limited. Some older models developed by researchers share the fate of many other research software packages and their maintenance ceases, e.g. when a project ends <xref ref-type="bibr" rid="bib1.bibx73" id="paren.10"/>. It is not always possible to resuscitate such models, especially if documentation or license are lacking or code has not been shared <xref ref-type="bibr" rid="bib1.bibx68 bib1.bibx16 bib1.bibx3" id="paren.11"><named-content content-type="pre">e.g.,</named-content></xref>. As a result, the choice of stratigraphic forward models available to researchers at the moment is narrow and shifted towards siliciclastic <xref ref-type="bibr" rid="bib1.bibx40 bib1.bibx70" id="paren.12"><named-content content-type="pre">e.g.,</named-content></xref> or fluvial depositional systems <xref ref-type="bibr" rid="bib1.bibx76 bib1.bibx22" id="paren.13"/>, to the point that researchers may resort to these models to create simulations of carbonate sections <xref ref-type="bibr" rid="bib1.bibx78" id="paren.14"/>.</p>
      <p id="d2e217">Modeling carbonate depositional systems requires not only accounting for aqueous and atmospheric processes, but also for the biological character of sediment production and dispersal. Ecological processes, such as facilitation, competition and dispersal, may on one hand confound the relationships between sediment composition and water depth <xref ref-type="bibr" rid="bib1.bibx25 bib1.bibx20 bib1.bibx65 bib1.bibx60 bib1.bibx75" id="paren.15"><named-content content-type="pre">e.g.</named-content></xref> and, on the other hand, lead to creation of complex facies patterns under stable sea level conditions <xref ref-type="bibr" rid="bib1.bibx19 bib1.bibx62 bib1.bibx77" id="paren.16"/>. Complex models accounting for this have been mostly developed for exploration, e.g. <monospace>Carbonate 3D</monospace> <xref ref-type="bibr" rid="bib1.bibx74 bib1.bibx72" id="paren.17"/>, <monospace>DIONISOS</monospace>
<xref ref-type="bibr" rid="bib1.bibx25" id="paren.18"/> and <monospace>Carbonate GPM</monospace> <xref ref-type="bibr" rid="bib1.bibx32" id="paren.19"/>. Of research-driven models operating in more than one dimension, two include a wider range of depositional environments with carbonate production modules: <monospace>CARB3D+</monospace> <xref ref-type="bibr" rid="bib1.bibx61" id="paren.20"/>, <monospace>SedSimple</monospace> <xref ref-type="bibr" rid="bib1.bibx71" id="paren.21"/> and <monospace>Badlands</monospace> <xref ref-type="bibr" rid="bib1.bibx63" id="paren.22"/>, including its Python interface <monospace>pyBadlands</monospace> <xref ref-type="bibr" rid="bib1.bibx64" id="paren.23"/>, but due to their general focus these models do not account for the spatial heterogeneity driven by biological processes. Finally, <monospace>CarboCAT</monospace> <xref ref-type="bibr" rid="bib1.bibx8" id="paren.24"/> is a research-driven 3D model dedicated to stratigraphic forward modeling of carbonate platforms, which includes a cellular automaton that approximates the spatial heterogeneity formed through ecological interactions between carbonate-producing organisms. <monospace>CarboCAT</monospace> has been used in multiple studies <xref ref-type="bibr" rid="bib1.bibx54 bib1.bibx77 bib1.bibx35" id="paren.25"><named-content content-type="pre">e.g.</named-content></xref>, but having been written in Matlab, it is not accessible to contributions from the entire scientific community. Based on the successful applications of <monospace>CarboCAT</monospace>, we set out to develop a new generation model with the following specifications: <list list-type="order"><list-item>
      <p id="d2e292">it should be Open Source and it should be easy for researchers to understand the algorithm, which is a prerequisite to being able to contribute to it or modify it to one's needs,</p></list-item><list-item>
      <p id="d2e296">it should allow for spatial heterogeneity of carbonate facies, </p></list-item><list-item>
      <p id="d2e301">it should include a sediment transport algorithm operating on different carbonate facies and produces realistic results without decreasing the model's performance substantially,</p></list-item><list-item>
      <p id="d2e305">it should allow exporting and plotting multiple types of data users may need, including slices through the model grid, age-depth models, sediment accumulation curves, and stratigraphic columns,</p></list-item><list-item>
      <p id="d2e309">it should be performant, easy to parallelize, and platform-independent,</p></list-item><list-item>
      <p id="d2e313">it should be well documented and easy to use at a level accessible to a geosciences student.</p></list-item></list></p>
      <p id="d2e316">The above prerequisites led us to re-designing the original architecture of <monospace>CarboCAT</monospace> and implementing its successor in Julia. In this article we present CarboKitten, an efficient and accessible Open Source model for stratigraphic forward simulations of carbonate platforms.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Model</title>
      <p id="d2e330">CarboKitten combines the carbonate production model by <xref ref-type="bibr" rid="bib1.bibx5" id="text.26"/>, the cellular automaton from <xref ref-type="bibr" rid="bib1.bibx8" id="text.27"/>, and a custom finite difference transport model inspired on an approach by <xref ref-type="bibr" rid="bib1.bibx59" id="text.28"/>. We describe each of these components in detail in the following sections.</p>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Quantities</title>
      <p id="d2e349">Since the model describes the accumulation of sediment under a range of variable conditions, a short discussion of different measures in the vertical column is in order.</p>
      <p id="d2e352"><def-list>
            <def-item><term>Subsidence rate</term><def>

      <p id="d2e360">Quantified as a rate <inline-formula><mml:math id="M1" display="inline"><mml:mi mathvariant="italic">σ</mml:mi></mml:math></inline-formula> in units of m Myr<sup>−1</sup>. The growth of sediment is only sustainable in scenarios where there is a steady subsidence. In our models we use a default value of 50 m Myr<sup>−1</sup> (or 0.5 mm kyr<sup>−1</sup>). This parameter can be set by the users.</p>
            </def></def-item>
            <def-item><term>Initial topography</term><def>

      <p id="d2e412">The model starts at an initial topography <inline-formula><mml:math id="M5" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">η</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">η</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, consisting of impenetrable bedrock. A more complex topography can be provided as an input array, e.g. by running a previous model and extracting the height of sediment.</p>
            </def></def-item>
            <def-item><term>Topography</term><def>

      <p id="d2e455">The present topography <inline-formula><mml:math id="M6" display="inline"><mml:mrow><mml:mi mathvariant="italic">η</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is given as the initial topography plus any amount of sediment accumulated over time. In our definition of <inline-formula><mml:math id="M7" display="inline"><mml:mi mathvariant="italic">η</mml:mi></mml:math></inline-formula> we do not correct for subsidence (see also the definition for water depth below), so it should be considered relative to a bedrock reference. This definition matches how coordinates are handled in CarboKitten internally. </p>
            </def></def-item>
            <def-item><term>Relative sea level</term><def>

      <p id="d2e490">The relative sea level <inline-formula><mml:math id="M8" display="inline"><mml:mrow><mml:mi>R</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is usually a function of time, given as an input parameter of the model.</p>
            </def></def-item>
            <def-item><term>Water depth</term><def>

      <p id="d2e513">The water depth is computed from the current topography, relative sea level and subsidence rate,</p>
            </def></def-item>
          </def-list>
            <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M9" display="block"><mml:mrow><mml:mi>w</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><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:mi mathvariant="italic">η</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">∫</mml:mo><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow><mml:mi>t</mml:mi></mml:munderover><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">d</mml:mi><mml:mi>t</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Carbonate production</title>
      <p id="d2e591">The general form of our production model follows that of <xref ref-type="bibr" rid="bib1.bibx5" id="text.29"/>. This model finds the sediment accumulation curve by integrating an ODE that outside of the model parameters only depends on the initial topography.

            <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M10" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">η</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mi>P</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">η</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M11" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> is the sediment production in m Myr<sup>−1</sup>,

            <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M13" display="block"><mml:mrow><mml:mi>P</mml:mi><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="left left"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub><mml:mi mathvariant="normal">tanh</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mi>k</mml:mi><mml:mi>w</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">if</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>w</mml:mi><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mi mathvariant="normal">if</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>w</mml:mi><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the insolation in units of energy flux, <inline-formula><mml:math id="M15" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the saturation intensity and should be provided in the same units as <inline-formula><mml:math id="M16" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M17" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> the extinction coefficient in m<sup>−1</sup> and <inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the maximum growth rate in m Myr<sup>−1</sup>.</p>
      <p id="d2e806">This model encapsulates both the exponential extinction of sun light as water depth increases, and the idea that the growth of organisms interpolates between no growth at great depth and saturated growth in shallow waters (i.e. solar input is not the limiting factor at those depths).</p>
      <p id="d2e809">Here we parametrize <inline-formula><mml:math id="M21" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> as a function of <inline-formula><mml:math id="M22" display="inline"><mml:mi>w</mml:mi></mml:math></inline-formula> for <inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:mi>w</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>. Note that <inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>w</mml:mi><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">η</mml:mi></mml:mrow></mml:math></inline-formula>, but otherwise we will use <inline-formula><mml:math id="M25" display="inline"><mml:mi>w</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M26" display="inline"><mml:mi mathvariant="italic">η</mml:mi></mml:math></inline-formula> wherever one or the other is more convenient.</p>
      <p id="d2e871">Following <xref ref-type="bibr" rid="bib1.bibx8" id="text.30"/>, we extend the BS92 model by introducing multiple facies that each have their own growth characteristics (except for insolation <inline-formula><mml:math id="M27" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, which is a global input variable).

            <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M28" display="block"><mml:mrow><mml:mi>P</mml:mi><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi mathvariant="normal">f</mml:mi></mml:munder><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e920">In the examples presented here we set default values of factory parameters that corrspond to three biological facies based on sediment produced by three carbonate factories: the euphotic (E), oligophotic (O) and aphotic (A) factories. These default values are shown in Table <xref ref-type="table" rid="T1"/>, and the resulting production curves shown in Fig. <xref ref-type="fig" rid="F1"/>.</p>

      <fig id="F1"><label>Figure 1</label><caption><p id="d2e929">Production curves for our three default carbonate factories. Additionaly, we show the production curve for a pelagic facies with the same extinction coefficient and saturation intensity as the oligophotic facies, and a maximum growth rate of 5 Myr<sup>−1</sup>. All of these production curves were computed with an insolation of 400 W m<sup>−2</sup>.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026-f01.png"/>

        </fig>

<table-wrap id="T1"><label>Table 1</label><caption><p id="d2e965">Parameters for the production model of the three default carbonate factories.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="center"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Factory</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M31" display="inline"><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M33" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">m Myr<sup>−1</sup>]</oasis:entry>
         <oasis:entry colname="col3">[W m<sup>−2</sup>]</oasis:entry>
         <oasis:entry colname="col4">[m<sup>−1</sup>]</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Euphotic</oasis:entry>
         <oasis:entry colname="col2">500.0</oasis:entry>
         <oasis:entry colname="col3">60.0</oasis:entry>
         <oasis:entry colname="col4">0.8</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Oligophotic</oasis:entry>
         <oasis:entry colname="col2">400.0</oasis:entry>
         <oasis:entry colname="col3">60.0</oasis:entry>
         <oasis:entry colname="col4">0.1</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Aphotic</oasis:entry>
         <oasis:entry colname="col2">100.0</oasis:entry>
         <oasis:entry colname="col3">60.0</oasis:entry>
         <oasis:entry colname="col4">0.005</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e1121">We also provide the option of specifying pelagic production curves. Here the production is computed as the integral of Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>) over the entire water column.</p>
</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Cellular automaton</title>
      <p id="d2e1135">Representing spatial heterogeneity resulting from positive and negative biological interactions in a computationally simple model requires meeting the following conditions: <list list-type="order"><list-item>
      <p id="d2e1140">infinite heterogeneity in space and time, i.e. no convergence on stable patterns;</p></list-item><list-item>
      <p id="d2e1144">authigenic variation that does not require external drivers;</p></list-item><list-item>
      <p id="d2e1148">the approach must be scalable to <inline-formula><mml:math id="M37" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> facies, even if we focus the examples here on 3;</p></list-item><list-item>
      <p id="d2e1159">adjustable temporal persistence: it must be possible to set the turnover frequency.</p></list-item></list></p>

      <fig id="F2" specific-use="star"><label>Figure 2</label><caption><p id="d2e1163">Iterations of the CA, as described by <xref ref-type="bibr" rid="bib1.bibx8" id="text.31"/>, on a periodic grid of <inline-formula><mml:math id="M38" display="inline"><mml:mrow><mml:mn mathvariant="normal">50</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula>. Each color represents a carbonate facies, but since the CA process is not affected by facies identity we leave out any designation. Starting with random noise, we first iterate 1000 times to get into a typical state. The top row shows iterations 1000 to 1003, the bottom row 2000 to 2003. This shows that the patterns keep reasonably stable on the short term, while evolving more extensively over the long term.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026-f02.png"/>

        </fig>

      <p id="d2e1187">These requirements are met by Celullar Automata (CA), as proposed by <xref ref-type="bibr" rid="bib1.bibx19" id="text.32"/>, <xref ref-type="bibr" rid="bib1.bibx10" id="text.33"/> and <xref ref-type="bibr" rid="bib1.bibx8" id="text.34"/>, without substanial computational costs. For this reason we adopt this modeling approach in CarboKitten, directly reimplementing the automaton described by <xref ref-type="bibr" rid="bib1.bibx8" id="text.35"/> in his package CarboCAT. Cellular automata are commonly used to generate spatial heterogeneity in forward modeling, with some models serving as discrete approximations of partial differential equations that can generate complex spatial dynamics such as Turing patterns <xref ref-type="bibr" rid="bib1.bibx19 bib1.bibx18" id="paren.36"/>.</p>
      <p id="d2e1205">The CA emulates the biological succession of species by following a set of simple rules. If conditions are right, a species will multiply and occupy neighbouring territory. However, when there are too many of the same kind, the species will die from over population. For each cell in the grid a centered neighbourhood of <inline-formula><mml:math id="M39" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> pixels is considered. We count the number of neighbouring cells of the same species. Then we consider two ranges: the <italic>activation range</italic> (default <inline-formula><mml:math id="M40" display="inline"><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mo>≤</mml:mo><mml:mi>n</mml:mi><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula>) and <italic>viability range</italic> (default <inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>≤</mml:mo><mml:mi>n</mml:mi><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula>). If the number of live neighbours is in the viability range, the cell stays alive. If the cell was dead, but the number of live neighbours is in the activation range, the cell becomes alive. The neighborhood size and the rules represent a case of Larger than Life family of two-dimensional cellular automata <xref ref-type="bibr" rid="bib1.bibx21" id="paren.37"/>, but this particular set of rules has been proposed specifically for CarboCAT <xref ref-type="bibr" rid="bib1.bibx8" id="paren.38"/> and, to our knowledge, does not correspond to any documented Larger than Life rules. We examined other sets of rules <xref ref-type="bibr" rid="bib1.bibx31" id="paren.39"/>, but most lead to rapid stabilization of spatial patterns. In Fig. <xref ref-type="fig" rid="F2"/> we illustrate the long-term and short-term behaviour of our default CA rule set.</p>
      <p id="d2e1271">The initial CA grid is randomized. A dead cell may qualify to become alive for different carbonate factories at the same time. To resolve this priority collision, facies priority for occupying a dead cell is rotated every iteration using a deterministic cyclic shift (fixed round-robin pattern), which ensures that there is no priority given to any facies.</p>
      <p id="d2e1274">In the default configuration we emulate three species, corresponding to the factory species discussed in the section on carbonate production. The state of the CA determines which carbonate factory is switched on for each cell in the grid.</p>
      <p id="d2e1277">The <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> neighborhood strikes a balance between small-scale heterogeneity and computational cost. A smaller neighborhood would result in finer-grained spatial patterns, whereas a larger one in spatial smoothing and larger, more coherent patches of each facies. However, it would slow the model down. In a real depositional system, different carbonate producer guilds have their own length scales at which they disperse and interact and one-size-fits-all neighborhood is clearly a simplification. The size of the neighborhood is fixed in the current version of CarboKitten, but adjustment of granularity of facies distribution generated by the CA can be achieved by users by changing the grid dimensions and the CA interval.</p>
</sec>
<sec id="Ch1.S2.SS4">
  <label>2.4</label><title>Transport</title>
      <p id="d2e1301">Our transport model is borrowed from other similar approaches in siliclastic (river bed) modeling <xref ref-type="bibr" rid="bib1.bibx59 bib1.bibx41" id="paren.40"><named-content content-type="pre">see</named-content></xref>, where it is made plausible that this approach is viable for models that work on long time scales. Because our transport model is novel (at least for modelling carbonate platforms), we discuss the full model in a separate section. Here, we discuss how transport is embedded in the larger model.</p>
      <p id="d2e1309">We consider all sediment transport to happen in an <italic>active layer</italic> close to the sea floor. This layer has a certain amount of sediment <inline-formula><mml:math id="M43" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (in units of m) that travels along a path of steepest descent. We say that this material is <bold>entrained</bold>. Every time step the active layer is supplied with sediment produced in the production step as well as older sediment through disintegration. After transport a fraction of the entrained sediment is deposited on the sea floor as the transported version of the original (donor) facies in a process that we refer to as <italic>lithification</italic>, being the process of turning loose sediment into rock. Although in reality sediment might not be mobile for a while before lithification sets in, for the purpose of our model, we chose the term to represent the immobilisation of sediment as a whole, see Fig. <xref ref-type="fig" rid="F3"/>.</p>

      <fig id="F3"><label>Figure 3</label><caption><p id="d2e1336">Diagram showing concepts of production, lithification and disintegration. Every time step newly produced sediment and older disintegrated material (configured as a disintegration rate) is added to the active layer. After transport, a set fraction of the sediment (configured as a lithification half-life time) is lithified, becoming the sea floor.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026-f03.png"/>

        </fig>

      <p id="d2e1346">The actual transport is computed using a finite difference approach that is further discussed in Sect. <xref ref-type="sec" rid="Ch1.S3"/>.</p>
</sec>
<sec id="Ch1.S2.SS5">
  <label>2.5</label><title>Composed model</title>
      <p id="d2e1359">Putting everything together, we evaluate the model as follows each iteration: <list list-type="order"><list-item>
      <p id="d2e1364">Advance the cellular automaton.</p></list-item><list-item>
      <p id="d2e1368">Compute the production <inline-formula><mml:math id="M44" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p></list-item><list-item>
      <p id="d2e1383">Disintegrate sediment at the rate <inline-formula><mml:math id="M45" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p></list-item><list-item>
      <p id="d2e1398">Transport entrained sediment <inline-formula><mml:math id="M46" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p></list-item><list-item>
      <p id="d2e1413">Lithify (cement) sediment with half-time of <inline-formula><mml:math id="M47" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">l</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p></list-item></list></p>
      <p id="d2e1427">Advancing the CA can be configured to happen one-in-<inline-formula><mml:math id="M48" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> iterations to slow it down. Transporting the sediment can be computed on smaller time steps if required for numeric stability. The complete loop is illustrated in Fig. <xref ref-type="fig" rid="F4"/>.</p>

      <fig id="F4"><label>Figure 4</label><caption><p id="d2e1441">Flow chart of model control. The shaded areas show where the internal states of the <italic>CA</italic>, <italic>sediment buffer</italic> and <italic>active layer</italic> are affected. We can follow the model, starting from the <italic>time step</italic> node. The time step implies a change in external control factors like sea level, subsidence and insolation. Together with the sediment buffer, those factors determine <italic>water depth</italic> which in turn affects both production and transport. The CA <italic>evolves</italic> by itself (there is an option for feedback from the production step, but we left it out of the diagram for simplicity), but determines which facies are produced where. We then <italic>produce</italic> and <italic>disintegrate</italic> sediment that is added to the active layer for <italic>transport</italic>. The transport step is adaptive, so it can loop several times before we <italic>lithify</italic> a fraction of the active layer. After lithification, we increment the <italic>time step</italic>, completing the loop.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026-f04.png"/>

        </fig>


</sec>
<sec id="Ch1.S2.SS6">
  <label>2.6</label><title>Input parameters</title>
      <p id="d2e1494">CarboKitten has many input parameters: box geometry, time parameters, a list of facies properties, transport model intrinsics and external conditions such as initial topography, relative sea level and insolation. We have already discussed the facies properties in Sect. <xref ref-type="sec" rid="Ch1.S2.SS2"/>, and the transport model is discussed in Sect. <xref ref-type="sec" rid="Ch1.S3"/>. That leaves us the external conditions that should be considered the driving forces of carbonate platform formation.</p>
      <p id="d2e1501">The initial topography, sea level and insolation can all be entered in three different ways: a given constant, a Julia function or an array exactly matching the box size or number of time steps.</p>
      <p id="d2e1504">In Sect. <xref ref-type="sec" rid="Ch1.S6"/> we provide two examples where we use external sources to drive the sea level and insolation curves. A full list of input parameters is available in the Appendix.</p>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e1512">Overview of different visualizations supported by CarboKitten. Panel <bold>(a)</bold> shows a stratigraphic cross-section, including an indication for unconformities, <bold>(b)</bold> a topographic overview including two intermediate time steps, <bold>(c)</bold> the production curves used, <bold>(d)</bold> sedimentation rate as a function of time, <bold>(e)</bold> Wheeler diagram with preserved dominant facies as a function of time, <bold>(f)</bold> the sea-level curve given as input. The combined plot is arranged such that spatial data is on the top row, while time-dependent information is shown at the bottom with matching <inline-formula><mml:math id="M49" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> axes.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026-f05.png"/>

        </fig>

</sec>
<sec id="Ch1.S2.SS7">
  <label>2.7</label><title>Visualisations</title>
      <p id="d2e1555">CarboKitten generates data in the accessible, binary HDF5 format, thus output can be visualised with most common tools, e.g. imported into R or a Jupyter notebook. Nevertheless, we provide some routines based on Makie <xref ref-type="bibr" rid="bib1.bibx15" id="paren.41"/> for creating cross-sections, chronostratigrahic (Wheeler) diagrams and topographic overviews. Some of the most common plot types have been collected into a summary plot, which is shown in Fig. <xref ref-type="fig" rid="F5"/>.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Transport</title>
      <p id="d2e1572">The transport module is designed with timesteps of the order of centuries in mind and therefore it aims to lead to a similar average sediment redistribution as would have resulted from individual short-term physical processes (storms, waves, tidal currents, grain-size sorting), without attempting to resolve them. CarboKitten currently does not resolve grain-size-dependent transport, storm-driven episodic redistribution, longshore transport, or bioturbation contributing to sediment disintegration. However, such extensions are principally possible, should modelling on shorter time scales become the focus of the model's users.</p>
      <p id="d2e1575">In Sect. <xref ref-type="sec" rid="Ch1.S2.SS4"/> we discussed how transport is embedded in the larger model. Our transport model supposes that all entrained sediment resides in a layer of constant thickness just above the sea floor, also known as the <italic>active layer</italic>. The concentration of sediment <inline-formula><mml:math id="M50" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (in units of m) is considered separately for each facies (as with all quantities with the “f” subscript). Each iteration of the larger model we supply the active layer with freshly produced (autochthonous) sediment as well as disintegrated older (allochthonous) sediment. We then compute transport of the active layer for as many sub-iterations as is deemed needed for the solver to remain stable. After that, a percentage of the contents in the active layer is deposited on the sea floor. The lithification percentage depends both on the time step taken and the given lithification time <inline-formula><mml:math id="M51" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">l</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, which is configured in terms of a half-life time. There are many ways to compute sediment transport in the active layer. We have opted for a finite difference strategy inspired by <xref ref-type="bibr" rid="bib1.bibx59" id="text.42"/>.</p>
      <p id="d2e1608">We assume a local sediment flux proportional to the local gradient,

          <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M52" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi mathvariant="bold">∇</mml:mi><mml:mi mathvariant="italic">η</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M53" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is a facies-dependent transport coefficient (m Myr<sup>−1</sup>), and <inline-formula><mml:math id="M55" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is a chosen additional velocity as a function of water depth (m Myr<sup>−1</sup>). Optionally, we use <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> to model wave induced sediment transport (for an example see Sect. <xref ref-type="sec" rid="Ch1.S6.SS3"/>). The mass balance (continuity equation) is then,

          <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M58" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></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:mi mathvariant="bold">∇</mml:mi><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

        This gives us an advection equation for the sediment concentration <inline-formula><mml:math id="M59" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. We also express everything in terms of water depth, having <inline-formula><mml:math id="M60" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>w</mml:mi><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">η</mml:mi></mml:mrow></mml:math></inline-formula>, arriving at

          <disp-formula id="Ch1.E7" content-type="numbered"><label>7</label><mml:math id="M61" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></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:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi mathvariant="bold">∇</mml:mi><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold">∇</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold">∇</mml:mi><mml:mi>w</mml:mi></mml:mrow></mml:mfenced><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msubsup><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mi mathvariant="normal">f</mml:mi><mml:mo>′</mml:mo></mml:msubsup><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the velocity shear, or the derivative of the velocity with respect to water depth. We solve this PDE using a finite difference method-of-lines approach with an explicit solver (forward Euler and 4th order Runge–Kuta are supported).</p>
      <p id="d2e1932">Note that, although the transport equation is an advection equation in <inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, we need to consider that <inline-formula><mml:math id="M64" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> acts as a proxy for <inline-formula><mml:math id="M65" display="inline"><mml:mi mathvariant="italic">η</mml:mi></mml:math></inline-formula>. The continuing cycle of disintegration, transport, and lithification makes sure that the change in sediment concentration due to transport and the change in topography are strongly coupled. Then, what seems like an innocent reaction term in Eq. (<xref ref-type="disp-formula" rid="Ch1.E7"/>), turns out to behave as a diffusion equation in <inline-formula><mml:math id="M66" display="inline"><mml:mi mathvariant="italic">η</mml:mi></mml:math></inline-formula>. Any attempt at modelling sediment transport where there is an effective down-slope flux combined with some form of disintegration will yield diffusive behaviour.</p>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Other approaches</title>
      <p id="d2e1981">In the critical angle approach developed by <xref ref-type="bibr" rid="bib1.bibx73" id="text.43"/>, sediment is transported from unstable slopes to the nearest down-slope stable region. Stability is defined separately for different grain sizes. This method is motivated by the empirical relationship between grain composition and maximum slope angle <xref ref-type="bibr" rid="bib1.bibx47" id="paren.44"/>.</p>
      <p id="d2e1990">The problem with this critical angle-based method of transport is that production across an unstable region is deposited on a small strip, where slopes are below the critical angle. It becomes unclear how to interpret these models from a physics point of view, as results depend heavily on the time-step that is chosen. Contrasting to that, both our transport model and production model (with the exception of the cellular automaton) are discretisations of otherwise continuous processes. This means that, at least assymptotically (i.e. as long as the time step is small enough), our implementation is independent of the chosen time step.</p>
      <p id="d2e1993">One aspect of critical angle theory that we do use is that we can modulate the disintegration rate <inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (and therefore the amount of entrained material) with the magnitude of the slope <inline-formula><mml:math id="M68" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∇</mml:mi><mml:mi mathvariant="italic">η</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula>. If we only disintegrate material where the slope is supercritical, the net effect is that sediment is transported from supercritical to stable areas. The difference is that we have a much better control over the physics, and there is no need to convert back and forth between gridded values and a particle representation used in the critical angle approach <xref ref-type="bibr" rid="bib1.bibx73" id="paren.45"><named-content content-type="pre">e.g.</named-content></xref>. A different approach has been used in the early model <monospace>CARBPLAT</monospace> by <xref ref-type="bibr" rid="bib1.bibx6" id="text.46"/>, which took empirically observed carbonate slopes <xref ref-type="bibr" rid="bib1.bibx47" id="paren.47"><named-content content-type="post"><xref ref-type="bibr" rid="bib1.bibx1" id="text.48"/></named-content></xref> and defined a slope function that returned slope parameters bounded by the limits of the angle of repose. In the study by <xref ref-type="bibr" rid="bib1.bibx6" id="text.49"/> an exponential slope function was assumed, although it should be noted that there is literature debate on the distribution of slope shapes of carbonate platforms <xref ref-type="bibr" rid="bib1.bibx66 bib1.bibx47 bib1.bibx1" id="paren.50"><named-content content-type="pre">e.g.,</named-content></xref>. This modelling approach is agnostic with respect to sediment properties and transport mechanisms and optimises the similarity to observed shapes, allowing the user to choose the parameter that produces the best result. However, it does not allow modelling a mixture of sediment types with different properties and requires an a priori assumption on the expected slope shape. It had not been adapted in subsequent models.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Parameter choices</title>
      <p id="d2e2055">Our transport model is based on the elementary assumption that sediment flux is proportional to the slope of the sea floor. Nevertheless, we are extrapolating this idea to time scales on which it is hard to reason or otherwise measure the parameters to our model. Especially the combination of transport coefficient <inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, disintegration rate <inline-formula><mml:math id="M70" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and lithification time <inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">l</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can be pivotal in acquiring a set of physical outcomes, while we have no good way to estimate acceptable ranges of values for them, other than trying them out and see if the results are plausible.</p>
      <p id="d2e2091">That being said, by considering some artificial scenarios we can gain more insight into the behaviour of our main parameters.</p>
<sec id="Ch1.S3.SS2.SSS1">
  <label>3.2.1</label><title>Disintegration versus subsidence</title>
      <p id="d2e2102">The chosen disintegration rate will determine whether our model is on average erosive or accumulative. In the case of a platform morphology, the potential production exceeds the subsidence, meaning that the subsidence rate sets the pace at which the platform grows. At the edge of the platform, there is a transitional region where the maximum production is at pace with the subsidence. If the distintegration rate is higher than the subsidence rate, produced sediment will be immediately disintegrated, stay in the active layer for much longer, and be transported down slope. If the disintegration rate is much lower than the subsidence rate, produced (autochthonous) sediment can accumulate in situ, generating steeper morphologies.</p>
</sec>
<sec id="Ch1.S3.SS2.SSS2">
  <label>3.2.2</label><title>Equilibrium concentration</title>
      <p id="d2e2114">The model parametrizes sediment disintegration (i.e. activation or entrainment of older sediments) by a global constant disintegration rate <inline-formula><mml:math id="M72" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Entrained sediment is transported by the mechanism described above, and then (re)lithifies by a given percentage every time step. The lithification time is specified as a half-life time <inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">l</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. In absence of production, and with infinite available sediment for disintegration, we can see the amount of entrained sediment <inline-formula><mml:math id="M74" display="inline"><mml:mi>C</mml:mi></mml:math></inline-formula> reaching an equilibrium:

              <disp-formula id="Ch1.E8" content-type="numbered"><label>8</label><mml:math id="M75" display="block"><mml:mrow><mml:mi>C</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>C</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:msup><mml:mn mathvariant="normal">2</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">l</mml:mi></mml:msub></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mi>r</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

            and taking the limit <inline-formula><mml:math id="M76" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>→</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, the equilibrium is reached at,

              <disp-formula id="Ch1.E9" content-type="numbered"><label>9</label><mml:math id="M77" display="block"><mml:mrow><mml:mo>〈</mml:mo><mml:mi>C</mml:mi><mml:mo>〉</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi>ln⁡</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">l</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

            This equilibrium (having units of m) can be useful when estimating the effects of choosing the disintegration rate and lithification time.</p>
</sec>
<sec id="Ch1.S3.SS2.SSS3">
  <label>3.2.3</label><title>Disintegration versus lithification</title>
      <p id="d2e2262">Both the disintegration rate and the lithification time modulate how long sediment resides in the active layer. By carefully scaling one or the other, the effective diffusion of material can be controlled without changing the specific diffusivity. However, choosing a high lithification time (thus a slow lithification) over a high disintegration rate can help in transporting only freshly produced sediments.</p>
      <p id="d2e2265">Note that not setting the lithification time (which would amount to immediately depositing all of the active layer on every iteration) results in models that depend heavily on a chosen time step.</p>
      <p id="d2e2268">To understand the relative effects of choosing a certain lithification time and/or disintegration rate, we ran a one-dimensional model where sediment is produced in a central patch. Then we can study the rate at which sediment is dispersed, either by direct transport before lithification happens, or by subsequent disintegration and re-deposition. By carefully choosing the parameters, we can make a slow lithification process look very similar to a high disintegration rate, as shown in Fig. <xref ref-type="fig" rid="F6"/>.</p>

      <fig id="F6" specific-use="star"><label>Figure 6</label><caption><p id="d2e2276">Comparison between lithification and disintegration. The four panes show different combinations of parameters for a one-dimensional model. We have enabled a production of 100 m Myr<sup>−1</sup> for a 4 km wide patch in the middle of the box, and chose a runtime of 1 Myr with a time step of 100 year (the sharp edges in the production profile induce fast transport, requiring small time steps), and the transport coefficient was set to 10 m Myr<sup>−1</sup>. Panels <bold>(a)</bold> and <bold>(b)</bold> have a short lithification time <inline-formula><mml:math id="M80" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">l</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (100 year), while panels <bold>(c)</bold> and <bold>(d)</bold> have a long lithification time (1000 year). On the columns, <bold>(a)</bold> and <bold>(c)</bold> have a low disintegration rate <inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (10 m Myr<sup>−1</sup>), while <bold>(b)</bold> and <bold>(d)</bold> have a high disintegration rate (500 m Myr<sup>−1</sup>). Values were chosen to have a similar net effect on the dispersion of produced sediment.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026-f06.png"/>

          </fig>

</sec>
<sec id="Ch1.S3.SS2.SSS4">
  <label>3.2.4</label><title>Facies-specific transport coefficient <inline-formula><mml:math id="M84" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></title>
      <p id="d2e2400">The facies-specific transport coefficient used in CarboKitten is expressed in m Myr<sup>−1</sup>, because it is derived from the parameter <inline-formula><mml:math id="M86" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, transport velocity, that is expressed per unit slope. A diffusion coefficient <inline-formula><mml:math id="M87" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> appears in <inline-formula><mml:math id="M88" display="inline"><mml:mrow><mml:msub><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:msub><mml:mi mathvariant="italic">η</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="italic">η</mml:mi></mml:mrow></mml:math></inline-formula> and have units m<sup>2</sup> Myr<sup>−1</sup>. In CarboKitten's formulation <inline-formula><mml:math id="M91" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is one dimension of length smaller because the active-layer concentration <inline-formula><mml:math id="M92" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> [m] is already present in the flux. This approach presents two challenges: (1) setting transport coefficients that yield realistic results for carbonate facies modeled at the timescales at which CarboKitten is run, (2) should empirically justified diffusion coefficients for carbonate sediment be available, converting these diffusion coefficients to values of the transport coefficient used in the model. Because advection-diffusion is a modeling approach in carbonate transport and not a direct representation of the physical process of sediment transport, prior empirical diffusion coefficient values are limited. <xref ref-type="bibr" rid="bib1.bibx69" id="text.51"/> reviewed published values, which lie in the range of 10<sup>5</sup> m<sup>2</sup> Myr<sup>−1</sup> to <inline-formula><mml:math id="M96" display="inline"><mml:mrow><mml:mn mathvariant="normal">7</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">9</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> m<sup>2</sup> Myr<sup>−1</sup> <xref ref-type="bibr" rid="bib1.bibx4 bib1.bibx57" id="paren.52"/>. Modeling studies differ on the orders of magnitude, which is partly a matter of what processes are accounted for in effective diffusivity, and partly reflects different timescales of measurement. In Dionisos simulations, <xref ref-type="bibr" rid="bib1.bibx69" id="text.53"/> used values ranging from <inline-formula><mml:math id="M99" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.25</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> m<sup>2</sup> Myr<sup>−1</sup> for the sand fraction in the photozoan factory to <inline-formula><mml:math id="M102" display="inline"><mml:mrow><mml:mn mathvariant="normal">50</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> m<sup>2</sup> Myr<sup>−1</sup> for the mud produced by the heterozoan factory and identified 2500 10<sup>5</sup> m<sup>2</sup> Myr<sup>−1</sup> as the upper limit, beyond which no sediment accumulation took place. In a different model, values many orders of magnitude lower have been proposed for the effective diffusion coefficient that implicitly accounts for lithification and depth-dependent wave velocity, introduced by <xref ref-type="bibr" rid="bib1.bibx43" id="text.54"/>:

              <disp-formula id="Ch1.E10" content-type="numbered"><label>10</label><mml:math id="M108" display="block"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">Kaufman</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>W</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mi>exp⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>W</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M109" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.005</mml:mn></mml:mrow></mml:math></inline-formula> m<sup>2</sup> Myr<sup>−1</sup> for carbonates and <inline-formula><mml:math id="M112" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> values considered are 0.05 and 0.1 m<sup>−1</sup>, resulting in maximum <inline-formula><mml:math id="M114" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">Kaufman</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> values of 0.005 m<sup>2</sup> Myr<sup>−1</sup>, i.e. much lower than the empirical ones.</p>

<table-wrap id="T2" specific-use="star"><label>Table 2</label><caption><p id="d2e2822">Estimated effective diffusivity <inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">eff</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (m<sup>2</sup> Myr<sup>−1</sup>) for combinations of lithification time <inline-formula><mml:math id="M120" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">l</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and disintegration rate <inline-formula><mml:math id="M121" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> at facies transport coefficient <inline-formula><mml:math id="M122" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> equal to 5 m yr<sup>−1</sup>.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Lithification</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M124" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> m Myr<sup>−1</sup></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M126" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> m Myr<sup>−1</sup></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M128" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">20</mml:mn></mml:mrow></mml:math></inline-formula> m Myr<sup>−1</sup></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M130" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula> m Myr<sup>−1</sup></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">time <inline-formula><mml:math id="M132" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">l</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">1000 year</oasis:entry>
         <oasis:entry colname="col2">36 565</oasis:entry>
         <oasis:entry colname="col3">72 237</oasis:entry>
         <oasis:entry colname="col4">137 595</oasis:entry>
         <oasis:entry colname="col5">299 711</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2500 year</oasis:entry>
         <oasis:entry colname="col2">84 136</oasis:entry>
         <oasis:entry colname="col3">165 496</oasis:entry>
         <oasis:entry colname="col4">301 921</oasis:entry>
         <oasis:entry colname="col5">540 862</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">5000 year</oasis:entry>
         <oasis:entry colname="col2">156 904</oasis:entry>
         <oasis:entry colname="col3">300 574</oasis:entry>
         <oasis:entry colname="col4">503 548</oasis:entry>
         <oasis:entry colname="col5">879 985</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e3121">Effective sediment diffusion coefficient <inline-formula><mml:math id="M133" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">eff</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> values in CarboKitten runs can be estimated from the dispersal of a sediment pulse under any scenario with a given value of transport coefficient, lithification time and disintegration rate. Diffusivity values obtained from runs with a transport coefficient of 5 m Myr<sup>−1</sup> lie in the range of <inline-formula><mml:math id="M135" display="inline"><mml:mrow><mml:mn mathvariant="normal">3.7</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> m<sup>2</sup> Myr<sup>−1</sup> to <inline-formula><mml:math id="M138" display="inline"><mml:mrow><mml:mn mathvariant="normal">8.8</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> m<sup>2</sup> Myr<sup>−1</sup> (Table <xref ref-type="table" rid="T2"/>), i.e. well within those reported empirically and overlapping with those used by <xref ref-type="bibr" rid="bib1.bibx69" id="text.55"/> to obtain realistic platform morphologies. Effective <inline-formula><mml:math id="M141" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi mathvariant="normal">eff</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> values obtained using this estimate scale linearly with the input transport coefficient <inline-formula><mml:math id="M142" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
</sec>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>Implementation and limitations</title>
      <p id="d2e3258">Our implementation of the transport model first computes the gradient of the sea floor (or equivalently the water depth) <inline-formula><mml:math id="M143" display="inline"><mml:mrow><mml:mi mathvariant="bold">∇</mml:mi><mml:mi>w</mml:mi></mml:mrow></mml:math></inline-formula> using central differences. From this gradient we can compute the advection coefficients in Eq. (<xref ref-type="disp-formula" rid="Ch1.E7"/>), <inline-formula><mml:math id="M144" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi mathvariant="normal">adv</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi mathvariant="bold">∇</mml:mi><mml:mi mathvariant="italic">η</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. The maximum advection coefficient sets the Courant number and determines how many time steps we need to take to solve Eq. (<xref ref-type="disp-formula" rid="Ch1.E7"/>). For an advection equation integrated with the forward Euler method, we need

            <disp-formula id="Ch1.E11" content-type="numbered"><label>11</label><mml:math id="M145" display="block"><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">adv</mml:mi></mml:msub><mml:msub><mml:mo>|</mml:mo><mml:mi mathvariant="normal">∞</mml:mi></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          This states that we cannot move matter further than a single pixel distance in one iteration, or our computation becomes unstable.</p>
      <p id="d2e3347">In practice, we compute the transport coefficients and the maximum resulting advective Courant number. Then we integrate the transport equation adaptively, choosing the minimum number of subdivided time steps that keeps the advection stable. Since we computed the transport coefficients in advance, it is relatively cheap to apply multiple iterations of the advection solver, for which we use a first-order upwind scheme.</p>
      <p id="d2e3350">Now consider our transport model in the context of the larger carbonate platform model. Each time we disintegrate some matter which gets entrained and transported as part of the sediment concentration <inline-formula><mml:math id="M146" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, after which a fraction is cemented, increasing <inline-formula><mml:math id="M147" display="inline"><mml:mi mathvariant="italic">η</mml:mi></mml:math></inline-formula>. If we consider <inline-formula><mml:math id="M148" display="inline"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">η</mml:mi><mml:mo>/</mml:mo><mml:mo>∂</mml:mo><mml:mi>t</mml:mi><mml:mo>∼</mml:mo><mml:mo>∂</mml:mo><mml:mi>C</mml:mi><mml:mo>/</mml:mo><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>, then part of the transport equation is the diffusion equation <inline-formula><mml:math id="M149" display="inline"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">η</mml:mi><mml:mo>/</mml:mo><mml:mo>∂</mml:mo><mml:mi>t</mml:mi><mml:mo>∼</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="italic">η</mml:mi></mml:mrow></mml:math></inline-formula>. This leaves our implementation vulnerable to instabilities when the global time step is taken too large. For just this diffusion term the CFL limit is

            <disp-formula id="Ch1.E12" content-type="numbered"><label>12</label><mml:math id="M150" display="block"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e3474">This means that increasing the resolution of a model by a factor two may need a time step four times smaller for the integration to remain stable. CarboKitten has a diagnostic mode where this condition is checked against, allowing the user to make informed changes to the input parameters. Because the sediment concentration is not known in advance, it is not possible to make this check in advance.</p>
</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Validation</title>
      <p id="d2e3486">We validated the model by attempting to replicate the general architecture of an isolated carbonate platform in Central Luconia (part of the Sarawak Basin), offshore Malaysia (Cycle IV to Cycle Lower V). We chose this area is because this platform has been extensively studied <xref ref-type="bibr" rid="bib1.bibx27" id="paren.56"/> and the interpreted seismic profiles and reconstructed sea-level curves were publicly reported. We informed model runs with the sea-level data obtained from Fig. 2 of <xref ref-type="bibr" rid="bib1.bibx27" id="text.57"/>. In addition, the tectonic setting of the region in the studied period (around 15.48 to 11 Ma) is believed to be uncomplicated <xref ref-type="bibr" rid="bib1.bibx23" id="paren.58"/> and thus possible to represent with a constant subsidence rate. Four wells were drilled into the atoll, providing discontinous cores and, thus, geological facies information.</p>
      <p id="d2e3498">This platform has a pinnacle shape, with the length of approximately 5 km in NE–SW direction, suggesting it was drowned in during this time period. The cores indicate that the top of carbonate platform is dominated by coral boundstones. Although the sampling in the lower part of the cores is discontinous, the cores suggest that the facies are dominated by pack- to wackestones and interbeded by coral boundstones, bioclastic boundstones and argillaceous carbonate. We related the geological facies to the carbonate producers via Table <xref ref-type="table" rid="T3"/>.</p>

<table-wrap id="T3" specific-use="star"><label>Table 3</label><caption><p id="d2e3506">Facies used in validation. We used three producing facies in modelling our validation case, and a fourth facies type to track transported coral.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Geological facies</oasis:entry>
         <oasis:entry colname="col2">Producers</oasis:entry>
         <oasis:entry colname="col3">Model producer</oasis:entry>
         <oasis:entry colname="col4">Production rate</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Coral boundstones</oasis:entry>
         <oasis:entry colname="col2">Euphotic coral (<inline-formula><mml:math id="M151" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> factory)</oasis:entry>
         <oasis:entry colname="col3">Facies 1</oasis:entry>
         <oasis:entry colname="col4">1800 m Myr<sup>−1</sup></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Pack- to wackestone</oasis:entry>
         <oasis:entry colname="col2">Oligophotic algae (<inline-formula><mml:math id="M153" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> factory)</oasis:entry>
         <oasis:entry colname="col3">Facies 2</oasis:entry>
         <oasis:entry colname="col4">800 m Myr<sup>−1</sup></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Argillaceous carbonate</oasis:entry>
         <oasis:entry colname="col2">Pelagic (<inline-formula><mml:math id="M155" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> factory)</oasis:entry>
         <oasis:entry colname="col3">Facies 3</oasis:entry>
         <oasis:entry colname="col4">8 Myr<sup>−1</sup></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Bioclastic boundstone</oasis:entry>
         <oasis:entry colname="col2">Transported coral</oasis:entry>
         <oasis:entry colname="col3">Facies 4</oasis:entry>
         <oasis:entry colname="col4">n/a</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p id="d2e3509">n/a means not applicable.</p></table-wrap-foot></table-wrap>

      <p id="d2e3662">Three carbonate producers are fed into the model, corresponding to three geological facies (producers). Their respective production rates are listed in Table <xref ref-type="table" rid="T3"/>. A fourth facies is the transported facies of euphotic corals. These values are within the production rates estimated by <xref ref-type="bibr" rid="bib1.bibx53" id="paren.59"/>. A pre-run was set in order to generate an atoll-like initial topography for the actual run. The total duration of modelling covers the entire Cycle IV (from 15.8 to 11.8 Ma, having a duration of 4 Myr).</p>
      <p id="d2e3670">The criteria for comparison between the modelled results and the interpreted seismic profiles were: <list list-type="order"><list-item>
      <p id="d2e3675">We obtain five major zones within the platform.</p></list-item><list-item>
      <p id="d2e3679">The platform should show a pinnacle shape.</p></list-item><list-item>
      <p id="d2e3683">The total thickness of carbonate stratigraphy is approximately (600 m).</p></list-item><list-item>
      <p id="d2e3687">The platform has a slope indicating presence of off-shore sediments transport.</p></list-item></list></p>
      <p id="d2e3690">The results are listed in Fig. <xref ref-type="fig" rid="F7"/>. We compared the features in the figure and the interpreted seimic profile: <list list-type="order"><list-item>
      <p id="d2e3697">The interpreted seismic profiles suggested five zones, and this is captured in the resultant figure (five parasequences).</p></list-item><list-item>
      <p id="d2e3701">The results displayed a “pinacle” shape, showing upper parasequences bearing smaller horizonal dimensions than the lower parasequences.</p></list-item><list-item>
      <p id="d2e3705">The total thickness of carbonate (<inline-formula><mml:math id="M157" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">550</mml:mn></mml:mrow></mml:math></inline-formula> m) is comparable to the data suggested by well penetration (<inline-formula><mml:math id="M158" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">600</mml:mn></mml:mrow></mml:math></inline-formula> m).</p></list-item><list-item>
      <p id="d2e3729">The slope is presented in the modelled results, as a mixture of facies 3 and 4.</p></list-item></list></p>
      <p id="d2e3732">The model yields nearly identical – i.e., qualitatively the same – results for different timesteps. Users should note that changing the timestep requires adjusting the CA interval, which has been applied for the tested versions of the code: a timestep of 100, 250 and 250 year. Results for a time step of 400 year are shown in Fig. <xref ref-type="fig" rid="F7"/>.</p>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e3739">Validation case. <bold>(A)</bold> This shows a cross-section of our model of the platform in Central Luconia, offshore Malaysia. The white lines indicate unconformities, and the black lines are coeval lines at regular intervals, every solid black line separating one million years. The colours indicate the dominant facies type of the modelled sediment, blue for facies 1 (<inline-formula><mml:math id="M159" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> factory), yellow for facies 2 (<inline-formula><mml:math id="M160" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> factory), green for facies 3 (<inline-formula><mml:math id="M161" display="inline"><mml:mi>P</mml:mi></mml:math></inline-formula> factory) and pink represents facies 4 (transported coral, i.e. formerly facies 1). <bold>(B)</bold> Seismic interpretation of the platform, redrawn from Fig. 9 of <xref ref-type="bibr" rid="bib1.bibx27" id="text.60"/>.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026-f07.png"/>

      </fig>

      <p id="d2e3780">Therefore, we claim CarboKitten is able to reproduce major architectural features of a real-life carbonate platform.</p>
</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Software design</title>
<sec id="Ch1.S5.SS1">
  <label>5.1</label><title>Box topology</title>
      <p id="d2e3799">CarboKitten needs to work with different choices for box topology, i.e. how the boundaries of a model box connect to each other. For example, when we simulate a small strip of coastline it is best to have one axis (in this case the <inline-formula><mml:math id="M162" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> axis) reflect onto itself, while the other axis is periodic, leaving fewer edge effects.</p>
      <p id="d2e3809">In another case, where we want to simulate an entire island, or even an archipelago, it is more convenient to use fully periodic coordinates. We illustrate these choices in Fig. <xref ref-type="fig" rid="F8"/>.</p>

      <fig id="F8" specific-use="star"><label>Figure 8</label><caption><p id="d2e3816">Model topologies. CarboKitten allows the user to choose different topologies for the spatial modelling. In panel <bold>(a)</bold> we see a group of reef islands that were modelled on a fully periodic grid of size <inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:mn mathvariant="normal">250</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">250</mml:mn></mml:mrow></mml:math></inline-formula>, using a randomly generated initial topography. A more common use case is shown in panel <bold>(b)</bold>, where the <inline-formula><mml:math id="M164" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> coordinate is reflected at the boundaries, while the <inline-formula><mml:math id="M165" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> coordinate is periodic, thus modelling a small strip of coastline. Here the grid size is <inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:mn mathvariant="normal">250</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula>, and the initial topography is a linearly declining slope of 0.3 % (with the exception of the shore, which is steeper). The superimposed surfaces represent different equidistant time steps in the same runs, while the colors indicate the elevation along with the values on the <inline-formula><mml:math id="M167" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> axis, here provided to guide the viewer. Panels <bold>(c)</bold> and <bold>(d)</bold> schematically illustrate these same box topologies using coloured arrows.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026-f08.png"/>

        </fig>


</sec>
<sec id="Ch1.S5.SS2">
  <label>5.2</label><title>The sediment buffer</title>
      <p id="d2e3893">In our models of sediment transport and denudation it is important to remember the sedimentation history for all produced facies for some time into the past. We keep a three-dimensional fixed-size buffer, where two dimensions represent the <inline-formula><mml:math id="M168" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M169" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> coordinates of the system, and the third dimension discretizes the amount of deposited material. Each cell in the buffer represents a parcel of sediment, where we store the relative fractions of each contributing facies. The data-structure acts like a stack, working on a First-In-First-Out (FIFO) basis.</p>
      <p id="d2e3910">We emphasise that this buffer is only used to determine the facies composition of disintegrated sediment. The sediment output of the overall model is written to disk at each iteration for post-analysis. This means that the model output can be much more precise than the depositional resolution of the buffer.</p>
      <p id="d2e3913">The user can set the size of the buffer as well as the amount of sediment represented by each cell. The depth of the buffer is controlled by an input parameter <monospace>sediment_buffer_size</monospace>, while the resolution is set through the <monospace>depositional_resolution</monospace> parameter in units of m of sediment.</p>
      <p id="d2e3922">The rows in the buffer represent a constant amount of sediment. An alternative approach is to have rows that represent time slices. In that case, when we need to disintegrate an amount of sediment, we need to search the buffer back in time until enough sediment is collected. This can be very slow, and it also means that one needs to have the full sedimentation history in memory. A buffer that is discretized on depth however does not have those requirements, at the expense of a small amount of facies mixing.</p>
      <p id="d2e3926">While the sediment buffer is allocated as a single 4-dimensional array (depth, facies, <inline-formula><mml:math id="M170" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M171" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>), it is best to explain its functioning from the perspective of a single cell in our model. We are left with two dimensions: depth (rows) and facies (columns).</p>
      <p id="d2e3944">We choose to have the head of our sediment stack always be at the first row. When sediment out-grows the buffer, the deepest layers are dropped from memory. The head can contain an incomplete amount of sediment, while all rows below the head are either full or empty. When sediment is pushed to the stack and the head row overflows, all rows are copied down one row and the surplus is assigned to the now empty head row. The inverse happens when removing (popping) material from the stack. This process is illustrated below in Fig. <xref ref-type="fig" rid="F9"/>.</p>

      <fig id="F9" specific-use="star"><label>Figure 9</label><caption><p id="d2e3951">Above we see a buffer. Suppose we first produce some sediment amounting to <inline-formula><mml:math id="M172" display="inline"><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula> of the buffer resolution, and after that an amount of <inline-formula><mml:math id="M173" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> gets disintegrated for further transport. In the beginning, the top cell of our buffer is <inline-formula><mml:math id="M174" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> full. First we push a parcel of (relative) size <inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula>. The remaining <inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula> overflows to the next cell. Then we pop an amount of <inline-formula><mml:math id="M177" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>. The first <inline-formula><mml:math id="M178" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula> of this amount is retrieved from the top cell, and the second <inline-formula><mml:math id="M179" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula> from the cell below that. This popped parcel will have different fractions from the pushed one, since it also draws from the half filled row that was in the stack before pushing. In this sense, a small amount of facies mixing will take place, depending on the depositional resolution chosen.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026-f09.png"/>

        </fig>

</sec>
<sec id="Ch1.S5.SS3">
  <label>5.3</label><title>User interface</title>
      <p id="d2e4065">The user interfaces CarboKitten by writing a Julia script that defines the relevant model parameters and runs the chosen model. Effectively, very little Julia needs to be known to take an example input and modify parameters. Output is written to HDF5 files for post-processing and visualization.</p>
      <p id="d2e4068">CarboKitten ships with routines for visualisation and data extraction into CSV files. This makes it easier for novice users to use results from CarboKitten in further processing pipelines that rely on other programming languages. Data extracted includes sediment accumulation curves, age-depth models, water depth, and stratigraphic columns with facies code, allowing to test a wide range of hypotheses. These include, but are not limited to, testing hypotheses on orderedness of strata <xref ref-type="bibr" rid="bib1.bibx9" id="paren.61"/>, preservation orbital forcing <xref ref-type="bibr" rid="bib1.bibx45" id="paren.62"/>, proxy records <xref ref-type="bibr" rid="bib1.bibx14" id="paren.63"/>, or preservation of biotic information such as patterns of origination and extinction, biostratigraphic precision, and evolutionary change <xref ref-type="bibr" rid="bib1.bibx34 bib1.bibx35 bib1.bibx38" id="paren.64"/>.</p>
</sec>
<sec id="Ch1.S5.SS4">
  <label>5.4</label><title>Performance</title>
      <p id="d2e4091">Since CarboKitten is written in Julia with performance in mind, it should be efficient to run, even on consumer grade hardware, i.e. an average laptop. We are yet to substantiate this claim. Since Julia is a just-in-time compiled language, the first execution of any code in a new session always takes a bit longer than subsequent runs. Measurements presented in this section do not include this initial overhead.</p>
<sec id="Ch1.S5.SS4.SSS1">
  <label>5.4.1</label><title>Baseline</title>
      <p id="d2e4102">Our baseline model is the example included in CarboKitten, grid size <inline-formula><mml:math id="M180" display="inline"><mml:mrow><mml:mn mathvariant="normal">100</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula> with 5000 time steps of 200 years each (results shown in Fig. <xref ref-type="fig" rid="F5"/>). This model runs in 27 s on a Intel Core i7 at 3.0 GHz.</p>
      <p id="d2e4119">With regards to memory consumption, CarboKitten allocates a fixed amount of memory at the start of a model run, which scales linearly with the size of the grid. The most significant fraction of the memory is occupied by the sediment buffer. In the example run we have a buffer size of 50. With three facies types being stored this results in an array size of <inline-formula><mml:math id="M181" display="inline"><mml:mrow><mml:mn mathvariant="normal">100</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">50</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">50</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula>, stored in double precision gives a mere 6 MB. However, for a <inline-formula><mml:math id="M182" display="inline"><mml:mrow><mml:mn mathvariant="normal">300</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">300</mml:mn></mml:mrow></mml:math></inline-formula> sized grid this already increases to 108 MB.</p>
</sec>
<sec id="Ch1.S5.SS4.SSS2">
  <label>5.4.2</label><title>Scaling</title>
      <p id="d2e4162">The run-time and memory consumption of CarboKitten should scale linearly with the number of pixels in the grid, with two complicating factors. Firstly, for smaller models the run-time can become limited by many smaller writes to HDF5. For those cases we provide a method of running models entirely in-memory. The second complication is the transport model. Here run times may vary due to the number of integration steps required for stability reasons. Increasing the resolution of a model also means increasing the number of transport integration time steps required by the same factor (considering the CFL condition for advective transport). Transport efficiency is also affected by the local topography: increasing the slope also increases the number of integration steps required. Carbonate platforms have the tendency to generate steep slopes due to exponential sedimentation rates in the production model. These steep slopes can be mitigated by setting the transport coefficient <inline-formula><mml:math id="M183" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>: higher values will lead to smoothed-out and gentler slopes. On the other hand, modelling on-shore transport due to wave transport can induce steeper slopes, again requiring smaller integration time steps. Note that we are speaking of integration steps of the transport model, which can be any integer fraction of a full model time step. When the transport model needs too many steps for every model step, we can start to question the accuracy of the model as a whole, and the user should try decreasing the time-step of the full model to compensate.</p>
</sec>
<sec id="Ch1.S5.SS4.SSS3">
  <label>5.4.3</label><title>Benchmark</title>
      <p id="d2e4185">To further quantify these complications in our estimated run-times, we run a model of a single atoll at three resolutions (200, 100, and 50 m, corresponding to grid sizes of 75<sup>2</sup>, 150<sup>2</sup>, 300<sup>2</sup>) with three step sizes (400, 200, and 100 years), corresponding to 2500, 5000, and 10 000 steps), for a total of nine benchmark cases. We set the interval of the cellular automaton to compensate for the number of time steps. This way, runs with the same grid size should have very similar output. The results are shown in Fig. <xref ref-type="fig" rid="F10"/>.</p>

      <fig id="F10" specific-use="star"><label>Figure 10</label><caption><p id="d2e4219">Benchmark with respect to number of time steps and grid size. Panel <bold>(a)</bold> shows the run-time dependency on the number of time-steps, while panel <bold>(b)</bold> shows the dependency on the number of grid cells on each axis, both on a log–log scale. This scaling follows the predicted behaviour: linear in both the number of time-steps and total number of grid cells (on this plot being the grid size squared). Note that the run with 2500 time steps and 300<sup>2</sup> grid size is left out, since the transport model was unstable for that configuration. These numbers were consistent throughout multiple runs.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026-f10.png"/>

          </fig>

      <p id="d2e4243">The combination of 2500 time steps with a 300<sup>2</sup> grid size yields instabilities in the transport model and is left out of the results. Other than that, CarboKitten scaled as predicted from our previous considerations.</p>
</sec>
<sec id="Ch1.S5.SS4.SSS4">
  <label>5.4.4</label><title>Validation</title>
      <p id="d2e4263">We may validate our benchmark by looking at the results of the runs with grid size 150<sup>2</sup>. This is shown in Fig. <xref ref-type="fig" rid="F11"/>. These results show that, when time steps are taken small enough, CarboKitten converges to a consistent result that does not depend on the size of the time step.</p>

      <fig id="F11" specific-use="star"><label>Figure 11</label><caption><p id="d2e4279">Benchmark validation. This shows a cross-section of the runs with a grid size of 150<sup>2</sup>. Looking at the first output, using only 2500 time steps, we see a wave like pattern even where the deep sea facies dominate. These waves are not physical, but a result from taking the time step too large. When we look at the results from 5000 and 10 000 time steps, they look so similar that we can conclude that in this case 5000 steps was enough to get accurate results.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026-f11.png"/>

          </fig>

</sec>
<sec id="Ch1.S5.SS4.SSS5">
  <label>5.4.5</label><title>Potential for GPU optimisation</title>
      <p id="d2e4305">At the time of writing, CarboKitten is a single threaded CPU code. However, the structure of the model, is highly ammenable to optimisation on a GPU, which would drastically improve run-times further. Going through the steps of the composed model in Sect. <xref ref-type="sec" rid="Ch1.S2.SS5"/>: the cellular automaton is a stencil operation, production a map, disintegration a stencil, transport is implemented as an iterated stencil, and deposition is a map. Both stencil and map operations are highly localized in memory and are ideal for implementation on a GPU.</p>
</sec>
</sec>
<sec id="Ch1.S5.SS5">
  <label>5.5</label><title>Documentation</title>
      <p id="d2e4320">CarboKitten is written entirely using literate programming <xref ref-type="bibr" rid="bib1.bibx48" id="paren.65"/>. This means that the implementation of CarboKitten is written as an integral part of its own documentation, using a system called Entangled <xref ref-type="bibr" rid="bib1.bibx28" id="paren.66"/>. The aim is that interested readers have a direct reference to the code implementing the methods that are explained in the documentation.</p>
</sec>
</sec>
<sec id="Ch1.S6">
  <label>6</label><title>Examples</title>
      <p id="d2e4338">We provide two examples of typical tasks users are likely to undertake: creating a simulation using an empirical, externally provided sea level curve and one with explicit forcing by an insolation curve. These examples are supported by the code used to generate this executable manuscript (FIXME ref to the code) and users are encourage to use that code as a starting point for modifying these examples for their needs.</p>
      <p id="d2e4341">The third example serves to illustrate the details of how the wave-induced transport is modelled and how modelling decisions and parameter choices affect the outcomes obtained using this feature.</p>
<sec id="Ch1.S6.SS1">
  <label>6.1</label><title>Sea level</title>
      <p id="d2e4352">Variables external to the model, which modulate the output the most, are the sea level and insolation. The sea level, together with subsidence, result in the <italic>relative</italic> sea level, which translates into <italic>water depth</italic> at any given position in the basin. The sea level must be specified as a function of time. It can be a constant, a continuous function or an empirical dataset. Empirical datasets can be read in as text files and need to be interpolated to equidistant intervals corresponding to the time step with which the model is run. The example here uses the sea level curve by <xref ref-type="bibr" rid="bib1.bibx50" id="text.67"/>, reproduced in the compilation by <xref ref-type="bibr" rid="bib1.bibx56" id="text.68"/>. The dataset of relative sea level records derived from foraminifer <inline-formula><mml:math id="M191" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="italic">δ</mml:mi><mml:mn mathvariant="normal">18</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>O extracted from this compilation is included in CarboKitten to facilitate simulations of the most typical sea-level scenarios. In this example we start the model at 2 Ma and build the platform until 134.54 ka, i.e. until the end of the record by <xref ref-type="bibr" rid="bib1.bibx50" id="text.69"/>, using a time step of 200 year (Fig. <xref ref-type="fig" rid="F12"/>).</p>

      <fig id="F12" specific-use="star"><label>Figure 12</label><caption><p id="d2e4386">Platform generated using the sea level curve of <xref ref-type="bibr" rid="bib1.bibx50" id="text.70"/>. Panel <bold>(a)</bold> shows the sea level curve. Panel <bold>(b)</bold> thecorresponding output stratigraphy.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026-f12.png"/>

        </fig>

</sec>
<sec id="Ch1.S6.SS2">
  <label>6.2</label><title>Insolation</title>
      <p id="d2e4413">The relationship between production and insolation can be modified with user-provided parameters. It may be confusing that the extinction coefficient <inline-formula><mml:math id="M192" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> is, in CarboKitten, a property of the carbonate factory and the facies it deposits and not of the basin or position in it. In reality extinction coefficient varies for different wavelengths of the sunlight spectrum, but the set of its values across the spectrum is constant for a given water body. While different carbonate factories exploit (or ignore, in the case of the aphotic factory) different parts of the light spectrum, the model is agnostic to it and allows users to set <inline-formula><mml:math id="M193" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> to values that may represent an average across different producers using different wavelengths.</p>

      <fig id="F13" specific-use="star"><label>Figure 13</label><caption><p id="d2e4432">Platform generated using the daily mean insolation during June solstice at the 25° N latitude for a period of 1 Myr starting in 1950 and using a sea level curve obtained by amplifying the insolation values. Panel <bold>(a)</bold> shows the insolation-based amplified sea level curve. Panel <bold>(b)</bold> shows the corresponding output stratigraphy.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026-f13.png"/>

        </fig>

      <p id="d2e4447">As default, we use insolation of 400 W m<sup>−2</sup>, which is approximately equivalent to the 2000 <inline-formula><mml:math id="M195" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi></mml:mrow></mml:math></inline-formula>E m<sup>−2</sup> s<sup>−1</sup> used by <xref ref-type="bibr" rid="bib1.bibx5" id="text.71"/>. This is representative of insolation on the sea surface at midday in the tropics. However, insolation varies with the position of the Earth with respect to the Sun and over geological timescales this variation may affect the patterns of sediment production. Incoming solar radiation can be used as an input vector to modulate production. CarboKitten is agnostic with respect to the source of this information. As an example in Fig. <xref ref-type="fig" rid="F13"/>, here we use the daily mean insolation on June solstice, calculated using the astronomical solution by <xref ref-type="bibr" rid="bib1.bibx49" id="text.72"/>, obtained through the R package <monospace>palinsol</monospace> <xref ref-type="bibr" rid="bib1.bibx13" id="paren.73"/>. Here we obtain it for the coming million year (starting in 1950, which is when the astronomical solution starts) at the 25° N latitude and use the total solar irradiance value of 1361 kW m<sup>−2</sup>. Variation in solar irradiance is so small that it would hardly manifest itself if linearly propagated to the sea level curve. A universal transfer function describing the relationship between insolation and sea level does not exist. For the purpose of illustrating the functionality of the model, we calculate the sea level as an amplified insolation value. The amplification is chosen arbitrarily as the square of the insolation anomaly, with the anomaly being the deviation from mean irradiation.</p>
      <p id="d2e4522">The insolation file can be read into a CarboKitten script defining the model to be run. The alternative is calling R directly from Julia using <monospace>RCall.jl</monospace>.</p>
</sec>
<sec id="Ch1.S6.SS3">
  <label>6.3</label><title>Wave induced transport</title>
      <p id="d2e4536">We model the transport by waves by setting the velocity <inline-formula><mml:math id="M199" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and shear <inline-formula><mml:math id="M200" display="inline"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> components in Eq. (<xref ref-type="disp-formula" rid="Ch1.E7"/>). In this analysis we forego claims on any level of realism with respect to the true long term effects of wave transport, rather we study the behaviour of the model under an imposed additional velocity component. Our use of the term <italic>wave transport</italic> should also be understood as such.</p>
      <p id="d2e4566">Considering the long timescales we are working with, we limit ourselves to a highly simplified model, with the goal of achieving an effect comparable with that of wave-induced transport. Given the timescales for which the model is developed, with time steps of the order of 100 years, a more physical representation of wave-induced transport is not possible. By necessity, the result imitates the time-averaged effect of transport.</p>
      <p id="d2e4569">Our approach is illustrated with an example of an atoll, starting with a conical topography and periodic boundaries.</p>
      <p id="d2e4572">Here we try three different velocity profiles: first no onshore component, second a constant vector that does not depend on water depth, and third an attempt at a more realistic scenario.</p>
      <p id="d2e4576">The following equation is the well known phase velocity of waves as a function of depth from linear wave theory,

            <disp-formula id="Ch1.E13" content-type="numbered"><label>13</label><mml:math id="M201" display="block"><mml:mrow><mml:mi>v</mml:mi><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msqrt><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi><mml:mi>g</mml:mi></mml:mrow><mml:mi>k</mml:mi></mml:mfrac></mml:mstyle></mml:msqrt><mml:mi mathvariant="normal">tanh</mml:mi><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M202" display="inline"><mml:mi>w</mml:mi></mml:math></inline-formula> is the water depth, <inline-formula><mml:math id="M203" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> the wave number (<inline-formula><mml:math id="M204" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:mi mathvariant="italic">λ</mml:mi></mml:mrow></mml:math></inline-formula>), and <inline-formula><mml:math id="M205" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula> is the gravitational acceleration. This velocity is the phase-velocity of surface waves, given the total depth of the water. To evaluate the transport velocity at deeper levels, we multiply the phase velocity with a factor <inline-formula><mml:math id="M206" display="inline"><mml:mrow><mml:mi>exp⁡</mml:mi><mml:mo>(</mml:mo><mml:mo>-</mml:mo><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> to account for Stokes drift:

            <disp-formula id="Ch1.E14" content-type="numbered"><label>14</label><mml:math id="M207" display="block"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi>exp⁡</mml:mi><mml:mo>(</mml:mo><mml:mo>-</mml:mo><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mo>)</mml:mo><mml:mi mathvariant="normal">tanh</mml:mi><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M208" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the facies-dependent maximum transport velocity. The <inline-formula><mml:math id="M209" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> parameter can be tweaked to set the depth at which the maximum transport velocity is attained. We assume most of the sediment transport happens close to the sea floor. This profile is chosen for its assymptotic properties: at high water depth the transport velocity converges to zero, while the decrease in wave velocity towards shallow depths ensures that there is a net influx of material close to the shore. An example of this profile is shown in Fig. <xref ref-type="fig" rid="F14"/>.</p>

      <fig id="F14"><label>Figure 14</label><caption><p id="d2e4741">Depth profile of wave velocity and shear. The velocity profile was taylored to have a maximum of 10 m yr<sup>−1</sup> at a depth of 20 m. Where the shear is negative (assuming transport is directed onshore), there is a net accumulation of sediment.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026-f14.png"/>

        </fig>

      <p id="d2e4762">We model the formation of an atoll for three cases: no wave transport, constant transport directed west-ward (along the x-axis), and a depth dependent velocity profile. The results of this experiment are shown in Fig. <xref ref-type="fig" rid="F15"/>. Velocity functions are configured for each facies separately. We found that it was quite easy to create an unstable model by choosing on-shore velocities too high, particularly in the case where the velocity shear is non-zero. Build-up of material due to high on-shore velocity can be compensated by setting a higher facies transport coefficient.</p>

      <fig id="F15" specific-use="star"><label>Figure 15</label><caption><p id="d2e4769">Topography and sediment profiles of an atoll. We ran the same model three times with different on-shore velocity profiles: no on-shore transport, a constant velocity and lastly the profile given in Eq. (<xref ref-type="disp-formula" rid="Ch1.E14"/>). The top row <bold>(a–c)</bold> show the topography of the generated island, while the bottom row <bold>(d–f)</bold> show the corresponding sediment profiles. Small differences in water depth may get amplified exponentially by the production model, so we see some stark differences in the outcomes for the different velocity profiles. Comparing the first (without additional transport vector) and second case (flat profile), we see little change in the overall shape of the atoll, but there is a clear difference in the facies composition at the transition between oligophotic (yellow) and aphotic (green) dominated areas. In the third case we see the topography changed significantly between the leeward and windward sides of the atoll, where the slope is much steeper. Also the facies composition changed further: most notably we see a relative prominence of euphotic (blue) facies on the windward side of the island.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/6207/2026/gmd-19-6207-2026-f15.png"/>

        </fig>

      <p id="d2e4786">If we assume that both the facies transport coefficient and the wave velocity are some constant times a hypothetical carrying water velocity, it would be fitting to make sure that for each facies the transport coefficient and velocity have a similar proportion. In our experiment we took the values listed in Table <xref ref-type="table" rid="T4"/>. It is very hard to find proper motivation for any of these values, but by changing them we can learn more about the mechanisms and systematic behaviours of the model and by extension possibly learn more about the formation of carbonate platforms and study sensitivities in their observed stratigraphic patterns.</p>

<table-wrap id="T4"><label>Table 4</label><caption><p id="d2e4795">Chosen parameters to generate results in Fig. <xref ref-type="fig" rid="F15"/>. We used a lithification time of 100 year and a disintegration rate of 50 m Myr<sup>−1</sup>.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="center"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Facies</oasis:entry>
         <oasis:entry colname="col2">Transport</oasis:entry>
         <oasis:entry colname="col3">Velocity</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">coefficient</oasis:entry>
         <oasis:entry colname="col3">[m yr<sup>−1</sup>]</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">[m yr<sup>−1</sup>]</oasis:entry>
         <oasis:entry colname="col3"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Euphotic</oasis:entry>
         <oasis:entry colname="col2">20.0</oasis:entry>
         <oasis:entry colname="col3">2.0</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Oligophotic</oasis:entry>
         <oasis:entry colname="col2">10.0</oasis:entry>
         <oasis:entry colname="col3">0.5</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Aphotic</oasis:entry>
         <oasis:entry colname="col2">50.0</oasis:entry>
         <oasis:entry colname="col3">2.0</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
</sec>
<sec id="Ch1.S7" sec-type="conclusions">
  <label>7</label><title>Conclusions</title>
      <p id="d2e4931">CarboKitten is a new Open Source stratigraphic forward model dedicated for carbonate depositional environments and modeling of timescales between centuries and millions of years. It integrates previous, well-tested approaches used by the community, i.e. the production model by <xref ref-type="bibr" rid="bib1.bibx5" id="text.74"/> and the generation of spatial heterogeneity proposed by <xref ref-type="bibr" rid="bib1.bibx8" id="text.75"/> with a new approach to sediment transport, based on the concept of the <italic>active layer</italic> by <xref ref-type="bibr" rid="bib1.bibx59" id="text.76"/>. The software allows modeling and visualization accessible to laptop users, including attractive plotting functions for common use-cases in stratigraphy and sedimentology, such as Wheeler diagrams, age-depth models and stratigraphic columns. CarboKitten uses heuristics to approximate the dynamics of carbonate production, wave transport and biologically driven spatial heterogeneity. The algorithms do not replicate the physical and biological processes behind these phenomena, but allow obtaining results imitating them at timescales at which they cannot be observed directly.</p>
      <p id="d2e4946">CarboKitten fills a gap identified at the outset of this manuscript: an Open Source, modular, performant stratiraphic forward model dedicated to carbonate platforms and their idiosyncracies. It complements the landscape of Earth-surface models such as Landlab <xref ref-type="bibr" rid="bib1.bibx33 bib1.bibx2" id="paren.77"/> and the broader suite of tools developed and maintained by the Community Surface Dynamics Modeling System (CSDMS). Future opportunities for CarboKitten include integration with Landlab and other CSDMS components.</p>
      <p id="d2e4952">At this stage, CarboKitten's primary value lies not in a realistic replication of empirical stratigraphic architectures, but in its utility for testing hypotheses on the formation of the carbonate geological record and on our own understanding on its governing processes. Further work is needed to allow more detailed reconstructions of known geological situations. Among future refinements are empirical validation of transport and production values or storing the history of sediment transport to track autochthonous and allochthonous sediment.</p>
      <p id="d2e4955">CarboKitten offers a powerful tool to ground-truth concepts of how time is represented in the physical rock record <xref ref-type="bibr" rid="bib1.bibx7 bib1.bibx12 bib1.bibx69" id="paren.78"><named-content content-type="pre">e.g.,</named-content></xref> and constrain the limits of reconstruction of processes such as evolution <xref ref-type="bibr" rid="bib1.bibx37 bib1.bibx26 bib1.bibx35" id="paren.79"/>, climate change, or other aspects of the changing Earth's environment <xref ref-type="bibr" rid="bib1.bibx45 bib1.bibx44 bib1.bibx58 bib1.bibx24 bib1.bibx39 bib1.bibx14" id="paren.80"><named-content content-type="pre">e.g.,</named-content></xref>. We hope the accessibility and reproducibility of CarboKitten simulations will encourage wider use of stratigraphic forward models towards a hypothetico-deductive research in stratigraphy.</p>
</sec>

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

<app id="App1.Ch1.S1">
  <label>Appendix A</label><title>Derivation of transport equations</title>
      <p id="d2e4982">Our basic assumption is that the sediment flux scales linearly with the local bathymetric gradient and the concentration of sediment in the active layer,

          <disp-formula id="App1.Ch1.S1.E15" content-type="numbered"><label>A1</label><mml:math id="M214" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mi mathvariant="bold">∇</mml:mi><mml:mi mathvariant="italic">η</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M215" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the active sediment amount per facies (all “f” suffixes indicate facies dependent quantities), <inline-formula><mml:math id="M216" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the transport (diffusivity) coefficient, <inline-formula><mml:math id="M217" display="inline"><mml:mrow><mml:mi mathvariant="italic">η</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> the bathymetry, and <inline-formula><mml:math id="M218" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the wave velocity as a function of water depth <inline-formula><mml:math id="M219" display="inline"><mml:mrow><mml:mi>w</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. Since the water depth and bathymetry differ at any time by a constant an a minus sign, <inline-formula><mml:math id="M220" display="inline"><mml:mrow><mml:mi mathvariant="bold">∇</mml:mi><mml:mi>w</mml:mi><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mi mathvariant="bold">∇</mml:mi><mml:mi mathvariant="italic">η</mml:mi></mml:mrow></mml:math></inline-formula>, it is advantageous to write the equation completely in terms of <inline-formula><mml:math id="M221" display="inline"><mml:mi>w</mml:mi></mml:math></inline-formula>,

          <disp-formula id="App1.Ch1.S1.E16" content-type="numbered"><label>A2</label><mml:math id="M222" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mi mathvariant="bold">∇</mml:mi><mml:mi>w</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

        We can transform this assumption in to an advection equation by considering the continuity equation,

          <disp-formula id="App1.Ch1.S1.E17" content-type="numbered"><label>A3</label><mml:math id="M223" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></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:mi mathvariant="bold">∇</mml:mi><mml:mo>⋅</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">q</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mi>P</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

        where <inline-formula><mml:math id="M224" display="inline"><mml:mrow><mml:mi>P</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the sediment production rate (including disintegration). We can leave the production out of consideration for the moment. Also, for readability, we will be dropping the function dependencies on <inline-formula><mml:math id="M225" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> and in our notation, as well as the “f” suffix, considering each facies independently. Using the product rule,

          <disp-formula id="App1.Ch1.S1.E18" content-type="numbered"><label>A4</label><mml:math id="M226" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>C</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:mi mathvariant="bold">∇</mml:mi><mml:mi>C</mml:mi><mml:mo>⋅</mml:mo><mml:mo>(</mml:mo><mml:mi>d</mml:mi><mml:mi mathvariant="bold">∇</mml:mi><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mi>C</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mi>d</mml:mi><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="bold">∇</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

        Now, we demand that the user provide the derivative <inline-formula><mml:math id="M227" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, so applying the chain rule we can write,

          <disp-formula id="App1.Ch1.S1.E19" content-type="numbered"><label>A5</label><mml:math id="M228" display="block"><mml:mrow><mml:mi mathvariant="bold">∇</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="bold">∇</mml:mi><mml:mi>w</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

        Substituting that into the previous equation and collecting terms by <inline-formula><mml:math id="M229" display="inline"><mml:mi>C</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M230" display="inline"><mml:mrow><mml:mi mathvariant="normal">∇</mml:mi><mml:mi>C</mml:mi></mml:mrow></mml:math></inline-formula> brings us to Eq. (<xref ref-type="disp-formula" rid="Ch1.E7"/>),

          <disp-formula id="App1.Ch1.S1.E20" content-type="numbered"><label>A6</label><mml:math id="M231" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>C</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:mo>(</mml:mo><mml:mi>d</mml:mi><mml:mi mathvariant="bold">∇</mml:mi><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold">∇</mml:mi><mml:mi>C</mml:mi><mml:mo>-</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mi>d</mml:mi><mml:msup><mml:mi mathvariant="normal">∇</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>w</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="bold">∇</mml:mi><mml:mi>w</mml:mi><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mo>(</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mi>C</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
</app>

<app id="App1.Ch1.S2">
  <label>Appendix B</label><title>Model parameters</title>
      <p id="d2e5554">For completeness we give an overview of the paramaters that enter CarboKitten's main model called ALCAP (Active Layer, Cellular Automaton and Production), at the time of writing the most extensive model in CarboKitten. We split these parameters in three categories. The global parameters deal with the grid geometry, time integration and external forcings (see Table <xref ref-type="table" rid="TB1"/>). A second set of parameters are specified for each facies individually, e.g. production rates and CA behaviour (see Table <xref ref-type="table" rid="TB2"/>). The third category concerns everything related to the transport model (see Table <xref ref-type="table" rid="TB3"/>). Note that the transport coefficients are facies dependent, all others are global parameters.</p>

<table-wrap id="TB1"><label>Table B1</label><caption><p id="d2e5567">Grid and time parameters. Parameters marked with <sup>*</sup>  can be specified as a constant, table or Julia function. Parameters that have – as default value are required.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:colspec colnum="5" colname="col5" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Parameter</oasis:entry>
         <oasis:entry colname="col2">Description</oasis:entry>
         <oasis:entry colname="col3">Default</oasis:entry>
         <oasis:entry colname="col4">Unit</oasis:entry>
         <oasis:entry colname="col5">Tested range</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col5">Time parameters </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>time.t0</monospace></oasis:entry>
         <oasis:entry colname="col2">Simulation start time</oasis:entry>
         <oasis:entry colname="col3">0.0</oasis:entry>
         <oasis:entry colname="col4">Myr</oasis:entry>
         <oasis:entry colname="col5">0.0</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>time.</monospace><inline-formula><mml:math id="M233" display="inline"><mml:mi mathvariant="normal">Δ</mml:mi></mml:math></inline-formula><monospace>t</monospace></oasis:entry>
         <oasis:entry colname="col2">Time step</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">Myr</oasis:entry>
         <oasis:entry colname="col5">10 year–0.001 Myr</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><monospace>time.steps</monospace></oasis:entry>
         <oasis:entry colname="col2">Number of time steps</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">100–50 000</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col5">Box parameters </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>box.grid_size</monospace></oasis:entry>
         <oasis:entry colname="col2">Number of grid cells (<inline-formula><mml:math id="M234" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M235" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">(100, 1)–(512, 512)</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><monospace>box.phys_scale</monospace></oasis:entry>
         <oasis:entry colname="col2">Physical size of each cell</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">m</oasis:entry>
         <oasis:entry colname="col5">50–600 m</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col5">Water depth </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>sea_level</monospace></oasis:entry>
         <oasis:entry colname="col2">Relative sea-level function<sup>*</sup></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M237" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>→</mml:mo><mml:mn mathvariant="normal">0.0</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">m</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>initial_topography</monospace></oasis:entry>
         <oasis:entry colname="col2">Initial seafloor elevation<sup>*</sup></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M239" display="inline"><mml:mrow><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:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">m</oasis:entry>
         <oasis:entry colname="col5">example: <inline-formula><mml:math id="M240" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>→</mml:mo><mml:mo>-</mml:mo><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">300.0</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><monospace>subsidence_rate</monospace></oasis:entry>
         <oasis:entry colname="col2">Rate of tectonic subsidence</oasis:entry>
         <oasis:entry colname="col3">0.0</oasis:entry>
         <oasis:entry colname="col4">m Myr<sup>−1</sup></oasis:entry>
         <oasis:entry colname="col5">0.0–50.0 m Myr<sup>−1</sup></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col5">Insolation </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>insolation</monospace></oasis:entry>
         <oasis:entry colname="col2">Surface insolation<sup>*</sup></oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">W m<sup>−2</sup></oasis:entry>
         <oasis:entry colname="col5">400 W m<sup>−2</sup></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="TB2"><label>Table B2</label><caption><p id="d2e5957">Facies parameters.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:colspec colnum="5" colname="col5" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Parameter</oasis:entry>
         <oasis:entry colname="col2">Description</oasis:entry>
         <oasis:entry colname="col3">Default</oasis:entry>
         <oasis:entry colname="col4">Unit</oasis:entry>
         <oasis:entry colname="col5">Tested range</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col5">Benthic production </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>maximum_growth_rate</monospace></oasis:entry>
         <oasis:entry colname="col2">Maximum growth rate</oasis:entry>
         <oasis:entry colname="col3"><monospace>0.0</monospace></oasis:entry>
         <oasis:entry colname="col4">m Myr<sup>−1</sup></oasis:entry>
         <oasis:entry colname="col5">100–500 m Myr<sup>−1</sup></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>extinction_coefficient</monospace></oasis:entry>
         <oasis:entry colname="col2">Light attenuation coefficient</oasis:entry>
         <oasis:entry colname="col3"><monospace>0.0</monospace></oasis:entry>
         <oasis:entry colname="col4">m<sup>−1</sup></oasis:entry>
         <oasis:entry colname="col5">0.005–0.8 m<sup>−1</sup></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><monospace>saturation_intensity</monospace></oasis:entry>
         <oasis:entry colname="col2">Half-saturation light intensity</oasis:entry>
         <oasis:entry colname="col3"><monospace>1.0</monospace></oasis:entry>
         <oasis:entry colname="col4">W m<sup>−2</sup></oasis:entry>
         <oasis:entry colname="col5">50–60 W m<sup>−2</sup></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col5">Pelagic production </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>maximum_growth_rate</monospace></oasis:entry>
         <oasis:entry colname="col2">Maximum pelagic growth rate</oasis:entry>
         <oasis:entry colname="col3"><monospace>0.0</monospace></oasis:entry>
         <oasis:entry colname="col4">Myr<sup>−1</sup></oasis:entry>
         <oasis:entry colname="col5">7.0 Myr<sup>−1</sup></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>extinction_coefficient</monospace></oasis:entry>
         <oasis:entry colname="col2">Light attenuation coefficient</oasis:entry>
         <oasis:entry colname="col3"><monospace>0.0</monospace></oasis:entry>
         <oasis:entry colname="col4">m<sup>−1</sup></oasis:entry>
         <oasis:entry colname="col5">0.1 m<sup>−1</sup></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><monospace>saturation_intensity</monospace></oasis:entry>
         <oasis:entry colname="col2">Half-saturation light intensity</oasis:entry>
         <oasis:entry colname="col3"><monospace>1.0</monospace></oasis:entry>
         <oasis:entry colname="col4">W m<sup>−2</sup></oasis:entry>
         <oasis:entry colname="col5">60 W m<sup>−2</sup></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col5">Cellular automaton </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>ca_interval</monospace></oasis:entry>
         <oasis:entry colname="col2">Update CA every <inline-formula><mml:math id="M258" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> time steps</oasis:entry>
         <oasis:entry colname="col3"><monospace>1</monospace></oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">1</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>ca_random_seed</monospace></oasis:entry>
         <oasis:entry colname="col2">Random seed for initial CA state</oasis:entry>
         <oasis:entry colname="col3"><monospace>0</monospace></oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">0</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>viability_range</monospace></oasis:entry>
         <oasis:entry colname="col2">Min–max neighbour count to stay alive</oasis:entry>
         <oasis:entry colname="col3"><monospace>(4, 10)</monospace></oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">(4, 10)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>activation_range</monospace></oasis:entry>
         <oasis:entry colname="col2">Min–max neighbour count to be born</oasis:entry>
         <oasis:entry colname="col3"><monospace>(6, 10)</monospace></oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">(6, 10)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>active</monospace></oasis:entry>
         <oasis:entry colname="col2">Whether facies participates in CA</oasis:entry>
         <oasis:entry colname="col3"><monospace>true</monospace></oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5"><monospace>true</monospace>, <monospace>false</monospace></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="TB3"><label>Table B3</label><caption><p id="d2e6387">Transport parameters. <sup>*</sup> The user needs to specify both velocity and its derivative as function of water depth.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:colspec colnum="5" colname="col5" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Parameter</oasis:entry>
         <oasis:entry colname="col2">Description</oasis:entry>
         <oasis:entry colname="col3">Default</oasis:entry>
         <oasis:entry colname="col4">Unit</oasis:entry>
         <oasis:entry colname="col5">Tested range</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Transport coefficients</oasis:entry>
         <oasis:entry colname="col2">facies dependent</oasis:entry>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>transport_coefficient</monospace></oasis:entry>
         <oasis:entry colname="col2">Facies-specific transport coefficient</oasis:entry>
         <oasis:entry colname="col3"><monospace>0.0</monospace></oasis:entry>
         <oasis:entry colname="col4">m yr<sup>−1</sup></oasis:entry>
         <oasis:entry colname="col5">1.0–50.0 m yr<sup>−1</sup></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><monospace>wave_velocity</monospace></oasis:entry>
         <oasis:entry colname="col2">Facies advection velocity and shear<sup>*</sup></oasis:entry>
         <oasis:entry colname="col3">zero</oasis:entry>
         <oasis:entry colname="col4">m Myr<sup>−1</sup></oasis:entry>
         <oasis:entry colname="col5">custom function</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col5">Control parameters </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>intertidal_zone</monospace></oasis:entry>
         <oasis:entry colname="col2">Upward extension of the intertidal zone</oasis:entry>
         <oasis:entry colname="col3"><monospace>0.0</monospace></oasis:entry>
         <oasis:entry colname="col4">m</oasis:entry>
         <oasis:entry colname="col5">0.0</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>disintegration_rate</monospace></oasis:entry>
         <oasis:entry colname="col2">Rate at which sediment is mobilised</oasis:entry>
         <oasis:entry colname="col3"><monospace>50.0</monospace></oasis:entry>
         <oasis:entry colname="col4">m Myr<sup>−1</sup></oasis:entry>
         <oasis:entry colname="col5">5–500 m Myr<sup>−1</sup></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>disintegration_transfer</monospace></oasis:entry>
         <oasis:entry colname="col2">Remapping disintegrated sediment</oasis:entry>
         <oasis:entry colname="col3">identity</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">custom redistribution</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><monospace>lithification_time</monospace></oasis:entry>
         <oasis:entry colname="col2">Half-life time for active-layer settling</oasis:entry>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4">Myr</oasis:entry>
         <oasis:entry colname="col5">100–5000 year</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col5">Transport solver </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>transport_solver</monospace></oasis:entry>
         <oasis:entry colname="col2">ODE solver</oasis:entry>
         <oasis:entry colname="col3">forward Euler</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5"><monospace>:forward_euler</monospace>, <monospace>:RK4</monospace></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><monospace>transport_substeps</monospace></oasis:entry>
         <oasis:entry colname="col2">Number of sub-steps per iteration</oasis:entry>
         <oasis:entry colname="col3">adaptive</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5"><monospace>:adaptive</monospace> or integer</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col5">Sediment buffer </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>sediment_buffer_size</monospace></oasis:entry>
         <oasis:entry colname="col2">Depth of sediment buffer</oasis:entry>
         <oasis:entry colname="col3"><monospace>50</monospace></oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">2–150</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>depositional_resolution</monospace></oasis:entry>
         <oasis:entry colname="col2">Resolution of sediment buffer</oasis:entry>
         <oasis:entry colname="col3"><monospace>0.5</monospace></oasis:entry>
         <oasis:entry colname="col4">m</oasis:entry>
         <oasis:entry colname="col5">0.5–1.0 m</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

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

      <p id="d2e6741">CarboKitten is available under the GNU Public Licencse 3.0 and is hosted on Github (<uri>https://github.com/MindTheGap-ERC/CarboKitten.jl</uri>, last access: 10 June 2026). Releases are also made available on Zenodo (<ext-link xlink:href="https://doi.org/10.5281/zenodo.20626229" ext-link-type="DOI">10.5281/zenodo.20626229</ext-link>, <xref ref-type="bibr" rid="bib1.bibx30" id="altparen.81"/>). The full source code for this paper including all of its figures is also made available on Zenodo (<ext-link xlink:href="https://doi.org/10.5281/zenodo.20451169" ext-link-type="DOI">10.5281/zenodo.20451169</ext-link>, <xref ref-type="bibr" rid="bib1.bibx31" id="altparen.82"/>).</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e6764">EJ, JH, PB and NH conceptualized the study. Software and visualizations were developed by JH with contributions from EJ, XL, NH, and HS. All authors contributed to the methodology. EJ was responsible for funding acquisition and project administration. JH and EJ drafted the manuscript and PB and NH contributed to the final version.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

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

      <p id="d2e6778">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="d2e6784">We thank Joris Eggenhuisen for discussions on the transport model and Charlotte Summers for programming support. Niels Drost provided administrative and management support during the project. We thank Ton Markus for the visualization of Fig. <xref ref-type="fig" rid="F7"/>.</p><p id="d2e6788">Funded by the European Union (ERC, MindTheGap, StG project no. 101041077). Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Research Council. Neither the European Union nor the granting authority can be held responsible for them.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e6793">This research has been supported by the European Research Council, HORIZON EUROPE European Research Council (grant no. 101041077).</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

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

      <ref id="bib1.bibx1"><label>Adams and Schlager(2000)</label><mixed-citation>Adams, E. W. and Schlager, W.: Basic Types of Submarine Slope Curvature, J. Sediment. Res., 70, 814–828, <ext-link xlink:href="https://doi.org/10.1306/2DC4093A-0E47-11D7-8643000102C1865D" ext-link-type="DOI">10.1306/2DC4093A-0E47-11D7-8643000102C1865D</ext-link>, 2000.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Barnhart et al.(2020)Barnhart, Hutton, Tucker, Gasparini, Istanbulluoglu, Hobley, Lyons, Mouchene, Nudurupati, Adams, and Bandaragoda</label><mixed-citation>Barnhart, K. R., Hutton, E. W. H., Tucker, G. E., Gasparini, N. M., Istanbulluoglu, E., Hobley, D. E. J., Lyons, N. J., Mouchene, M., Nudurupati, S. S., Adams, J. M., and Bandaragoda, C.: Short communication: Landlab v2.0: a software package for Earth surface dynamics, Earth Surf. Dynam., 8, 379–397, <ext-link xlink:href="https://doi.org/10.5194/esurf-8-379-2020" ext-link-type="DOI">10.5194/esurf-8-379-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Barrett and Webster(2017)</label><mixed-citation>Barrett, S. J. and Webster, J. M.: Reef Sedimentary Accretion Model (ReefSAM): Understanding coral reef evolution on Holocene time scales using 3D stratigraphic forward modelling, Mar. Geol., 391, 108–126, <ext-link xlink:href="https://doi.org/10.1016/j.margeo.2017.07.007" ext-link-type="DOI">10.1016/j.margeo.2017.07.007</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Bosence et al.(1994)Bosence, Pomar, Waltham, and Lankester</label><mixed-citation>Bosence, D. W. J., Pomar, L., Waltham, D. A., and Lankester, T. H. G.: Computer Modeling a Miocene Carbonate Platform, Mallorca, Spain1, AAPG Bull., 78, 247–266, <ext-link xlink:href="https://doi.org/10.1306/BDFF9078-1718-11D7-8645000102C1865D" ext-link-type="DOI">10.1306/BDFF9078-1718-11D7-8645000102C1865D</ext-link>, 1994.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Bosscher and Schlager(1992)</label><mixed-citation> Bosscher, H. and Schlager, W.: Computer simulation of reef growth, Sedimentology, 39, 503–512, 1992.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Bosscher and Southam(1992)</label><mixed-citation>Bosscher, H. and Southam, J.: CARBPLAT – A computer model to simulate the development of carbonate platforms, Geology, 20, 235–238, <ext-link xlink:href="https://doi.org/10.1130/0091-7613(1992)020&lt;0235:CACMTS&gt;2.3.CO;2" ext-link-type="DOI">10.1130/0091-7613(1992)020&lt;0235:CACMTS&gt;2.3.CO;2</ext-link>, 1992. </mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Burgess(2008)</label><mixed-citation>Burgess, P. M.: The nature of shallow-water carbonate lithofacies thickness distributions, Geology, 36, 235–238, <ext-link xlink:href="https://doi.org/10.1130/G243326A.1" ext-link-type="DOI">10.1130/G243326A.1</ext-link>, 2008.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Burgess(2013)</label><mixed-citation> Burgess, P. M.: CarboCAT: A cellular automata model of heterogeneous carbonate strata, Comput. Geosci., 53, 129–140, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Burgess(2016)</label><mixed-citation>Burgess, P. M.: Identifying Ordered Strata: Evidence, Methods, and Meaning, J. Sediment. Res., 86, 148–167, <ext-link xlink:href="https://doi.org/10.2110/jsr.2016.10" ext-link-type="DOI">10.2110/jsr.2016.10</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Burgess and Emery(2004)</label><mixed-citation>Burgess, P. M. and Emery, D. J.: Sensitive dependence, divergence and unpredictable behaviour in a stratigraphic forward model of a carbonate system, in: Geological Prior Information: Informing Science and Engineering, vol. 239, edited by: Curtis, A. and Wood, R., Geological Society of London, ISBN 978-1-86239-171-0, <ext-link xlink:href="https://doi.org/10.1144/GSL.SP.2004.239.01.06" ext-link-type="DOI">10.1144/GSL.SP.2004.239.01.06</ext-link>, 2004.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Burgess et al.(2001)Burgess, Wright, and Emery</label><mixed-citation>Burgess, P. M., Wright, V. P., and Emery, D.: Numerical forward modelling of peritidal carbonate parasequence development: implications for outcrop interpretation, Basin Res., 13, 1–16, <ext-link xlink:href="https://doi.org/10.1046/j.1365-2117.2001.00130.x" ext-link-type="DOI">10.1046/j.1365-2117.2001.00130.x</ext-link>, 2001.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Burgess et al.(2019)Burgess, Masiero, Toby, and Duller</label><mixed-citation>Burgess, P. M., Masiero, I., Toby, S. C., and Duller, R. A.: A big fan of signals? Exploring autogenic and allogenic process and product in a numerical stratigraphic forward model of submarine-fan development, J. Sediment. Res., 89, 1–12, <ext-link xlink:href="https://doi.org/10.2110/jsr.2019.3" ext-link-type="DOI">10.2110/jsr.2019.3</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Crucifix(2023)</label><mixed-citation>Crucifix, M.: palinsol: Insolation for Palaeoclimate Studies, CRAN, <ext-link xlink:href="https://doi.org/10.32614/CRAN.package.palinsol" ext-link-type="DOI">10.32614/CRAN.package.palinsol</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Curtis et al.(2025)Curtis, Bloem, Wood, Bowyer, Shields, Zhou, Yilales, and Tetzlaff</label><mixed-citation>Curtis, A., Bloem, H., Wood, R., Bowyer, F., Shields, G. A., Zhou, Y., Yilales, M., and Tetzlaff, D.: Natural sampling and aliasing of marine geochemical signals, Sci. Rep., 15, 760, <ext-link xlink:href="https://doi.org/10.1038/s41598-024-84871-6" ext-link-type="DOI">10.1038/s41598-024-84871-6</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Danisch and Krumbiegel(2021)</label><mixed-citation>Danisch, S. and Krumbiegel, J.: Makie.jl: Flexible high-performance data visualization for Julia, J. Open Source Softw., 6, 3349, <ext-link xlink:href="https://doi.org/10.21105/joss.03349" ext-link-type="DOI">10.21105/joss.03349</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Demicco(1998)</label><mixed-citation>Demicco, R. V.: CYCOPATH 2D – a two-dimensional, forward model of cyclic sedimentation on carbonate platforms, Comput. Geosci., 24, 405–423, <ext-link xlink:href="https://doi.org/10.1016/S0098-3004(98)00024-7" ext-link-type="DOI">10.1016/S0098-3004(98)00024-7</ext-link>, 1998.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Ding et al.(2019)Ding, Salles, Flament, and Rey</label><mixed-citation>Ding, X., Salles, T., Flament, N., and Rey, P.: Quantitative stratigraphic analysis in a source-to-sink numerical framework, Geosci. Model Dev., 12, 2571–2585, <ext-link xlink:href="https://doi.org/10.5194/gmd-12-2571-2019" ext-link-type="DOI">10.5194/gmd-12-2571-2019</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Dormann et al.(2001)Dormann, Deutsch, and Lawniczak</label><mixed-citation>Dormann, S., Deutsch, A., and Lawniczak, A. T.: Fourier analysis of Turing-like pattern formation in cellular automaton models, Future Generat. Comput. Syst., 17, 901–909, <ext-link xlink:href="https://doi.org/10.1016/S0167-739X(00)00068-6" ext-link-type="DOI">10.1016/S0167-739X(00)00068-6</ext-link>, 2001.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Drummond and Dugan(1999)</label><mixed-citation>Drummond, C. N. and Dugan, P. J.: Self-organizing models of shallow-water carbonate accumulation, J. Sediment. Res., 69, 939–946, <ext-link xlink:href="https://doi.org/10.2110/jsr.69.939" ext-link-type="DOI">10.2110/jsr.69.939</ext-link>, 1999.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Dyer et al.(2018)Dyer, Maloof, Purkis, and Harris</label><mixed-citation>Dyer, B., Maloof, A. C., Purkis, S. J., and Harris, P. M. M.: Quantifying the relationship between water depth and carbonate facies, Sediment. Geol., 373, 1–10, <ext-link xlink:href="https://doi.org/10.1016/j.sedgeo.2018.05.011" ext-link-type="DOI">10.1016/j.sedgeo.2018.05.011</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Evans(1996)</label><mixed-citation>Evans, K. M.: Larger than Life: it's so nonlinear, PhD thesis, Uniersity of Wisconsin-Madison, Madison, <uri>https://www.csun.edu/~kme52026/thesis.html</uri> (last access: 1 March 2026), 1996.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Falivene et al.(2019)Falivene, Frascati, Bolla Pittaluga, and Martin</label><mixed-citation>Falivene, O., Frascati, A., Bolla Pittaluga, M., and Martin, J.: Three-dimensional Reduced-Complexity Simulation of Fluvio-Deltaic Clastic Stratigraphy, J. Sediment. Res., 89, 46–65, <ext-link xlink:href="https://doi.org/10.2110/jsr.2018.73" ext-link-type="DOI">10.2110/jsr.2018.73</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Fathiyah Jamaludin(2025)</label><mixed-citation>Fathiyah Jamaludin, S. N.: Quantitative geo-history analysis of the Luconia-Balingian provinces, Malaysia with emphasis on the tectonic subsidence signatures, Mar. Petrol. Geol., 173, 107224, <ext-link xlink:href="https://doi.org/10.1016/j.marpetgeo.2024.107224" ext-link-type="DOI">10.1016/j.marpetgeo.2024.107224</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Geyman et al.(2021)Geyman, Maloof, and Dyer</label><mixed-citation>Geyman, E. C., Maloof, A. C., and Dyer, B.: How is sea level change encoded in carbonate stratigraphy?, Earth Planet. Sc. Lett., 560, 116790, <ext-link xlink:href="https://doi.org/10.1016/j.epsl.2021.116790" ext-link-type="DOI">10.1016/j.epsl.2021.116790</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Granjeon and Joseph(1999)</label><mixed-citation>Granjeon, D. and Joseph, P.: Concepts and Applications of A 3-D Multiple Lithology, Diffusive Model in Stratigraphic Modeling, in: Numerical Experiments in Stratigraphy: Recent Advances in Stratigraphic and Sedimentologic Computer Simulations, vol. 62, edited by: Harbaugh, J. W., Watney, W. L., Rankey, E. C., Slingerland, R., Goldstein, R. H., and Franseen, E. K., SEPM – Society for Sedimentary Geology, 197–209, <ext-link xlink:href="https://doi.org/10.2110/pec.99.62.0197" ext-link-type="DOI">10.2110/pec.99.62.0197</ext-link>, 1999.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Hannisdal(2006)</label><mixed-citation>Hannisdal, B.: Phenotypic evolution in the fossil record: numerical experiments, J. Geol., 114, 133–153, <ext-link xlink:href="https://doi.org/10.1086/499569" ext-link-type="DOI">10.1086/499569</ext-link>, 2006.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Henglai et al.(2024)Henglai, Fongngern, and Saller</label><mixed-citation>Henglai, P., Fongngern, R., and Saller, A.: The growth and demise of a Middle Miocene carbonate platform in Central Luconia, offshore Malaysia, Mar. Petrol. Geol., 163, 106763, <ext-link xlink:href="https://doi.org/10.1016/j.marpetgeo.2024.106763" ext-link-type="DOI">10.1016/j.marpetgeo.2024.106763</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Hidding(2023)</label><mixed-citation>Hidding, J.: Entangled, a Bidirectional System for Sustainable Literate Programming, in: 2023 IEEE 19th International Conference on e-Science (e-Science), 1–9, <ext-link xlink:href="https://doi.org/10.1109/e-Science58273.2023.10254816" ext-link-type="DOI">10.1109/e-Science58273.2023.10254816</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Hidding et al.(2025)Hidding, Jarochowska, Liu, Burgess, Hohmann, and Spreeuw</label><mixed-citation>Hidding, J., Jarochowska, E., Liu, X., Burgess, P., Hohmann, N., and Spreeuw, H.: CarboKitten.jl, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.15742533" ext-link-type="DOI">10.5281/zenodo.15742533</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Hidding et al.(2026a)</label><mixed-citation>Hidding, J., Jarochowska, E., Liu, X., Burgess, P., Hohmann, N., and Spreeuw, H.: CarboKitten.jl (v0.6.1), Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.20626229" ext-link-type="DOI">10.5281/zenodo.20626229</ext-link>, 2026a (code also available at: <uri>https://github.com/MindTheGap-ERC/CarboKitten.jl</uri>, last access: 10 June 2026).</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Hidding et al.(2026b)</label><mixed-citation>Hidding, J., Jarochowska, E., Hohmann, N., Spreeuw, H., and xyl96: MindTheGap-ERC/CarboKitten-research-paper: Accepted Paper (v1.0), Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.20451169" ext-link-type="DOI">10.5281/zenodo.20451169</ext-link>, 2026b.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Hill et al.(2009)Hill, Tetzlaff, Curtis, and Wood</label><mixed-citation>Hill, J., Tetzlaff, D., Curtis, A., and Wood, R.: Modeling shallow marine carbonate depositional systems, Comput. Geosci. 35, 1862–1874, <ext-link xlink:href="https://doi.org/10.1016/j.cageo.2008.12.006" ext-link-type="DOI">10.1016/j.cageo.2008.12.006</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Hobley et al.(2017)Hobley, Adams, Nudurupati, Hutton, Gasparini, Istanbulluoglu, and Tucker</label><mixed-citation>Hobley, D. E. J., Adams, J. M., Nudurupati, S. S., Hutton, E. W. H., Gasparini, N. M., Istanbulluoglu, E., and Tucker, G. E.: Creative computing with Landlab: an open-source toolkit for building, coupling, and exploring two-dimensional numerical models of Earth-surface dynamics, Earth Surf. Dynam., 5, 21–46, <ext-link xlink:href="https://doi.org/10.5194/esurf-5-21-2017" ext-link-type="DOI">10.5194/esurf-5-21-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Hohmann and Jarochowska(2025)</label><mixed-citation>Hohmann, N. and Jarochowska, E.: StratPal: An R package for creating stratigraphic paleobiology modelling pipelines, Meth. Ecol. Evol., 16, 678–686, <ext-link xlink:href="https://doi.org/10.1111/2041-210X.14507" ext-link-type="DOI">10.1111/2041-210X.14507</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>Hohmann et al.(2024)Hohmann, Koelewijn, Burgess, and Jarochowska</label><mixed-citation>Hohmann, N., Koelewijn, J. R., Burgess, P., and Jarochowska, E.: Identification of the mode of evolution in incomplete carbonate successions, BMC Ecol. Evol., 24, 113, <ext-link xlink:href="https://doi.org/10.1186/s12862-024-02287-2" ext-link-type="DOI">10.1186/s12862-024-02287-2</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>Holland(2000)</label><mixed-citation>Holland, S. M.: The quality of the fossil record: A sequence stratigraphic perspective, Paleobiology, 26, 148–168, <ext-link xlink:href="https://doi.org/10.1017/S0094837300026919" ext-link-type="DOI">10.1017/S0094837300026919</ext-link>, 2000.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>Holland and Patzkowsky(1999)</label><mixed-citation>Holland, S. M. and Patzkowsky, M. E.: Models for simulating the fossil record, Geology, 27, 491–494, <ext-link xlink:href="https://doi.org/10.1130/0091-7613(1999)027&lt;0491:MFSTFR&gt;2.3.CO;2" ext-link-type="DOI">10.1130/0091-7613(1999)027&lt;0491:MFSTFR&gt;2.3.CO;2</ext-link>, 1999.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Holland and Patzkowsky(2002)</label><mixed-citation>Holland, S. M. and Patzkowsky, M. E.: Stratigraphic Variation in the Timing of First and Last Occurrences, PALAIOS, 17, 134–146, <ext-link xlink:href="https://doi.org/10.1669/0883-1351(2002)017&lt;0134:SVITTO&gt;2.0.CO;2" ext-link-type="DOI">10.1669/0883-1351(2002)017&lt;0134:SVITTO&gt;2.0.CO;2</ext-link>, 2002.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>Husinec et al.(2023)Husinec, Read, and Kemp</label><mixed-citation>Husinec, A., Read, J. F., and Kemp, D. B.: Orbital forcing of Upper Jurassic (Tithonian) shallow-water carbonates, Tethyan Adriatic Platform, Croatia evaluated using synthetic vs. real data sets, Palaeogeogr. Palaeocl. Palaeoecol., 622, 111617, <ext-link xlink:href="https://doi.org/10.1016/j.palaeo.2023.111617" ext-link-type="DOI">10.1016/j.palaeo.2023.111617</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Hutton and Syvitski(2008)</label><mixed-citation>Hutton, E. W. H. and Syvitski, J. P. M.: <italic>Sedflux 2.0</italic>: An advanced process-response model that generates three-dimensional stratigraphy, Comput. Geosci., 34, 1319–1337, <ext-link xlink:href="https://doi.org/10.1016/j.cageo.2008.02.013" ext-link-type="DOI">10.1016/j.cageo.2008.02.013</ext-link>, 2008.</mixed-citation></ref>
      <ref id="bib1.bibx41"><label>James et al.(2010)James, Jones, Grace, and Roberts</label><mixed-citation> James, S. C., Jones, C. A., Grace, M. D., and Roberts, J. D.: Advances in sediment transport modelling, J. Hydraul. Res., 48, 754–763, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx42"><label>Jean Borgomano et al.(2020)Jean Borgomano, Lanteaume, Léonide, Fournier, Montaggioni, and Masse</label><mixed-citation>Jean Borgomano, C. L., Lanteaume, C., Léonide, P., Fournier, F., Montaggioni, L. F., and Masse, J.-P.: Quantitative carbonate sequence stratigraphy: Insights from stratigraphic forward models, AAPG Bull., 104, 1115–1142, <ext-link xlink:href="https://doi.org/10.1306/11111917396" ext-link-type="DOI">10.1306/11111917396</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx43"><label>Kaufman et al.(1991)Kaufman, Grotzinger, and McCormick</label><mixed-citation>Kaufman, P., Grotzinger, J. P., and McCormick, D. S.: Depth-dependent diffusion algorithm for simulation of sedimentation in shallow marine depositional systems, Bulletin (Kansas Geological Survey), 233, 489–508, <ext-link xlink:href="https://doi.org/10.17161/kgsbulletin.no.233.20474" ext-link-type="DOI">10.17161/kgsbulletin.no.233.20474</ext-link>, 1991.</mixed-citation></ref>
      <ref id="bib1.bibx44"><label>Kemp and Van Manen(2019)</label><mixed-citation>Kemp, D. B. and Van Manen, S. M.: Metre-scale cycles in shallow water carbonate successions: Milankovitch and stochastic origins, Sedimentology, 66, 2590–2604, <ext-link xlink:href="https://doi.org/10.1111/sed.12609" ext-link-type="DOI">10.1111/sed.12609</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx45"><label>Kemp et al.(2016)Kemp, Van Manen, Pollitt, and Burgess</label><mixed-citation>Kemp, D. B., Van Manen, S. M., Pollitt, D. A., and Burgess, P. M.: Investigating the preservation of orbital forcing in peritidal carbonates, Sedimentology, 63, 1701–1718, <ext-link xlink:href="https://doi.org/10.1111/sed.12282" ext-link-type="DOI">10.1111/sed.12282</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx46"><label>Kemp et al.(2018)Kemp, Fraser, and Izumi</label><mixed-citation>Kemp, D. B., Fraser, W. T., and Izumi, K.: Stratigraphic completeness and resolution in an ancient mudrock succession, Sedimentology, 65, 1875–1890, <ext-link xlink:href="https://doi.org/10.1111/sed.12450" ext-link-type="DOI">10.1111/sed.12450</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx47"><label>Kenter(1990)</label><mixed-citation>Kenter, J. A. M.: Carbonate platform flanks: slope angle and sediment fabric, Sedimentology, 37, 777–794, <ext-link xlink:href="https://doi.org/10.1111/j.1365-3091.1990.tb01825.x" ext-link-type="DOI">10.1111/j.1365-3091.1990.tb01825.x</ext-link>, 1990.</mixed-citation></ref>
      <ref id="bib1.bibx48"><label>Knuth(1984)</label><mixed-citation>Knuth, D. E.: Literate Programming, Comput. J., 27, 97–111, <ext-link xlink:href="https://doi.org/10.1093/comjnl/27.2.97" ext-link-type="DOI">10.1093/comjnl/27.2.97</ext-link>, 1984.</mixed-citation></ref>
      <ref id="bib1.bibx49"><label>Laskar(2004)</label><mixed-citation>Laskar, J.: A long-term numerical solution for the insolation quantities of the Earth, Astron. Astrophys., 428, 261–285, <ext-link xlink:href="https://doi.org/10.1051/0004-6361:20041335" ext-link-type="DOI">10.1051/0004-6361:20041335</ext-link>, 2004.</mixed-citation></ref>
      <ref id="bib1.bibx50"><label>Lisiecki and Raymo(2005)</label><mixed-citation>Lisiecki, L. E. and Raymo, M. E.: A Pliocene-Pleistocene stack of 57 globally distributed benthic <inline-formula><mml:math id="M266" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="italic">δ</mml:mi><mml:mn mathvariant="normal">18</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>O records, Paleoceanography, 20, <ext-link xlink:href="https://doi.org/10.1029/2004PA001071" ext-link-type="DOI">10.1029/2004PA001071</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx51"><label>Liu and Liu(2021)</label><mixed-citation>Liu, J. and Liu, K.: Estimating stratal completeness of carbonate deposition via process-based stratigraphic forward modeling, Sci. China Earth Sci., 64, 253–259, <ext-link xlink:href="https://doi.org/10.1007/s11430-020-9660-8" ext-link-type="DOI">10.1007/s11430-020-9660-8</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx52"><label>Liu et al.(2022)Liu, Webster, Salles, Wang, Ma, Xu, Li, and Yan</label><mixed-citation>Liu, J., Webster, J. M., Salles, T., Wang, S., Ma, Y., Xu, W., Li, G., and Yan, W.: The Formation of Atolls: New Insights From Numerical Simulations, J. Geophys. Res.-Earth, 127, e2022JF006812, <ext-link xlink:href="https://doi.org/10.1029/2022JF006812" ext-link-type="DOI">10.1029/2022JF006812</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx53"><label>Lopez-Gamundi et al.(2025)Lopez-Gamundi, Barnes, Betzler, Harris, Oehlert, Eberli, and Purkis</label><mixed-citation>Lopez-Gamundi, C., Barnes, B. B., Betzler, C., Harris, P. M., Oehlert, A. M., Eberli, G. P., and Purkis, S. J.: The sediment budget of Great Bahama Bank–Earth's largest modern carbonate platform, Geology, 53, 748–752, <ext-link xlink:href="https://doi.org/10.1130/G52850.1" ext-link-type="DOI">10.1130/G52850.1</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx54"><label>Masiero et al.(2020)Masiero, Kozlowski, Antonatos, Xi, and Burgess</label><mixed-citation>Masiero, I., Kozlowski, E., Antonatos, G., Xi, H., and Burgess, P.: Numerical stratigraphic forward models as conceptual knowledge repositories and experimental tools: An example using a new enhanced version of CarboCAT, Comput. Geosci., 138, 104 453, <ext-link xlink:href="https://doi.org/10.1016/j.cageo.2020.104453" ext-link-type="DOI">10.1016/j.cageo.2020.104453</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx55"><label>Masiero et al.(2021)Masiero, Burgess, Hollis, Manifold, Gawthorpe, Lecomte, Marshall, and Rotevatn</label><mixed-citation>Masiero, I., Burgess, P., Hollis, C., Manifold, L., Gawthorpe, R., Lecomte, I., Marshall, J., and Rotevatn, A.: Syn-rift carbonate platforms in space and time: testing and refining conceptual models using stratigraphic and seismic numerical forward modelling, in: Seismic Characterization of Carbonate Platforms and Reservoirs, edited by: Hendry, J., Burgess, P., Hunt, D., Janson, X., and Zampetti, V., Geological Society of London, ISBN 978-1-78620-539-1, <ext-link xlink:href="https://doi.org/10.1144/SP509-2019-217" ext-link-type="DOI">10.1144/SP509-2019-217</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx56"><label>Miller et al.(2005)Miller, Kominz, Browning, Wright, Mountain, Katz, Sugarman, Cramer, Christie-Blick, and Pekar</label><mixed-citation>Miller, K. G., Kominz, M. A., Browning, J. V., Wright, J. D., Mountain, G. S., Katz, M. E., Sugarman, P. J., Cramer, B. S., Christie-Blick, N., and Pekar, S. F.: The Phanerozoic Record of Global Sea-Level Change, Science, 310, 1293–1298, <ext-link xlink:href="https://doi.org/10.1126/science.1116412" ext-link-type="DOI">10.1126/science.1116412</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx57"><label>Mitchell et al.(1996)Mitchell, Paul, and Gale</label><mixed-citation>Mitchell, S. F., Paul, C. R. C., and Gale, A. S.: Carbon isotopes and sequence stratigraphy, Geol. Soc. Lond. Spec. Publ., 104, 11–24, <ext-link xlink:href="https://doi.org/10.1144/GSL.SP.1996.104.01.02" ext-link-type="DOI">10.1144/GSL.SP.1996.104.01.02</ext-link>, 1996.</mixed-citation></ref>
      <ref id="bib1.bibx58"><label>Myrow and Grotzinger(2000)</label><mixed-citation>Myrow, P. M. and Grotzinger, J. P.: Chemostratigraphic Proxy Records: Forward Modeling the Effects of Unconformities, Variable Sediment Accumulation Rates, and Sampling-Interval Bias, in: Carbonate Sedimentation and Diagenesis in the Evolving Precambrian World, vol. 67, edited by: Grotzinger, J. P. and James, N. P., SEPM Society for Sedimentary Geology, ISBN 978-1-56576-189-6, <ext-link xlink:href="https://doi.org/10.2110/pec.00.67" ext-link-type="DOI">10.2110/pec.00.67</ext-link>, 2000.</mixed-citation></ref>
      <ref id="bib1.bibx59"><label>Paola et al.(1992)Paola, Heller, and Angevine</label><mixed-citation> Paola, C., Heller, P. L., and Angevine, C. L.: The large-scale dynamics of grain-size variation in alluvial basins, 1: Theory, Basin Res., 4, 73–90, 1992.</mixed-citation></ref>
      <ref id="bib1.bibx60"><label>Pastier et al.(2019)Pastier, Husson, Pedoja, Bézos, Authemayou, Arias-Ruiz, and Cahyarini</label><mixed-citation>Pastier, A.-M., Husson, L., Pedoja, K., Bézos, A., Authemayou, C., Arias-Ruiz, C., and Cahyarini, S. Y.: Genesis and Architecture of Sequences of Quaternary Coral Reef Terraces: Insights From Numerical Models, Geochem. Geophy. Geosy., 20, 4248–4272, <ext-link xlink:href="https://doi.org/10.1029/2019GC008239" ext-link-type="DOI">10.1029/2019GC008239</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx61"><label>Paterson et al.(2006)Paterson, Whitaker, Jones, Smart, Waltham, and Felce</label><mixed-citation>Paterson, R. J., Whitaker, F. F., Jones, G. D., Smart, P. L., Waltham, D., and Felce, G.: Accommodation and Sedimentary Architecture of Isolated Icehouse Carbonate Platforms: Insights from Forward Modeling with CARB3D<inline-formula><mml:math id="M267" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>, J. Sediment. Res., 76, 1162–1182, <ext-link xlink:href="https://doi.org/10.2110/jsr.2006.113" ext-link-type="DOI">10.2110/jsr.2006.113</ext-link>, 2006.</mixed-citation></ref>
      <ref id="bib1.bibx62"><label>Purkis et al.(2016)Purkis, Koppel, and Burgess</label><mixed-citation>Purkis, S. J., Koppel, J. v. d., and Burgess, P. M.: Spatial self-organization in carbonate depositional environments, SEPM Spec. Publ., 106, 53–66, <ext-link xlink:href="https://doi.org/10.2110/sepmsp.106.02" ext-link-type="DOI">10.2110/sepmsp.106.02</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx63"><label>Salles(2016)</label><mixed-citation>Salles, T.: Badlands: A parallel basin and landscape dynamics model, SoftwareX, 5, 195–202, <ext-link xlink:href="https://doi.org/10.1016/j.softx.2016.08.005" ext-link-type="DOI">10.1016/j.softx.2016.08.005</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx64"><label>Salles et al.(2018a)Salles, Ding, and Brocard</label><mixed-citation>Salles, T., Ding, X., and Brocard, G.: pyBadlands: A framework to simulate sediment transport, landscape dynamics and basin stratigraphic evolution through space and time, PLOS ONE, 13, e0195557, <ext-link xlink:href="https://doi.org/10.1371/journal.pone.0195557" ext-link-type="DOI">10.1371/journal.pone.0195557</ext-link>, 2018a.</mixed-citation></ref>
      <ref id="bib1.bibx65"><label>Salles et al.(2018b)Salles, Pall, Webster, and Dechnik</label><mixed-citation>Salles, T., Pall, J., Webster, J. M., and Dechnik, B.: Exploring coral reef responses to millennial-scale climatic forcings: insights from the 1-D numerical tool pyReef-Core v1.0, Geosci. Model Dev., 11, 2093–2110, <ext-link xlink:href="https://doi.org/10.5194/gmd-11-2093-2018" ext-link-type="DOI">10.5194/gmd-11-2093-2018</ext-link>, 2018b.</mixed-citation></ref>
      <ref id="bib1.bibx66"><label>Schlager and Camber(1986)</label><mixed-citation>Schlager, W. and Camber, O.: Submarine slope angles, drowning unconformities, and self-erosion of limestone escarpments, Geology, 14, 762–765, <ext-link xlink:href="https://doi.org/10.1130/0091-7613(1986)14&lt;762:SSADUA&gt;2.0.CO;2" ext-link-type="DOI">10.1130/0091-7613(1986)14&lt;762:SSADUA&gt;2.0.CO;2</ext-link>, 1986.</mixed-citation></ref>
      <ref id="bib1.bibx67"><label>Schlager and Warrlich(2009)</label><mixed-citation>Schlager, W. and Warrlich, G.: Record of sea‐level fall in tropical carbonates, Basin Res., 21, 209–224, <ext-link xlink:href="https://doi.org/10.1111/j.1365-2117.2008.00383.x" ext-link-type="DOI">10.1111/j.1365-2117.2008.00383.x</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx68"><label>Strobel et al.(1989)Strobel, Cannon, Christopher, Kendall, Biswas, and Bezdek</label><mixed-citation>Strobel, J., Cannon, R., Christopher, G. S., Kendall, C. S., Biswas, G., and Bezdek, J.: Interactive (SEDPAK) simulation of clastic and carbonate sediments in shelf to basin settings, Comput. Geosci., 15, 1279–1290, <ext-link xlink:href="https://doi.org/10.1016/0098-3004(89)90092-7" ext-link-type="DOI">10.1016/0098-3004(89)90092-7</ext-link>, 1989.</mixed-citation></ref>
      <ref id="bib1.bibx69"><label>Sultana et al.(2022)Sultana, Burgess, and Bosence</label><mixed-citation>Sultana, D., Burgess, P., and Bosence, D.: How do carbonate factories influence carbonate platform morphology? Exploring production-transport interactions with numerical forward modelling, Sedimentology, 69, 372–393, <ext-link xlink:href="https://doi.org/10.1111/sed.12943" ext-link-type="DOI">10.1111/sed.12943</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx70"><label>Sylvester et al.(2024)Sylvester, Straub, and Covault</label><mixed-citation>Sylvester, Z., Straub, K. M., and Covault, J. A.: Stratigraphy in space and time: A reproducible approach to analysis and visualization, Earth-Sci. Rev., 250, 104706, <ext-link xlink:href="https://doi.org/10.1016/j.earscirev.2024.104706" ext-link-type="DOI">10.1016/j.earscirev.2024.104706</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx71"><label>Tetzlaff(2023)</label><mixed-citation>Tetzlaff, D.: Stratigraphic forward modeling software package for research and education, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.2302.05272" ext-link-type="DOI">10.48550/arXiv.2302.05272</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx72"><label>Warrlich et al.(2008)Warrlich, Bosence, Waltham, Wood, Boylan, and Badenas</label><mixed-citation>Warrlich, G., Bosence, D., Waltham, D., Wood, C., Boylan, A., and Badenas, B.: 3D stratigraphic forward modelling for analysis and prediction of carbonate platform stratigraphies in exploration and production, Mar. Petrol. Geol., 25, 35–58, <ext-link xlink:href="https://doi.org/10.1016/j.marpetgeo.2007.04.005" ext-link-type="DOI">10.1016/j.marpetgeo.2007.04.005</ext-link>, 2008.</mixed-citation></ref>
      <ref id="bib1.bibx73"><label>Warrlich(2000)</label><mixed-citation> Warrlich, G.-M. D.: 3D computer forward modelling of carbonate platform evolution, PhD thesis, Royal Holloway, University of London, 2000.</mixed-citation></ref>
      <ref id="bib1.bibx74"><label>Warrlich et al.(2002)Warrlich, Waltham, and Bosence</label><mixed-citation>Warrlich, G. M. D., Waltham, D. A., and Bosence, D. W. J.: Quantifying the sequence stratigraphy and drowning mechanisms of atolls using a new 3‐D forward stratigraphic modelling program (CARBONATE 3D), Basin Res., 14, 379–400, <ext-link xlink:href="https://doi.org/10.1046/j.1365-2117.2002.00181.x" ext-link-type="DOI">10.1046/j.1365-2117.2002.00181.x</ext-link>, 2002.</mixed-citation></ref>
      <ref id="bib1.bibx75"><label>Weij et al.(2019)Weij, Reijmer, Eberli, and Swart</label><mixed-citation>Weij, R., Reijmer, J. J. G., Eberli, G. P., and Swart, P. K.: The limited link between accommodation space, sediment thickness, and inner platform facies distribution (Holocene–Pleistocene, Bahamas), Deposit. Rec., 5, 400–420, <ext-link xlink:href="https://doi.org/10.1002/dep2.50" ext-link-type="DOI">10.1002/dep2.50</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx76"><label>Wild et al.(2019)Wild, Loucks, and Annandale</label><mixed-citation>Wild, T. B., Loucks, D. P., and Annandale, G. W.: SedSim: A River Basin Simulation Screening Model for Reservoir Management of Sediment, Water, and Hydropower, J. Open Res. Softw., 7, <ext-link xlink:href="https://doi.org/10.5334/jors.261" ext-link-type="DOI">10.5334/jors.261</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx77"><label>Xi and Burgess(2022)</label><mixed-citation>Xi, H. and Burgess, P. M.: The stratigraphic significance of self-organization: Exploring how autogenic processes can generate cyclical carbonate platform strata, Sedimentology, 69, 1769–1788, <ext-link xlink:href="https://doi.org/10.1111/sed.12974" ext-link-type="DOI">10.1111/sed.12974</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx78"><label>Zimmt et al.(2021)Zimmt, Holland, Finnegan, and Marshall</label><mixed-citation>Zimmt, J. B., Holland, S. M., Finnegan, S., and Marshall, C. R.: Recognizing pulses of extinction from clusters of last occurrences, Palaeontology, 64, 1–20, <ext-link xlink:href="https://doi.org/10.1111/pala.12505" ext-link-type="DOI">10.1111/pala.12505</ext-link>, 2021.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>CarboKitten.jl – an open source toolkit  for carbonate stratigraphic modeling</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Adams and Schlager(2000)</label><mixed-citation>
      
Adams, E. W. and Schlager, W.: Basic Types of Submarine Slope Curvature, J. Sediment. Res., 70, 814–828, <a href="https://doi.org/10.1306/2DC4093A-0E47-11D7-8643000102C1865D" target="_blank">https://doi.org/10.1306/2DC4093A-0E47-11D7-8643000102C1865D</a>, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Barnhart et al.(2020)Barnhart, Hutton, Tucker, Gasparini,
Istanbulluoglu, Hobley, Lyons, Mouchene, Nudurupati, Adams, and
Bandaragoda</label><mixed-citation>
      
Barnhart, K. R., Hutton, E. W. H., Tucker, G. E., Gasparini, N. M.,
Istanbulluoglu, E., Hobley, D. E. J., Lyons, N. J., Mouchene, M., Nudurupati,
S. S., Adams, J. M., and Bandaragoda, C.: Short communication: Landlab v2.0: a software package for Earth surface dynamics, Earth Surf. Dynam., 8, 379–397, <a href="https://doi.org/10.5194/esurf-8-379-2020" target="_blank">https://doi.org/10.5194/esurf-8-379-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Barrett and Webster(2017)</label><mixed-citation>
      
Barrett, S. J. and Webster, J. M.: Reef Sedimentary Accretion Model (ReefSAM): Understanding coral reef evolution on Holocene time scales using 3D stratigraphic forward modelling, Mar. Geol., 391, 108–126,
<a href="https://doi.org/10.1016/j.margeo.2017.07.007" target="_blank">https://doi.org/10.1016/j.margeo.2017.07.007</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Bosence et al.(1994)Bosence, Pomar, Waltham, and
Lankester</label><mixed-citation>
      
Bosence, D. W. J., Pomar, L., Waltham, D. A., and Lankester, T. H. G.: Computer Modeling a Miocene Carbonate Platform, Mallorca, Spain1, AAPG Bull., 78, 247–266, <a href="https://doi.org/10.1306/BDFF9078-1718-11D7-8645000102C1865D" target="_blank">https://doi.org/10.1306/BDFF9078-1718-11D7-8645000102C1865D</a>,
1994.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Bosscher and Schlager(1992)</label><mixed-citation>
      
Bosscher, H. and Schlager, W.: Computer simulation of reef growth, Sedimentology, 39, 503–512, 1992.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Bosscher and Southam(1992)</label><mixed-citation>
      
Bosscher, H. and Southam, J.: CARBPLAT – A computer model to simulate the
development of carbonate platforms, Geology, 20, 235–238,
<a href="https://doi.org/10.1130/0091-7613(1992)020&lt;0235:CACMTS&gt;2.3.CO;2" target="_blank">https://doi.org/10.1130/0091-7613(1992)020&lt;0235:CACMTS&gt;2.3.CO;2</a>, 1992.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Burgess(2008)</label><mixed-citation>
      
Burgess, P. M.: The nature of shallow-water carbonate lithofacies thickness
distributions, Geology, 36, 235–238, <a href="https://doi.org/10.1130/G243326A.1" target="_blank">https://doi.org/10.1130/G243326A.1</a>, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Burgess(2013)</label><mixed-citation>
      
Burgess, P. M.: CarboCAT: A cellular automata model of heterogeneous carbonate strata, Comput. Geosci., 53, 129–140, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Burgess(2016)</label><mixed-citation>
      
Burgess, P. M.: Identifying Ordered Strata: Evidence, Methods, and Meaning, J. Sediment. Res., 86, 148–167, <a href="https://doi.org/10.2110/jsr.2016.10" target="_blank">https://doi.org/10.2110/jsr.2016.10</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Burgess and Emery(2004)</label><mixed-citation>
      
Burgess, P. M. and Emery, D. J.: Sensitive dependence, divergence and
unpredictable behaviour in a stratigraphic forward model of a carbonate
system, in: Geological Prior Information: Informing Science and
Engineering, vol. 239, edited by: Curtis, A. and Wood, R., Geological
Society of London, ISBN 978-1-86239-171-0, <a href="https://doi.org/10.1144/GSL.SP.2004.239.01.06" target="_blank">https://doi.org/10.1144/GSL.SP.2004.239.01.06</a>, 2004.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Burgess et al.(2001)Burgess, Wright, and
Emery</label><mixed-citation>
      
Burgess, P. M., Wright, V. P., and Emery, D.: Numerical forward modelling of
peritidal carbonate parasequence development: implications for outcrop
interpretation, Basin Res., 13, 1–16, <a href="https://doi.org/10.1046/j.1365-2117.2001.00130.x" target="_blank">https://doi.org/10.1046/j.1365-2117.2001.00130.x</a>, 2001.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Burgess et al.(2019)Burgess, Masiero, Toby, and
Duller</label><mixed-citation>
      
Burgess, P. M., Masiero, I., Toby, S. C., and Duller, R. A.: A big fan of
signals? Exploring autogenic and allogenic process and product in a
numerical stratigraphic forward model of submarine-fan development, J. Sediment. Res., 89, 1–12, <a href="https://doi.org/10.2110/jsr.2019.3" target="_blank">https://doi.org/10.2110/jsr.2019.3</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Crucifix(2023)</label><mixed-citation>
      
Crucifix, M.: palinsol: Insolation for Palaeoclimate Studies, CRAN,
<a href="https://doi.org/10.32614/CRAN.package.palinsol" target="_blank">https://doi.org/10.32614/CRAN.package.palinsol</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Curtis et al.(2025)Curtis, Bloem, Wood, Bowyer, Shields, Zhou,
Yilales, and Tetzlaff</label><mixed-citation>
      
Curtis, A., Bloem, H., Wood, R., Bowyer, F., Shields, G. A., Zhou, Y., Yilales, M., and Tetzlaff, D.: Natural sampling and aliasing of marine geochemical signals, Sci. Rep., 15, 760, <a href="https://doi.org/10.1038/s41598-024-84871-6" target="_blank">https://doi.org/10.1038/s41598-024-84871-6</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Danisch and Krumbiegel(2021)</label><mixed-citation>
      
Danisch, S. and Krumbiegel, J.: Makie.jl: Flexible high-performance data
visualization for Julia, J. Open Source Softw., 6, 3349, <a href="https://doi.org/10.21105/joss.03349" target="_blank">https://doi.org/10.21105/joss.03349</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Demicco(1998)</label><mixed-citation>
      
Demicco, R. V.: CYCOPATH 2D – a two-dimensional, forward model of cyclic
sedimentation on carbonate platforms, Comput. Geosci., 24, 405–423,
<a href="https://doi.org/10.1016/S0098-3004(98)00024-7" target="_blank">https://doi.org/10.1016/S0098-3004(98)00024-7</a>, 1998.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Ding et al.(2019)Ding, Salles, Flament, and
Rey</label><mixed-citation>
      
Ding, X., Salles, T., Flament, N., and Rey, P.: Quantitative stratigraphic
analysis in a source-to-sink numerical framework, Geosci. Model Dev., 12, 2571–2585, <a href="https://doi.org/10.5194/gmd-12-2571-2019" target="_blank">https://doi.org/10.5194/gmd-12-2571-2019</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Dormann et al.(2001)Dormann, Deutsch, and Lawniczak</label><mixed-citation>
      
Dormann, S., Deutsch, A., and Lawniczak, A. T.: Fourier analysis of Turing-like pattern formation in cellular automaton models, Future Generat. Comput. Syst., 17, 901–909, <a href="https://doi.org/10.1016/S0167-739X(00)00068-6" target="_blank">https://doi.org/10.1016/S0167-739X(00)00068-6</a>, 2001.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Drummond and Dugan(1999)</label><mixed-citation>
      
Drummond, C. N. and Dugan, P. J.: Self-organizing models of shallow-water
carbonate accumulation, J. Sediment. Res., 69, 939–946, <a href="https://doi.org/10.2110/jsr.69.939" target="_blank">https://doi.org/10.2110/jsr.69.939</a>, 1999.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Dyer et al.(2018)Dyer, Maloof, Purkis, and
Harris</label><mixed-citation>
      
Dyer, B., Maloof, A. C., Purkis, S. J., and Harris, P. M. M.: Quantifying the
relationship between water depth and carbonate facies, Sediment. Geol., 373, 1–10, <a href="https://doi.org/10.1016/j.sedgeo.2018.05.011" target="_blank">https://doi.org/10.1016/j.sedgeo.2018.05.011</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Evans(1996)</label><mixed-citation>
      
Evans, K. M.: Larger than Life: it's so nonlinear, PhD thesis, Uniersity of Wisconsin-Madison, Madison,
<a href="https://www.csun.edu/~kme52026/thesis.html" target="_blank"/> (last access: 1 March 2026), 1996.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Falivene et al.(2019)Falivene, Frascati, Bolla Pittaluga, and
Martin</label><mixed-citation>
      
Falivene, O., Frascati, A., Bolla Pittaluga, M., and Martin, J.:
Three-dimensional Reduced-Complexity Simulation of Fluvio-Deltaic
Clastic Stratigraphy, J. Sediment. Res., 89, 46–65,
<a href="https://doi.org/10.2110/jsr.2018.73" target="_blank">https://doi.org/10.2110/jsr.2018.73</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Fathiyah Jamaludin(2025)</label><mixed-citation>
      
Fathiyah Jamaludin, S. N.: Quantitative geo-history analysis of the
Luconia-Balingian provinces, Malaysia with emphasis on the tectonic subsidence signatures, Mar. Petrol. Geol., 173, 107224, <a href="https://doi.org/10.1016/j.marpetgeo.2024.107224" target="_blank">https://doi.org/10.1016/j.marpetgeo.2024.107224</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Geyman et al.(2021)Geyman, Maloof, and Dyer</label><mixed-citation>
      
Geyman, E. C., Maloof, A. C., and Dyer, B.: How is sea level change encoded in carbonate stratigraphy?, Earth Planet. Sc. Lett., 560, 116790,
<a href="https://doi.org/10.1016/j.epsl.2021.116790" target="_blank">https://doi.org/10.1016/j.epsl.2021.116790</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Granjeon and Joseph(1999)</label><mixed-citation>
      
Granjeon, D. and Joseph, P.: Concepts and Applications of A 3-D
Multiple Lithology, Diffusive Model in Stratigraphic Modeling,
in: Numerical Experiments in Stratigraphy: Recent Advances in
Stratigraphic and Sedimentologic Computer Simulations, vol. 62, edited by: Harbaugh, J. W., Watney, W. L., Rankey, E. C., Slingerland, R., Goldstein, R. H., and Franseen, E. K., SEPM – Society for Sedimentary Geology, 197–209, <a href="https://doi.org/10.2110/pec.99.62.0197" target="_blank">https://doi.org/10.2110/pec.99.62.0197</a>, 1999.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Hannisdal(2006)</label><mixed-citation>
      
Hannisdal, B.: Phenotypic evolution in the fossil record: numerical experiments, J. Geol., 114, 133–153, <a href="https://doi.org/10.1086/499569" target="_blank">https://doi.org/10.1086/499569</a>, 2006.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Henglai et al.(2024)Henglai, Fongngern, and Saller</label><mixed-citation>
      
Henglai, P., Fongngern, R., and Saller, A.: The growth and demise of a Middle
Miocene carbonate platform in Central Luconia, offshore Malaysia, Mar.
Petrol. Geol., 163, 106763, <a href="https://doi.org/10.1016/j.marpetgeo.2024.106763" target="_blank">https://doi.org/10.1016/j.marpetgeo.2024.106763</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Hidding(2023)</label><mixed-citation>
      
Hidding, J.: Entangled, a Bidirectional System for Sustainable Literate
Programming, in: 2023 IEEE 19th International Conference on e-Science (e-Science), 1–9, <a href="https://doi.org/10.1109/e-Science58273.2023.10254816" target="_blank">https://doi.org/10.1109/e-Science58273.2023.10254816</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Hidding et al.(2025)Hidding, Jarochowska, Liu, Burgess, Hohmann, and Spreeuw</label><mixed-citation>
      
Hidding, J., Jarochowska, E., Liu, X., Burgess, P., Hohmann, N., and Spreeuw,
H.: CarboKitten.jl, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.15742533" target="_blank">https://doi.org/10.5281/zenodo.15742533</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Hidding et al.(2026a)</label><mixed-citation>
      
Hidding, J., Jarochowska, E., Liu, X., Burgess, P., Hohmann, N., and Spreeuw, H.: CarboKitten.jl (v0.6.1), Zenodo [code], <a href="https://doi.org/10.5281/zenodo.20626229" target="_blank">https://doi.org/10.5281/zenodo.20626229</a>, 2026a (code also available at: <a href="https://github.com/MindTheGap-ERC/CarboKitten.jl" target="_blank"/>, last access: 10 June 2026).

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Hidding et al.(2026b)</label><mixed-citation>
      
Hidding, J., Jarochowska, E., Hohmann, N., Spreeuw, H., and xyl96: MindTheGap-ERC/CarboKitten-research-paper: Accepted Paper (v1.0), Zenodo [code], <a href="https://doi.org/10.5281/zenodo.20451169" target="_blank">https://doi.org/10.5281/zenodo.20451169</a>, 2026b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Hill et al.(2009)Hill, Tetzlaff, Curtis, and
Wood</label><mixed-citation>
      
Hill, J., Tetzlaff, D., Curtis, A., and Wood, R.: Modeling shallow marine
carbonate depositional systems, Comput. Geosci. 35, 1862–1874,
<a href="https://doi.org/10.1016/j.cageo.2008.12.006" target="_blank">https://doi.org/10.1016/j.cageo.2008.12.006</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Hobley et al.(2017)Hobley, Adams, Nudurupati, Hutton, Gasparini,
Istanbulluoglu, and Tucker</label><mixed-citation>
      
Hobley, D. E. J., Adams, J. M., Nudurupati, S. S., Hutton, E. W. H., Gasparini, N. M., Istanbulluoglu, E., and Tucker, G. E.: Creative computing with Landlab: an open-source toolkit for building, coupling, and exploring
two-dimensional numerical models of Earth-surface dynamics, Earth Surf.
Dynam., 5, 21–46, <a href="https://doi.org/10.5194/esurf-5-21-2017" target="_blank">https://doi.org/10.5194/esurf-5-21-2017</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Hohmann and Jarochowska(2025)</label><mixed-citation>
      
Hohmann, N. and Jarochowska, E.: StratPal: An R package for creating
stratigraphic paleobiology modelling pipelines, Meth. Ecol. Evol., 16, 678–686, <a href="https://doi.org/10.1111/2041-210X.14507" target="_blank">https://doi.org/10.1111/2041-210X.14507</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>Hohmann et al.(2024)Hohmann, Koelewijn, Burgess, and
Jarochowska</label><mixed-citation>
      
Hohmann, N., Koelewijn, J. R., Burgess, P., and Jarochowska, E.: Identification of the mode of evolution in incomplete carbonate successions, BMC Ecol. Evol., 24, 113, <a href="https://doi.org/10.1186/s12862-024-02287-2" target="_blank">https://doi.org/10.1186/s12862-024-02287-2</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>Holland(2000)</label><mixed-citation>
      
Holland, S. M.: The quality of the fossil record: A sequence stratigraphic
perspective, Paleobiology, 26, 148–168, <a href="https://doi.org/10.1017/S0094837300026919" target="_blank">https://doi.org/10.1017/S0094837300026919</a>, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>Holland and Patzkowsky(1999)</label><mixed-citation>
      
Holland, S. M. and Patzkowsky, M. E.: Models for simulating the fossil record, Geology, 27, 491–494, <a href="https://doi.org/10.1130/0091-7613(1999)027&lt;0491:MFSTFR&gt;2.3.CO;2" target="_blank">https://doi.org/10.1130/0091-7613(1999)027&lt;0491:MFSTFR&gt;2.3.CO;2</a>, 1999.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Holland and Patzkowsky(2002)</label><mixed-citation>
      
Holland, S. M. and Patzkowsky, M. E.: Stratigraphic Variation in the Timing of First and Last Occurrences, PALAIOS, 17, 134–146,
<a href="https://doi.org/10.1669/0883-1351(2002)017&lt;0134:SVITTO&gt;2.0.CO;2" target="_blank">https://doi.org/10.1669/0883-1351(2002)017&lt;0134:SVITTO&gt;2.0.CO;2</a>, 2002.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>Husinec et al.(2023)Husinec, Read, and Kemp</label><mixed-citation>
      
Husinec, A., Read, J. F., and Kemp, D. B.: Orbital forcing of Upper Jurassic (Tithonian) shallow-water carbonates, Tethyan Adriatic Platform, Croatia evaluated using synthetic vs. real data sets, Palaeogeogr. Palaeocl. Palaeoecol., 622, 111617, <a href="https://doi.org/10.1016/j.palaeo.2023.111617" target="_blank">https://doi.org/10.1016/j.palaeo.2023.111617</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Hutton and Syvitski(2008)</label><mixed-citation>
      
Hutton, E. W. H. and Syvitski, J. P. M.: <i>Sedflux 2.0</i>: An advanced process-response model that generates three-dimensional stratigraphy, Comput. Geosci., 34, 1319–1337, <a href="https://doi.org/10.1016/j.cageo.2008.02.013" target="_blank">https://doi.org/10.1016/j.cageo.2008.02.013</a>, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>James et al.(2010)James, Jones, Grace, and Roberts</label><mixed-citation>
      
James, S. C., Jones, C. A., Grace, M. D., and Roberts, J. D.: Advances in
sediment transport modelling, J. Hydraul. Res., 48, 754–763, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>Jean Borgomano et al.(2020)Jean Borgomano, Lanteaume, Léonide,
Fournier, Montaggioni, and Masse</label><mixed-citation>
      
Jean Borgomano, C. L., Lanteaume, C., Léonide, P., Fournier, F., Montaggioni,
L. F., and Masse, J.-P.: Quantitative carbonate sequence stratigraphy:
Insights from stratigraphic forward models, AAPG Bull., 104, 1115–1142,
<a href="https://doi.org/10.1306/11111917396" target="_blank">https://doi.org/10.1306/11111917396</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>Kaufman et al.(1991)Kaufman, Grotzinger, and
McCormick</label><mixed-citation>
      
Kaufman, P., Grotzinger, J. P., and McCormick, D. S.: Depth-dependent diffusion algorithm for simulation of sedimentation in shallow marine depositional systems, Bulletin (Kansas Geological Survey), 233, 489–508,
<a href="https://doi.org/10.17161/kgsbulletin.no.233.20474" target="_blank">https://doi.org/10.17161/kgsbulletin.no.233.20474</a>, 1991.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>Kemp and Van Manen(2019)</label><mixed-citation>
      
Kemp, D. B. and Van Manen, S. M.: Metre-scale cycles in shallow water carbonate successions: Milankovitch and stochastic origins, Sedimentology, 66, 2590–2604, <a href="https://doi.org/10.1111/sed.12609" target="_blank">https://doi.org/10.1111/sed.12609</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>Kemp et al.(2016)Kemp, Van Manen, Pollitt, and
Burgess</label><mixed-citation>
      
Kemp, D. B., Van Manen, S. M., Pollitt, D. A., and Burgess, P. M.: Investigating the preservation of orbital forcing in peritidal carbonates,
Sedimentology, 63, 1701–1718, <a href="https://doi.org/10.1111/sed.12282" target="_blank">https://doi.org/10.1111/sed.12282</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>Kemp et al.(2018)Kemp, Fraser, and Izumi</label><mixed-citation>
      
Kemp, D. B., Fraser, W. T., and Izumi, K.: Stratigraphic completeness and
resolution in an ancient mudrock succession, Sedimentology, 65, 1875–1890,
<a href="https://doi.org/10.1111/sed.12450" target="_blank">https://doi.org/10.1111/sed.12450</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib47"><label>Kenter(1990)</label><mixed-citation>
      
Kenter, J. A. M.: Carbonate platform flanks: slope angle and sediment fabric,
Sedimentology, 37, 777–794, <a href="https://doi.org/10.1111/j.1365-3091.1990.tb01825.x" target="_blank">https://doi.org/10.1111/j.1365-3091.1990.tb01825.x</a>, 1990.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib48"><label>Knuth(1984)</label><mixed-citation>
      
Knuth, D. E.: Literate Programming, Comput. J., 27, 97–111,
<a href="https://doi.org/10.1093/comjnl/27.2.97" target="_blank">https://doi.org/10.1093/comjnl/27.2.97</a>, 1984.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib49"><label>Laskar(2004)</label><mixed-citation>
      
Laskar, J.: A long-term numerical solution for the insolation quantities of the Earth, Astron. Astrophys., 428, 261–285, <a href="https://doi.org/10.1051/0004-6361:20041335" target="_blank">https://doi.org/10.1051/0004-6361:20041335</a>, 2004.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib50"><label>Lisiecki and Raymo(2005)</label><mixed-citation>
      
Lisiecki, L. E. and Raymo, M. E.: A Pliocene-Pleistocene stack of 57 globally
distributed benthic <i>δ</i><sup>18</sup>O records, Paleoceanography, 20,
<a href="https://doi.org/10.1029/2004PA001071" target="_blank">https://doi.org/10.1029/2004PA001071</a>, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib51"><label>Liu and Liu(2021)</label><mixed-citation>
      
Liu, J. and Liu, K.: Estimating stratal completeness of carbonate deposition
via process-based stratigraphic forward modeling, Sci. China Earth Sci., 64, 253–259, <a href="https://doi.org/10.1007/s11430-020-9660-8" target="_blank">https://doi.org/10.1007/s11430-020-9660-8</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib52"><label>Liu et al.(2022)Liu, Webster, Salles, Wang, Ma, Xu, Li, and
Yan</label><mixed-citation>
      
Liu, J., Webster, J. M., Salles, T., Wang, S., Ma, Y., Xu, W., Li, G., and Yan, W.: The Formation of Atolls: New Insights From Numerical
Simulations, J. Geophys. Res.-Earth, 127, e2022JF006812, <a href="https://doi.org/10.1029/2022JF006812" target="_blank">https://doi.org/10.1029/2022JF006812</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib53"><label>Lopez-Gamundi et al.(2025)Lopez-Gamundi, Barnes, Betzler, Harris,
Oehlert, Eberli, and Purkis</label><mixed-citation>
      
Lopez-Gamundi, C., Barnes, B. B., Betzler, C., Harris, P. M., Oehlert, A. M.,
Eberli, G. P., and Purkis, S. J.: The sediment budget of Great Bahama
Bank–Earth's largest modern carbonate platform, Geology, 53, 748–752,
<a href="https://doi.org/10.1130/G52850.1" target="_blank">https://doi.org/10.1130/G52850.1</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib54"><label>Masiero et al.(2020)Masiero, Kozlowski, Antonatos, Xi, and
Burgess</label><mixed-citation>
      
Masiero, I., Kozlowski, E., Antonatos, G., Xi, H., and Burgess, P.: Numerical
stratigraphic forward models as conceptual knowledge repositories and
experimental tools: An example using a new enhanced version of CarboCAT,
Comput. Geosci., 138, 104&thinsp;453, <a href="https://doi.org/10.1016/j.cageo.2020.104453" target="_blank">https://doi.org/10.1016/j.cageo.2020.104453</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib55"><label>Masiero et al.(2021)Masiero, Burgess, Hollis, Manifold, Gawthorpe,
Lecomte, Marshall, and Rotevatn</label><mixed-citation>
      
Masiero, I., Burgess, P., Hollis, C., Manifold, L., Gawthorpe, R., Lecomte, I., Marshall, J., and Rotevatn, A.: Syn-rift carbonate platforms in space and
time: testing and refining conceptual models using stratigraphic and seismic
numerical forward modelling, in: Seismic Characterization of Carbonate
Platforms and Reservoirs, edited by: Hendry, J., Burgess, P., Hunt, D.,
Janson, X., and Zampetti, V., Geological Society of London, ISBN 978-1-78620-539-1, <a href="https://doi.org/10.1144/SP509-2019-217" target="_blank">https://doi.org/10.1144/SP509-2019-217</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib56"><label>Miller et al.(2005)Miller, Kominz, Browning, Wright, Mountain, Katz, Sugarman, Cramer, Christie-Blick, and Pekar</label><mixed-citation>
      
Miller, K. G., Kominz, M. A., Browning, J. V., Wright, J. D., Mountain, G. S., Katz, M. E., Sugarman, P. J., Cramer, B. S., Christie-Blick, N., and Pekar, S. F.: The Phanerozoic Record of Global Sea-Level Change, Science, 310, 1293–1298, <a href="https://doi.org/10.1126/science.1116412" target="_blank">https://doi.org/10.1126/science.1116412</a>, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib57"><label>Mitchell et al.(1996)Mitchell, Paul, and Gale</label><mixed-citation>
      
Mitchell, S. F., Paul, C. R. C., and Gale, A. S.: Carbon isotopes and sequence stratigraphy, Geol. Soc. Lond. Spec. Publ., 104, 11–24,
<a href="https://doi.org/10.1144/GSL.SP.1996.104.01.02" target="_blank">https://doi.org/10.1144/GSL.SP.1996.104.01.02</a>, 1996.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib58"><label>Myrow and Grotzinger(2000)</label><mixed-citation>
      
Myrow, P. M. and Grotzinger, J. P.: Chemostratigraphic Proxy Records: Forward
Modeling the Effects of Unconformities, Variable Sediment Accumulation Rates,
and Sampling-Interval Bias, in: Carbonate Sedimentation and Diagenesis in the
Evolving Precambrian World, vol. 67, edited by: Grotzinger, J. P. and James, N. P., SEPM Society for Sedimentary Geology, ISBN 978-1-56576-189-6, <a href="https://doi.org/10.2110/pec.00.67" target="_blank">https://doi.org/10.2110/pec.00.67</a>, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib59"><label>Paola et al.(1992)Paola, Heller, and Angevine</label><mixed-citation>
      
Paola, C., Heller, P. L., and Angevine, C. L.: The large-scale dynamics of
grain-size variation in alluvial basins, 1: Theory, Basin Res., 4, 73–90, 1992.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib60"><label>Pastier et al.(2019)Pastier, Husson, Pedoja, Bézos, Authemayou,
Arias-Ruiz, and Cahyarini</label><mixed-citation>
      
Pastier, A.-M., Husson, L., Pedoja, K., Bézos, A., Authemayou, C., Arias-Ruiz, C., and Cahyarini, S. Y.: Genesis and Architecture of Sequences of Quaternary Coral Reef Terraces: Insights From Numerical Models, Geochem. Geophy. Geosy., 20, 4248–4272,
<a href="https://doi.org/10.1029/2019GC008239" target="_blank">https://doi.org/10.1029/2019GC008239</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib61"><label>Paterson et al.(2006)Paterson, Whitaker, Jones, Smart, Waltham, and
Felce</label><mixed-citation>
      
Paterson, R. J., Whitaker, F. F., Jones, G. D., Smart, P. L., Waltham, D., and Felce, G.: Accommodation and Sedimentary Architecture of Isolated Icehouse Carbonate Platforms: Insights from Forward Modeling with CARB3D+, J. Sediment. Res., 76, 1162–1182, <a href="https://doi.org/10.2110/jsr.2006.113" target="_blank">https://doi.org/10.2110/jsr.2006.113</a>, 2006.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib62"><label>Purkis et al.(2016)Purkis, Koppel, and Burgess</label><mixed-citation>
      
Purkis, S. J., Koppel, J. v. d., and Burgess, P. M.: Spatial self-organization in carbonate depositional environments, SEPM Spec. Publ., 106, 53–66, <a href="https://doi.org/10.2110/sepmsp.106.02" target="_blank">https://doi.org/10.2110/sepmsp.106.02</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib63"><label>Salles(2016)</label><mixed-citation>
      
Salles, T.: Badlands: A parallel basin and landscape dynamics model,
SoftwareX, 5, 195–202, <a href="https://doi.org/10.1016/j.softx.2016.08.005" target="_blank">https://doi.org/10.1016/j.softx.2016.08.005</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib64"><label>Salles et al.(2018a)Salles, Ding, and
Brocard</label><mixed-citation>
      
Salles, T., Ding, X., and Brocard, G.: pyBadlands: A framework to simulate sediment transport, landscape dynamics and basin stratigraphic evolution through space and time, PLOS ONE, 13, e0195557,
<a href="https://doi.org/10.1371/journal.pone.0195557" target="_blank">https://doi.org/10.1371/journal.pone.0195557</a>, 2018a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib65"><label>Salles et al.(2018b)Salles, Pall, Webster, and
Dechnik</label><mixed-citation>
      
Salles, T., Pall, J., Webster, J. M., and Dechnik, B.: Exploring coral reef
responses to millennial-scale climatic forcings: insights from the 1-D numerical tool pyReef-Core v1.0, Geosci. Model Dev., 11, 2093–2110, <a href="https://doi.org/10.5194/gmd-11-2093-2018" target="_blank">https://doi.org/10.5194/gmd-11-2093-2018</a>, 2018b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib66"><label>Schlager and Camber(1986)</label><mixed-citation>
      
Schlager, W. and Camber, O.: Submarine slope angles, drowning unconformities,
and self-erosion of limestone escarpments, Geology, 14, 762–765,
<a href="https://doi.org/10.1130/0091-7613(1986)14&lt;762:SSADUA&gt;2.0.CO;2" target="_blank">https://doi.org/10.1130/0091-7613(1986)14&lt;762:SSADUA&gt;2.0.CO;2</a>, 1986.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib67"><label>Schlager and Warrlich(2009)</label><mixed-citation>
      
Schlager, W. and Warrlich, G.: Record of sea‐level fall in tropical carbonates, Basin Res., 21, 209–224, <a href="https://doi.org/10.1111/j.1365-2117.2008.00383.x" target="_blank">https://doi.org/10.1111/j.1365-2117.2008.00383.x</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib68"><label>Strobel et al.(1989)Strobel, Cannon, Christopher, Kendall, Biswas,
and Bezdek</label><mixed-citation>
      
Strobel, J., Cannon, R., Christopher, G. S., Kendall, C. S., Biswas, G., and
Bezdek, J.: Interactive (SEDPAK) simulation of clastic and carbonate
sediments in shelf to basin settings, Comput. Geosci., 15, 1279–1290, <a href="https://doi.org/10.1016/0098-3004(89)90092-7" target="_blank">https://doi.org/10.1016/0098-3004(89)90092-7</a>, 1989.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib69"><label>Sultana et al.(2022)Sultana, Burgess, and Bosence</label><mixed-citation>
      
Sultana, D., Burgess, P., and Bosence, D.: How do carbonate factories influence carbonate platform morphology? Exploring production-transport interactions with numerical forward modelling, Sedimentology, 69, 372–393,
<a href="https://doi.org/10.1111/sed.12943" target="_blank">https://doi.org/10.1111/sed.12943</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib70"><label>Sylvester et al.(2024)Sylvester, Straub, and
Covault</label><mixed-citation>
      
Sylvester, Z., Straub, K. M., and Covault, J. A.: Stratigraphy in space and
time: A reproducible approach to analysis and visualization, Earth-Sci. Rev., 250, 104706, <a href="https://doi.org/10.1016/j.earscirev.2024.104706" target="_blank">https://doi.org/10.1016/j.earscirev.2024.104706</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib71"><label>Tetzlaff(2023)</label><mixed-citation>
      
Tetzlaff, D.: Stratigraphic forward modeling software package for research and education, arXiv [preprint], <a href="https://doi.org/10.48550/arXiv.2302.05272" target="_blank">https://doi.org/10.48550/arXiv.2302.05272</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib72"><label>Warrlich et al.(2008)Warrlich, Bosence, Waltham, Wood, Boylan, and
Badenas</label><mixed-citation>
      
Warrlich, G., Bosence, D., Waltham, D., Wood, C., Boylan, A., and Badenas, B.: 3D stratigraphic forward modelling for analysis and prediction of carbonate platform stratigraphies in exploration and production, Mar. Petrol.
Geol., 25, 35–58, <a href="https://doi.org/10.1016/j.marpetgeo.2007.04.005" target="_blank">https://doi.org/10.1016/j.marpetgeo.2007.04.005</a>, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib73"><label>Warrlich(2000)</label><mixed-citation>
      
Warrlich, G.-M. D.: 3D computer forward modelling of carbonate platform
evolution, PhD thesis, Royal Holloway, University of London, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib74"><label>Warrlich et al.(2002)Warrlich, Waltham, and
Bosence</label><mixed-citation>
      
Warrlich, G. M. D., Waltham, D. A., and Bosence, D. W. J.: Quantifying the
sequence stratigraphy and drowning mechanisms of atolls using a new 3‐D forward stratigraphic modelling program (CARBONATE 3D), Basin Res., 14, 379–400, <a href="https://doi.org/10.1046/j.1365-2117.2002.00181.x" target="_blank">https://doi.org/10.1046/j.1365-2117.2002.00181.x</a>, 2002.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib75"><label>Weij et al.(2019)Weij, Reijmer, Eberli, and
Swart</label><mixed-citation>
      
Weij, R., Reijmer, J. J. G., Eberli, G. P., and Swart, P. K.: The limited link between accommodation space, sediment thickness, and inner platform facies distribution (Holocene–Pleistocene, Bahamas), Deposit. Rec., 5, 400–420, <a href="https://doi.org/10.1002/dep2.50" target="_blank">https://doi.org/10.1002/dep2.50</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib76"><label>Wild et al.(2019)Wild, Loucks, and Annandale</label><mixed-citation>
      
Wild, T. B., Loucks, D. P., and Annandale, G. W.: SedSim: A River Basin Simulation Screening Model for Reservoir Management of Sediment, Water, and Hydropower, J. Open Res. Softw., 7,
<a href="https://doi.org/10.5334/jors.261" target="_blank">https://doi.org/10.5334/jors.261</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib77"><label>Xi and Burgess(2022)</label><mixed-citation>
      
Xi, H. and Burgess, P. M.: The stratigraphic significance of self-organization: Exploring how autogenic processes can generate cyclical carbonate platform strata, Sedimentology, 69, 1769–1788, <a href="https://doi.org/10.1111/sed.12974" target="_blank">https://doi.org/10.1111/sed.12974</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib78"><label>Zimmt et al.(2021)Zimmt, Holland, Finnegan, and
Marshall</label><mixed-citation>
      
Zimmt, J. B., Holland, S. M., Finnegan, S., and Marshall, C. R.: Recognizing
pulses of extinction from clusters of last occurrences, Palaeontology, 64,
1–20, <a href="https://doi.org/10.1111/pala.12505" target="_blank">https://doi.org/10.1111/pala.12505</a>, 2021.

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