08.09.2014 Views

On the Ecology of Mountainous Forests in a Changing Climate: A ...

On the Ecology of Mountainous Forests in a Changing Climate: A ...

On the Ecology of Mountainous Forests in a Changing Climate: A ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Appendix 217<br />

END; (* IF *)<br />

prevDay := currDay;<br />

currDay := prevDay + kDays;<br />

END; (* FOR *)<br />

uAET := uAET * 10.0; (* convert AET & PET from cm to mm *)<br />

uPET := uPET * 10.0;<br />

uDrStr := (uPET - uAET) / uPET;<br />

END SoilMoisture;<br />

(*****************************)<br />

(* Monitor<strong>in</strong>g & statistics *)<br />

(*****************************)<br />

PROCEDURE DeclareStatArrays( arrLen : INTEGER );<br />

BEGIN<br />

uAETStatArray := notExist<strong>in</strong>gStatArray;<br />

DeclStatArray( uAETStatArray, arrLen );<br />

DeclDispMV( uAETStatArray, fe, meanAET, fe, timeIsIndep );<br />

DeclStatArrayForOutput( uAETStatArray, "Actual evapotranspiration", "mm/yr", 0.0 );<br />

uDDStatArray := notExist<strong>in</strong>gStatArray;<br />

DeclStatArray( uDDStatArray, arrLen );<br />

DeclDispMV( uDDStatArray, fe, meanDD, fe, timeIsIndep );<br />

DeclStatArrayForOutput( uDDStatArray, "Degree-days", "°C*days", 0.0 );<br />

uDrStrStatArray := notExist<strong>in</strong>gStatArray;<br />

DeclStatArray( uDrStrStatArray, arrLen );<br />

DeclDispMV( uDrStrStatArray, fe, meanDrStr, fe, timeIsIndep );<br />

DeclStatArrayForOutput( uDrStrStatArray, "Drought stress", "%/100", 0.0 );<br />

uWiTStatArray := notExist<strong>in</strong>gStatArray;<br />

DeclStatArray( uWiTStatArray, arrLen );<br />

DeclDispMV( uWiTStatArray, fe, meanWiT, fe, timeIsIndep );<br />

DeclStatArrayForOutput( uWiTStatArray, "M<strong>in</strong>. w<strong>in</strong>ter temperature", "°C", -100.0 );<br />

END DeclareStatArrays;<br />

PROCEDURE DisplayStatArrays;<br />

BEGIN<br />

IF NOT ExperimentAborted() THEN<br />

DisplayArray( uAETStatArray, TRUE, prob950 );<br />

DisplayArray( uDDStatArray, TRUE, prob950 );<br />

DisplayArray( uDrStrStatArray, TRUE, prob950 );<br />

DisplayArray( uWiTStatArray, TRUE, prob950 );<br />

END;<br />

END DisplayStatArrays;<br />

PROCEDURE Monitor<strong>in</strong>g;<br />

VAR t: REAL;<br />

<strong>in</strong>dex: INTEGER;<br />

BEGIN<br />

IF ExperimentRunn<strong>in</strong>g() THEN<br />

IF exp.type = estimEquil THEN<br />

t := 0.0;<br />

<strong>in</strong>dex := 1;<br />

ELSE<br />

t := CurrentTime();<br />

<strong>in</strong>dex := TRUNC( (t-tzero)/hm + 0.5 ) + 1;<br />

END;<br />

IF NOT ((exp.type = estimEquil) AND (CurrentTime() 0.0 THEN kPMod := 1.0 + site.kSlAsp*0.125;<br />

ELSE kPMod := 1.0 + site.kSlAsp*0.063;<br />

END;<br />

IF ExperimentRunn<strong>in</strong>g() AND (CurrentSimNr() = 1 ) THEN<br />

IF exp.type = manyRuns THEN<br />

GetGlobSimPars(tzero, tend, h, er, c , hm);<br />

arrLen := TRUNC((tend-tzero)/hm+1.5);<br />

DeclareStatArrays( arrLen );<br />

ELSIF exp.type = estimEquil THEN<br />

DeclareStatArrays( 1 );<br />

ELSE<br />

(* do noth<strong>in</strong>g *)<br />

END;<br />

END;<br />

END Initialize;<br />

PROCEDURE StochWea<strong>the</strong>rOutput;<br />

BEGIN<br />

WITH site DO<br />

CorrWea<strong>the</strong>rGenerator( rTVect, rPVect );<br />

DegreeDays( uDD, rTVect );<br />

SoilMoisture( uDrStr, uAET, rTVect, rPVect );<br />

uWiT := rTVect[Jan];<br />

IF rTVect[Feb] < uWiT THEN uWiT := rTVect[Feb] END;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!