5 &(hn,npoin,hmin,fdm,fd90,xwc,csratio)
35 TYPE(bief_obj),
INTENT(IN) :: HN
36 INTEGER,
INTENT(IN) :: NPOIN
37 DOUBLE PRECISION,
INTENT(IN) :: FDM,FD90,XWC,HMIN
38 TYPE(bief_obj),
INTENT(INOUT) :: CSRATIO
43 DOUBLE PRECISION :: UB,USTARS,RB,BETAS
44 DOUBLE PRECISION :: SFBETA(npoin),AUX,RRTPI
45 DOUBLE PRECISION :: FVINV
46 DOUBLE PRECISION :: DZ,TAU,TAU_SQ,UCR
48 DOUBLE PRECISION BIEF_ERF
63 pi = 4.d0 * atan( 1.d0 )
74 IF(fdm.LT.500.e-6)
THEN 76 ucr = 0.19d0*(fdm**0.1d0)*log10(4.d0*hn%R(i)/fd90)
79 ucr = 8.5d0*(fdm**0.6d0)*log10(4.d0*hn%R(i)/fd90)
82 ub = sqrt(
u2d%R(i)**2+
v2d%R(i)**2)
84 IF(hn%R(i).GT.hmin.AND.ub.GT.ucr)
THEN 85 ustars = 1.3d0*ub*sqrt(
sfon/8.d0)
88 betas = rb/(1.d0-exp(-rb))
90 dz = (1.d0/6.d0)*0.4d0*hn%R(i)*ustars
92 tau = xwc*sqrt(
dt/(4.d0*dz))
102 & dz*fvinv*betas*(4.d0*tau_sq*(1.d0+tau_sq)*(1.d0-aux)
103 & + aux - 2.d0*tau*(1.d0+2.d0*tau_sq)*exp(-tau_sq)*rrtpi)
105 IF(sfbeta(i)*xwc/hn%R(i).GT.1.d0) sfbeta(i)=1.d0/(xwc*hn%R(i))
107 csratio%R(i)=sfbeta(i)/
dt
subroutine suspension_miles(HN, NPOIN, HMIN, FDM, FD90, XWC, CSRATIO)
double precision, target dt
type(bief_obj), target v2d
type(bief_obj), target u2d