5 &(f,fstar,fc,volu2d,unsv2d,dt,fxbor,fxborpar,fbor,smh,yasmh,fscexp,
6 & npoin,nptfr,nbor,limtra,kdir,kddl,optsou,hlin,
7 & iopt2,flbortra,surnit,rain,pluie,train,phi_i,tetafcor,
76 INTEGER,
INTENT(IN) :: NPOIN,NPTFR,KDIR,KDDL
77 INTEGER,
INTENT(IN) :: OPTSOU,IOPT2
78 INTEGER,
INTENT(IN) :: NBOR(nptfr),LIMTRA(nptfr)
79 DOUBLE PRECISION,
INTENT(IN) :: DT,SURNIT,TRAIN,TETAFCOR
80 DOUBLE PRECISION,
INTENT(INOUT) :: FLBORTRA(nptfr),MASSOU
81 DOUBLE PRECISION,
INTENT(INOUT) :: F(npoin)
82 DOUBLE PRECISION,
INTENT(IN) :: FXBOR(nptfr)
83 DOUBLE PRECISION,
INTENT(IN) :: FC(npoin),HLIN(npoin)
84 DOUBLE PRECISION,
INTENT(IN) :: SMH(npoin),UNSV2D(npoin)
85 DOUBLE PRECISION,
INTENT(IN) :: VOLU2D(npoin)
86 DOUBLE PRECISION,
INTENT(IN) :: PLUIE(*)
87 DOUBLE PRECISION,
INTENT(IN) :: FSCEXP(npoin),FSTAR(npoin)
88 DOUBLE PRECISION,
INTENT(IN) :: FBOR(nptfr),FXBORPAR(npoin)
89 DOUBLE PRECISION,
INTENT(IN) :: PHI_I(npoin)
90 LOGICAL,
INTENT(IN) :: YASMH,RAIN,MASS_BAL
99 WRITE(
lu,*)
'TVF_2: UNKNOWN IOPT2 OPTION' 111 f(i)=f(i)-(dt/hlin(i))*unsv2d(i)*phi_i(i)
123 f(i)=f(i)+dt/hlin(i)*smh(i)
124 & *(fscexp(i)-tetafcor*fstar(i)-(1.d0-tetafcor)*fc(i))
126 ELSEIF(optsou.EQ.2)
THEN 128 f(i)=f(i)+dt/hlin(i)*unsv2d(i)*smh(i)
129 & *(fscexp(i)-tetafcor*fstar(i)-(1.d0-tetafcor)*fc(i))
135 IF(smh(i).GT.0.d0)
THEN 136 massou=massou+dt*volu2d(i)*smh(i)*fscexp(i)
138 massou=massou+dt*volu2d(i)*smh(i)
139 & *(tetafcor*fstar(i)+(1.d0-tetafcor)*fc(i))
142 ELSEIF(optsou.EQ.2)
THEN 144 IF(smh(i).GT.0.d0)
THEN 145 massou=massou+dt*smh(i)*fscexp(i)
147 massou=massou+dt*smh(i)
148 & *(tetafcor*fstar(i)+(1.d0-tetafcor)*fc(i))
163 IF(pluie(i).GT.0.d0)
THEN 165 f(i)=f(i)+dt/hlin(i)*pluie(i)
166 & *(train-tetafcor*fstar(i)-(1.d0-tetafcor)*fc(i))
169 f(i)=f(i)+dt/hlin(i)*pluie(i)
170 & *( -tetafcor*fstar(i)-(1.d0-tetafcor)*fc(i))
186 IF(limtra(i).EQ.kdir)
THEN 188 f(n)=f(n)-dt/hlin(n)*unsv2d(n)*fxborpar(n)*
189 & (fbor(i)-(1.d0-tetafcor)*fc(n)-tetafcor*fstar(n))
194 IF(limtra(i).EQ.kdir)
THEN 195 flbortra(i)=flbortra(i)+fxbor(i)*fbor(i)*surnit
196 ELSEIF(limtra(i).EQ.kddl)
THEN 198 flbortra(i)=flbortra(i)
199 & +fxbor(i)*((1.d0-tetafcor)*fc(n)+tetafcor*fstar(n))*surnit
subroutine tvf_2(F, FSTAR, FC, VOLU2D, UNSV2D, DT, FXBOR, FXBORPAR, FBOR, SMH, YASMH, FSCEXP, NPOIN, NPTFR, NBOR, LIMTRA, KDIR, KDDL, OPTSOU, HLIN, IOPT2, FLBORTRA, SURNIT, RAIN, PLUIE, TRAIN, PHI_I, TETAFCOR, MASS_BAL, MASSOU)