Releases: GeoscienceAustralia/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
toensemble_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
andtide_stats
and add support for multiple modelstide_stats
will now return apandas.Series
if one model is requested, and apandas.DataFrame
if multiple are requested- Added a new
point_col
parameter totide_stats
to control the colour of plotted points. Ifplot_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 withcrop=True
(defaults to 5 degrees) -
Reorder
model_tides
parameters to provide more logical flow and move more common params likemode
,output_format
andoutput_units
higher
Bug fixes
- Fix warnings from
load_gauge_gesla
function
Breaking changes
- The
plot_col
parameter fromtide_stats
has been renamed toplot_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
New features
- Add new "all" option to
model
param inmodel_tides
,pixel_tides
etc, 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_models
function.
PRs
Full Changelog: 0.3.0...0.3.1
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 withpyTMD
to ensure the clipped data is suitable for tide modelling.
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 toeo_tides.utils
(fromeo_tides.model
)
PRs
Full Changelog: 0.2.0...0.2.1
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 theeo_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
orxr.Dataset
orodc.geo.geobox.GeoBox
; if an xarray object is passed, it must have a"time"
dimension; if GeoBox is passed, time must be provided by thetime
parameter. time
parameters 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_tides
now uses default cropping approach frompyTMD
, rather than applying a bespoke 1 degree buffer around the selected analysis areamodel_tides
refactored to use simpler approach to loading tide consistuents enabled inpyTMD==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 namedata
(to account for now accepting eitherxarray.Dataset
,xarray.DataArray
or aodc.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
Fix bug with plot_col
from tide_stats
Full Changelog: 0.1.0...0.1.1
0.1.0
First minor release of eo-tides
Full Changelog: 0.0.23...0.1.0
0.0.23
Full Changelog: 0.0.22...0.0.23
0.0.22
Major update to package dependencies
Full Changelog: 0.0.21...0.0.22
0.0.21
Full Changelog: 0.0.20...0.0.21
0.0.20
Full Changelog: 0.0.19...0.0.20