mod_source_functions Module

module~~mod_source_functions~~UsesGraph module~mod_source_functions mod_source_functions module~mod_precision mod_precision module~mod_precision->module~mod_source_functions iso_fortran_env iso_fortran_env iso_fortran_env->module~mod_precision
Help

Functions

public pure elemental function sin_DCCM2012(spectrum, wspd, wdir, input_height, ustar, vonkarman) result(tendency)

TODO implement currents averaged over the effective depth layer for modulation of phase speed.

Arguments

Type IntentOptional AttributesName
type(spectrum_type), intent(in) :: spectrum

Input spectrum instance

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

Input wind speed [m/s]

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

Input wind direction [rad], mathematical convention

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

Height of input wind speed [m/s]

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

Air-side friction velocity [m/s]

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

Von Karman constant

Return Value type(spectrum_type)

public pure elemental function sds_DCCM2012(spectrum, sds_coefficient, sds_power, mss_coefficient) result(tendency)

Returns a spectrum instance with the wave dissipation ($S_{ds}$) tendency formulated by Donelan et al. (2012).

Arguments

Type IntentOptional AttributesName
type(spectrum_type), intent(in) :: spectrum

Linear coefficient of the dissipation function

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

Linear coefficient of the dissipation function

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

The exponent of the saturation spectrum

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

Linear coefficient of the mean square slope adjustment to Sds

Return Value type(spectrum_type)

Result tendency instance

public pure elemental function sdt_DCCM2012(spectrum, sdt_coefficient, ustar) result(tendency)

Returns a spectrum instance with the wave dissipation due to turbulence ($S_{dt}$) tendency formulated by Donelan et al. (2012).

Arguments

Type IntentOptional AttributesName
type(spectrum_type), intent(in) :: spectrum

Spectrum instance

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

Linear coefficient of the turbulent dissipation function

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

Air-side friction velocity [m/s]

Return Value type(spectrum_type)

Result tendency instance

public pure elemental function sbf_DCCM2012(spectrum, friction_coefficient, percolation_coefficient) result(tendency)

Returns a spectrum instance with the wave dissipation tendency due to bottom friction and percolation, formulated by Donelan et al. (2012).

Arguments

Type IntentOptional AttributesName
type(spectrum_type), intent(in) :: spectrum

Spectrum instance

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

Bottom friction coefficient [m/s]

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

Bottom permeability coefficient [m/s]

Return Value type(spectrum_type)

Result tendency instance

public pure elemental function sbf_JONSWAP(spectrum, friction_coefficient) result(tendency)

Returns a spectrum instance with the bottom friction ($S_{bot}$) tendency based on JONSWAP field data (Hasselmann et al., 1973). It is also the default parameterization scheme used in the WAM model (WAMDIG, 1988).

Arguments

Type IntentOptional AttributesName
type(spectrum_type), intent(in) :: spectrum

Spectrum instance

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

Bottom friction coefficient [m/s]

Return Value type(spectrum_type)

Result tendency instance

public pure elemental function snl_DCCM2012(spectrum, sds_tendency, snl_coefficient) result(tendency)

Returns a spectrum instance with the non-linear wave-wave energy transfer ($S_{nl}$) tendency formulated by Donelan et al. (2012).

Arguments

Type IntentOptional AttributesName
type(spectrum_type), intent(in) :: spectrum

Spectrum instance

type(spectrum_type), intent(in) :: sds_tendency

Spectral dissipation tendency instance

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

Linear coefficient of the dissipation function

Return Value type(spectrum_type)

Result tendency instance