1 SUBROUTINE etcalc(ETA,ETP,ESD,VEGFAC,ISOIL,SMC,CMC, &
2 & EC,EDIR,ETRANS,ESNOW,SMCDRY,SMCMAX)
24 integer,
parameter :: nosoiltype=19
26 integer,
intent(in) :: ISOIL
27 real,
intent(in) :: ETA,ETP,ESD,VEGFAC,SMC
28 real,
intent(inout) :: CMC
29 real,
intent(out) :: EC,EDIR,ETRANS,ESNOW
30 real SMCDRY,SMCMAX,SRATIO,CMCMAX,CFACTR
32 REAL SMDRY(nosoiltype),SMMAX(nosoiltype)
34 DATA cfactr,cmcmax /0.5,0.5e-3/
57 DATA smdry /0.023, 0.028, 0.047, 0.084, 0.084, 0.066, &
58 & 0.069, 0.120, 0.103, 0.100, 0.126, 0.135, &
59 & 0.069, 0.000, 0.012, 0.028, 0.135, 0.012, &
62 DATA smmax /0.395, 0.421, 0.434, 0.476, 0.476, 0.439, &
63 & 0.404, 0.464, 0.465, 0.406, 0.468, 0.457, &
64 & 0.464, 0.000, 0.200, 0.421, 0.457, 0.200, &
98 IF (cmc > cmcmax) cmc = cmcmax
99 ec = vegfac*((cmc/cmcmax)**cfactr)*etp
106 sratio = (smc-smcdry)/(smcmax-smcdry)
107 IF (sratio > 0.)
THEN
109 fx = max(0.,min(fx,1.))
113 edir = fx*(1.0-vegfac)*etp
118 etrans = eta - edir - ec
120 IF (etrans < 0.) etrans = 0.