ittc_spwes_waveamplitude Subroutine

public pure subroutine ittc_spwes_waveamplitude(omega, domega, hs, wave_amplitude)

11th-ITTC (1966) 单参数波能谱模型计算频段有义波幅 ITTC single-parameter wave energy spectrum

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: omega

波浪角频率, rad/s

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

频率间隔, rad/s

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

有义波高, m

real(kind=rk), intent(out) :: wave_amplitude

频段有义波幅, m


Contents


Source Code

    pure subroutine ittc_spwes_waveamplitude(omega, domega, hs, wave_amplitude)
        real(kind=rk), intent(in) :: omega  !! 波浪角频率, rad/s
        real(kind=rk), intent(in) :: domega !! 频率间隔, rad/s
        real(kind=rk), intent(in) :: hs     !! 有义波高, m
        real(kind=rk), intent(out) :: wave_amplitude !! 频段有义波幅, m
        real(kind=rk) :: s
        real(kind=rk), parameter :: a = 8.1e-3_rk*g**2

        associate (b => 3.11_rk/hs**2)
            s = a*exp(-b/omega**4)/omega**5
            wave_amplitude = sqrt(2*s*domega)  ! A = sqrt(2*S_\omega*d\omega)
        end associate

    end subroutine ittc_spwes_waveamplitude