Returns a spectrum instance with the wave dissipation due to turbulence ($S_{dt}$) tendency formulated by Donelan et al. (2012).
The result instance has the units of 1/s. This source function can be evaluated once and stored if wavenumber array, air and water densities, and friction velocity are held constant.
References:
Donelan, M. A., M. Curcic, S. S. Chen, and A. K. Magnusson, 2012: Modeling waves and wind stress, J. Geophys. Res. Oceans, 117, C00J23, doi:10.1029/2011JC007787.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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] |
Result tendency instance
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).
!!
!! The result instance has the units of 1/s. This source function can be
!! evaluated once and stored if wavenumber array, air and water densities, and
!! friction velocity are held constant.
!!
!! References:
!!
!! Donelan, M. A., M. Curcic, S. S. Chen, and A. K. Magnusson, 2012: Modeling
!! waves and wind stress, *J. Geophys. Res. Oceans*, **117**, C00J23,
!! doi:10.1029/2011JC007787.
use mod_spectrum,only:spectrum_type
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]
type(spectrum_type) :: tendency
!! Result tendency instance
tendency = sdt_coefficient * sqrt(spectrum % getAirDensity()&
/ spectrum % getWaterDensity()) * ustar * spectrum % getWavenumber2d()
endfunction sdt_DCCM2012