95 SUBROUTINE w3flx3 ( ZWIND, DEPTH, FP, U, UDIR, UST, USTD, Z0, CD )
177 REAL,
INTENT(IN) :: ZWIND, DEPTH, FP, U, UDIR
178 REAL,
INTENT(INOUT) :: UST
179 REAL,
INTENT(OUT) :: USTD, Z0, CD
186 INTEGER,
SAVE :: IENT = 0
188 REAL :: SQRTH, SIX, R1, WNP, CP, UNZ, ALPHA, &
194 CALL strace (ient,
'W3FLX3')
201 afp =
tpi * max( fp, 0.001)
203 sqrth = sqrt( depth )
205 i1 = int( six /
dsie )
206 IF (i1.LE.
n1max)
THEN
207 r1 = six/
dsie - real(i1)
208 wnp = ( (1.-r1)*
ewn1(i1) + r1*
ewn1(i1+1) ) / depth
210 wnp = afp * afp /
grav
219 unz = max( 0.01 , u )
223 alpha = 0.57 / ( cp / max(ust,0.0001) )**(1.5)
225 log( ( zwind *
grav) / (
cinxsi * sqrt(alpha) * unz**2) ) )
226 cd = 0.001 * ( 0.021 + 10.4 / (rdch**1.23+1.85) )
228 z0 = zwind * exp( -0.4 / sqrt(cd) )
240 z0 = zwind * exp( -0.4 / sqrt(cd) )