87 SUBROUTINE w3spr1 (A, CG, WN, EMEAN, FMEAN, WNMEAN, AMAX)
171 REAL,
INTENT(IN) :: A(NTH,NK), CG(NK), WN(NK)
172 REAL,
INTENT(OUT) :: EMEAN, FMEAN, WNMEAN, AMAX
179 INTEGER,
SAVE :: IENT = 0
181 REAL :: EB(NK), EBAND
186 CALL strace (ient,
'W3SPR1')
199 eb(ik) = eb(ik) + a(ith,ik)
200 amax = max( amax , a(ith,ik) )
207 eb(ik) = eb(ik) *
dden(ik) / cg(ik)
208 emean = emean + eb(ik)
209 fmean = fmean + eb(ik) /
sig(ik)
210 wnmean = wnmean + eb(ik) / sqrt(wn(ik))
216 eband = eb(nk) /
dden(nk)
217 emean = emean + eband *
fte
218 fmean = fmean + eband *
ftf
219 wnmean = wnmean + eband *
ftwn
223 fmean =
tpiinv * emean / max( 1.e-7 , fmean )
224 wnmean = ( emean / max( 1.e-7 , wnmean ) )**2
227 WRITE (
ndst,9000) emean, fmean, wnmean
235 9000
FORMAT (
' TEST W3SPR1 : E,F,WN MEAN ',3e10.3)
255 SUBROUTINE w3sin1 (A, K, USTAR, USDIR, S, D)
348 REAL,
INTENT(IN) :: A(NSPEC), K(NSPEC), USTAR, USDIR
349 REAL,
INTENT(OUT) :: S(NSPEC), D(NSPEC)
356 INTEGER,
SAVE :: IENT = 0
369 CALL strace (ient,
'W3SIN1')
385 ( ustar * (
ecos(is)*cosu+
esin(is)*sinu) &
386 * k(is)/
sig2(is) - 0.035714) )
396 dout(ik,ith) = d(ith+(ik-1)*nth)
399 CALL prt2ds (
ndst, nk, nk, nth, dout,
sig(1:),
' ', 1., &
400 0.0, 0.001,
'Diag Sin',
' ',
'NONAME')
404 CALL outmat (
ndst, d, nth, nth, nk,
'diag Sin')
412 9000
FORMAT (
' TEST W3SIN1 : COMMON FACT.: ',3e10.3)
432 SUBROUTINE w3sds1 (A, K, EMEAN, FMEAN, WNMEAN, S, D)
522 REAL,
INTENT(IN) :: A(NSPEC), K(NSPEC), &
524 REAL,
INTENT(OUT) :: S(NSPEC), D(NSPEC)
531 INTEGER,
SAVE :: IENT = 0
544 CALL strace (ient,
'W3SDS1')
549 factor =
sdsc1 * fmean * wnmean**3 * emean**2
552 WRITE (
ndst,9000)
sdsc1, fmean, wnmean, emean, factor
565 dout(ik,ith) = d(ith+(ik-1)*nth)
568 CALL prt2ds (
ndst, nk, nk, nth, dout,
sig(1:),
' ', 1., &
569 0.0, 0.001,
'Diag Sds',
' ',
'NONAME')
573 CALL outmat (
ndst, d, nth, nth, nk,
'diag Sds')
581 9000
FORMAT (
' TEST W3SDS1 : COMMON FACT.: ',5e10.3)