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.

The forest model FORCLIM 93<br />

FORCLIM-P can be read from and written to a text file. Most fundamentally, it is possible<br />

to change both <strong>the</strong> site and <strong>the</strong> set <strong>of</strong> species and to choose ano<strong>the</strong>r setup <strong>of</strong> <strong>the</strong> submodels<br />

<strong>of</strong> FORCLIM from with<strong>in</strong> <strong>the</strong> ModelWorks simulation environment.<br />

The uniformly distributed random variates required by FORCLIM-P are generated accord<strong>in</strong>g<br />

to Wichmann & Hill (1982, 1987); <strong>the</strong> normally distributed variates required by FOR-<br />

CLIM-E are generated with <strong>the</strong> acceptance-rejection method by Box & Muller (1958).<br />

Both rout<strong>in</strong>es are conta<strong>in</strong>ed <strong>in</strong> <strong>the</strong> RAMSES Auxiliary Library (Tab. 3.18).<br />

Tree and litter cohorts <strong>in</strong> <strong>the</strong> models FORCLIM-P and FORCLIM-S are simulated as dynamic<br />

lists <strong>of</strong> Modula-2 records (Wirth 1986), allocat<strong>in</strong>g <strong>the</strong> memory required for a new<br />

record <strong>in</strong> <strong>the</strong> computer's heap memory when a tree or litter cohort is to be created, and deallocat<strong>in</strong>g<br />

it when <strong>the</strong> last member <strong>of</strong> <strong>the</strong> tree cohort dies or <strong>the</strong> litter cohort is transferred<br />

to <strong>the</strong> humus compartment, respectively. For efficiency reasons, <strong>the</strong> update mechanism<br />

for state variables <strong>of</strong>fered by ModelWorks (Fischl<strong>in</strong> et al. 1990) was not used <strong>in</strong> <strong>the</strong><br />

model implementation. Thus both FORCLIM-P and FORCLIM-S have <strong>the</strong>ir own update<br />

procedures which are called <strong>in</strong> <strong>the</strong> Output procedure <strong>of</strong> <strong>the</strong> respective model (Fischl<strong>in</strong> et<br />

al. 1990). The Modula-2 source code <strong>of</strong> <strong>the</strong> FORCLIM model is given <strong>in</strong> Appendix IV.<br />

The current version <strong>of</strong> <strong>the</strong> FORCLIM model requires at least 1.5 MBytes <strong>of</strong> Random Access<br />

Memory (RAM), which is ma<strong>in</strong>ly used as heap space. If <strong>the</strong> additional monitor<strong>in</strong>g<br />

facilities are to be used extensively, it may be desirable to have up to 2.5 MB <strong>of</strong> RAM.<br />

Tab. 3.19: Size <strong>of</strong> <strong>the</strong> modules <strong>in</strong> <strong>the</strong> FORCLIM model. DEF: Modula-2 def<strong>in</strong>ition source code; MOD:<br />

implementation source code; SBM: symbol file code; OBJ: executable object code. L<strong>in</strong>es <strong>of</strong> source code<br />

<strong>in</strong>clude nei<strong>the</strong>r comments nor empty l<strong>in</strong>es.<br />

DEF MOD SBM OBJ<br />

bytes l<strong>in</strong>es bytes l<strong>in</strong>es bytes bytes<br />

ForClim – – 4217 86 – 1'752<br />

ForClimS 1'476 4 21'537 480 77 8'944<br />

ForClimP 1'532 4 26'248 525 77 12'070<br />

FCPDynamic 2'215 10 11'940 187 1'777 5'098<br />

FCPMon 1'999 11 13'882 335 1'824 6'266<br />

FCPGrFact 1'919 10 4'302 81 1'774 1'788<br />

FCPFileIO 2'479 16 20'225 464 1'916 11'258<br />

FCPBase 5'169 76 12'793 320 2'110 5'836<br />

ForClimE 1'657 4 24'167 568 77 11'636<br />

ForestBase 8'013 99 45'632 1'075 2'446 19'628<br />

TOTAL 26'459 234 184'943 4'035 12'078 84'276

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

Saved successfully!

Ooh no, something went wrong!