90 SUBROUTINE w3flx2 ( ZWIND, DEPTH, FP, U, UDIR, UST, USTD, Z0, CD )
170 REAL,
INTENT(IN) :: ZWIND, DEPTH, FP, U, UDIR
171 REAL,
INTENT(INOUT) :: UST
172 REAL,
INTENT(OUT) :: USTD, Z0, CD
179 INTEGER,
SAVE :: IENT = 0
181 REAL :: SQRTH, SIX, R1, WNP, CP, UNZ, ALPHA, &
187 CALL strace (ient,
'W3FLX2')
194 afp =
tpi * max( fp, 0.001)
196 sqrth = sqrt( depth )
198 i1 = int( six /
dsie )
199 IF (i1.LE.
n1max)
THEN
200 r1 = six/
dsie - real(i1)
201 wnp = ( (1.-r1)*
ewn1(i1) + r1*
ewn1(i1+1) ) / depth
203 wnp = afp * afp /
grav
212 unz = max( 0.01 , u )
216 alpha = 0.57 / ( cp / max(ust,0.0001) )**(1.5)
218 log( ( zwind *
grav) / (
cinxsi * sqrt(alpha) * unz**2) ) )
219 cd = 0.001 * ( 0.021 + 10.4 / (rdch**1.23+1.85) )
221 z0 = zwind * exp( -0.4 / sqrt(cd) )