SUBROUTINE CALVEGSER (ISTL_) C C CHANGE RECORD C NVEGSER = NUMBER OF VEGETATION TIME SERIES C NVEGSERV(NVEGTPM) = TIME SERIES ID FOR SPECIFIC VEGETATION CLASS C MVEGTLAST(NVEGSERM) = PLACE HOLDER IN INTERPOLATION TABLE C TCVEGSER(NVEGSERM) = TIME CONVERSION FACTOR FOR TIME VARIABLE C TVEGSER(NDVEGSER,NVEGSERM) = TIME OF DATA C VEGSERRT(NVEGSERM) = CURRENT VALUE OF RDLPSQ C VEGSERBT(NVEGSERM) = CURRENT VALUE OF BPVEG C VEGSERHT(NVEGSERM) = CURRENT VALUE OF HPVEG C VEGSERR(NDVEGSER,NVEGSERM) = TIME VARYING VALUES OF RDLPSQ C VEGSERB(NDVEGSER,NVEGSERM) = TIME VARYING VALUES OF BPVEG C VEGSERH(NDVEGSER,NVEGSERM) = TIME VARYING VALUES OF HPVEG C ** SUBROUTINE CALVEGSR UPDATES TIME VARIABLE VEGETATION RESISTANCE C ** PARAMETERS C USE GLOBAL IF(NVEGSER.GT.0)THEN DO NS=1,NVEGSER IF(ISDYNSTP.EQ.0)THEN TIME=DT*FLOAT(N)/TCVEGSER(NS)+TBEGIN*(TCON/TCVEGSER(NS)) ELSE TIME=TIMESEC/TCVEGSER(NS) ENDIF M1=MVEGTLAST(NS) 100 CONTINUE M2=M1+1 IF((TIME-EPS).GT.TVEGSER(M2,NS))THEN M1=M2 GOTO 100 ELSE MVEGTLAST(NS)=M1 ENDIF TDIFF=TVEGSER(M2,NS)-TVEGSER(M1,NS) WTM1=(TVEGSER(M2,NS)-TIME)/TDIFF WTM2=(TIME-TVEGSER(M1,NS))/TDIFF VEGSERRT(NS)=WTM1*VEGSERR(M1,NS)+WTM2*VEGSERR(M2,NS) VEGSERBT(NS)=WTM1*VEGSERB(M1,NS)+WTM2*VEGSERB(M2,NS) VEGSERHT(NS)=WTM1*VEGSERH(M1,NS)+WTM2*VEGSERH(M2,NS) ENDDO DO M=1,MVEGTYP NSTMP=NVEGSERV(M) IF(NSTMP.GT.0)THEN RDLPSQ(M)=VEGSERRT(NSTMP) BPVEG(M)=VEGSERBT(NSTMP) HPVEG(M)=VEGSERHT(NSTMP) BDLTMP=BPVEG(M)*BPVEG(M)*RDLPSQ(M) PVEGX(M)=1.-BETVEG(M)*BDLTMP PVEGY(M)=1.-BETVEG(M)*BDLTMP PVEGZ(M)=1.-ALPVEG(M)*BDLTMP BDLPSQ(M)=BPVEG(M)*RDLPSQ(M) ENDIF ENDDO ENDIF RETURN END