ErosionTransectsUtil: Erosion Transects Utility

View source: R/ErosionTransectsUtil.R

ErosionTransectsUtilR Documentation

Erosion Transects Utility

Description

Beach erosion model originally developed by Dr. Greg Guannel for the Coastal Natural Capital InVEST project. This function estimates beach retreat and wave runup based on foreshore attributes.

Usage

ErosionTransectsUtil(
  Ho = 2.5,
  To = 7,
  total_wsl_adj = NA,
  linkbeach = NA,
  wave_data = NA,
  storm_duration = 3,
  Longshore = 100,
  PropValue = 200,
  Tr = 10,
  disc = 0.05,
  TimeHoriz = 50,
  mean_sea_level = 0.01,
  mean_high_water = 0.7
)

Arguments

Ho

Initial offshore wave height in meters.

To

Initial offshore wave period in seconds.

total_wsl_adj

Total water surface level above the chart datum. Recall that the chart datum and TopoBathy DEM are referenced to have 0 at low water. It is recommended that the erosion model is run with mean sea level.

linkbeach

Dataframe returned from LinkProfilesToBerms.

wave_data

sf and dataframe spatial points returned from WaveModel.

storm_duration

Numeric. Storm duration in hours.

Longshore

Longshore distance in meters should match ShorelinePointDist used in samplePoints.

PropValue

Generally land value in dollars per square meter of beach. (not used if beach polygon property values are provided).

Tr

Numeric. Return period (frequency) of the simulated storm (in years).

disc

Annual valuation discount rate over the time horizon (0 - 1).

TimeHoriz

Time horizon (in years) for long term cumulative valuation given a storm return frequency. Typically 100-year horizons are used.

mean_sea_level

Mean sea level elevation in meters above chart datum.

mean_high_water

Mean high water level elevation in meters above chart datum.

Details

The coastal erosion model was originally developed by Dr. Greg Guannel for the Coastal Natural Capital InVEST project. This function estimates lateral beach erosion and wave runup for each cross-shore profile. Foreshore parameters for berm width, height etc. are provided as spatial polygons for each beach section. These are then linked to underlying cross-shore profiles for erosion estimates. The return object is a data frame showing erosion estimates for each cross-shore profile.

Value

A data frame with erosion estimates for each cross-shore profile. _NoVeg is estimated without submerged vegetation and _Veg is an estimate with submerged vegetation #'

retreat_

Lateral beach retreat distance in meters from the storm. (single storm event)

runup_

Vertical wave runup elevation at a profile.

damage_

Total erosion damage at a cross-shore profile section from beach loss due to retreat and storm return period over the time horizon.

transect_id

Cross-shore profile transect ID (to link back to previous data sets.

area_loss_

Beach loss area m2 from the storm (single storm event) .

vol_loss_

Beach loss volume m3 from the storm (single storm event).

retreat_pct_

Beach retreat percentage (lateral retreat distance divided by berm width).

retreat_index_

Beach retreat index score 1-5.

References

InVEST: Wave Attenuation & Erosion Reduction: Coastal Protection (G. Guannel)

Guannel et al. (2014) Integrated modeling framework to quantify the coastal protection services supplied by vegetation. Journal of Geophysical Research: Oceans. DOI: 10.1002/2014JC009821.

Examples

## Not run: 
library(MNAI.CPBT)
data(Coastline)
# Generate cross-shore profile lines along the coastline.
crossshore_profiles <- samplePoints(
  Coastline = Coastline,
  ShorelinePointDist = 150,
  BufferDist = 50,
  RadLineDist = 1.5
)
crossshore_lines <- crossshore_profiles[[2]]

# Extract elevation values along each profile
rpath <-  system.file("extdata", "TopoBathy.tif", package = "MNAI.CPBT")
TopoBathy <- raster::raster(rpath)
pt_elevs <- ExtractElev(crossshore_lines, TopoBathy)

# Run SignalSmooth function to smooth elevation profiles
pt_elevs <- SignalSmooth(point_elev = pt_elevs,
SmoothParameter = 5)

# Clean the cross-shore profiles with CleanTransect
data(Trimline)
cleantransect <- CleanTransect(
  point_elev = pt_elevs,
  RadLineDist = 1.5,
  MaxOnshoreDist = 0.01,
  trimline = Trimline
)

# Merge vegetation onto lines
data(Vegetation)
dat_veg <- ExtractVeg(pt_exp = cleantransect, Vegetation = Vegetation)

# Run the wave evolution model
wave_data <- WaveModel(dat = dat_veg,
  total_wsl_adj = 0.5,
  Ho = 2,
  To = 8
)

data(BeachAttributes)
linkbeach <- LinkProfilesToBeaches(BeachAttributes = BeachAttributes,
dat = wave_data)

erosion <- ErosionTransectsUtil(
    Ho = 2,
    To = 8,
    total_wsl_adj = 0.5,
    linkbeach = linkbeach,
    wave_data = wave_data,
    storm_duration = 3,
    Tr = 10,
    Longshore = 150,
    PropValue = 200,
    disc = 0.05,
    TimeHoriz = 50
  )

 # erosion summaries by cross-shore profile sections
 print(wave_data)


## End(Not run)

essatech/MNAI.CPBT documentation built on July 1, 2023, 12:34 p.m.