{"id":18818908,"url":"https://github.com/geoscienceaustralia/eo-tides","last_synced_at":"2026-04-01T17:55:46.567Z","repository":{"id":257792357,"uuid":"858005621","full_name":"GeoscienceAustralia/eo-tides","owner":"GeoscienceAustralia","description":"Tide modelling tools for large-scale satellite earth observation analysis","archived":false,"fork":false,"pushed_at":"2025-02-21T00:26:14.000Z","size":159951,"stargazers_count":25,"open_issues_count":10,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-02-22T05:24:46.775Z","etag":null,"topics":["coastal","coastal-modelling","earth-observation","ocean-modelling","oceanography","remote-sensing","satellite-data","tides"],"latest_commit_sha":null,"homepage":"https://GeoscienceAustralia.github.io/eo-tides/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GeoscienceAustralia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-16T06:10:09.000Z","updated_at":"2025-02-21T00:20:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"35809507-ca53-4cd5-b85e-90019229c5b6","html_url":"https://github.com/GeoscienceAustralia/eo-tides","commit_stats":null,"previous_names":["geoscienceaustralia/eo-tides"],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeoscienceAustralia%2Feo-tides","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeoscienceAustralia%2Feo-tides/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeoscienceAustralia%2Feo-tides/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeoscienceAustralia%2Feo-tides/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GeoscienceAustralia","download_url":"https://codeload.github.com/GeoscienceAustralia/eo-tides/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241509654,"owners_count":19974071,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coastal","coastal-modelling","earth-observation","ocean-modelling","oceanography","remote-sensing","satellite-data","tides"],"created_at":"2024-11-08T00:19:24.248Z","updated_at":"2026-04-01T17:55:46.560Z","avatar_url":"https://github.com/GeoscienceAustralia.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `eo-tides`: Tide modelling tools for large-scale satellite earth observation analysis\n\n\u003cimg align=\"right\" width=\"200\" src=\"https://github.com/GeoscienceAustralia/eo-tides/blob/main/docs/assets/eo-tides-logo.gif?raw=true\" alt=\"eo-tides logo\" style=\"margin-right: 40px;\"\u003e\n\n[![Release](https://img.shields.io/github/v/release/GeoscienceAustralia/eo-tides)](https://pypi.org/project/eo-tides/)\n[![Build status](https://img.shields.io/github/actions/workflow/status/GeoscienceAustralia/eo-tides/tests.yml?branch=main)](https://github.com/GeoscienceAustralia/eo-tides/actions/workflows/tests.yml?query=branch%3Amain)\n[![Python Version from PEP 621 TOML](https://img.shields.io/pypi/pyversions/eo-tides)](https://github.com/GeoscienceAustralia/eo-tides/blob/main/pyproject.toml)\n[![codecov](https://codecov.io/gh/GeoscienceAustralia/eo-tides/branch/main/graph/badge.svg)](https://codecov.io/gh/GeoscienceAustralia/eo-tides)\n[![License](https://img.shields.io/github/license/GeoscienceAustralia/eo-tides)](https://img.shields.io/github/license/GeoscienceAustralia/eo-tides)\n[![JOSS paper](https://joss.theoj.org/papers/b5680c39bf831c1159c41a2eb7ec9c5e/status.svg)](https://joss.theoj.org/papers/b5680c39bf831c1159c41a2eb7ec9c5e)\n\n- ⚙️ **Github repository**: \u003chttps://github.com/GeoscienceAustralia/eo-tides/\u003e\n- 📦 **PyPI**: \u003chttps://pypi.org/project/eo-tides/\u003e\n- ℹ️ **Documentation**: \u003chttps://GeoscienceAustralia.github.io/eo-tides/\u003e\n- 📰 **Paper**: \u003chttps://doi.org/10.21105/joss.07786\u003e\n\n\u003cbr\u003e\n\n`eo-tides` provides powerful parallelized tools for integrating satellite Earth observation data with tide modelling. 🛠️🌊🛰️\n\n`eo-tides` combines advanced tide modelling functionality from the [`pyTMD`](https://pytmd.readthedocs.io/en/latest/) package with [`pandas`](https://pandas.pydata.org/docs/index.html), [`xarray`](https://docs.xarray.dev/en/stable/) and [`odc-geo`](https://odc-geo.readthedocs.io/en/latest/), providing a suite of flexible tools for efficient analysis of coastal and ocean Earth observation data – from regional, continental, to global scale.\n\nThese tools can be applied to petabytes of freely available satellite data (e.g. from [Digital Earth Australia](https://knowledge.dea.ga.gov.au/) or [Microsoft Planetary Computer](https://planetarycomputer.microsoft.com/)) loaded via Open Data Cube's [`odc-stac`](https://odc-stac.readthedocs.io/en/latest/) or [`datacube`](https://opendatacube.readthedocs.io/en/latest/) packages, supporting coastal and ocean earth observation analysis for any time period or location globally.\n\n![eo-tides abstract showing satellite data, tide data array and tide animation](https://github.com/GeoscienceAustralia/eo-tides/blob/main/docs/assets/eo-tides-abstract.gif?raw=true)\n\n## Highlights\n\n- 🌊 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\n- 🛰️ \"Tag\" satellite data with tide heights based on the exact moment of image acquisition\n- 🌐 Model tides for every individual satellite pixel through time, producing three-dimensional \"tide height\" `xarray`-format datacubes that can be integrated with satellite data\n- 📈 Calculate statistics describing local tide dynamics, as well as biases caused by interactions between tidal processes and satellite orbits\n- 🛠️ Validate modelled tides using measured sea levels from coastal tide gauges (e.g. [GESLA Global Extreme Sea Level Analysis](https://gesla.org/))\n\u003c!-- - 🎯 Combine multiple tide models into a single locally-optimised \"ensemble\" model informed by satellite altimetry and satellite-observed patterns of tidal inundation --\u003e\n\n## Supported tide models\n\n`eo-tides` supports [all ocean tide models supported by `pyTMD`](https://pytmd.readthedocs.io/en/latest/getting_started/Getting-Started.html#model-database). These include:\n\n- [Empirical Ocean Tide model](https://doi.org/10.5194/essd-13-3869-2021) (EOT20)\n- [Finite Element Solution tide models](https://doi.org/10.5194/os-2020-96) (FES2022, FES2014, FES2012)\n- [TOPEX/POSEIDON global tide models](https://www.tpxo.net/global) (TPXO10, TPXO9, TPXO8)\n- [Global Ocean Tide models](https://doi.org/10.1002/2016RG000546) (GOT5.6, GOT5.5, GOT4.10, GOT4.8, GOT4.7)\n- [Hamburg direct data Assimilation Methods for Tides models](https://doi.org/10.1002/2013JC009766) (HAMTIDE11)\n- [Technical University of Denmark tide models](https://doi.org/10.11583/DTU.23828874) (DTU23)\n\nFor instructions on how to set up these models for use in `eo-tides`, refer to [Setting up tide models](setup.md).\n\n## Installing and setting up `eo-tides`\n\nTo get started with `eo-tides`, follow the [Installation](https://geoscienceaustralia.github.io/eo-tides/install/) and [Setting up tide models](https://geoscienceaustralia.github.io/eo-tides/setup/) guides.\n\n## Jupyter Notebooks code examples\n\nInteractive Jupyter Notebook usage examples and more complex coastal EO case studies can be found in the [`docs/notebooks/`](https://github.com/GeoscienceAustralia/eo-tides/tree/main/docs/notebooks) directory, or [rendered in the documentation here](https://geoscienceaustralia.github.io/eo-tides/notebooks/Model_tides/).\n\n## Citing `eo-tides`\n\nTo cite `eo-tides` in your work, please use the following [Journal of Open Source Software](https://doi.org/10.21105/joss.07786) citation:\n\n```\nBishop-Taylor, R., Phillips, C., Sagar, S., Newey, V., \u0026 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\n```\n\n\u003cdetails\u003e\n\n\u003csummary\u003eBibTeX\u003c/summary\u003e\n\n```\n@article{Bishop-Taylor2025,\n  doi       = {10.21105/joss.07786},\n  url       = {https://doi.org/10.21105/joss.07786},\n  year      = {2025},\n  publisher = {The Open Journal},\n  volume    = {10},\n  number    = {109},\n  pages     = {7786},\n  author    = {Robbi Bishop-Taylor and Claire Phillips and Stephen Sagar and Vanessa Newey and Tyler Sutterley},\n  title     = {eo-tides: Tide modelling tools for large-scale satellite Earth observation analysis},\n  journal   = {Journal of Open Source Software}\n}\n```\n\n\u003c/details\u003e\n\nIn addition, please consider also citing the underlying [`pyTMD` Python package](https://pytmd.readthedocs.io/en/latest/) which powers the tide modelling functionality behind `eo-tides`:\n\n```\nSutterley, T. C., Howard, S. L., Padman, L., \u0026 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\n```\n\n\u003cdetails\u003e\n\n\u003csummary\u003eBibTeX\u003c/summary\u003e\n\n```\n@article{Sutterley2025,\n  doi       = {10.21105/joss.08566},\n  url       = {https://doi.org/10.21105/joss.08566},\n  year      = {2025},\n  publisher = {The Open Journal},\n  volume    = {10},\n  number    = {116},\n  pages     = {8566},\n  author    = {Sutterley, Tyler C. and Howard, Susan L. and Padman, Laurie and Siegfried, Matthew R.},\n  title     = {pyTMD: Python-based tidal prediction software},\n  journal   = {Journal of Open Source Software}\n}\n```\n\n\u003c/details\u003e\n\n## Contributing\n\nWe 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).\nRead the [Contributing guide](https://github.com/GeoscienceAustralia/eo-tides/blob/main/CONTRIBUTING.md) for details about how you can get involved.\n\n## Acknowledgements\n\nFor a full list of acknowledgements, refer to [Citations and Credits](https://geoscienceaustralia.github.io/eo-tides/credits/).\nThis repository was initialised using the [`cookiecutter-uv`](https://github.com/fpgmaas/cookiecutter-uv) package.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeoscienceaustralia%2Feo-tides","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeoscienceaustralia%2Feo-tides","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeoscienceaustralia%2Feo-tides/lists"}