56 SUBROUTINE w3sln1 (K, FHIGH, USTAR, USDIR, S)
151 REAL,
INTENT(IN) :: K(NK), FHIGH, USTAR, USDIR
152 REAL,
INTENT(OUT) :: S(NTH,NK)
159 INTEGER,
SAVE :: IENT = 0
161 REAL :: COSU, SINU, DIRF(NTH), FAC, FF1, FF2, &
167 CALL strace (ient,
'W3SLN1')
180 dirf(ith) = max( 0. , (
ecos(ith)*cosu+
esin(ith)*sinu) )**4
183 fac =
slnc1 * ustar**4
185 ff2 =
fshf * min(
sig(nk),fhigh)
186 ffilt = min( max(ff1,ff2) , 2.*
sig(nk) )
188 rfr =
sig(ik) / ffilt
189 IF ( rfr .LT. 0.5 )
THEN
192 wnf(ik) = fac / k(ik) * exp(-rfr**(-4))
199 s(:,ik) = wnf(ik) * dirf(:)
207 900
FORMAT (
' TEST W3SLN1 : USTAR, DIR :',f6.3, f6.1)