mod_spectral_shapes Module

module~~mod_spectral_shapes~~UsesGraph module~mod_spectral_shapes mod_spectral_shapes module~mod_const mod_const module~mod_const->module~mod_spectral_shapes module~mod_precision mod_precision module~mod_precision->module~mod_spectral_shapes module~mod_precision->module~mod_const module~mod_nondimensional mod_nondimensional module~mod_precision->module~mod_nondimensional module~mod_nondimensional->module~mod_spectral_shapes iso_fortran_env iso_fortran_env iso_fortran_env->module~mod_precision
Help

Functions

public pure elemental function donelanHamiltonHui(f, fpeak, wspd, grav) result(spec)

The omnidirectional spectrum function based on the laboratory and field measurements by Donelan, Hamilton, and Hui (1985).

Arguments

Type IntentOptional AttributesName
real(kind=rk), intent(in) :: f

Frequency [Hz]

real(kind=rk), intent(in) :: fpeak

Peak frequency [Hz]

real(kind=rk), intent(in) :: wspd

Wind speed at 10 m height [m/s]

real(kind=rk), intent(in) :: grav

Gravitational acceleration [m/s^2]

Return Value real(kind=rk)

public pure elemental function donelanHamiltonHuiDirectionalSpreading(f, wspd, fpeak, theta, theta_mean) result(spreading)

Directional spreading function based on the laboratory and field measurements by Donelan, Hamilton, and Hui (1985). Includes the high-frequency form for beta_s found by Banner (1990).

Arguments

Type IntentOptional AttributesName
real(kind=rk), intent(in) :: f

Frequency [Hz]

real(kind=rk), intent(in) :: wspd

Wind speed at 10 m height [m/s]

real(kind=rk), intent(in) :: fpeak

Peak frequency [Hz]

real(kind=rk), intent(in) :: theta

Wave direction [rad]

real(kind=rk), intent(in) :: theta_mean

Mean wave direction [rad]

Return Value real(kind=rk)

public pure function donelanHamiltonHuiDirectionalSpectrum(f, theta, wspd, fpeak, theta_mean, grav) result(spec)

Returns directional frequency spectrum based on the laboratory and field measurements by Donelan, Hamilton, and Hui (1985). Includes the high frequency form for beta_s found by Banner (1990). This function invokes the DHH omnidirectional spectrum and the directional spreading functions to compute directional frequency spectrum:

Arguments

Type IntentOptional AttributesName
real(kind=rk), intent(in), dimension(:):: f

Frequency [Hz]

real(kind=rk), intent(in), dimension(:):: theta

Wave direction [rad]

real(kind=rk), intent(in) :: wspd

Wind speed at 10 m height [m/s]

real(kind=rk), intent(in) :: fpeak

Peak frequency [Hz]

real(kind=rk), intent(in) :: theta_mean

Mean wave direction [rad]

real(kind=rk), intent(in) :: grav

Gravitational acceleration [m/s^2]

Return Value real(kind=rk), dimension(:,:), allocatable

public pure elemental function jonswap(f, wspd, fetch, grav) result(spec)

Computes the JONSWAP equilibrium spectrum (Hasselmann et al. 1973) based on input wind speed at the height of 10 m and fetch.

Arguments

Type IntentOptional AttributesName
real(kind=rk), intent(in) :: f

Frequency [Hz]

real(kind=rk), intent(in) :: wspd

Wind speed at 10 m height [m/s]

real(kind=rk), intent(in) :: fetch

Fetch [m]

real(kind=rk), intent(in) :: grav

Gravitational acceleration [m/s^2]

Return Value real(kind=rk)

public pure elemental function jonswapPeakFrequency(wspd, fetch, grav) result(fpeak)

Computes the JONSWAP equilibrium peak frequency [Hz] on the input based on the 10-m wind speed and fetch [km] (Hasselmann et al., 1973).

Arguments

Type IntentOptional AttributesName
real(kind=rk), intent(in) :: wspd

Wind speed at 10 m height [m/s]

real(kind=rk), intent(in) :: fetch

Fetch [m]

real(kind=rk), intent(in) :: grav

Gravitational acceleration [m/s^2]

Return Value real(kind=rk)

public pure elemental function phillips(f, fpeak, grav) result(spec)

Computes the Phillips (1958) equilibrium spectrum based on the input peak frequency [Hz].

Arguments

Type IntentOptional AttributesName
real(kind=rk), intent(in) :: f

Frequency [Hz]

real(kind=rk), intent(in) :: fpeak

Peak frequency [Hz]

real(kind=rk), intent(in) :: grav

Gravitational acceleration [m/s^2]

Return Value real(kind=rk)

public pure elemental function piersonMoskowitz(f, wspd, grav) result(spec)

Computes the Pierson-Moskowitz (1964) equilibrium spectrum based on input wind speed at the height of 10 m.

Arguments

Type IntentOptional AttributesName
real(kind=rk), intent(in) :: f

Frequency [Hz]

real(kind=rk), intent(in) :: wspd

Wind speed at 10 m height [m/s]

real(kind=rk), intent(in) :: grav

Gravitational acceleration [m/s^2]

Return Value real(kind=rk)

public pure elemental function piersonMoskowitzPeakFrequency(wspd, grav) result(fpeak)

Computes the Pierson-Moskowitz (1964) peak frequency based on input wind speed at the height of 10 m.

Arguments

Type IntentOptional AttributesName
real(kind=rk), intent(in) :: wspd

Wind speed at 10 m height [m/s]

real(kind=rk), intent(in) :: grav

Gravitational acceleration [m/s^2]

Return Value real(kind=rk)