Recent Releases of eo-tides

eo-tides - 0.8.2

What's Changed

Breaking changes

  • Refactor tide_aliasing function to use constituent param name instead of c, use a list of default major tide constituents from pyTMD, remove "type" column, and set a 10 year default max on period values by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/118

Bug fixes

  • Fix bug with specifying custom list of constituents in #117 by upgrading pyTMD by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/118

Other changes

  • Add spell check to pre-commit, minor formatting updates by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/116
  • Minor updates and upgrades to tests and ruff, uv versions by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/118

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.8.1...0.8.2

Scientific Software - Peer-reviewed - Python
Published by robbibt 6 months ago

eo-tides - 0.8.1

What's Changed

Other changes

  • Add new EO satellite tide aliasing function for evaluating potential temporal biases in EO analyses in https://github.com/GeoscienceAustralia/eo-tides/pull/113
  • Add jupyter to notebook optional dependencies to make Jupyter Notebooks easier to run in https://github.com/GeoscienceAustralia/eo-tides/pull/112

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.8.0...0.8.1

Scientific Software - Peer-reviewed - Python
Published by robbibt 7 months ago

eo-tides - 0.8.0

What's Changed

This release provides new functionality to customise tide modelling:

  1. A new extra_databases parameter to model tides using models that are not natively supported by pyTMD, accepting custom tide model databases in either Python dictionary or JSON file format
  2. A new constituents parameter to restrict tide modelling to a custom subset of harmonic constituents

For example, to model tides using a custom EOT20_custom tide model: ``` import pandas as pd from eotides.model import modeltides

customdbdict = { "elevation": { "EOT20custom": { "format": "FES-netcdf", "modelfile": [ "EOT20/oceantides/2N2oceaneot20.nc", "EOT20/oceantides/J1oceaneot20.nc", "EOT20/oceantides/K1oceaneot20.nc", "EOT20/oceantides/K2oceaneot20.nc", "EOT20/oceantides/M2oceaneot20.nc", "EOT20/oceantides/M4oceaneot20.nc", "EOT20/oceantides/MFoceaneot20.nc", "EOT20/oceantides/MMoceaneot20.nc", "EOT20/oceantides/N2oceaneot20.nc", "EOT20/oceantides/O1oceaneot20.nc", "EOT20/oceantides/P1oceaneot20.nc", "EOT20/oceantides/Q1oceaneot20.nc", "EOT20/oceantides/S1oceaneot20.nc", "EOT20/oceantides/S2oceaneot20.nc", "EOT20/oceantides/SAoceaneot20.nc", "EOT20/oceantides/SSAoceaneot20.nc", "EOT20/oceantides/T2oceaneot20.nc" ], "name": "EOT20custom", "reference": "https://doi.org/10.17882/79489", "scale": 0.01, "type": "z", "variable": "tide_ocean", "version": "EOT20" } } }

modeltides( x=148, y=-16, time=pd.daterange("2022-01-01", "2023-12-31", freq="1h"), model=["EOT20custom", "EOT20"], directory="/var/share/tidemodels/", extradatabases=customdbdict, outputformat="wide", ) ```

New features

  • Support custom tide models by passing in extra tide model databases by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/105
  • Support customising constituents during tide modelling by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/108 ### Other changes
  • Major Ruff refactor by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/108

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.7.5...0.8.0

Scientific Software - Peer-reviewed - Python
Published by robbibt 8 months ago

eo-tides - 0.7.5

What's Changed

Minor update to remove Dask pin now that Dask compatability issue has been solved in odc-stac

Documentation updates

  • Fix unlinked URLs in changelog by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/103

Other changes

  • Remove dask pin to close #76 by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/106

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.7.4...0.7.5

Scientific Software - Peer-reviewed - Python
Published by robbibt 8 months ago

eo-tides - 0.7.4

What's Changed

New features

  • Add version attribute to init file by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/98 ### Documentation updates
  • Fix capitalisation in JOSS paper bibliography by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/97
  • Update suggested citation to use new JOSS paper citation by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/100 ### Other changes
  • Update PR labelling and release template by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/99
  • Reformat code with additional ruff linting rules by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/101

New Contributors

  • @github-actions made their first contribution in https://github.com/GeoscienceAustralia/eo-tides/pull/96

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.7.3...0.7.4

Scientific Software - Peer-reviewed - Python
Published by robbibt 9 months ago

eo-tides - 0.7.3

Changes

  • Use dynamic version handling via hatch-vcs, add automatic changelog update action by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/95
  • Bump the python-deps group with 2 updates by @dependabot in https://github.com/GeoscienceAustralia/eo-tides/pull/94

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.7.2...0.7.3

Scientific Software - Peer-reviewed - Python
Published by robbibt 9 months ago

eo-tides - 0.7.2

What's Changed

  • Improve validation functions documentation, remove hard-coded links by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/93

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.7.1...0.7.2

Scientific Software - Peer-reviewed - Python
Published by robbibt 9 months ago

eo-tides - 0.7.1

What's Changed

  • Bump folium from 0.19.5 to 0.19.6 in the python-deps group by @dependabot in https://github.com/GeoscienceAustralia/eo-tides/pull/92

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.7.0...0.7.1

Scientific Software - Peer-reviewed - Python
Published by robbibt 9 months ago

eo-tides - 0.7.0

What's Changed

This version corresponds to the code archived as part of Journal of Open Source Software publication. No new features introduced.

  • Bump the python-deps group across 1 directory with 3 updates by @dependabot in https://github.com/GeoscienceAustralia/eo-tides/pull/88
  • Update ORCID by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/90
  • Version 0.7.0 release for JOSS archiving by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/91

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.6.5...0.7.0

Scientific Software - Peer-reviewed - Python
Published by robbibt 9 months ago

eo-tides - 0.6.5

What's Changed

  • Paper text and bib edits, plus comments inserted with [//]: # by @fmemuir in https://github.com/GeoscienceAustralia/eo-tides/pull/81
  • JOSS review updates: Minor paper changes by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/82
  • JOSS review updates: Documentation and notebook updates by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/83
  • fix doi in vos2023benchmark by @pdebuyl in https://github.com/GeoscienceAustralia/eo-tides/pull/84
  • Bump xarray from 2025.3.1 to 2025.4.0 in the python-deps group by @dependabot in https://github.com/GeoscienceAustralia/eo-tides/pull/85
  • Add support for latest pyTMD by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/78

New Contributors

  • @fmemuir made their first contribution in https://github.com/GeoscienceAustralia/eo-tides/pull/81
  • @pdebuyl made their first contribution in https://github.com/GeoscienceAustralia/eo-tides/pull/84
  • @dependabot made their first contribution in https://github.com/GeoscienceAustralia/eo-tides/pull/85

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.6.4...0.6.5

Scientific Software - Peer-reviewed - Python
Published by robbibt 10 months ago

eo-tides - 0.6.4

What's Changed

  • Prevent tests from running twice on subsequent changes by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/72
  • Temporarily exclude Dask version by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/75
  • Release version 0.6.4 with dask fix by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/77

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.6.3...0.6.4

Scientific Software - Peer-reviewed - Python
Published by robbibt 11 months ago

eo-tides - 0.6.3

What's Changed

  • JOSS review updates: Add background context for tide modelling files by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/60
  • Expand clipping test to include synthetic EOT20 data by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/64
  • JOSS review updates: Update directory path documentation, improve warnings by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/65
  • JOSS review updates: Add dask dependency, add tip about using print for dataframes by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/68
  • JOSS review updates: Major update to installation docs by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/69
  • Ensure dtype of ensemble modelled tides matches dtype of input modelled tides by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/70
  • Update to 0.6.3 by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/71

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.6.2...0.6.3

Scientific Software - Peer-reviewed - Python
Published by robbibt 11 months ago

eo-tides - 0.6.2

New features

  • Added apply_node parameteter to model_tides to apply pyTMD's adjustments to harmonic constituents to allow for periodic modulations over the 18.6-year nodal period (lunar nodal tide). Default is False.

Bug fixes

  • Further fixes for bug causing tide model clipping with clip_tides to fail for bounding boxes completely west of the prime meridian (#50). The default value for crop param is now "auto" instead of True, which will attempt to use on-the-fly cropping where possible.

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.6.1...0.6.2

Scientific Software - Peer-reviewed - Python
Published by robbibt 12 months ago

eo-tides - 0.6.1

Bug fixes

  • Fix bounding box clipping bug #50 by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/55

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.6.0...0.6.1

Scientific Software - Peer-reviewed - Python
Published by robbibt about 1 year ago

eo-tides - 0.6.0

New features

  • Added return_phases parameter to eo_tides.eo.tag_tides, which will return a dataframe containing tide phase information for each satellite observation
  • Added support for Technical University of Denmark tide models (DTU23)
  • Minor docs improvements, updates for new FES2022 data format

PRs

  • Fix citations in paper by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/41
  • JOSS pre-review edits part 1 by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/42
  • JOSS pre-review edits part 2 by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/43
  • JOSS pre-review edits part 3 by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/44
  • JOSS pre-review edits part 4 by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/45
  • Address #33 by adding return_phase param to tag_tides by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/48
  • Add DTU23, minor docs updates by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/47

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.5.0...0.6.0

Scientific Software - Peer-reviewed - Python
Published by robbibt about 1 year ago

eo-tides - 0.5.0

New features

  • Added draft version of a Journal of Open Source Software paper
  • Added benchmarking notebook that compares performance with parallelisation on and off

Bug fixes

  • Fix documentation to point to correct location of list_models function (e.g. eo_tides.utils.list_models)

Breaking changes

  • Removed Python 3.9 support
  • Added Python 3.13 support

PRs

  • Journal of Open Source Science paper by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/35
  • Remove support for Python 3.9, add Python 3.13 by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/40

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.4.0...0.5.0

Scientific Software - Peer-reviewed - Python
Published by robbibt about 1 year ago

eo-tides - 0.4.0

New features

  • Publishes ensemble tide modelling code for combining multiple global ocean tide models into a single locally optimised ensemble tide model using external model ranking data (e.g. satellite altimetry or NDWI-tide correlations along the coastline).

    • Update ensemble code to latest version that includes FES2022, GOT5.6 and TPXO10 tide models
    • Make ensemble model calculation function a top level function (i.e. rename from _ensemble_model to ensemble_tides)
    • Load tide model ranking points from external flatgeobuf format file for faster cloud access
  • Major refactor to statistics functions to standardise code across both pixel_stats and tide_stats and add support for multiple models

    • tide_stats will now return a pandas.Series if one model is requested, and a pandas.DataFrame if multiple are requested
    • Added a new point_col parameter to tide_stats to control the colour of plotted points. If plot_var is also provided, points will now be coloured differently by default.
  • Added a new crop_buffer parameter to configure buffer distance when cropping model files with crop=True (defaults to 5 degrees)

  • Reorder model_tides parameters to provide more logical flow and move more common params like mode, output_format and output_units higher

Bug fixes

  • Fix warnings from load_gauge_gesla function

Breaking changes

  • The plot_col parameter from tide_stats has been renamed to plot_var

PRs

  • Minor documentation updates by @erialC-P in https://github.com/GeoscienceAustralia/eo-tides/pull/30
  • Update and publish ensemble tide modelling functionality by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/32
  • Major refactor of statistics functions by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/37

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.3.1...0.4.0

Scientific Software - Peer-reviewed - Python
Published by robbibt about 1 year ago

eo-tides - 0.3.1

New features

  • Add new "all" option to model param in model_tides, pixel_tides etc, which will model tides using all available tide models in your provided directory.

Bug fixes

  • Fix bug where GOT5.6 was not detected as a valid model because it contains files in multiple directories (e.g. both "GOT5.6" and "GOT5.5"). This also affected clipping GOT5.6 data using the eo_tides.utils.clip_models function.

PRs

  • Refactor model handling, support modelling with "all" models by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/26

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.3.0...0.3.1

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.3.0

New features

  • Added new eo_tides.utils.clip_models function for clipping tide models to a smaller spatial extent. This can have a major positive impact on performance, sometimes producing more than a 10 x speedup. This function identifies all NetCDF-format tide models in a given input directory, including "ATLAS-netcdf" (e.g. TPXO9-atlas-nc), "FES-netcdf" (e.g. FES2022, EOT20), and "GOT-netcdf" (e.g. GOT5.5) format files. Files for each model are then clipped to the extent of the provided bounding box, handling model-specific file structures. After each model is clipped, the result is exported to the output directory and verified with pyTMD to ensure the clipped data is suitable for tide modelling.

image

Major changes

  • The parallel_splits parameter that controls the number of chunks data is broken into for parallel analysis has been refactored to use a new default of "auto". This now attempts to automatically determine a sensible value based on available CPU, number of points, and number of models being run. All CPUs will be used where possible, unless this will produce splits with less than 1000 points in each (which would increase overhead). Parallel splits will be reduced if multiple models are requested, as these are run in parallel too and will compete for the same resources.
  • Changed the default interpolation method from "spline" to "linear". This appears to produce the same results, but works considerably faster.
  • Updates to enable correct cropping, recently resolved in PyTMD 2.1.8

Breaking changes

  • The list_models function has been relocated to eo_tides.utils (from eo_tides.model)

PRs

  • Improve parallelisation, add clip_models functionality by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/25

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.2.0...0.2.1

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.2.0

New features

  • New model_phases function for calculating tidal phases ("low-flow", high-flow", "high-ebb", "low-ebb") for each tide height in a timeseries. Ebb and low phases are calculated by running the eo_tides.model.model_tides function twice, once for the requested timesteps, and again after subtracting a small time offset (by default, 15 minutes). If tides increased over this period, they are assigned as "flow"; if they decreased, they are assigned as "ebb". Tides are considered "high" if equal or greater than 0 metres tide height, otherwise "low".
  • Major refactor to use consistent input parameters across all EO focused functions: input can now be either xr.DataArray or xr.Dataset or odc.geo.geobox.GeoBox; if an xarray object is passed, it must have a "time" dimension; if GeoBox is passed, time must be provided by the time parameter.
  • time parameters now accept any format that can be converted by pandas.to_datetime(); e.g. np.ndarray[datetime64], pd.DatetimeIndex, pd.Timestamp, datetime.datetime and strings (e.g. "2020-01-01 23:00").
  • model_tides now uses default cropping approach from pyTMD, rather than applying a bespoke 1 degree buffer around the selected analysis area
  • model_tides refactored to use simpler approach to loading tide consistuents enabled in pyTMD==2.1.7

Breaking changes

  • The ds param in all satellite data functions (tag_tides, pixel_tides, tide_stats, pixel_tides) has been renamed to a more generic name data (to account for now accepting either xarray.Dataset, xarray.DataArray or a odc.geo.geobox.GeoBox inputs).

PRs

  • Refactor inputs to streamline API across functions by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/19
  • Refactor time, rename phase func by @robbibt in https://github.com/GeoscienceAustralia/eo-tides/pull/23

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.1.1...0.2.0

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.1.1

Fix bug with plot_col from tide_stats

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.1.0...0.1.1

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.1.0

First minor release of eo-tides

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.0.23...0.1.0

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.23

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.0.22...0.0.23

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.22

Major update to package dependencies

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.0.21...0.0.22

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.21

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.0.20...0.0.21

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.20

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.0.19...0.0.20

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.19

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.0.18...0.0.19

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.18

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.0.17...0.0.18

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.17

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.0.16...0.0.17

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.16

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.0.15...0.0.16

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.15

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.0.14...0.0.15

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.14

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.0.13...0.0.14

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.13

Full Changelog: https://github.com/GeoscienceAustralia/eo-tides/compare/0.0.12...0.0.13

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.12

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.11

Update setting up docs and env var

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.10

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.9

Add additional pages

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.8

Fix links

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.7

Update styling

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.6

Update documentation

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.5

Update docs

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.4

Update readmes

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.3

Update documentation

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.2

Update docs

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago

eo-tides - 0.0.1

Test initial release to build docs

Scientific Software - Peer-reviewed - Python
Published by robbibt over 1 year ago