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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

218 Appendix<br />

IF rTVect[Dec] < uWiT THEN uWiT := rTVect[Dec] END;<br />

END;<br />

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

PROCEDURE Term<strong>in</strong>ate;<br />

BEGIN<br />

IF ( (CurrentSimNr() MOD TRUNC(exp.nrRuns+0.5)) = 0 )<br />

AND ExperimentRunn<strong>in</strong>g() AND (exp.type = manyRuns) THEN<br />

DisplayStatArrays;<br />

END;<br />

EnableCommand( fMenu, chooseEnvCmd );<br />

END Term<strong>in</strong>ate;<br />

PROCEDURE DeclareDDCorrectionTabF;<br />

VAR T, corrDD: ARRAY [0..11] OF REAL;<br />

BEGIN<br />

T[0] := -20.0; corrDD[0] := 0.0;<br />

T[1] := -10.0; corrDD[1] := 0.0;<br />

T[2] := -5.0; corrDD[2] := 1.28;<br />

T[3] := -2.5; corrDD[3] := 3.3;<br />

T[4] := 0.0; corrDD[4] := 8.52;<br />

T[5] := 2.5; corrDD[5] := 22.02;<br />

T[6] := 5.24; corrDD[6] := 62.56;<br />

T[7] := 7.5; corrDD[7] := 39.0;<br />

T[8] := 10.0; corrDD[8] := 23.12;<br />

T[9] := 12.5; corrDD[9] := 13.71;<br />

T[10]:= 16.11; corrDD[10]:= 6.45;<br />

T[11]:= 17.5; corrDD[11]:= 9.76;<br />

DeclTabF( corrDDTab, T, corrDD, 12, FALSE, "DD correction",<br />

"T", "corr", "T", "corr", -20.0, 30.0, 0.0, 70.0);<br />

END DeclareDDCorrectionTabF;<br />

PROCEDURE DeclStochWea<strong>the</strong>rObjects;<br />

VAR i: INTEGER;<br />

BEGIN<br />

DeclMV( uAET, 0.0, 1000.0, "Actual evapotranspiration", "uAET" , "mm/y",<br />

not<strong>On</strong>File, writeInTable, notInGraph);<br />

DeclMV( uPET, 0.0, 1000.0, "Potential evapotranspiration", "uPET" , "mm/y",<br />

not<strong>On</strong>File, notInTable, notInGraph);<br />

DeclMV( uDD, 0.0, 3000.0, "Degree-days", "uDD" , "d*°C",<br />

not<strong>On</strong>File, writeInTable, notInGraph);<br />

DeclMV( uWiT, -30.0, 30.0, "W<strong>in</strong>ter temperature", "uWiT" , "°C",<br />

not<strong>On</strong>File, writeInTable, notInGraph);<br />

DeclMV( uDrStr, 0.0, 1.0, "Drought stress", "uDrStr" , "--",<br />

not<strong>On</strong>File, writeInTable, notInGraph);<br />

DeclMV( meanAET, 0.0, 1000.0, "Average AET", "meanAET" , "mm/y",<br />

not<strong>On</strong>File, notInTable, notInGraph);<br />

DeclMV( meanDD, 0.0, 3000.0, "Average degree-days", "meanDD" , "d*°C",<br />

not<strong>On</strong>File, notInTable, notInGraph);<br />

DeclMV( meanWiT, 0.0, 1.0, "Average w<strong>in</strong>ter temperature", "meanWiT" , "°C",<br />

not<strong>On</strong>File, notInTable, notInGraph);<br />

DeclMV( meanDrStr, 0.0, 1.0, "Average drought stress", "meanDrStr" , "--",<br />

not<strong>On</strong>File, notInTable, notInGraph);<br />

DeclSoilMoistureParameters;<br />

RemoveAllWea<strong>the</strong>rTabFuncs;<br />

DeclareDDCorrectionTabF;<br />

FOR i:= 1 TO 20 DO time[i] := FLOAT(i)*50.0; modifier[i] := 0.0 END;<br />

DeclTabF( tSuTab, time, modifier, 20, TRUE, "Summer T",<br />

"Year", "∆ (°C)", "year", "°C", 0.0, 5000.0, -10.0, 10.0);<br />

DeclTabF( tWiTab, time, modifier, 20, TRUE, "W<strong>in</strong>ter T",<br />

"Year", "∆ (°C)", "year", "°C", 0.0, 5000.0, -10.0, 10.0);<br />

DeclTabF( pSuTab, time, modifier, 20, TRUE, "Summer P",<br />

"Year", "∆ (cm/month)", "year", "cm/month", 0.0, 5000.0, -5.0, 5.0);<br />

DeclTabF( pWiTab, time, modifier, 20, TRUE, "W<strong>in</strong>ter P",<br />

"Year", "∆ (cm/month)", "year", "cm/month", 0.0, 5000.0, -5.0, 5.0);<br />

FOR i:= 1 TO 20 DO modifier[i] := 1.0 END;<br />

DeclTabF( tSDSuTab, time, modifier, 20, TRUE, "Summer SD(T)",<br />

"Year", "Mult", "year", "--", 0.0, 5000.0, 0.5, 2.0);<br />

DeclTabF( tSDWiTab, time, modifier, 20, TRUE, "W<strong>in</strong>ter SD(T)",<br />

"Year", "Mult", "year", "--", 0.0, 5000.0, 0.5, 2.0);<br />

DeclTabF( pSDSuTab, time, modifier, 20, TRUE, "Summer SD(P)",<br />

"Year", "Mult", "year", "--", 0.0, 5000.0, 0.5, 2.0);<br />

DeclTabF( pSDWiTab, time, modifier, 20, TRUE, "W<strong>in</strong>ter SD(P)",<br />

"Year", "Mult", "year", "--", 0.0, 5000.0, 0.5, 2.0);<br />

declEMod := stochE;<br />

END DeclStochWea<strong>the</strong>rObjects;<br />

PROCEDURE DeclStochEnvModel;<br />

BEGIN<br />

DeclM(fe, discreteTime, Initialize, NoInput, StochWea<strong>the</strong>rOutput, NoDynamic, Term<strong>in</strong>ate,<br />

DeclStochWea<strong>the</strong>rObjects, modDescrStoch, modIdent, NoAbout);<br />

DeclMonitor<strong>in</strong>gProc( Monitor<strong>in</strong>g );<br />

END DeclStochEnvModel;<br />

PROCEDURE SkipFileHeader;<br />

VAR ch: CHAR;<br />

BEGIN<br />

ReadChar( <strong>in</strong>F, ch );<br />

WHILE NOT EOF(<strong>in</strong>F) AND (chEOL) DO ReadChar( <strong>in</strong>F, ch ) END;<br />

ReadChar( <strong>in</strong>F, ch );<br />

WHILE NOT EOF(<strong>in</strong>F) AND (chEOL) DO ReadChar( <strong>in</strong>F, ch ) END;<br />

END SkipFileHeader;<br />

(* Wea<strong>the</strong>r data from file *)<br />

(****************************)

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

Saved successfully!

Ooh no, something went wrong!