OceanTracker

Fast particle tracking in unstructured grids

OceanTracker is a fast extendable code for offline particle tracking in unstructured grids [1], which also works with regular grid hydrodynamic models.

OceanTracker’s speed enables millions of particles to be simulated in unstructured grids. This significantly increases the range of particle behaviours that can be modeled and the quality of statistics derived from the particles. To eliminate the need to store and wade through the analysis of vast volumes of recorded particle tracks, the code has the ability to calculate statistics on the fly, such as heat maps and connectivity between regions.

OceanTracker code is highly flexible and extendable by the user, whether run by a new user with a text file of parameters, or by an expert adding their specialised code for novel particle behaviours or statistics, to the computational pipe line.

Code is on github , released under the MIT licence.

Features

  • Fast and extendable offline native grid particle tracking for unstructured grids [1]

  • Calculate the tracks of millions of particles

  • User configurable settings and computational pipeline driven entirely by json or yaml text files.

  • Add user defined particle properties and behaviours from parameter text files.

  • Native grid particle tracking which preserves the vertical resolution
    • SCHISM <http://ccrm.vims.edu/schismweb/> for both Slayer and LSC vertical grids

    • FVCOM model output, which preserves the resolution of

    • regular native grid ROMs

  • Builds heat maps on the fly, without recording particle tracks, also inside polygon counts computed on the fly

  • Backward and forward in time particle tracking

  • Shoreline stranding of particles by the tide and resuspension from the bottom

  • 2D and 3D particle tracking, with option to run 3D as 2D

Architecture

  • Implemented in Python

  • Driven by parameters in JSON or YAML file, or in code from a Python dictionary

  • “helper class” to assist new user build parameters

  • Tools to read output, plus plot animations

  • Computational pipeline built from user parameters level

  • Extendable to create novel particle behaviours, eg. vertical migration of plankton

  • Can run particle tracking cases in parallel to further improve computational speed

_images/cawthron.jpg

Warning

This is Oceantracker version: Beta 0.4.The code its still evolving, documentation needs to be expanded and proof read. If you find bugs, have suggestions or ideas make contact!

Last updated: 2023-06-27