Recent Releases of eo-tides
eo-tides - 0.8.2
What's Changed
Breaking changes
- Refactor
tide_aliasingfunction to useconstituentparam name instead ofc, use a list of default major tide constituents frompyTMD, 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
pyTMDby @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,uvversions 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
jupyterto 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:
- A new
extra_databasesparameter to model tides using models that are not natively supported bypyTMD, accepting custom tide model databases in either Python dictionary or JSON file format - A new
constituentsparameter 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
rufflinting 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
daskfix 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_nodeparameteter tomodel_tidesto applypyTMD'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_tidesto fail for bounding boxes completely west of the prime meridian (#50). The default value forcropparam is now"auto"instead ofTrue, 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_phasesparameter toeo_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_phaseparam totag_tidesby @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_modelsfunction (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_modeltoensemble_tides) - Load tide model ranking points from external
flatgeobufformat file for faster cloud access
Major refactor to statistics functions to standardise code across both
pixel_statsandtide_statsand add support for multiple modelstide_statswill now return apandas.Seriesif one model is requested, and apandas.DataFrameif multiple are requested- Added a new
point_colparameter totide_statsto control the colour of plotted points. Ifplot_varis also provided, points will now be coloured differently by default.
Added a new
crop_bufferparameter to configure buffer distance when cropping model files withcrop=True(defaults to 5 degrees)Reorder
model_tidesparameters to provide more logical flow and move more common params likemode,output_formatandoutput_unitshigher
Bug fixes
- Fix warnings from
load_gauge_geslafunction
Breaking changes
- The
plot_colparameter fromtide_statshas been renamed toplot_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
modelparam inmodel_tides,pixel_tidesetc, which will model tides using all available tide models in your provideddirectory.
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_modelsfunction.
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_modelsfunction 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 withpyTMDto ensure the clipped data is suitable for tide modelling.
Major changes
- The
parallel_splitsparameter 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
methodfrom "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_modelsfunction has been relocated toeo_tides.utils(fromeo_tides.model)
PRs
- Improve parallelisation, add
clip_modelsfunctionality 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_phasesfunction 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 theeo_tides.model.model_tidesfunction 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.DataArrayorxr.Datasetorodc.geo.geobox.GeoBox; if an xarray object is passed, it must have a"time"dimension; if GeoBox is passed, time must be provided by thetimeparameter. timeparameters now accept any format that can be converted bypandas.to_datetime(); e.g. np.ndarray[datetime64], pd.DatetimeIndex, pd.Timestamp, datetime.datetime and strings (e.g. "2020-01-01 23:00").model_tidesnow uses default cropping approach frompyTMD, rather than applying a bespoke 1 degree buffer around the selected analysis areamodel_tidesrefactored to use simpler approach to loading tide consistuents enabled inpyTMD==2.1.7
Breaking changes
- The
dsparam in all satellite data functions (tag_tides,pixel_tides,tide_stats,pixel_tides) has been renamed to a more generic namedata(to account for now accepting eitherxarray.Dataset,xarray.DataArrayor aodc.geo.geobox.GeoBoxinputs).
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