Wishlist#
By adopting open-source best practices, we hope Ocetrac will grow into a widely used, community-driven and community-owned project. We anticipate Ocetrac will have broad applications in geoscience and are excited to see it used in other domains besides oceanography.
If you have an idea, open an issue on the Ocetrac GitHub repository and let us know! See our Contribution Guide to get involved.
Planned features#
Tracking
Add support for additional grid types
Improve splitting and merging logic for complex event topologies
Extend overlap tracking to support user-defined matching criteria
Performance
Optimize Dask integration for larger-than-memory datasets, including chunked temporal (t−1 → t) connectivity via boundary patching in
SurfTrack.utilsand 3-D (time × depth × lat × lon) chunking strategies unique to DeepTrackReduce memory footprint during connected component labelling
Add benchmarking capabilities to track performance across releases, with CI
validation of memory behavior under realistic Dask configurations
CI/CD and packaging
Add
release.yamlGitHub Actions workflow for automated PyPI publishing on version tags, including cross-platform install testing (Ubuntu, macOS, Windows) across Python 3.10–3.12, automated changelog generation from git log, and a ReadTheDocs webhook trigger on publishAdd a
CITATION.cfffile for standardised software citationUpdate contributing guide to reflect current Python version support (≥ 3.10)
Validation
Implement feature validation metrics and skill scores
Add uncertainty quantification tools for tracked events
Provide comparison utilities for evaluating against observational datasets
Documentation and examples
Add tutorial: temporal-neighbour (t−1 → t) connectivity with boundary patching for
SurfTrackAdd tutorial: boundary patching on ERA5 data
Add tutorial:
DeepTrackmeasures (shape, motion, intensity) to complement the existingSurfTrackMeasures tutorialImprove API reference with richer docstrings and usage examples
Add example on isopycnal surfaces
Community goals#
Ocetrac is built to be extended. Beyond the planned features above, we hope the community will contribute new tracking algorithms, grid adapters, and diagnostic tools. The long-term vision is a modular framework where SurfTrack and DeepTrack are two of many available trackers.