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 ...
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 />
(****************************)