Skip to content

Releases: GeoscienceAustralia/eo-tides

0.4.0

21 Dec 06:35
7780f80
Compare
Choose a tag to compare

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 #30
  • Update and publish ensemble tide modelling functionality by @robbibt in #32
  • Major refactor of statistics functions by @robbibt in #37

Full Changelog: 0.3.1...0.4.0

0.3.1

15 Nov 00:10
4895c78
Compare
Choose a tag to compare

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 #26

Full Changelog: 0.3.0...0.3.1

0.3.0

11 Nov 06:20
56beb4c
Compare
Choose a tag to compare

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 #25

Full Changelog: 0.2.0...0.2.1

0.2.0

30 Oct 01:13
Compare
Choose a tag to compare

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 #19
  • Refactor time, rename phase func by @robbibt in #23

Full Changelog: 0.1.1...0.2.0

0.1.1

22 Oct 01:59
Compare
Choose a tag to compare

Fix bug with plot_col from tide_stats

Full Changelog: 0.1.0...0.1.1

0.1.0

21 Oct 12:12
Compare
Choose a tag to compare

First minor release of eo-tides

Full Changelog: 0.0.23...0.1.0

0.0.23

17 Oct 08:11
Compare
Choose a tag to compare

Full Changelog: 0.0.22...0.0.23

0.0.22

14 Oct 05:59
Compare
Choose a tag to compare

Major update to package dependencies

Full Changelog: 0.0.21...0.0.22

0.0.21

09 Oct 07:17
Compare
Choose a tag to compare

Full Changelog: 0.0.20...0.0.21

0.0.20

02 Oct 07:21
Compare
Choose a tag to compare

Full Changelog: 0.0.19...0.0.20