Releases: fmemuir/COASTGUARD
Releases · fmemuir/COASTGUARD
CoastLearn release
Third Release
- This is the third release of the COASTGUARD repo. The repo has been extended to a new toolset CoastLearn for generating short-term data-driven predictions of coastal vegetation edge and waterline positions along cross-shore transects.
- The goal with the
CoastLearnrelease/toolset is to serve as a real-time early warning system for coastal change across the entire shoreface, trained and forced with solely satellite-derived coastal metrics. - This is the last update containing an entirely new toolset; releases after this will most likely be related to bugs and issues as they arise.
New Functionality
- The transect-based data from CoasTrack is used to train, validate and test a Long-Short-Term Memory neural network;
- Various functions have been written to interpolate over the datasets to regulate them;
- A function to prep the data and compile the neural network allows for different hyperparameters to be fed in by the user;
- Training takes place using TensorFlow, with the training histories able to be viewed in a browser with TensorBoard;
- A feature importance function uses Integrated Gradients to assess the influence of each coastal metric in a transect dataframe;
- Various plotting routines can be called to visualise all of the above (full list in CoastLearn_DriverTemplate and PredictionsPlotting)
Full Changelog: CoasTrack-v1.0...CoastLearn-v1.0
Acknowledgements
- Daniel Tudor: original code snippets
- @eduardogomezdelapena: assistance in implementing ShoreShop loss function
CoasTrack release
Second Release
- This is the second release of the COASTGUARD repo. The repo has been extended to a new toolset CoasTrack for generating and analysing timeseries of coastal vegetation edges, waterlines, topographic swaths and wave conditions along cross-shore transects.
- The goal with the CoasTrack release/toolset is to build a digital twin of the coast, using only satellite- or aerially-derived data.
- Note: the tag date for this release is 2024-06-12, even though the release is 2025-01-22
- More tools for predicting changes to vegetation edges and waterlines will be coming soon
New Functionality
- Transects now intersect with and store:
- Timeseries of VE positions, dates of capture, NDVI thresholds used to contour;
- Timeseries of WL positions, dates of capture, NDWI thresholds used to contour;
- Timeseries of beach widths between them;
- Timeseries of tidal elevations at the time of each satellite image (from FES2014 and now FES2022 #26);
- Rate of change from oldest to newest VE and WL in m/yr;
- Rate of change from second newest to newest VE and WL in m/yr;
- Timeseries of corrected WL positions based on tidal elevation and beach slope;
- Dynamic beach slope value based on WL timeseries;
- Timeseries of maximum slope values at each VE position, extracted from single DEM;
- Timeseries of mean slope values at each VE position, extracted from single DEM;
- Timeseries of widths of the vegetation transition zone;
- Mean width of the vegetation transition zone;
- Timeseries of significant wave height from requested Copernicus Marine Service product (full timeseries, not just satellite dates);
- Timeseries of mean wave direction from requested Copernicus Marine Service product (full timeseries, not just satellite dates);
- Timeseries of peak wave period from requested Copernicus Marine Service product (full timeseries, not just satellite dates);
- Timeseries of wave alpha AKA difference between mean wave direction and shore angle (full timeseries, not just satellite dates);
- Net wave diffusivity index;
- Net wave stability index;
- Wave runups calculated using chosen runup formulation (Senechal et al., 2011 or Stockdon et al., 2006);
- Iribarren number based on extracted wave conditions
- Updates to geemap implemented (#10)
- New Google Earth Engine Landsat collections updated (#13)
- Streamlining of GEE ImageCollection creation in a loop (#19 and #24)
- Tidal correction functions extended, enhanced, and now use CoastSat.slope to calculate the dynamic beach slope (#20)
- Plotting functions for analysis (Plotting.py and PlottingSeaborn.py):
- VE timeseries, WL timeseries Transition Zone timeseries;
- Seasonality assessment where seasonal (annual) signals are extracted from the timeseries and a Seasonal Strength Index is calculated;
- Wave direction rose plots with wave height histograms on radius axis;
- Multivariate matrix of all the single-value-per-transect metrics listed above, plotted as scatter plots with linear and LOESS lines of best fit;
- Ability to cluster per-transect values in multivariate matrix by VE trend (eroding or accreting);
- Perform Principal Component Analysis on all the single-value-per-transect metrics listed above, and generate a biplot of the first and second PCs with eigenvectors of each metric;
- Timeseries of storms, tidal elevations, and successful vs. unsuccessful satellite images (new functionality also added to record success rates and reasons for images being ignored)
Full Changelog: VedgeSat-v1.0...CoasTrack-v1.0
Acknowledgments
- @IdhamN: bug-finding, testing, TZ adjustments, plotting suggestions
- @nguardo24: bug-finding, testing, and PlanetScope API suggestions
- @cmac95: bug-finding, testing, datetime suggestions
- @ccromwellu: bug-finding, testing
- @DakDune: bug-finding, testing
VedgeSat release
First Release
- This is the first official release of the COASTGUARD repo
- This repo is being used primarily as a holder for the VedgeSat tool
- More tools for monitoring and modelling coastal change using machine learning and satellite observations will be added in due course!
Contributions
- Original scripts by @fmemuir and @EkulRF
- Minor updates to the readme by @mdhurst1 in #1
- Updates to allow shapefile to be used as AOI by @mdhurst1 in #2
- update README.md by @mdhurst1 in #3
- Edinburgh testing by @cmac95 in #6
- Changes to transects and timeseries plots by @cmac95 in #8
- Update VedgeSat_DriverTemplate.py by @cmac95 in #9
New Contributors
Full Changelog: https://github.com/fmemuir/COASTGUARD/commits/v1.0