Preprints
https://doi.org/10.31223/X5WM6Z
https://doi.org/10.31223/X5WM6Z
27 Oct 2025
 | 27 Oct 2025

OceanTracker 0.5: Fast Adaptable Lagrangian Particle Tracking in Structured and Unstructured Grids

Ross Vennell, Laurin Steidle, Malcolm Smeaton, Romain Chaput, and Ben Knight

Abstract. Particle tracking is frequently used to compute particle movements within hydrodynamic ocean models; however, modelling millions of particles is computationally challenging. OceanTracker is designed to reduce the time required to obtain results from particle tracking. Firstly, by being computationally efficient, it enables users to simulate large numbers of particles in complex costal environments, enabling improved statistics or exploring a wider range of cases within acceptable run times. Secondly, OceanTracker can calculate multiple particle statistics during the computational run, eliminating the need to record and post-process large volumes of particle trajectories. The adaptability of OceanTracker’s modular computational pipeline allows users to add and modify components which govern particle physics, behaviour, and statistics. The computational pipeline is entirely assembled from user-provided parameters, supplied as a text file or built using helper methods. Coders can easily modify existing components through code inheritance. Currently, OceanTracker supports hydrodynamic model output for unstructured grids (SCHISM, FVCOM, DELFT3D-FM) and structured grids (ROMS, NEMO/GLORYS). Computing the trajectories for more than a million particles with OceanTracker on a single computer core is more than ten times faster than the OpenDrift code and twice as fast as the Ocean Parcels code, despite treating structured grids as unstructured. In addition to its single-core performance, OceanTracker can run computations in parallel across available cores. This can further increase speed by up to an order of magnitude on currently available multicore desktop processors.

Share
Ross Vennell, Laurin Steidle, Malcolm Smeaton, Romain Chaput, and Ben Knight

Status: final response (author comments only)

Comment types: AC – author | RC – referee | CC – community | EC – editor | CEC – chief editor | : Report abuse
  • RC1: 'Comment on egusphere-2025-4545', Erik van Sebille, 15 Nov 2025
    • AC1: 'Reply on RC1', Laurin Steidle, 20 Mar 2026
    • In general, I miss some critical reflection on the downsides of some of the choices made in the OceanTracker design (e.g. line 35). How are the downsides of the design decisions weighted?
      • Have taken parts of existing text and expanded on design compromises in new subsection to discussion 5.1, see (Ab line 538)
    • The graphs in Figure 5 are very difficult to parse, because colors are hard to distinguish and because different hydrodynamic models are combined into single panels. I would strongly recommend making this key figure easier to understand.
      • Have changed the colours to make them more distinct and adjusted the legends
    • The writing is rather sloppy, with many type-os (e.g. line 19, 160, 174, 175, 178, 246, 413, 454, 463, 503 and probably other locations) and mistakes in Figure references (line 183).
      • Had a professional proofread and fixed Fig ref.

       

      Minor comments

      1. Line 1: The authors could be clearer about their versioning. The version number (0.5) only appears in the title, and is not mentioned anywhere else (e.g. line 83). Furthermore, it would be good to briefly mention what extra steps need to be taken to get to v1.0.
      • Tidied up intro to make clear what aspects are new/added  in version 0.5 over ver. 0.1 (see multiple blue text segments labelled (A1) in introduction, reviewer B had a similar comment)
      • Added improvements required to become version 1 in summary at (A1 line 586)

       

      1. Line 9: mention that these text files are yaml or json
      • Done see,   (A2) in abstract
    • Line 13 and at other locations: Parcels has had a recent rebranding, and has dropped the “Ocean” from its name. Apply that here too?
      • Done see multiple (A3)’s
    • Line 13: why is this “despite”? briefly explain?
      • Added explanation: “ which might be expected to be computationally slower than structured grids due to the time required to locate each particle within a hydrodynamic grid cell..”,  (A4 line 13)
    • Line 26: this can also be reversed: users run as many particles as they can within a user-acceptable time frame
      • Add sentence “This first challenge may result in users choosing to simulating smaller numbers of particles, in order to get results within project deadlines  on accessible hardware” . (A5 line 27)
    • Line 48: after a certain PLD?
      • Added note that settlement “during the time settlement period, i.e. their pelagic larval duration, \cite{demmer2022larval}}”, (A6 line 47)
    • Line 63: The new Parcels v4 (now in alpha release) is also compatible with structured and unstructured grids
      • Added Parcels 4 alpha to list , (A7 line 65)
    • Line 64: what does it mean to “identify useful optional variables”? I don’t understand this sentence
      • Rewritten, to be about useful hindcast fields, “if useful fields are in the hindcast, such as bottom stress used in particle re-suspension “ (A8 line 65
    • Lines 70-83: In each of these examples, also highlight the grid information (number of nodes) that the simulations were run on?
      • Added node numbers (A9 line 80ff)
    • The caption of Figure 1 misses some information. For example, what are the crosses on the top-left of panel a? Which region of the ocean are we looking at? And where is the scale-bar for panels c and d?
      • Now noted in caption, crosses in upper left are locations of a grid release, while those mid-plots are for two point releases,  location noted as central NZ within a wider Cook Strait see (A10s line 110ff)
      • Scale bar now on all figures
    • The heatmap in Figure 1d is on a different grid as the hydrodynamic model. How is it specified? Can the user do that?
      • Clarified heat maps are for a user specified regular grid overlaid on hydrodynamic model, as shown in code appendix,  “The heat maps in the lower plots are based on a user specified regular grid with a 100m resolution. “  (A11 line 110ff)
    • What does “read” in table 1 mean?
      • Clarified as read the hindcast in caption, “Read times are the time spent reading the hindcast from the local disk, with the balance of  time spent computing particle tracks. “ (A12 line 90ff)
    • Line 128: another advantage of offline simulation is the ability to run backwards in time
      • Have added backtracking to features (A13 line 168) “{\bf Backtracking:} \OT supports reverse-time simulations, which can be useful for identifying potential sources of particles arriving at a given location \citep{thygesen2011reverse}.  Note that dispersion is not time-reversible, and this operates the same in the forward-direction time, producing outputs, like  heat maps, that offer a probabilistic view of sources \citep{thygesen2011reverse}”.
    • Line 133: How can diffusivity be both vertical and 3D? should it not be either of these?
      • Dropped unnecessary 3D reference and rewrote paragraph, inline with similar comment by reviewer B (B6 line 151)
    • Line 137: so diffusivity is modelled as a Markov(1)-process? Perhaps good to mention that explicitly
      • Noted as a first order Markov process (A15 line 151)
    • Line 159: I don’t think that these interpolated velocities are “Lagrangian” in the kinematic sense of the word; I would advice to remove the term
      • Oops!, they are not Lagrangian, but Eulerian,  edited (A16 line 182)

        “At a high level, particle tracking code takes the Eulerian water velocity field from a hydrodynamic model and interpolates  these to provide  velocities at particle locations. These velocities are  then numerically integrated to give particle trajectories”
    • Line 248: what does “bookkeeping information” mean? Do the authors mean “Boolean”?
      • Drop first reference  to bookkeeping , and expanded  explanation of bookkeeping part. props, at (A17 line 278).

        “bookkeeping particle properties, such as  particleID,  release groupID, or particle status, e.g. whether computationally alive, on the sea bed, stranded by the tide etc.”
    • Line 296: specify how the quad cells are divided into triangles. And discuss what the impact is on memory/IO/performance?
      • Explained quad cell (A18 line 328) “The unstructured SCHISM and DEFLT3D-FM grids contain a mixture of triangular and quad cells. For these formats and regular grid formats, quad cells are divided into triangles. This division simply takes the first three nodes of a quad cell as one triangle, then creates a new triangle from the third, fourth and first nodes. Modifying the ``triangulation'' of the hydrodynamic model grid by splitting quad cells is only done  once at the start of the run and it has no impact on the time spent reading the hindcast. It also adds little to the memory used, as the underlying field values are still stored as nodal values. By increasing the number of cells to search, quad cell splitting  may sightly increase the time taken to locate the cell containing each particle. However, it simplifies the code by only requiring  one type of cell to search.”
    • Line 370-378: I wonder whether the authors have also considered the precision of particle properties. Are these stored as float64 or float32? Does that matter for performance?
      • Yes, all hydrodynamic model files are stores as float32 , speed advantage noted at  (A19 line 439).
    • Line 414: As far as I know, GLORYS is not the hydrodynamics (that is NEMO), but the data assimilation.
      • Yes, we found the distinction confusing and got backwards,  many people get GLORYS data, while fewer know it derives from NEMO hydrodynamics. Have elected to just use both each time and not explicitly distinguish which is which. (A20 line 472)
Citation: https://doi.org/10.5194/egusphere-2025-4545-AC1
  • RC2: 'Comment on egusphere-2025-4545', Anonymous Referee #2, 24 Nov 2025
    • AC2: 'Reply on RC2', Laurin Steidle, 20 Mar 2026
  • RC3: 'Comment on egusphere-2025-4545', Willi Rath, 27 Nov 2025
    • AC3: 'Reply on RC3', Laurin Steidle, 20 Mar 2026
  • Ross Vennell, Laurin Steidle, Malcolm Smeaton, Romain Chaput, and Ben Knight
    Ross Vennell, Laurin Steidle, Malcolm Smeaton, Romain Chaput, and Ben Knight

    Viewed

    Since the preprint corresponding to this journal article was posted outside of Copernicus Publications, the preprint-related metrics are limited to HTML views.

    Total article views: 347 (including HTML, PDF, and XML)
    HTML PDF XML Total BibTeX EndNote
    338 0 9 347 0 0
    • HTML: 338
    • PDF: 0
    • XML: 9
    • Total: 347
    • BibTeX: 0
    • EndNote: 0
    Views and downloads (calculated since 27 Oct 2025)
    Cumulative views and downloads (calculated since 27 Oct 2025)

    Viewed (geographical distribution)

    Since the preprint corresponding to this journal article was posted outside of Copernicus Publications, the preprint-related metrics are limited to HTML views.

    Total article views: 333 (including HTML, PDF, and XML) Thereof 333 with geography defined and 0 with unknown origin.
    Country # Views %
    • 1
    1
     
     
     
     
    Latest update: 22 Mar 2026
    Download
    Short summary
    Ocean currents transport everything from pollution to marine larvae, but tracking millions of virtual particles to understand these movements typically requires weeks of computer processing. OceanTracker solves this bottleneck by being over ten times faster than existing tools, completing million-particle simulations in under an hour on standard computers. This speed breakthrough enables scientists to generate heat maps and analyze connectivity patterns between ocean regions.
    Share