# `eo-tides`: Tide modelling tools for large-scale satellite earth observation analysis
<img 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;">
[![Release](https://img.shields.io/github/v/release/GeoscienceAustralia/eo-tides)](https://pypi.org/project/eo-tides/)
[![Build status](https://img.shields.io/github/actions/workflow/status/GeoscienceAustralia/eo-tides/main.yml?branch=main)](https://github.com/GeoscienceAustralia/eo-tides/actions/workflows/main.yml?query=branch%3Amain)
[![Python Version from PEP 621 TOML](https://img.shields.io/pypi/pyversions/eo-tides)](https://github.com/GeoscienceAustralia/eo-tides/blob/main/pyproject.toml)
[![codecov](https://codecov.io/gh/GeoscienceAustralia/eo-tides/branch/main/graph/badge.svg)](https://codecov.io/gh/GeoscienceAustralia/eo-tides)
[![License](https://img.shields.io/github/license/GeoscienceAustralia/eo-tides)](https://img.shields.io/github/license/GeoscienceAustralia/eo-tides)
- ⚙️ **Github repository**: <https://github.com/GeoscienceAustralia/eo-tides/>
- 📘 **Documentation**: <https://GeoscienceAustralia.github.io/eo-tides/>
- 🐍 **PyPI**: <https://pypi.org/project/eo-tides/>
> [!CAUTION]
> This package is a work in progress, and not currently ready for operational use.
`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`](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.
These 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.
![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)
## 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](https://gesla.org/))
<!-- - 🎯 Combine multiple tide models into a single locally-optimised "ensemble" model informed by satellite altimetry and satellite-observed patterns of tidal inundation -->
## Supported tide models
`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:
- [Empirical Ocean Tide model](https://doi.org/10.5194/essd-13-3869-2021) (EOT20)
- [Finite Element Solution tide models](https://doi.org/10.5194/os-2020-96) (FES2022, FES2014, FES2012)
- [TOPEX/POSEIDON global tide models](https://www.tpxo.net/global) (TPXO10, TPXO9, TPXO8)
- [Global Ocean Tide models](https://doi.org/10.1002/2016RG000546) (GOT5.6, GOT5.5, GOT4.10, GOT4.8, GOT4.7)
- [Hamburg direct data Assimilation Methods for Tides models](https://doi.org/10.1002/2013JC009766) (HAMTIDE11)
For instructions on how to set up these models for use in `eo-tides`, refer to [Setting up tide models](setup.md).
## Installing and setting up `eo-tides`
To 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.
## Jupyter Notebooks code examples
Interactive 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/).
## Citing `eo-tides`
To cite `eo-tides` in your work, please use the following citation:
```
Bishop-Taylor, R., Sagar, S., Phillips, C., & Newey, V. (2024). eo-tides: Tide modelling tools for large-scale satellite earth observation analysis. https://github.com/GeoscienceAustralia/eo-tides
```
In 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`:
```
Sutterley, T. C., Alley, K., Brunt, K., Howard, S., Padman, L., Siegfried, M. (2017) pyTMD: Python-based tidal prediction software. 10.5281/zenodo.5555395
```
## Acknowledgements
For a full list of acknowledgements, refer to [Citations and Credits](https://geoscienceaustralia.github.io/eo-tides/credits/).
This repository was initialised using the [`cookiecutter-uv`](https://github.com/fpgmaas/cookiecutter-uv) package.
Raw data
{
"_id": null,
"home_page": null,
"name": "eo-tides",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "earth observation, tide modelling, tide modeling, satellite data, coastal analysis, oceanography, remote sensing",
"author": "Robbi Bishop-Taylor, Stephen Sagar, Claire Phillips, Vanessa Newey",
"author_email": "Robbi.BishopTaylor@ga.gov.au",
"download_url": "https://files.pythonhosted.org/packages/cb/3f/974f2e9f90a3e5bdf2bd35e2eb681170359aed62c8ad7b66a43ba1a2a5bc/eo_tides-0.4.0.tar.gz",
"platform": null,
"description": "# `eo-tides`: Tide modelling tools for large-scale satellite earth observation analysis\n\n<img 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;\">\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/main.yml?branch=main)](https://github.com/GeoscienceAustralia/eo-tides/actions/workflows/main.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\n- \u2699\ufe0f **Github repository**: <https://github.com/GeoscienceAustralia/eo-tides/>\n- \ud83d\udcd8 **Documentation**: <https://GeoscienceAustralia.github.io/eo-tides/>\n- \ud83d\udc0d **PyPI**: <https://pypi.org/project/eo-tides/>\n\n> [!CAUTION]\n> This package is a work in progress, and not currently ready for operational use.\n\n`eo-tides` provides powerful parallelized tools for integrating satellite Earth observation data with tide modelling. \ud83d\udee0\ufe0f\ud83c\udf0a\ud83d\udef0\ufe0f\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 \u2013 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- \ud83c\udf0a 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- \ud83d\udef0\ufe0f \"Tag\" satellite data with tide heights based on the exact moment of image acquisition\n- \ud83c\udf10 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- \ud83d\udcc8 Calculate statistics describing local tide dynamics, as well as biases caused by interactions between tidal processes and satellite orbits\n- \ud83d\udee0\ufe0f Validate modelled tides using measured sea levels from coastal tide gauges (e.g. [GESLA Global Extreme Sea Level Analysis](https://gesla.org/))\n<!-- - \ud83c\udfaf Combine multiple tide models into a single locally-optimised \"ensemble\" model informed by satellite altimetry and satellite-observed patterns of tidal inundation -->\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\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 citation:\n\n```\nBishop-Taylor, R., Sagar, S., Phillips, C., & Newey, V. (2024). eo-tides: Tide modelling tools for large-scale satellite earth observation analysis. https://github.com/GeoscienceAustralia/eo-tides\n```\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., Alley, K., Brunt, K., Howard, S., Padman, L., Siegfried, M. (2017) pyTMD: Python-based tidal prediction software. 10.5281/zenodo.5555395\n```\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",
"bugtrack_url": null,
"license": null,
"summary": "Tide modelling tools for large-scale satellite earth observation analysis",
"version": "0.4.0",
"project_urls": {
"Documentation": "https://GeoscienceAustralia.github.io/eo-tides/",
"Homepage": "https://GeoscienceAustralia.github.io/eo-tides/",
"Repository": "https://github.com/GeoscienceAustralia/eo-tides"
},
"split_keywords": [
"earth observation",
" tide modelling",
" tide modeling",
" satellite data",
" coastal analysis",
" oceanography",
" remote sensing"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3484ffc7628e6ebd4a9260ef8aede209a94c428d5f4940229b76df32412c147d",
"md5": "158e72089a8d38d1284028a4f797e1be",
"sha256": "e42bf4eebfcb5419f619d3b9e2066806468f4dc688ff34cb5d7f8d5049ee289d"
},
"downloads": -1,
"filename": "eo_tides-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "158e72089a8d38d1284028a4f797e1be",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 43644,
"upload_time": "2024-12-21T06:36:30",
"upload_time_iso_8601": "2024-12-21T06:36:30.283164Z",
"url": "https://files.pythonhosted.org/packages/34/84/ffc7628e6ebd4a9260ef8aede209a94c428d5f4940229b76df32412c147d/eo_tides-0.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cb3f974f2e9f90a3e5bdf2bd35e2eb681170359aed62c8ad7b66a43ba1a2a5bc",
"md5": "0c41a2c1faff4ac02cb8367a694d6413",
"sha256": "d8d35fbd9f3d4a09cc95264f3ae500158da74984668728c27e9610a6f2855c28"
},
"downloads": -1,
"filename": "eo_tides-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "0c41a2c1faff4ac02cb8367a694d6413",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 50795,
"upload_time": "2024-12-21T06:36:32",
"upload_time_iso_8601": "2024-12-21T06:36:32.742984Z",
"url": "https://files.pythonhosted.org/packages/cb/3f/974f2e9f90a3e5bdf2bd35e2eb681170359aed62c8ad7b66a43ba1a2a5bc/eo_tides-0.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-21 06:36:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "GeoscienceAustralia",
"github_project": "eo-tides",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "eo-tides"
}