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.