OceanTracker 0.5: Fast Adaptable Lagrangian Particle Tracking in Structured and Unstructured Grids
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.