5 &(ks,tw,uw,unorm,grav,xmve,xmvs,vce,npoin,kspratio,acladm)
57 DOUBLE PRECISION,
INTENT (INOUT) :: KS(npoin)
59 DOUBLE PRECISION,
INTENT (IN) :: GRAV,XMVE,XMVS, VCE
60 DOUBLE PRECISION,
INTENT (IN) :: UNORM(npoin),UW(npoin),TW(npoin)
62 DOUBLE PRECISION,
INTENT(IN) :: KSPRATIO
63 DOUBLE PRECISION,
INTENT(IN) :: ACLADM(npoin)
67 DOUBLE PRECISION PI, ZERO,AI
69 DOUBLE PRECISION ETA, LAMBDA
71 DOUBLE PRECISION AA,BB,CC,DD
72 DOUBLE PRECISION ALPHA,S,M,A0
73 DOUBLE PRECISION WH1,WH2,WH3
74 DOUBLE PRECISION VAR1,DHRA,LRA,HRA,LRO
75 DOUBLE PRECISION UC,KSP
86 aa=(wh2+1.d0)/2.d0/wh1
96 ksp = kspratio * acladm(i)
97 ai = acladm(i)*grav*(xmvs-xmve)/xmve
111 a0=uw(i)*tw(i)/(2.d0*pi)
112 s=acladm(i)*sqrt(ai)/4.d0/vce
117 IF(uw(i).GT.zero)
THEN 118 alpha=(tanh(0.3d0*s**(2.d0/3.d0)))**2.5d0
119 alpha=1.d0+0.81d0*alpha*(uc/uw(i))**1.9d0
123 var1=log(alpha*2.d0*a0/lra)
124 dd=max((bb-cc*var1),0.d0)
125 dhra=exp(aa-sqrt(dd))
126 hra=alpha*2.d0*a0/dhra
128 IF(dhra.LE.20.d0)
THEN 130 lro=0.62d0*2.d0*a0*alpha
133 ELSEIF(dhra.LE.100.d0)
THEN 135 lro=0.62d0*2.d0*a0*alpha
136 var1=(log(dhra)-log(100.d0))/(log(20.d0)-log(100.d0))
137 var1=log(lra)+var1*(log(lro)-log(lra))
139 var1=log(alpha*2.d0*a0/lambda)
140 dd=max((bb-cc*var1),0.d0)
141 eta=alpha*2.d0*a0/exp(aa-sqrt(dd))
subroutine ride(KS, TW, UW, UNORM, GRAV, XMVE, XMVS, VCE, NPOIN, KSPRATIO, ACLADM)