48 INTEGER,
INTENT(IN) :: J
49 INTEGER,
INTENT(IN) :: FORMULA
54 DOUBLE PRECISION RHO, RHO_S, G, D50, D90, DMAX, FMAX, TAUC, TAUB
55 DOUBLE PRECISION PON, SUMME
56 DOUBLE PRECISION DSTAR, DENS
75 IF(
fdm(i).GE.
fdm(i+1))
THEN 76 WRITE(
lu,*)
'STOPPING!!!! GRAIN CLASSES HAVE TO BE',
77 &
' IN ASCENDING ORDER!!! FOR DYNAMIC ALT' 96 IF (summe.GE.fmax)
THEN 100 IF(
avail(j,1,i).GT.0.d0)
THEN 101 summe =
avail(j,1,i) + summe
102 IF(summe.GE.fmax.AND.dmax.EQ.0.d0)
THEN 110 IF (dmax.LE.0.d0.AND.summe.GT.
zero)
THEN 111 WRITE(
lu,*)
'UHM DMAXERROR' 113 WRITE(
lu,*)
'DMAXERROR',j,i,
fdm(i),
avail(j,1,i),summe
114 WRITE(
lu,*)
zf%R(j)-
zr%R(j)
124 IF (summe.GE.fmax)
THEN 128 IF(
avail(j,1,i).GT.0.d0)
THEN 129 summe =
avail(j,1,i) + summe
130 IF(summe.GE.fmax.AND.d90.EQ.0.d0)
THEN 138 IF (d90.LE.0.d0.AND.summe.GT.
zero)
THEN 139 WRITE(
lu,*)
'UHM D90ERROR', d90, fmax, summe
141 WRITE(
lu,*)
'D90ERROR',j,i,
fdm(i),
avail(j,1,i),summe
143 WRITE(
lu,*)
'D90ERROR' 158 SELECT CASE (formula)
171 cvsp_alt = 2.d0 * taub / (g*(rho_s-rho))
172 & / tan(
phised/180.0d0*
pi) / (1.d0-pon)
180 IF(tauc.GT.0.d0)
THEN 181 IF(taub.GT.tauc)
THEN 182 dens = (rho_s - rho) / rho
183 dstar = d50*(g*dens/
vce**2)**(1.d0/3.d0)
185 & ((taub-tauc)/tauc)**0.5*d50
192 IF((taub/(rho_s-rho)/g/d50).LT.0.0549d0)
THEN 195 cvsp_alt=5.0d0*d50*((taub/(rho_s-rho)/g/d50)
204 cvsp_alt = d90 / (1.d0-pon) * taub/tauc
218 WRITE(
lu,*)
'NO VALID CHOICE FOR "C-VSM DYNAMIC ALT MODEL"' 219 WRITE(
lu,*)
'MUST BE BETWEEN 0 AND 6' double precision, target phised
double precision, target xkv
type(bief_obj), target zr
type(bief_obj), target zf
type(bief_obj), target acladm
double precision, dimension(nsiclm), target fdm
double precision, dimension(:,:,:), allocatable, target avail
double precision function cvsp_alt(J, FORMULA)
type(bief_obj), target tob
double precision, dimension(nsiclm), target ac