Seaduck: A python package for Eulerian and Lagrangian interpolation on ocean datasets

Northern hemisphere ocean trajectories
Lagrangian trajectories for drifting surface particles in the LLC4320 dataset. Computed using Seaduck software. See Poseidon-share/gallery repo for notebooks.

Numerical simulations of the Earth’s oceans are becoming more realistic and sophisticated. Their complex layout and sheer volume make it difficult for researchers to access and understand these data, however. Additionally, most ocean models, mostly finite-volume models, compute and calculate spatially-integrated properties, such as grid-cell averaged temperature or wall-integrated mass flux. On the other hand, in-situ oceanographic observations are effectively collected at points in space and time. This fundamental difference makes the comparison between observations and results from numerical simulation difficult.

To address these needs, the Poseidon Project tram has developed Seaduck, a Python package that can perform both Eulerian interpolation and Lagrangian particle simulation on generic ocean datasets with good performance and scalability. This package accesses numerical datasets from the perspective of space-time points. It automatically navigates complex dataset layouts (grid topologies) and transforms discrete information into continuous fields. The values and derivatives of those fields can be accessed at any point in the 3+1 dimensional space-time domain defined by the user. For example, users can compute oceanographic properties as Eulerian timeseries (at fixed points in space), like from moored oceanographic current meters, or as Lagrangian timeseries (drifting with the current), like from oceanographic floats.

To learn more, read the Seaduck paper, the Seaduck Github repo, or the Seaduck documentation.

Leave a Reply

Your email address will not be published. Required fields are marked *