Wave runup models

This module implements different published wave runup empirical models. Each class implements a different published model which can be used to estimate wave runup, typically based on Hs, Tp, and beta.

Stockdon2006

Implements the runup model from Stockdon et al (2006)

Power2018

Implements the runup model from Power et al (2018)

Holman1986

Implements the runup model from Holman (1986)

Nielsen2009

Implements the runup model from Nielsen (2009)

Ruggiero2001

Implements the runup model from Ruggiero et al (2001)

Vousdoukas2012

Implements the runup model from Vousdoukas et al (2012)

Senechal2011

Implements the runup model from Senechal et al (2011)

Beuzen2019

Implements the GP runup model from Beuzen et al (2019).

Passarella2018

Implements the Infragravity Swash model from Passarella et al (2018)

class models.Stockdon2006(Hs=None, Tp=None, beta=None, Lp=None, r=None)

Implements the runup model from Stockdon et al (2006)

Stockdon, H. F., Holman, R. A., Howd, P. A., & Sallenger, A. H. (2006). Empirical parameterization of setup, swash, and runup. Coastal Engineering, 53(7), 573–588. https://doi.org/10.1016/j.coastaleng.2005.12.005

Examples

Calculate 2% exceedence runup level, including setup component and swash component given Hs=4m, Tp=11s, beta=0.1.

>>> from py_wave_runup.models import Stockdon2006
>>> sto06 = Stockdon2006(Hs=4, Tp=11, beta=0.1)
>>> sto06.R2
2.5420364539745717
>>> sto06.setup
0.9621334076403345
>>> sto06.swash
2.6402827466167222
Parameters
  • Hs (float or list) – Significant wave height. In order to account for energy dissipation in the nearshore, transform the wave to the nearshore, then reverse-shoal to deep water.

  • beta (float or list) – Beach slope. Typically defined as the slope between the region of \(\pm2\sigma\) where \(\sigma\) is the standard deviation of the continuous water level record.

  • Tp (float or list) – Peak wave period. Must be defined if Lp is not defined.

  • Lp (float or list) – Peak wave length Must be definied if Tp is not defined.

  • r (float or list) – Hydraulic roughness length. Can be approximated by \(r=2.5D_{50}\).

doi = '10.1016/j.coastaleng.2005.12.005'
property R2

Returns: The 2% exceedence runup level. For dissipative beaches (i.e. \(\zeta < 0.3\)) Eqn (18) from the paper is used:

\[R_{2} = 0.043(H_{s}L_{p})^{0.5}\]

For intermediate and reflective beaches (i.e. \(\zeta > 0.3\)), the function returns the result from Eqn (19):

\[R_{2} = 1.1 \left( 0.35 \beta (H_{s}L_{p})^{0.5} + \frac{H_{s}L_{p}( 0.563 \beta^{2} +0.004)^{0.5}}{2} \right)\]
property setup

Returns: The setup level using Eqn (10):

\[\bar{\eta} = 0.35 \beta (H_{s}L_{p})^{0.5}\]
property sinc

Returns: Incident component of swash using Eqn (11):

\[S_{inc} = 0.75 \beta (H_{s}L_{p})^{0.5}\]
property sig

Returns: Infragravity component of swash using Eqn (12):

\[S_{ig} = 0.06 (H_{s}L_{p})^{0.5}\]
property swash

Returns: Total amount of swash using Eqn (7):

\[S = \sqrt{S_{inc}^{2}+S_{ig}^{2}}\]
class models.Power2018(Hs=None, Tp=None, beta=None, Lp=None, r=None)

Implements the runup model from Power et al (2018)

Power, H.E., Gharabaghi, B., Bonakdari, H., Robertson, B., Atkinson, A.L., Baldock, T.E., 2018. Prediction of wave runup on beaches using Gene-Expression Programming and empirical relationships. Coastal Engineering. https://doi.org/10.1016/j.coastaleng.2018.10.006

Examples

Calculate 2% exceedence runup level given Hs=4m, Tp=11s, beta=0.1.

>>> from py_wave_runup.models import Power2018
>>> pow18 = Power2018(Hs=1, Tp=8, beta=0.07, r=0.00075)
>>> pow18.R2
1.121845349302836
Parameters
  • Hs (float or list) – Significant wave height. In order to account for energy dissipation in the nearshore, transform the wave to the nearshore, then reverse-shoal to deep water.

  • beta (float or list) – Beach slope. Typically defined as the slope between the region of \(\pm2\sigma\) where \(\sigma\) is the standard deviation of the continuous water level record.

  • Tp (float or list) – Peak wave period. Must be defined if Lp is not defined.

  • Lp (float or list) – Peak wave length Must be definied if Tp is not defined.

  • r (float or list) – Hydraulic roughness length. Can be approximated by \(r=2.5D_{50}\).

doi = '10.1016/j.coastaleng.2018.10.006'
property R2

Returns: The 2% exceedence runup level, based on following dimensionless parameters:

\[\begin{split}x_{1} &= \frac{H_{s}}{L_{p}} \\ x_{2} &= \beta \\ x_{3} &= \frac{r}{H_{s}}\end{split}\]

The final equation is given by the form:

\[\begin{split}R_{2} &= H_{s} \times ( \\ &(x_{2} + (((x_{3} \times 3) / e^{-5}) \times ((3 \times x_{3}) \times x_{3}))) \\ &+ ((((x_{1} + x_{3}) - 2) - (x_{3} - x_{2})) + ((x_{2} - x_{1}) - x_{3})) \\ &+ (((x_{3}^{x_{1}}) - (x_{3}^{\frac{1}{3}})) - ((e^{x_{2}})^{(x_{1} \times 3)})) \\ &+ \sqrt{(((x_{3} + x_{1}) - x_{2}) - (x_{2} + \log_{10}x_{3}))} \\ &+ ((((x_{2}^{2}) / (x_{1}^{\frac{1}{3}}))^{(x_{1}^{\frac{1}{3}})}) - \sqrt{x_{3}}) \\ &+ ( (x_{2} + ((x_{3} / x_{1})^{\frac{1}{3}})) + (\log(2) - (1 / (1 + e^{-(x_{2} + x_{3})}))) ) \\ &+ ((\sqrt{x_{3}} - (((3^{2}) + 3) \times (x_{2}^{2})))^{2}) \\ &+ ((((x_{3} \times -5)^{2})^{2}) + (((x_{3} + x_{3}) \times x_{1}) / (x_{2}^{2}))) \\ &+ \log{(\sqrt{((x_{2}^{2}) + (x_{3}^{\frac{1}{3}}))} + ((x_{2} + 3)^{\frac{1}{3}}))} \\ &+ ( (((x_{1} / x_{3}) \times (-5^{2})) \times (x_{3}^{2})) - \log_{10}{(1 / (1 + \exp^{-(x_{2} + x_{3})}))} ) \\ &+ (x_{1}^{x_{3}}) \\ &+ \exp^{-((((x_{3} / x_{1})^{\exp^{4}}) + ((\exp^{x_{3}})^{3}))^{2})} \\ &+ \exp^{(\log{(x_{2} - x_{3})} - \log{\exp^{-((-1 + x_{1})^{2})}})} \\ &+ ((\sqrt{4} \times (((x_{3} / x_{2}) - x_{2}) - (0 - x_{1})))^{2}) \\ &+ (2 \times ((((-5 \times x_{3}) + x_{1}) \times (2 - x_{3})) - 2)) \\ &+ ((\sqrt{4} \times (((x_{3} / x_{2}) - x_{2}) - (0 - x_{1})))^{2}) \\ &+ ((((-5 + x_{1}) - x_{2}) \times (x_{2} - x_{3})) \times ((x_{1} - x_{2}) - (-4^{-5}))) \\ &+ (\exp^{-((x_{2} + (-5 - x_{1}))^{2})} + ((x_{2} + 5) \times (x_{3}^{2}))) \\ &+ \sqrt{ 1 / ( 1 + \exp^{ -( (\exp^{x_{1}} - \exp^{-((x_{3} + x_{3})^{2})}) + ((x_{1}^{x_{3}}) - (x_{3} \times 4)) ) } ) } \\ &+ ( ( \exp^{ -( ( ( ( \exp^{ -( ( (\sqrt{x_{3}} \times 4) + (1 / (1 + \exp^{-(x_{2} + 2)})) )^{2} ) } )^{2} ) + x_{1} )^{2} ) } )^{3} ) \\ )\end{split}\]
class models.Holman1986(Hs=None, Tp=None, beta=None, Lp=None, r=None)

Implements the runup model from Holman (1986)

Holman, R.A., 1986. Extreme value statistics for wave run-up on a natural beach. Coastal Engineering 9, 527–544. https://doi.org/10.1016/0378-3839( 86)90002-5

Examples

Calculate 2% exceedence runup level, including setup component given Hs=4m, Tp=11s, beta=0.1.

>>> from py_wave_runup.models import Holman1986
>>> hol86 = Holman1986(Hs=4, Tp=11, beta=0.1)
>>> hol86.R2
3.089266633290902
>>> hol86.setup
0.8
Parameters
  • Hs (float or list) – Significant wave height. In order to account for energy dissipation in the nearshore, transform the wave to the nearshore, then reverse-shoal to deep water.

  • beta (float or list) – Beach slope. Typically defined as the slope between the region of \(\pm2\sigma\) where \(\sigma\) is the standard deviation of the continuous water level record.

  • Tp (float or list) – Peak wave period. Must be defined if Lp is not defined.

  • Lp (float or list) – Peak wave length Must be definied if Tp is not defined.

  • r (float or list) – Hydraulic roughness length. Can be approximated by \(r=2.5D_{50}\).

doi = '10.1016/0378-3839(86)90002-5'
property R2

Returns: The 2% exceedence runup level, given by

\[R_{2} = 0.83 \tan{\beta} \sqrt{H_{s}+L_{p}} + 0.2 H_{s}\]
property setup

Returns: The setup level using:

\[\bar{\eta} = 0.2 H_{s}\]
class models.Nielsen2009(Hs=None, Tp=None, beta=None, Lp=None, r=None)

Implements the runup model from Nielsen (2009)

  1. Nielsen, Coastal and Estuarine Processes, Singapore, World Scientific, 2009.

Examples

Calculate 2% exceedence runup level given Hs=4m, Tp=11s, beta=0.1.

>>> from py_wave_runup.models import Nielsen2009
>>> niel09 = Nielsen2009(Hs=4, Tp=11, beta=0.1)
>>> niel09.R2
3.276685253433243
Parameters
  • Hs (float or list) – Significant wave height. In order to account for energy dissipation in the nearshore, transform the wave to the nearshore, then reverse-shoal to deep water.

  • beta (float or list) – Beach slope. Typically defined as the slope between the region of \(\pm2\sigma\) where \(\sigma\) is the standard deviation of the continuous water level record.

  • Tp (float or list) – Peak wave period. Must be defined if Lp is not defined.

  • Lp (float or list) – Peak wave length Must be definied if Tp is not defined.

  • r (float or list) – Hydraulic roughness length. Can be approximated by \(r=2.5D_{50}\).

property R2

Returns: The 2% exceedence runup level, given by

\[R_{2} = 1.98L_{R} + Z_{100}\]

This relationship was first suggested by Nielsen and Hanslow (1991). The definitions for \(L_{R}\) were then updated by Nielsen (2009), where \(L_{R} = 0.6 \tan{\beta} \sqrt{H_{rms}L_{s}}\) for \(\tan{\beta} \geq 0.1\) and \(L_{R} = 0.06\sqrt{H_{rms}L_{s}}\) for \(\tan{\beta}<0.1\). Note that \(Z_{100}\) is the highest vertical level passed by all swash events in a time period and is usually taken as the tide varying water level.

class models.Ruggiero2001(Hs=None, Tp=None, beta=None, Lp=None, r=None)

Implements the runup model from Ruggiero et al (2001)

Ruggiero, P., Komar, P.D., McDougal, W.G., Marra, J.J., Beach, R.A., 2001. Wave Runup, Extreme Water Levels and the Erosion of Properties Backing Beaches. Journal of Coastal Research 17, 407–419.

Examples

Calculates 2% exceedence runup level given Hs=4m, Tp=11s, beta=0.1.

>>> from py_wave_runup.models import Ruggiero2001
>>> rug01 = Ruggiero2001(Hs=4, Tp=11, beta=0.1)
>>> rug01.R2
2.3470968711209452
Parameters
  • Hs (float or list) – Significant wave height. In order to account for energy dissipation in the nearshore, transform the wave to the nearshore, then reverse-shoal to deep water.

  • beta (float or list) – Beach slope. Typically defined as the slope between the region of \(\pm2\sigma\) where \(\sigma\) is the standard deviation of the continuous water level record.

  • Tp (float or list) – Peak wave period. Must be defined if Lp is not defined.

  • Lp (float or list) – Peak wave length Must be definied if Tp is not defined.

  • r (float or list) – Hydraulic roughness length. Can be approximated by \(r=2.5D_{50}\).

property R2

Returns: The 2% exceedence runup level, given by:

\[R_{2} = 0.27 \sqrt{\beta H_{s} L_{p}}\]
class models.Vousdoukas2012(Hs=None, Tp=None, beta=None, Lp=None, r=None)

Implements the runup model from Vousdoukas et al (2012)

Vousdoukas, M.I., Wziatek, D., Almeida, L.P., 2012. Coastal vulnerability assessment based on video wave run-up observations at a mesotidal, steep-sloped beach. Ocean Dynamics 62, 123–137. https://doi.org/10.1007/s10236-011-0480-x

Examples

Calculates 2% exceedence runup level given Hs=4m, Tp=11s, beta=0.1.

>>> from py_wave_runup.models import Vousdoukas2012
>>> vou12 = Vousdoukas2012(Hs=4, Tp=11, beta=0.1)
>>> vou12.R2
2.1397213136650377
Parameters
  • Hs (float or list) – Significant wave height. In order to account for energy dissipation in the nearshore, transform the wave to the nearshore, then reverse-shoal to deep water.

  • beta (float or list) – Beach slope. Typically defined as the slope between the region of \(\pm2\sigma\) where \(\sigma\) is the standard deviation of the continuous water level record.

  • Tp (float or list) – Peak wave period. Must be defined if Lp is not defined.

  • Lp (float or list) – Peak wave length Must be definied if Tp is not defined.

  • r (float or list) – Hydraulic roughness length. Can be approximated by \(r=2.5D_{50}\).

property R2

Returns: The 2% exceedence runup level, given by:

class models.Atkinson2017(Hs=None, Tp=None, beta=None, Lp=None, r=None)

Implements the runup model from Atkinson et al (2017)

Atkinson, A.L., Power, H.E., Moura, T., Hammond, T., Callaghan, D.P., Baldock, T.E., 2017. Assessment of runup predictions by empirical models on non-truncated beaches on the south-east Australian coast. Coastal Engineering 119, 15–31. https://doi.org/10.1016/j.coastaleng.2016.10.001

Examples

Calculate 2% exceedence runup level given Hs=4m, Tp=11s, beta=0.1

>>> from py_wave_runup.models import Atkinson2017
>>> atk17 = Atkinson2017(Hs=4, Tp=11, beta=0.1)
>>> atk17.R2
3.177500364611603
Parameters
  • Hs (float or list) – Significant wave height. In order to account for energy dissipation in the nearshore, transform the wave to the nearshore, then reverse-shoal to deep water.

  • beta (float or list) – Beach slope. Typically defined as the slope between the region of \(\pm2\sigma\) where \(\sigma\) is the standard deviation of the continuous water level record.

  • Tp (float or list) – Peak wave period. Must be defined if Lp is not defined.

  • Lp (float or list) – Peak wave length Must be definied if Tp is not defined.

  • r (float or list) – Hydraulic roughness length. Can be approximated by \(r=2.5D_{50}\).

property R2

Returns: The 2% exceedence runup level, given by:

class models.Senechal2011(Hs=None, Tp=None, beta=None, Lp=None, r=None)

Implements the runup model from Senechal et al (2011)

Senechal, N., Coco, G., Bryan, K.R., Holman, R.A., 2011. Wave runup during extreme storm conditions. Journal of Geophysical Research 116. https://doi.org/10.1029/2010JC006819

Examples:

Calculate 2% exceedence runup level given Hs=4m, Tp=11s, beta=0.1

>>> from py_wave_runup.models import Senechal2011
>>> sen11 = Senechal2011(Hs=4, Tp=11, beta=0.1)
>>> sen11.R2
1.9723707064298488
Parameters
  • Hs (float or list) – Significant wave height. In order to account for energy dissipation in the nearshore, transform the wave to the nearshore, then reverse-shoal to deep water.

  • beta (float or list) – Beach slope. Typically defined as the slope between the region of \(\pm2\sigma\) where \(\sigma\) is the standard deviation of the continuous water level record.

  • Tp (float or list) – Peak wave period. Must be defined if Lp is not defined.

  • Lp (float or list) – Peak wave length Must be definied if Tp is not defined.

  • r (float or list) – Hydraulic roughness length. Can be approximated by \(r=2.5D_{50}\).

property R2

Returns: The 2% exceedence runup level, given by:

\[R_{2} = 2.14 \times \tanh{0.4 H_{s}}\]
property sig

Returns: Infragravity component of swash:

class models.Beuzen2019(Hs=None, Tp=None, beta=None, Lp=None, r=None)

Implements the GP runup model from Beuzen et al (2019).

Beuzen, T., Goldstein, E. B., & Splinter, K. D., 2019. Ensemble models from machine learning: an example of wave runup and coastal dune erosion. https://doi.org/10.5194/nhess-19-2295-2019

Examples:

Calculate 2% exceedence runup level given Hs=4m, Tp=11s, beta=0.1

>>> from py_wave_runup.models import Beuzen2019
>>> beu19 = Beuzen2019(Hs=4, Tp=11, beta=0.1)
>>> beu19.R2
2.181613070940485
Parameters
  • Hs (float or list) – Significant wave height. In order to account for energy dissipation in the nearshore, transform the wave to the nearshore, then reverse-shoal to deep water.

  • beta (float or list) – Beach slope. Typically defined as the slope between the region of \(\pm2\sigma\) where \(\sigma\) is the standard deviation of the continuous water level record.

  • Tp (float or list) – Peak wave period. Must be defined if Lp is not defined.

  • Lp (float or list) – Peak wave length Must be definied if Tp is not defined.

  • r (float or list) – Hydraulic roughness length. Can be approximated by \(r=2.5D_{50}\).

property R2

Returns: The 2% exceedence runup level from a pre-trained Gaussian process model

class models.Passarella2018(Hs=None, Tp=None, beta=None, Lp=None, r=None)

Implements the Infragravity Swash model from Passarella et al (2018)

Passarella, M., E. B. Goldstein, S. De Muro, G. Coco, 2018. The use of genetic programming to develop a predictor of swash excursion on sandy beaches. Nat. Hazards Earth Syst. Sci., 18, 599-611, https://doi.org/10.5194/nhess-18-599-2018

Examples

Calculate IG swash given Hs=4m, Tp=11s, beta=0.1

>>> from py_wave_runup.models import Passarella2018
>>> pas18 = Passarella2018(Hs=4, Tp=11, beta=0.1)
>>> pas18.sig
1.5687930560916425
Parameters
  • Hs (float or list) – Significant wave height. In order to account for energy dissipation in the nearshore, transform the wave to the nearshore, then reverse-shoal to deep water.

  • beta (float or list) – Beach slope. Typically defined as the slope between the region of \(\pm2\sigma\) where \(\sigma\) is the standard deviation of the continuous water level record.

  • Tp (float or list) – Peak wave period. Must be defined if Lp is not defined.

  • Lp (float or list) – Peak wave length Must be definied if Tp is not defined.

  • r (float or list) – Hydraulic roughness length. Can be approximated by \(r=2.5D_{50}\).

property sig

Returns: Infragravity component of swash using Eqn (14):

\[S_{ig} = \frac{\beta}{0.028+\beta} + \frac{-1}{2412.255 \beta - 5.521 \beta L_{p}} + \frac{H_{s} -0.711}{0.465 + 173.470 (\frac{H_{s}}{L_{p}})}\]
property swash

Returns: Total amount of swash using Eqn (12):

\[S = 146.737\beta^{2} + \frac{T_{p}H_{s}^{3}}{5.800+10.595H_{ s}^{3}} - 4397.838\beta^4\]