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.

230 Appendix<br />

uLitt[roots] := littR*conv; littR := 0.0;<br />

END LitterInitialization;<br />

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

(* Procedure TreeDeathAndGrowth *)<br />

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

PROCEDURE TreeDeathAndGrowth( VAR firstSp: SpeciesPtr; VAR cumLA: ARRAY OF REAL;<br />

gLAI: REAL );<br />

VAR sp: SpeciesPtr;<br />

cohort, prevCohort: CohortPtr;<br />

gAL, gL1, gL9, slope, DIncMax, gF: REAL;<br />

iHT, i, cohortTrees: INTEGER;<br />

PROCEDURE CalculateLitterProduction( VAR sp: SpeciesPtr; VAR c: CohortPtr;<br />

nDead: REAL );<br />

(* calculates litter production <strong>of</strong> a tree cohort, <strong>in</strong>clud<strong>in</strong>g litter production<br />

if nTrees have died *)<br />

CONST<br />

pi4 = 3.141593/4.0;<br />

VAR<br />

nAlive: REAL;<br />

BEGIN<br />

nAlive := FLOAT( c^.nrTrees );<br />

(* normal annual litter production from liv<strong>in</strong>g trees: *)<br />

(* foliage litter depends on foliage quality and foliage retention time *)<br />

littF[sp^.p.kLQ] := littF[sp^.p.kLQ] + c^.gFolW * nAlive/ kFRT[sp^.specType]*kAFW;<br />

(* twig litter is calculated from basal area accord<strong>in</strong>g to Christensen (1977) *)<br />

littT := littT + pi4 * c^.D * c^.D * kTwig * nAlive * kAFW;<br />

(* root litter is calculated from foliage litter *)<br />

littR := littR + kRSR * c^.gFolW * nAlive/kFRT[sp^.specType] * kAFW;<br />

(* litter from <strong>the</strong> n dead trees *)<br />

IF nDead > 0.0 THEN<br />

(* foliage litter *)<br />

littF[sp^.p.kLQ] := littF[sp^.p.kLQ] + c^.gFolW*nDead*kAFW;<br />

(* twig litter *)<br />

littT := littT + pi4 * c^.D * c^.D * kTwig * nDead * kAFW;<br />

(* root litter *)<br />

littR := littR + kRSR * c^.gFolW * nDead * kAFW;<br />

(* woody litter *)<br />

littW := littW + c^.gSBio * nDead * kAFW;<br />

END;<br />

END CalculateLitterProduction;<br />

BEGIN<br />

sp := firstSp;<br />

WHILE sp NIL DO<br />

WITH sp^ DO<br />

prevCohort := NIL;<br />

cohort := sp^.firstCohort;<br />

WHILE cohort NIL DO<br />

WITH cohort^ DO<br />

cohortTrees := nrTrees;<br />

FOR i:= 1 TO cohortTrees DO (* mortality accord<strong>in</strong>g to Shugart (1984) *)<br />

IF ( U() = kSlowGrYrs) AND (U()

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

Saved successfully!

Ooh no, something went wrong!