Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

eo-tides: Tide modelling tools for large-scale satellite earth observation analysis

eo-tides logo

Release Build status Python Version from PEP 621 TOML codecov License JOSS paper


eo-tides provides powerful parallelized tools for integrating satellite Earth observation data with tide modelling. 🛠️🌊🛰️

eo-tides combines advanced tide modelling functionality from the pyTMD package with pandas, xarray and odc-geo, providing a suite of flexible tools for efficient analysis of coastal and ocean Earth observation data – from regional, continental, to global scale.

These tools can be applied to petabytes of freely available satellite data (e.g. from Digital Earth Australia or Microsoft Planetary Computer) loaded via Open Data Cube's odc-stac or datacube packages, supporting coastal and ocean earth observation analysis for any time period or location globally.

eo-tides abstract showing satellite data, tide data array and tide animation

Highlights

  • 🌊 Model tide heights and phases (e.g. high, low, ebb, flow) from multiple global ocean tide models in parallel, and return a pandas.DataFrame for further analysis
  • 🛰️ "Tag" satellite data with tide heights based on the exact moment of image acquisition
  • 🌐 Model tides for every individual satellite pixel through time, producing three-dimensional "tide height" xarray-format datacubes that can be integrated with satellite data
  • 📈 Calculate statistics describing local tide dynamics, as well as biases caused by interactions between tidal processes and satellite orbits
  • 🛠️ Validate modelled tides using measured sea levels from coastal tide gauges (e.g. GESLA Global Extreme Sea Level Analysis)

Supported tide models

eo-tides supports all ocean tide models supported by pyTMD. These include:

For instructions on how to set up these models for use in eo-tides, refer to Setting up tide models.

Installing and setting up eo-tides

To get started with eo-tides, follow the Installation and Setting up tide models guides.

Jupyter Notebooks code examples

Interactive Jupyter Notebook usage examples and more complex coastal EO case studies can be found in the docs/notebooks/ directory, or rendered in the documentation here.

Citing eo-tides

To cite eo-tides in your work, please use the following Journal of Open Source Software citation:

Bishop-Taylor, R., Phillips, C., Sagar, S., Newey, V., & Sutterley, T., (2025). eo-tides: Tide modelling tools for large-scale satellite Earth observation analysis. Journal of Open Source Software, 10(109), 7786, https://doi.org/10.21105/joss.07786
BibTeX
@article{Bishop-Taylor2025,
  doi       = {10.21105/joss.07786},
  url       = {https://doi.org/10.21105/joss.07786},
  year      = {2025},
  publisher = {The Open Journal},
  volume    = {10},
  number    = {109},
  pages     = {7786},
  author    = {Robbi Bishop-Taylor and Claire Phillips and Stephen Sagar and Vanessa Newey and Tyler Sutterley},
  title     = {eo-tides: Tide modelling tools for large-scale satellite Earth observation analysis},
  journal   = {Journal of Open Source Software}
}

In addition, please consider also citing the underlying pyTMD Python package which powers the tide modelling functionality behind eo-tides:

Sutterley, T. C., Howard, S. L., Padman, L., & Siegfried, M. R., (2025). pyTMD: Python-based tidal prediction software. Journal of Open Source Software, 10(116), 8566, https://doi.org/10.21105/joss.08566
BibTeX
@article{Sutterley2025,
  doi       = {10.21105/joss.08566},
  url       = {https://doi.org/10.21105/joss.08566},
  year      = {2025},
  publisher = {The Open Journal},
  volume    = {10},
  number    = {116},
  pages     = {8566},
  author    = {Sutterley, Tyler C. and Howard, Susan L. and Padman, Laurie and Siegfried, Matthew R.},
  title     = {pyTMD: Python-based tidal prediction software},
  journal   = {Journal of Open Source Software}
}

Contributing

We welcome contributions to eo-tides, both through posting issues (e.g. bug reports or feature suggestions), or directly via pull requests (e.g. bug fixes and new features). Read the Contributing guide for details about how you can get involved.

Acknowledgements

For a full list of acknowledgements, refer to Citations and Credits. This repository was initialised using the cookiecutter-uv package.

Metadata

Release files for eo-tides 0.10.5.dev9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eo-tides 0.10.5.dev9
File Size Uploaded Provenance Actions
eo_tides-0.10.5.dev9.tar.gz 53.6 kB Without provenance Details for eo_tides-0.10.5.dev9.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for eo-tides 0.10.5.dev9
File Interpreter ABI Platform Actions
eo_tides-0.10.5.dev9-py3-none-any.whl Python 3 none any Details for eo_tides-0.10.5.dev9-py3-none-any.whl

Total release size: 118.0 kB

Release files / eo_tides-0.10.5.dev9.tar.gz

Download URL eo_tides-0.10.5.dev9.tar.gz
Size 53.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7907d40b73cdb2c52c00a50bda59e02f5564170a8fe302e7666cb9f052b35da7
BLAKE2b-256 checksum
How to use checksums
8cf4da666d48b6b7bc5955d0168250a51100938c44cd2991b9e0ccca6d4def7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / eo_tides-0.10.5.dev9-py3-none-any.whl

Download URL eo_tides-0.10.5.dev9-py3-none-any.whl
Size 64.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
af31438c26be7ec435d67980ac5768e415ed29f359541d55501f5d22bc2ad28b
BLAKE2b-256 checksum
How to use checksums
50181a2a0a27e9ee6ae8a1e6288915fdf29929c70f065862a48d8bb13dd712e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for eo-tides 0.10.5.dev9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page