44
Savanna - Landscape and Regional Ecosystem Model User Guide Michael B. Coughenour and Daniel C. McNulty-Huffman Natural Resource Ecology Laboratory Colorado State University Ft. Collins, Colorado 80523 USA

User Manual - Colorado State University

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: User Manual - Colorado State University

Savanna - Landscape and Regional Ecosystem Model

User Guide

Michael B. Coughenour

and

Daniel C. McNulty-Huffman

Natural Resource Ecology Laboratory

Colorado State University

Ft. Collins, Colorado 80523 USA

Page 2: User Manual - Colorado State University

ii

Table of Contents

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

Part I. Using the Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Model Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Changing Parameter Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Changing the Time Frame of a Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Changing the Spatial Extent of a Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Controlling Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Changing the Weather Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Using Stochastic Weather . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Managing Ungulates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Imposing a Fire Regime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Specifying Plant Composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Specifying Soil Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7A Model Parameterization Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Section II. Model Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Parameter and Data File Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Parameter Files - Functional Grouping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Run Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Climate Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Snow Submodel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Soil Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Primary Production Submodel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Plant Population Submodels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Plant Fire Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Ungulate Submodels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Spatial Input Data (Maps) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Subarea Cover Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Elevation Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Soils Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Tree Canopy Cover Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Shrub Canopy Cover Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Tree Height Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Shrub Height Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Tree Species Composition Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Vegetation Type Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Herbaceous Root Biomass Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Page 3: User Manual - Colorado State University

iii

Fire Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Maps That Affect Ungulate Spatial Distributions . . . . . . . . . . . . . . . . . . . . 18Monthly Precipitation Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Section III. Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Output Summarized by Output File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Biom1.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Biom2.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Pptsnw.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Tree1.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Tree2.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Shrub1.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Shrub2.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Consum.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Diag1.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Diag2.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Diag3.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Diag4.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Diag5.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Pop.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Bdrate.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Diagpop.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Wolf.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Report.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Reportc.out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Image.img . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Graphical Output Tools and Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Temporal Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Spatial Output via GIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Quick Spatial Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Section IV. Procedural Organization of the Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Section V. Subroutines and Their Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Subroutine Name and Function List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Page 4: User Manual - Colorado State University

iv

List of FiguresFigure 1. Program Procedure Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Figure 2. Tree diagram of the Savanna model code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Figure 3. Tree diagram for subroutine SVLAND. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

List of TablesTable 1. Calling routines for parameter files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Table 2. Parameter file list. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Page 5: User Manual - Colorado State University

1

Part I. Using the Model

Model Execution

The executable file will have a .exe file name extension. The model is run by enteringthe name of the executable file at the prompt. All of the required parameter files, data filesand map files must be located in the current directory. As the simulation proceeds, themonth, year, and total number of elapsed months are displayed on the screen.

Changing Parameter Values

Parameters for the Savanna model are distributed among many input files. In general,parameters files correspond to specific submodels or a specific instances of a submodel. Forexample, the net primary production submodel has a parameter file for each plant species orfunctional group. Parameter files are simply ascii text files and they may be edited using anytext editor. Parameter files have a .prm file name extension.

Changing the Time Frame of a Simulation

The parameter file simcon.prm contains the parameters which control the length ofthe simulation. On the thirteenth line is the starting month, ending month and starting year.The ending month is the total number of months that will be simulated, less the startingmonth. The starting month must be in the range 1-12. The first year of a simulation shouldcorrespond to the first year on the ascii weather file, and the first year on the ungulatepopulation file, if one is used.

Changing the Spatial Extent of a Simulation

The parameter file spacedat.prm contains the parameters which define the spatialstructure of a run. The number of rows and columns in the study area are specified on thefirst line of the file. These must correspond to the dimensions of the input raster (grid-cell)maps. On the second line, a block of contiguous grid cells can be specified by its starting andending rows and columns. To simulate a single grid-cell, set the starting and ending rowsboth equal to the row number of the single cell, and likewise set the starting and endingcolumns equal to the column number of the single cell. In the model, row 1 is the bottomrow, so the cell at row 0 column 0 is the lower left corner cell as in a cartesian coordinatesystem. The numbers of subareas and facets is also defined here, but these are not altered oncethe model is configured for a particular location. The model is currently hard-coded so thatfacet 1 is herbaceous, 2 is woody (trees), 3 is overstory shrubs.

Page 6: User Manual - Colorado State University

2

Controlling Model Output

The file simcon.prm contains parameters for controlling the time interval betweenwrites to output files.

The .out output files provide monthly outputs if the value of dtpmon is set to 1.Output is bimonthly if dtpmon is set to 2, outputs are annual if dtpmon is set to 12, and soon.

The report.out file is a detailed summary of one to several grid cells (normally one).The yearly interval for producing report.out output is given by dtprn, on the parameter filesimcon.prm. Within each of the years when there is output, there is output on months flaggedwith 1's in the maccum parameter array (an array of twelve integers). Normally, report outputshould be annual, on one month per year. Accumulators are also reset on the months flaggedon maccum. Thus, the accumulators (eg. total NPP) on the report.out file will be cumulativesince the last output. The number of locations (grid cells) and the row and column numbersof each of the cells that is to be reported upon are specified on the last two lines onsimcom.prm.

Map output is also controlled by parameters on simcon.prm. The parameter imagsvflags map output on (1) or off (0). Normally, output is a map of mean grid-cell variablevalues rather than values for individual facets (ie. it is a space-weighted average of individualfacet values). To save grid-cell scale output, set nfout and nsout to zero. Otherwise, a specificfacet on a specific subarea can be specified by their corresponding indices in nfout and nsout,respectively. Map (image) output can be saved monthly, or on intermittent months as flaggedon imagmon, an array of 12 integer values. For example to save values at peak summerbiomass and in the dead of winter, one would flag months one and seven.

Diagnostic output for primary production for a single plant type, and water budgetson a single facet of a single grid cell are written to diag*.out files. The exact facet location isspecified by parameters on simcon.prm. The grid cell row and column, facet and subareaindices are given by nrdiag,ncdiag,nfdiag,nsdiag. The corresponding names of the subareasand facets should appear on the spacedat.prm file. The plant type or species index isspecified by nspdiag. This is not the index of the plant species as suggested by its order onthe plfile.prm file. It is the index of the plant species or type in a mixture of plants on a facet,as specified on the sppmix.prm file. If in doubt, the diagnostic species name is written to thescreen at the end of the run.

Diagnostic output for a single ungulate species is written to diagpop.out. The speciesis specified on the parameter file popprm.prm. The index of the species corresponds to itsorder on the parameter file.

Changing the Weather Data

The names of weather data files used by the simulation are specified on simcon.prm.The parameter iwthr on simcon.prm is an option flag that controls the source of precipitationdata. If iwthr is 1, then precipitation is read from a binary precipitation map file. If iwthr is 2,then precipitation data are read from th main base station weather file, which containsmonthly precipitation and temperatures. Then precipitation is spatially uniform. If iwthr is 3,

Page 7: User Manual - Colorado State University

3

then the main base precipitation data are used, but spatially patterned according to data onthe binary precipitation map file.

If iwthr is 4, then elevation corrected spatial interpolation is used to calculateprecipitation in each grid cell. Then a site precipitation file is used, which containsprecipitation data for two or more weather stations. The base station data file contains thespatial coordinates and elevations of the weather stations.

Temperature data always come from the main base station weather file, however thisdata is adjusted for elevation using the lapse rates on the weather.prm file. Mean monthlyhumidity, daylength, solar radiation are also specified on the file weather.prm.

Using Stochastic Weather

Stochastic weather is generated by flagging the value of iranw to 1 on the simcon.prmparameter file. When this flag is switched on (set to 1), weather years are randomly pickedfrom the main base station weather file, (and the binary precipitation map file if iwthr is setto 1). If there is a single year on the file, presumably the mean year, this year will be usedrepeatedly. Normal variation is added to the mean, as specified by the coefficients ofvariation for rainfall and temperature on the parameter file weather.prm. The number ofyears on the main base station weather file that is specified on simcon.prm file is used in therandomization process.

Managing Ungulates

The ungulate population submodel may be switched on or off by the flag ihmodl (0-off, 1-on) on the second line of the simcon.prm parameter file. If the population submodel ison, then all the animal species specified on the popprm.prm, distc.prm and cons.prmparameter files will be simulated. Initial population densities are given on the filepopprm.prm.

Note, there is a parameter called mstrtp on the simcon.prm file that specifies the firstmonth into the simulation to begin simulating ungulate populations. This is needed becausewhen the simulation is first started, live and dead leaf biomasses are initialized to zero.Therefore, ungulates will respond unrealistically until the first forage is produced. Set themstrtp parameter to the first month when an acceptable forage standing crop is expected (eg.month 5 in a temperate system). The model is initalized with zero forage mass due to thedifficulty of reading in maps of initial values for each and every forage variable (green, dead,stems, CAG, for all species) on all of the facets.

If the ungulate population submodel is switched off, and the number of ungulatespecies is greater than zero as specified by nspcon on the same line of simcon.prm, then themodel will use ungulate population dynamics data from a data file. The name of the file withthat data is specified on the second line of the parameter file distc.prm. The model willsimulate herbivory and ungulate energy balances, but total offtake will be dependent on thenumber of animals on the population data file.

Additionally, if ihmodl is set to 2, the population model will run, but predicted resultsfor one or more species will be overridden. If the data override feature is on, then the data on

Page 8: User Manual - Colorado State University

4

the population dynamics data file for selected species will override model predictions. Theparameter ipopfix on the simcon.prm file specifies which species predictions will beoverridden. This is useful, for example, when during model calibation, when working on onespecies in an environment where the other species have not yet been calibrated, or forperturbation experiments.

Ungulate population data files are structured as follows. Each line contains one yearof data, with values for each ungulate species read across. The format is not fixed so thenumber of spaces is not important.

Culling can be invoked in one of two ways. The first method is to specify numbers ofanimals removed each year. If the parameter icull is set to 1, annual cull data will be readfrom a file called cullden.dat, which contains culling data in density units (animals/km2). Ificull is set to 2, the data will be read from a file called cullrt.dat, which is file of annualculling rates (ie. proportions of the herd culled). Each line on these files gives a year and alist of numbers of animals, culled for each species.

The second method is to use a culling rule specified on the file cull.prm. This methodis used if icull is set to 3. Every year, on month moncull, populations are reduced to thespecified densities cden (by species). In addition the model will attempt to manage herdcomposition to achieve the proportions specified by the parameter prsz, for each species. Theprsz array contains desired proportions of newborns, immature females and males, andmature females and males, in that order.

Forced ungulate distributions can be simulated using "force" maps. If the flag forusing force maps on the third line of the distc.prm parameter file is on, then file force.prmwill be opened. The file force.prm contains a list of force map file names for controllingungulate distributions. For each ungulate species, 1-3 force maps can be employed. Eachforce map is in effect on the flagged months on the force.prm file. Each force map has itsown list of flagged months. For example, bison could be confined to a wintering paddockduring the month of January by flagging month 1 only. The corresponding force map willhave 0 values on grid cells outside the paddock and 1's elsewhere. Using this technique,animals could also be rotated among paddocks on a fixed schedule, using a separate forcemap for each paddock.

There is also an option on the force.prm file to use force maps having values rangingfrom 0-100. Then, the values are used as weighting factors in determining habitat suitability.For example, relatively more animals will be placed in cells having a value of 100, than 50.

Imposing a Fire Regime

Savanna does not simulate fire spread or behavior. Instead, fire severity maps(generated from data or from a model) must be provided as model input. To impose fire, setthe flag ifiref on the sixth line of the simcon.prm parameter file equal to 1. Then, the data filefires.dat is opened and the date and name of the first fire map is read. If the date of the firstfire precedes the first year and month of the simulation, the model will read down to the firstscheduled fire. When the simulated time reaches the scheduled fire date, fire maps will beread for each subarea.

Page 9: User Manual - Colorado State University

5

The file fires.dat is a list of all scheduled fires, their year and month of occurrence,and the names of the corresponding fire severity maps. Fire maps must be provided for eachsubarea, however, the same map can be used for many subareas. For example, fires might beroutinely more severe in runon areas than runoff areas. If fire severity does not differ amongsubareas, then the same fire map is specified for each subarea. The fire map is a map of fire severity codes. At present, three severity levels areallowed (eg. none=0, light=1, severe=2). Each level elicits plant responses as parameterizedon the file fireresp.prm.

Specifying Plant Composition

There are two ways to prescribe which plant types occur on which facets/subareas.First, if the parameter icinit is set to 1 on the sppmix.prm file, then specific species mixturesof plants will be assigned to each facet type in all grid cells. Mixtures are simple specieslists, not proportions. For example, on the tree facet of upland subareas in every grid cell,there could be a deciduous tree, an evergreen tree, an understory shrub and a shade-tolerantherbaceous plant. These are the plants that potentially occur on that facet. Whether or notthey actually occur is a simulated outcome of the model. The second way is to use avegetation type map, if icinit is set to 2. Then, species mixtures will be assigned to each facetaccording to the vegetation type of the grid cell. A lookup table ( file vegfacet.dat) specifiesthe potential species mixtures for each facet of each vegetation type.

The plant types that are included in each species mixture are specified on theparameter file sppmix.prm. Each mixture is described by the number of herb, shrub, and treespecies it contains. The indices of the plant type that compose the mixture are specified.These plant type indices correspond to the order of plant types on the file plfile.prm, which isa list of NPP model parameter file names.

In early versions of the model, the shrub population, tree population and NPPsubmodels were more or less independent. To reduce memory requirements, the number ofshrub and tree types in the shrub and tree population models were limited to the maximumnumber of shrubs and trees types in the ecosystem. As a result, the NPP, shrub populationand tree population models currently use different indices to point to the same plant species.Although this will be rectified in future versions of the model, the current version requiressome means to align indices in the three models. The plant type indices of the NPP model(all herbs, shrubs, trees) correspond to the ordering of plant types on the file plfile.prm. Theplant type indices of the shrub population model correspond to the ordering of plant types onthe file shbfile.prm. The plant type indices of the tree population model correspond to theordering of plant types on the file treecon.prm.

On the sixth and seventh lines of the sppmix.prm file, are parameter arrays that pointto the indices in the NPP model which correspond to indices in the shrub and tree populationmodels. Conversely, on the ninth line is a parameter array that points to the indices in theshrub model which correspond to indices in the NPP model, and on the eleventh line is aparameter array which points to the indices in the tree model which correspond to indices inthe NPP model.

Page 10: User Manual - Colorado State University

6

So far, we have only specified which plant types occur on which facets. We have notspecified their proportions. The initial proportions of herbaceous species in each facetmixture are specified on the file hrbfile.prm. This file either contains a list of file names forherb root biomass on each facet, followed by proportional composition of that root biomassinto plant types, or it contains a list of total initial root biomass for each facet type, followedby the proportional composition of the root biomass into plant types.

The initial proportions of shrub species are specified on the file shfile.prm. This fileeither contains a list of file names for shrub height maps on each facet, followed by theproportional composition of the corresponding root biomass into shrub types, or it contains alist of shrub heights for each facet type, followed by the proportional composition of thecorresponding root biomass into shrub types.

The initial proportions of tree species are specified on map inputs. The file trspfil.prmis a list of file names for the maps of percentage composition (percent of total tree canopycover) of each tree type on each subarea. There must be one map for every tree type on everysubarea. For example, if there is a runoff and runon subarea, and there are coniferous anddeciduous tree types in the system, then there must be four maps, for the percentage of eachtree type on each subarea. Trees must also be distributed among the six size classes. Ratherthan reading in a map for each size class, the model uses mean tree height as an indicator ofthe distribution of heights among size classes. The file trhtfil.prm contains the file names ofmean tree height maps for each class of subarea. In addition, trhtfil.prm contains a list ofparameter arrays that describe the proportional distribution of trees among size classes inrelationship to the mean tree height.

In summary, total herb and shrub biomass densities are either specified by typicalvalues for each class of facet, or they are specified on maps of root biomass or shrub heightsfor each class of facet. Herb and shrub compositions are specified by facet type. Treecomposition is specified by percentage-of-canopy-cover composition maps for each treetype. Tree biomass density is an outcome of total tree canopy cover, the composition of thatcover by tree type, the mean tree height, and the distribution of plants among size classes foreach of six mean tree heights.

Specifying Soil Properties

The parameter file soil.prm is essentially a lookup table specifying soil properties foreach soil type on the soils maps. Each line on the file is a list of parameters for a single soiltype. Across each row, are the following parameters: soil type index, depth of bottom layer(cm), volumetric field capacity, volumetric wilting point, volumetric pore space, minimumrunoff curve number, maximum runoff curve number, bare soil evaporation parameter, baresoil evaporation depth (mm), depth of bottom of top layer, depth of bottom of second layer(cm), fraction of infiltration routed to layer two by crack flow, fraction of infiltration routedto layer 3 from layer 2 by crack flow.

A Model Parameterization Strategy

Page 11: User Manual - Colorado State University

7

The key to model parameterization and calibration is an incremental or iterativeapproach. Ideally, process models should be parameterizable based on current knowledge.However, this is an ideal. Modeling and model parameterization are processes in which gapsin knowledge are identified. Model parameterization may, in fact, be a long-term process ofparameter refinement. Model parameterization for a site might follow these basic steps.

1. Prepare an ascii weather file and spatial precipitation map file if it is used. 2. Refine the weather parameters in the weather.prm file.

3. Define the spatial extent and grid-cell size of the system.4. Define the subareas and facets in the system. Function differences among these

patch types should be significant at the ecosystem level of organization. (The model iscurrently limited to herbaceous, woody and shrub facets in that order).

5. Identify plant functional groups or species that confer functionally significantproperties at the ecosystem level of organization.

6. Ascribe potential occurrence of plant functional types to particular landscape facetsclasses (file sppmix.prm).

6. Prepare maps for model input - eg. subarea maps, soils maps, tree and shrub covermaps, tree and shrub height maps, elevation map, tree composition maps.

7. Estimate initial parameter values based on best available information. Althoughthese values may seem like good estimates, any parameter estimate is subject to error. Thus,an iterative process of parameter refinement is essential.

8. Use working copies of plant parameter (NPP and population models) files as initialapproximations or templates. While many of these parameters will be incorrect, they will atleast be useful as a template for identifying what parameters are needed, and typical valuesfor the parameters. They also provide reasonable values for parameters where there is littleinformation.

9. Turn off the ungulate and wolf models.10. Try to simulate a single grid-cell.11. Begin a detailed diagnostic examination of each plant species on each facet in the

model. Set the diagnostic facet and subarea, and the diagnostic plant species on thesimcon.prm file. Begin an iterative process; run the model, refine parameter estimates, rerunthe model and examine model predictions. Simulate a single year to begin with. Leave aloneparameter values which have a high degree of confidence. Concentrate on refining parameterestimates with a low degree of confidence. Do this for each plant type on each facet untileach species on each facet behaves in a realistic manner.

12. Incrementally substitute parameter values. Fill in parameter values on the workingparameter files with best estimates. Change one or several parameter values at a time, rerunthe model to ensure that the new values are at least workable, then change several moreparameter values and repeat the process until an initial set of revised parameter files isproduced.

13. Simulate other single grid-cells to ensure that the model produces reasonablepredictions across a wider range of soil types and climatic variation.

14. Simulate larger systems, with more grid cells. Pay increased attention to systemlevel outputs.

Page 12: User Manual - Colorado State University

8

15. Once the vegetation submodels are working, begin to calibrate the ungulatesubmodels. Again, use working parameter files as templates.

16. Turn on and calibrate the wolf (predation) submodel.17. Continue to compare model predictions to observations and refine parameter

estimates.

Page 13: User Manual - Colorado State University

9

Section II. Model Inputs

Parameter and Data File Formats

Parameter files are structured to match the order of parameter read statements in themodel source code. The order of lines on a parameter file is therefore critical.

On each line of a parameter file, except for the soil.prm file, there is a parametervalue followed by a slash, the parameter name and a comment describing the parameter.Everything to the right of the slash is ignored by the program - it is only to make theparameter files more readable.

Parameter files may be edited by any word processor or text editor. Howeverprecautions must be taken to ensure that carriage returns are not inserted onto the ends oflines automatically. Many of the parameter file lines are quite long due to the comment. Seta long line length or use a small font size when using such word processors.

Since most all of the parameter files are commented, there is little need to discussexact parameter file contents or structure here. The format of each parameter file can beexamined directly by looking at known working copies. If there is a doubt about the orderingof parameters on a file, the code must be consulted. The ordering of "read" statements in themodel code can generally by followed even by non-programmers. However, it should benoted that some parameter files are organized into blocks of parameter lines for each plant orungulate species. For example, there may be a block of parameters for plant species 1,followed by a block of parameters for plant species 2 and so on. These blocks should bediscernable on working parameter files. A list of calling routines for each parameter file isprovided in Table 1.

Parameters may be composed of one to many numeric values, delimited by commas.Parameter digits, decimals and commas can be in any column, ie. the model uses list-directed, unformatted reads. Some parameters are names, ie. ascii strings. In some cases thename must be enclosed in single quotes (refer to a working file).

In the documentation, most of the functions are parameterized as a series of connectedstraight line segments. Then parameters are arrays having several x-y pairs of elements to beused in linear interpolation by the alint function. The alint function linearly interpolatesbetween points on a graph. The x,y coordinates for the points are the elements of theparameter array. The ordering of the elements is: x(1),y(1),x(2),y(2),...x(n),y(n). The numberof x,y pairs is fixed. If there are n x,y pairs (four values) on a known working parameter file,then this means that the model assumes that there will be n x,y pairs on the file. More orfewer values will produce serious errors. A second rule is that the x values must be inascending order. Thirdly, the alint function does not extrapolate. The presumed value of y atx values less than x(1) is y(1). The presumed value of y at x values greater than x(n) is y(n).

If fewer than n x,y coordinates are needed for a parameterization, the extra x,ycoordinates can be given identical values as the last needed pair. For example the list:

Page 14: User Manual - Colorado State University

10

0.,1.,2.,2.5,3.,2.5; produces an identical result as the list 0.,1.,2.,2.5. If three x,y pairs areexpected by the model, the first list must be used even though the last value has no meaning.

In some cases, an alint parameter may be set to have no effect. For example, if thefunction is a 0-1 multiplier, then a value of 1 has no effect. To make the parameterinoperative, set y equal to 1.0 for all x. For example; 0.,1.,2.,1.,3.,1. will have no effect for amultiplier function.

The main base station weather data file and the site precipitation file (if used) are theonly files that use a fixed format, ie. the digits and decimals must be in the correct columns.The format for both files is (5x,4x,1x,12(1x,f6.1)). On the monthly weather file, each year iscomposed of three lines. On the first line is an array of twelve monthly precipitation values(mm). On the second and third lines are the minimum and maximum monthly temperatures,respectively. Comments are placed in the first 9 columns of each row. On a base stationprecipitation file, each line contains monthly values (mm) for a year for a single base station.

Missing values are not allowed on the main base station weather file. Missing valuesare allowed on a site precipitation file, and must be encoded as -9.0.

Page 15: User Manual - Colorado State University

11

Table 1. Calling routines for parameter files.

Parameter File Name Calling Routine

Fixed Name Files

condtn.prm enbudgt.forcons.prm consume.forconsnow.prm consume.forcull.prm cullinit.fordistc.prm distrib.forfireresp.prm firesp.forforce.prm distrib.forhrbfile.prm pbinit.forpabvinit.for abvginit.forplfile.prm plinit.forpopprm.prm popinit.forshbfile.prm shrinit.forshfile.prm shrinit.forsimcon.prm init.forslfile.prm init.forsnow.prm init.forsoil.prm init.forspacedat.prm init.forsppmix.prm sppinit.forsubfile.prm init.forweather.prm init.fortreecon.prm wdinit.fortrhtfil.prm wdinit.fortrspfil.prm wdinit.forwolf.prm wolf.forwtable.prm init.for

Variably Named Files

primary producer model parameter files producer.forshrub population parameter files shrinit.fortree population parameter files wdinit.for

Data Files

ascii weather data files init.for,monwethr.forbase station data init.forungulate population dynamics file main.for

Page 16: User Manual - Colorado State University

12

fires.dat init.forParameter Files - Functional Grouping

Run ControlThe file simcon.prm contains the parameters that control a simulation. On it are

various option flags and timing parameters (eg. starting and ending times). The location andplant type for detailed diagnostic output are specified here. Parameters specifying soilnitrogen processes are located here until a soil decomposition/nitrogen model is attached.

The file spacedat.prm contains parameters describing the spatial configuration of thesystem, such as the number of rows and columns, subareas, facets and their names. If a blockof contiguous grid cells is simulated (a subset of the data on input maps), then this is wherethe range of cells is specified.

Climate DataThe file weather.prm contains temperature lapse rates, monthly humidity, radiation,

precipitation, parameters for potential evapotranspiration, and paramters of the regressionequation that relates monthly storm number to monthly rainfall. The names of other weatherfiles are given on simcon.prm (see section on Changing Weather Data).

Snow SubmodelThe file snow.prm contains parameters for snow melting.

Soil ParametersThe file soils.prm contains the soil parameters for each soil type in the system. The

file wtable.prm gives water table depths by soil type.

Primary Production SubmodelThe file plfile.prm has the names of the parameter files for each plant type or species.Primary production submodel parameters are for each plant type or species occur in

individual files, the names of which are specified in plfile.prm. Most of these files arespecified by the user on the file "plfile.prm".

A parameter file called pabvinit.prm initializes aboveground plant biomass variables,by specifying shoot:root ratios and dead N:B ratio for each plant species type. Roots arealready initialized, so this is an easy way to initialize shoots.

Plant Population SubmodelsHerbaceous population parameters are presently located on the primary production

submodel parameter files for the herbaceous species.The file treecon.prm is a list of file names with parameters for each tree species or

functional group. The tree population parameter files specified on the file treecon.prm contain the

parameters for tree establishment, mortality, and morphology for each tree species orfunctional group.

Page 17: User Manual - Colorado State University

13

The file shbfile.prm contains the list of filenames with shrub population parameters.Shrub population parameter files contain parameters for shrub establishment, mortality andmorphology.

Plant Fire ResponsesThe parameters describing how plants respond to fire are located on the file

fireresp.prm.

Ungulate SubmodelsThe simcon.prm file has parameters that control whether the population model is on

or off. The number of ungulate species is also specied on this file. The file condtn.prm contains parameters for the simple energy balance submodel. The

file enbal.prm contains parameters for the more detailed energy requirement calculation,which is optional.

The file cons.prm contains parameters for the herbivory submodel, such asdigestibilities of plant tissues, dietary preferences, functional responses, maximum intakerates, and unavailable forage.

The file distc.prm contains parameters for the ungulate spatial distribution submodel. The file consnow.prm contains parameters for the effects of snow depth on forage

intake rate. Ungulate population data input can be read from a file with herbivore population

sizes or densities for each species, one year of data per line. The name of this file is specifiedon distc.prm. If ungulates distributions are affected by water, the file watrfil.prm mustcontain lists of water map file names, and parameters describing how ungulates respond towater.

Ungulate population parameters are located on the file popprm.prm, along with initialpopulation densities. The file cull.prm specifies if and how ungulate populations are to beculled.

Page 18: User Manual - Colorado State University

14

Table 2. Parameter file list.

Parameter Files with Fixed File Names

condtn.prm Ungulate energy balance parameters.cons.prm Ungulate herbivory parameters.consnow.prm Snow effects on ungulate herbivory parameters.cull.prm Ungulate culling parameters.distc.prm Ungulate spatial distribution submodel parameters.enbal.prm Ungulate detailed energy requirement parameters.fireresp.prm Plant fire response parameters.fires.dat A list of fire map filenames.force.prm Ungulate forced spatial distribution parameters.hrbfile.prm Initial herbaceous root biomass and species compositionpabvinit.prm Initial aboveground biomass and N:C ratios.plfile.prm Primary production submodel parameter file names.shbfile.prm Shrub population parameter file names.shfile.prm Shrub height map file names and species composition.simcon.prm Simulation control parameters.slfile.prm Soils map file names.snow.prm Snow and snow crusting submodel parameters.soil.prm Soil parameters.spacedat.prm Spatial extent of study area, number of facets, subareas.sppmix.prm Defines which plant species occur on which subareas.subfile.prm Subarea cover map, tree and shrub cover map file names.weather.prm Weather data.treecon.prm List of tree population parameter file names.trhtfil.prm List of tree height map file names.trspfil.prm List of tree species composition map file names.wolf.prm Wolf submodel parameters.wtable.prm Water table depths for each soil type.

Primary Production Model Parameter Files - Example File Names Specific to Elk IslandN.P.

aspen.prm Aspen (deciduous trees)sedge.prm Sedge (wetland herbaceous plants) hazel.prm Hazel (upland shrubs)shdgrass.prm Shade-adapted herbaceous plants (upland tree understory)spruce.prm Spruce - (coniferous trees)sungrass.prm Sun-adapted herbaceous plants (upland)willow.prm Willow (wetland shrubs)

Page 19: User Manual - Colorado State University

15

Table 2. continued.

Shrub and Tree Population Parameter Files - Example File Names Specific to Elk IslandN.P.

aspnpop.prm Aspen (deciduous trees)hazpop.prm Hazel (upland shrubs)spruce.prm Spruce (coniferous trees)willpop.prm Willow (wetland shrubs)

Weather Data Files - Example File Names Specific to Elk Island N.P.

ei8190_m.wth Monthly weather data 1981-1990.ei3890_m.wth Monthly weather data 1938-1990.

Ungulate Population Dynamics Data Files - Example File Names Specific to Elk Island N.P.

popm3590.dat Elk, bison and moose populations the main park 1935-90.popi6090.dat Elk, bison and moose population in isolation area 1960-1990.

Page 20: User Manual - Colorado State University

16

Spatial Input Data (Maps)

GeneralSpatial data take the form of raster (grid) maps. Data may be read in ARC GRID or

GRASS ascii formats or in IDRISI binary format. The option to read ARCINFO vs. GRASSvs. IDRISI is specified by a flag on the file simcon.prm.

The ARC GRID ascii format is described in ESRI documentation. The first fourteenlines contain header information. Thereafter each line of data corresponds to a single row ona map. Row one, at the top of a map, is the first line in the file. The GRASS ascii format ismuch like the ARC GRID format, with 14 rows of header information. The header isformatted differently, but the data are formatted essentially the same as on ARC GRID files.Ascii data can be real or integer, but non-categorical data will be converted to real on input,

The IDRISI binary format is discribed in their documentation. All IDRISI input filesthat are non-categorical must be real (4 byte) numbers for Savanna. Categorical data (eg.soils, vegetation, fire, force maps) must be integer (2 byte) numbers. The record length of thefiles is either 4 or 2 bytes. Numbering starts with the top row of a map, with columns loopingwithin rows. Rather than open all the .doc files for each map, the program expects to find asmall file called llcoord.dat with the x and y coordinates of the lower left corner of all themaps in the study area.

Subarea Cover MapsThese are maps of the percentage of each grid cell covered by a subarea. One map

must be provided for each subarea. The total cover of all types of subareas must be 100%.The names of the subarea maps are specified on the file subfile.prm. The units arepercentages.

Elevation MapAn elevation map, giving mean elevation in each grid cell must be provided. The

name of this map is specified on simcon.prm. Units are meters.

Soils MapsA soils map is needed for each subarea. The names of these maps are listed on the file

slfile.prm. Units are soil type indices (ordinal numbers). The soils map for the first subarea is also used as a general mask for the study area. A

zero value indicates a masked grid cell. Data are categorical.

Tree Canopy Cover MapsThese are maps of the percentages of each subarea in a grid cell covered by tree

canopy. There must be one map for each subarea. The names of the files are specified onsubfile.prm. Units are percentages.

Shrub Canopy Cover Maps

Page 21: User Manual - Colorado State University

17

These are maps of the percentages of each subarea in a grid cell covered by shrubcanopy. For each subarea, a map must be provided for both overstory and understory shrubcover. The names of these files are specified on subfile.prm. Units are percentages.

Since understory shrub cover is presumed to occur beneath tree canopies, understoryshrub cover on a subarea of a grid cell should not exceed tree cover. Similarly, overstoryshrub cover plus tree cover cannot exceed 100%.

Tree Height MapsTree height maps are used to initialize the tree population size class distributions. A

mean tree height map for each subarea is required (ie. one for upland and one for wetlandtrees). The names of the map files are specified on the trhtfil.prm parameter file. Units aremeters.

Shrub Height MapsShrub height maps are optionally used as specified by a flag on the file shfile.prm.

Otherwise, characteristic shrub heights are specified for overstory and understory shrubs oneach subarea. Shrub heights are used to initialize plant sizes (roots/plant). File names aregiven on shfile.prm. Units are meters.

Tree Species Composition MapsTotal tree canopy cover is divided among tree species according to values on these

maps. There must be a single map for each tree species/group on each subarea. For example,if there are two tree groups and two subareas, four maps are needed. The names of thesemaps are specified on the file trspfil.prm. The units are percentages.

Vegetation Type MapPlant mixtures can be assigned to each facet of each grid cell depending on the

vegetation type that dominates the grid cell (icinit=2 on the sppmix.prm file). Vegetationtypes are read in from a vegetation map. In turn, a lookup table (file vegfacet.dat) relatedmixtures on facets to the vegetation types on the map. Data are categorical.

Herbaceous Root Biomass MapsHerbaceous root biomass maps are used if the flag on the hrbfile.prm parameter file is

set to one. Otherwise, a typical root mass for each facet type is given. If maps are used, amap for each facet type is needed. Units are g/m2 roots.

Fire MapsIf fires are simulated, the distribution of each fire must be recorded on a fire map. The

names of the fire map files are specified on the file fires.dat. Fire maps are maps of fireseverity codes. There must be at least one fire severity class in addition to the unburned class(eg. 0=unburned, 1=burned). Up to three classes may be used (eg. 1=light, 2=moderate,3=intense fire damage). Data are categorical.

Maps That Affect Ungulate Spatial Distributions

Page 22: User Manual - Colorado State University

18

These maps are only required when the factor in question is being used to calculatehabitat suitability. These options are invoked by flags on the distrib.prm parameter file.

Slope Map. A slope map is only needed if ungulate habitat suitability is affected byslope. The units on the map are percent slope. The name of the slope map is specified on thedistrib.prm parameter file.

Preferred Area Map. This is simply a map of 0s and 1s indicating whether the cell is apreferred area or not. The name of this file is specified on the distrib.prm file if this option isused. Data are categorical.

Force Maps. These are maps rating the suitability of each grid cell by some degree ofexternal "force". For example this may be used to describe fenced out areas, danger due toproximity to predators. The force suitability index ranges in value from 0-1. Force map filenames are specified on the force.prm parameter file. Data are categorical.

Water Maps. The names of the water map files are specified on the file watrfil.prm.For each type of water (eg. seasonal freshwater wells), a map of minimum distance to water(km) and a map of effective discharge (m3/d) must be supplied.

Monthly Precipitation Maps Dynamic rainfall maps are optional, as set by a flag on the simcon.prm parameter file.

The file name is specified in the simcon.prm parameter file. The data are encoded as mm*10.The maps for each month are stored sequentially on a single binary (random access)

file. The first record for each month corresponds to the bottom map row, and each record is astring of two byte integers corresponding to map columns. Thus, the first record number of agiven date may be computed as the number of rows per map times the number of months toskip, plus one.

Page 23: User Manual - Colorado State University

19

Section III. Model Output

Preface

Model outputs are written to numerous output files, all of which have a *.out filename extension. Most output files are organized to be usable by plotting or presentationgraphics software, to plot variable values against simulated time. These are referred to astemporal plot files. They are comma-delimited, with the month/year in the first column.Temporal plot file output is usually saved at monthly intervals, however the output intervalcan be changed by a parameter on simcon.prm. Most of the output files contain ecosystem-level output, that is they are area-weighted values over all of the facets and grid cells in theecosystem. Diagnostic output files (diag*.out) are temporal plot files for a single species on asingle facet of a single grid-cell. Tabular output files (report.out and reportc.out) are notformatted for plotting, but are used to examine model details. Finally, the image fileimage.img is a compressed, binary formatted file of dynamic output maps.

Output Summarized by Output File

Biom1.outThis file contains system-level rainfall, plant production, and consumption by

herbivores, broken down into herbaceous and shrub functional groups. Tree NPP andconsumption is on file tree2.out. The routine with the write statement is svland.forVariables - 1. yppt- Accumulated Precipitation (mm)

2. yranpp(1) - Accumulated aboveground production of herbs (g/m2)3. yranpp(2) - Accumulated aboveground production of shrubs (g/m2)4. yrbnpp(1) - Accumulated belowground production of herbs (g/m2)5. yrbnpp(2) - Accumulated belowground production of shrubs (g/m2)6. yrcon(1) - Accumulated herbivore offtake of herbs (g/m2)7. yrcon(2) - Accumulated herbivore offtake of shrubs (g/m2)

Biom2.outThis file contains system-level standing stocks of leaf, wood/stem, roots by functional

group (herb, shrub, tree). The routine with the write statement is svland.forVariables - 1. sysppt - Monthly precipitation (mm)

2. sysgb(1) - Green leaf mass of herbs (g/m2)3. sysgb(2) - Green leaf mass of shrubs (g/m2)4. sysgb(3) - Green leaf mass of trees (g/m2)5. syswd(1) - Stem mass of herbs (g/m2)6. syswd(2) - Stem mass of shrubs (g/m2)7. totgrn - Total green leaf mass plus herb stems (g/m2)8. sysrt(1) - Root mass of herbs (g/m2)

Page 24: User Manual - Colorado State University

20

9. sysrt(2) - Root mass of shrubs (g/m2)10. sysrt(3) - Root mass of trees (g/m2)

Pptsnw.outThis file contains system-level data for precipitation and snow water content, depth

and crusting.Variables - 1. yppt - Accumulated precipitation (mm)

2. sysppt - Monthly precipitation (mm)3. syspet - Monthly potential evapotranspiration (mm)4. ppt3m - Running mean precipitation in last 3 months (mm)5. ppt12m - Running mean precipitation in last 12 months (mm)6. snodep - Snow depth (cm)7. avgcrst - Proportion of grid cells crusted over during month

Tree1.outThis file contains system-level tree cover. Woody cover and population densities by

subarea and tree type. The writing routine is trsysout.for. Note that what is written dependson the particular assignment of tree species to subareas in the application. Here, Elk IslandN.P. variables are shown.Variables - 1. sysppt - Annual precipitation (mm)

2. syscvr - Total tree cover (fraction)3. subc(1) - Tree cover on uplands (fraction)4. subc(2) - Tree cover on wetlands (fraction)5. sbtot(1,1) - Density of deciduous upland trees (#/km2 subarea)6. sbtot(2,1) - Density of coniferous upland trees (#/km2 subarea)7. sbtot(1,2) - Density of deciduous wetland trees (#/km2 subarea)8. sbtot(2,2) - Density of coniferous wetland trees (#/km2 subarea)

Tree2.outThis file contains system-level annual production accumulators for all trees -

analogous to biom1.out. The routine with the write statement is trsysout.forVariables - 1. sysppt - Annual precipitation (mm)

2. syswdg - Wood production (g/m2)3. sysrtg - Root production (g/m2)4. syslfg - Leaf production (g/m2)5. syshbv - Herbivore offtake (g/m2)

Page 25: User Manual - Colorado State University

21

Shrub1.outThis file contains system-level shrub cover on each subarea and current annual stem

biomass in g/m2 of subarea. The routine with the write statement is shsysout.for. It might beuseful to divide items 2 and 4 by tree cover (wdcvr(nsub,narea) to get understory cover perunit of tree cover. Note that what is written depends on the particular assignment of shrubspecies to subareas in the application.

Variables - 1. subco(2,1) - Understory upland shrub cover (on subarea)2. subco(3,1) - Overstory upland shrub cover (on subarea)3. subco(2,2) - Understory wetland shrub cover (on subarea)4. subco(3,2) - Overstory wetland shrub cover (on subarea)5. subcg(2,1) - Understory upland current annual stem growth (g/m2)6. subcg(3,1) - Overstory upland current annual stem growth (g/m2)7. subcg(2,2) - Understory wetland current annual stem growth (g/m2)8. subcg(3,2) - Overstory wetland current annual stem growth (g/m2)

Shrub2.outThis file contains system-level shrub population densities on each subarea and wood

biomass in g/m2 of subarea. The routine with the write statement is shsysout.for. It may beuseful to divide all understory items by the overstory tree cover on the subarea to expressresults in terms of per ha of tree cover (see note for shrub1.out). Note that what is writtendepends on the particular assignment of shrub species to subareas in the application.Variables - 1. subp(2,1) - Understory upland population density (#/ha subarea)

2. subp(3,1) - Overstory upland population density (#/ha subarea)3. subp(2,2) - Understory wetland population density (#/ha subarea)4. subp(3,2) - Overstory wetland population density (#/ha subarea)5. subb(2,1) - Understory upland current annual stem growth (g/m2)6. subb(3,1) - Overstory upland current annual stem growth (g/m2)7. subb(2,2) - Understory wetland current annual stem growth (g/m2)8. subb(3,2) - Overstory wetland current annual stem growth (g/m2)

Consum.outThis file contains herbivore condition indices, mean available graze to grazers, mean

available browse to browser, mean digestibilities of diets. The routine with the writestatement is svland.for. The species referred to are particular to the application (Elk IslandN.P.).

Variables - 1. cond(1) - Condition index of elk.2. cond(2) - Condition index of bison.3. cond(3) - Condition index of moose.4. sysgrz(1) - Mean available graze for elk (g/m2)5. sysgrz(2) - Mean available graze for bison (g/m2)6. sysbrs(3) - Mean available browse for moose (g/m2)8. digest(1) - Digestibility of elk diet

Page 26: User Manual - Colorado State University

22

9. digest(2) - Digestibility of bison diet10. digest(3) - Digestibility of moose diet

Diag1.outThis file contains diagnostic output for a single plant species on a single location (a

facet on a grid cell). The plant type and location are specied on simcon.prm. The routine withthe write statement is producer.for.Variables - 1. ppt(narea) - Monthly precipitation for the grid cell.

2. gbiom(nsp,nloc) - Green leaf biomass (g/m2 facet)3. wood(nsp,nloc) - Stem (wood) biomass (g/m2 facet)4. cagw(nsp,nloc) - Current annual stem biomass (g/m2 facet)5. root(nsp,nloc) - Root biomass (g/m2 facet)6. dedb(nsp,nloc) - Dead leaf (and stem for herbs) (g/m2 facet)7. glai(nsp) - green leaf area index 8. dlai(nsp) - dead leaf area index

Diag2.outThis file contains diagnostic output for a single plant species on a single location (a

facet on a grid cell). Phenology, plant nitrogen, snow and soil water. The routine with the write statement is producer.for.Variables - 1. phen(nsp,nloc) - Phenophase (0-4)

2. phendd(nsp,nloc) - Total degree days in growth cycle3. pnc(nsp,nloc) - Plant N:B ratio (gN/g biomass)4. pnclf(nsp,nloc) - Green leaf N:B ratio (gN/g biomass)5. wc(nsp) - Available water:PET ratio, (Avlwt:PET), (no dimensions)6. swatr(1,nloc) - Soil water content, top layer (mm)7. swatr(1,nloc) - Soil water content, middle layer (mm)8. swatr(3,nloc) - Soil water content, bottom layer (mm)9. snowat(nloc) - Snow water content (mm)10. ncrust(nloc) - Snow crusting flag

Diag3.outThis file contains diagnostic output for a single plant species on a single location (a

facet on a grid cell). Effects on stomatal conductance and photosynthesis, potential andrealized stomatal conductance, Ps rate. The routine with the write statement is producer.forVariables - 1. efnp(nsp,nloc) - Effect of leaf nitrogen on Cs, Ps (0-1)

2. eftp(nsp,nloc) - Effect of temperature on Cs, Ps (0-1)3. efwp(nsp,nloc) - Effect of Avlwt:PET on Cs, Ps 4. eflp(nsp,nloc) - Effect of light on Cs, Ps5. cs(nsp) - Potential stomatal conductance before being limited by competition (cm3/mg leaf/d)6. cs1a(nsp) - Realized stomatal conductance after limitation by competition (cm3/mg leaf/d)7. psrt(nsp) - Potential photosynthesis rate before competition

Page 27: User Manual - Colorado State University

23

limitation (g/g/d)8. psrta(nsp) - Realized Ps rate after competition (g/g/d)

Diag4.outThis file contains diagnostic output for a single plant species on a single location (a

facet on a grid cell). Production accumulators, soil nitrogen. The routine with write statementis the producer.forVariables - 1. totabp - Total aboveground production (g/m2 facet). If the diagnostic

species is a tree, this is leaf production only.2. totbnp - Total belowground production (g/m2 facet). This is blank if the

diagnostic species is a tree.3. totnpp - Total above plus belowground production (g/m2 facet)4. totcon - Total herbivore offtake (g/m2 facet)5. totnup - Total plant nitrogen uptake (g/m2 facet)6. totnfl - Total nitrogen return to soil (gN/m2 facet)7. smint - Soil mineral nitrogen (gN/m2 facet)8. som1(nloc) - Active pool organic soil nitrogen (gN/m2 facet) 9. tsdcon - Total herbivore offtake of seeds (g/m2 facet). This is blank if the

diagnostic species is a tree.

Diag5.outThis file contains diagnostic output for a single plant species on a single location (a

facet on a grid cell). Seed biomass and herbaceous, shrub plant populations. The routine withwrites is producer.forVariables - 1. wc(nloc) - Available water:PET ratio

2. seedp(nsp,nloc) - Seed mass on plant (g/m2 facet)3. seeds(nsp,nloc) - Seed mass in soil (g/m2 facet)4. tsdcon - Herbivore offtake of seeds (g/m2 facet)5. rsz - Plant size (g root/plant)6. pnum - Plant density (#/m2 - herbs, #/ha - shrubs)7. temper - Mean daily temperature (oC)

Pop.outThis file contains ungulate population sizes, culling offtakes. The routine with writes

is popd.for. Species referred to are specific to the application (Elk Island N.P.).Variables - 1. hpopt(1) - Elk number (total # in system)

2. hpopt(2) - Bison number (total #)3. hpopt(3) - Moose number (total #)4. hpopt(4) - reserved5. Cull(1) - Total elk culled (total #/month)6. Cull(2) - Total bison culled (#/month)7. Cull(3) - Total moose culled (#/month)8. cull(4) - reserved

Page 28: User Manual - Colorado State University

24

Bdrate.outThis file contains ungulate birth and death rates. The routine with the write statement

is popd.out. Species are specific to the application.Variables - 1. birtht(1) - Elk born (#/month)

2. birtht(2) - Bison born (#/month)3. birtht(3) - Moose born (#/month)4. death(1) - Elk mortality (#/month)5. death(2) - Bison mortality (#/month)6. death(3) - Moose mortality (#/month)7-9. hpopt(1-4) - Ungulate population sizes, as in pop.out

Diagpop.outThis file contains diagnostic ungulate population output, for a single species specified

on the popprm.prm file.The routine with the write statement is popd.out.Variables - 1. brr - birth rate (#/#/month)

2. drr(1) - death rate of newborn (#/#/month)3. drr(2) - death rate of immature females (#/#/month)4. drr(3) - death rate of immature males (#/#/month)5. drr(4) - death rate of mature females (#/#/month)6. drr(5) - death rate of mature males (#/#/month)7. cond - condition index of the species8. conges - mean condition index during gestation period

Wolf.outThis file contains the wolf model output. The routine with the write statement is

wolf.forVariables - 1. wolfn - Wolf population size (total # in system)

2. r - intrinsic rate of increase (yr-1)3. fresp -functional response (same units as r, yr-1)4. twdisp - total wolfs left system (#/yr)5. prkill1 - elk killed (animals/yr)6. prkill2 - bison killed (animals/yr)7. prkill3 - moose killed (animals/yr)

Report.outThis is a tabular output file that provides a detailed report of the model for one to

several grid-cells. This report is useful during the model calibration process, but can be usedanytime to verify model performance. The output grid-cell(s) is specified in the simcon.prmparameter file. The report is generally written once per year, but the interval can be changedby parameters on simcon.prm. For example, reports can be produced every other year,bimonthly in the alternating year (refer to simcon.prm parameter file description). Outputsare summarized by plant species or type, at the facet level and at the grid cell level. Here,one can examine how all the facets on a grid cell are behaving. The grid-cell level output is a

Page 29: User Manual - Colorado State University

25

cover-weighted average of facet level results. This file also contains a detailed breakdown ofthe water budget of each facet.

Reportc.outThis file contains ungulate diet compositions, total forage intakes and components of

their energy balance. Output is at the ecosystem level. Here, ungulate diets are summarizedby plant type and tissue type. This information is useful when calibrating dietary preferenceindices. Total ungulate forage intake is useful since it can be compared to forage availabilityto analyze how near stocking rates are to carrying capacity, or how food limited thepopulations are. Components of the energy balance are given, including costs of travelingand distance to water.

Image.imgThis is a compressed, binary (random access) file of map output from the model. The

record length of the file is determined as the number of columns on a map times two. Eachrecord contains a row of grid cell data. At present, 14 variables are saved as 2 byte integers.

An ascii header file, image.hdr, accompanies image.img. The first ten lines of theheader file contain: 1) number variables saved, 2) number of rows, 3) number of columns, 4)number of dates saved, 5) grid cell width (m), 6) xll- lower left hand corner longitude, 7) yll-lower left hand corner latitude, 8) first month saved, 9) first year saved, 10) monthly flagsindicating which months were saved. Lines 11-24 contain character names of each of the 14variables. Lines 25 and 26 are minimum and maximum values of each variable, respectively.

Each record of the image.img file holds the values for a single row of grid cells for asingle date for a single variable. The record number can be computed from the grid-cellnumber and the date (image) number as

where nr is the row number on a map (bottom is one). nimgsv is the index of the image (date)on the map, and nrows is the total number of rows on a map.

The variables saved are 1) monthly precipitation (mm), 2) woody cover, 3) shrubcover, 4) total green biomass (g/m2), 5) herbaceous green biomass, 6) shrub green biomass,7) tree green biomass, 8) snow water content (mm), 9) available forage for the selectedungulate and forage type (see simcon.prm), 10) not used, 11-14) densities of ungulates(#/km2) species 1-4.

Graphical Output Tools and Techniques

Temporal Plots

Temporal plot files should be readily imported into commercially available plottingand graphics programs. Some such programs, however, may not be able to handle the date

Page 30: User Manual - Colorado State University

26

format which is: month/year. The month/year may need to be converted to a single numberusing a user-supplied program.

Some software packages allow the creation of "templates" which are blank pre-formatted plots, often with hard-coded links to data files. Once the templates are created foreach of the .out temporal plot files, only the templates need be called to view results.

Spatial Output Using a GIS

The img2gis.for (fortran) program is used to convert from the image file format ofimage.img to .asc ascii file formats that can be read into ARC GRID or GRASS, or to thebinary real .img files and associated .doc files that can be read by IDRISI. The program getsinformation about the image.img file from the associated header file image.hdr. This has thenumber of rows and columns, the number of months and which months were stored, thevariable names etc. The input parameters for a run of imagasc are read from a file calledimget.dat, which species the format to write to, the variables to retrieve andthe dates to retrieve. The first and last year are give, and flags for eachof the 12 months. Flags retrieve each of the 14 variables currently savedon the image.img file. The output maps are written into file names with a nameing conventionas follows. Characters 1-2 are the first 2 characters of the variable name.Characters 3-4 is the month in two digits (ie. 01 not 1). Characters 5-8 isthe 4 digit year. Thus pr011990.asc is the name of the file for precipitationin January of 1990. The IDRISI map would be pr011990.img. It is suggested that this program be run in a separate directory fromwhere the .asc or .img input files to the model are stored, so that thecreated output maps be deleted using a wildcard like "del *.img" withoutalso erasing the input data.

Quick Spatial Output

The imagedis.bas (quick basic) program displays time series of images from mapsthat are stored on the image.img output file. The advantages of using this program ratherthan going through a GIS are that it accesses the image.img file directly, multiple months ofoutput can be viewed on the same screen, and one can rapidly advance forward or backwardamong months of output.

When the program asks to enter the filename with image data, state 'image.img'. Theprogram shows the time range of the data on the file and asks if you would like to skip aheadsome dates for the first image viewed. The program shows the variables that were saved asdynamic output maps. You select the variable to be displayed. The maximum and minimumvalues of the variable encountered during the simulation are displayed. The color code of theimages will be scaled into classes that span the range between the minimum and maximumvalues. You can specify a range. A character string can be placed on the plot as a title. Thecode used to signify masked cells on the output maps on image.img is -999, which must be

Page 31: User Manual - Colorado State University

27

specified. Images can be displayed a number of ways, from 1 to 12 images on a singlescreen. It is possible to display a paired comparison of two different variables side by side onthe screen. When a paired comparison is chosen then you can compare two variables fromthe current file or with a variable on another same-length image.img file.

When all the questions are entered the image(s) are displayed.You can toggle forward to another set of dates by pressing the + key (forward) or the - key(backward). The color scheme used ranges from warm tones (red) for lowest values, to cooltones (blue) for highest values (ie. red, orange, yellow, light-yellow, light green, green, lightblue, blue, purple, white).

Page 32: User Manual - Colorado State University

28

Section IV. Procedural Organization of the Model

Introduction

The code for the model, which is written in ANSI Standard Fortran-77, is organizedinto modular subroutines. The overall flow of procedures in the model is displayed in Fig. 1.The main program has a monthly time loop. The ungulate population model and the wolfmodel are called monthly. Portions of the tree population submodel are called annually. Themain program calls the subroutine svland every month. Svland contains the weekly time steploop, and it calls most of the other submodels. Note that the ungulate distribution model iscalled monthly. Importantly, the weekly time step loop is within the grid-cell loop. Thefacet/subarea loop is within the weekly loop. A tree diagram of main program subroutinecalls is provided in Fig. 2. A tree diagram of svland subroutine calls is shown in Fig. 3.Descriptions of subroutine functions are provided in Section VI.

Page 33: User Manual - Colorado State University

29

Figure 1. Program Procedure Flow.

Main Program

Initialize Loop Over Months

Fire Maps ReadCall Svland ProgramCall Pastoralism Submodel (not used for Elk Island)Call Ungulate Population SubmodelsCall Wolf ModelCall Tree Death, Sizes, Cover on Month 12

End

Svland Program

Read Weather DataCalculate Ungulate Spatial DistributionLoop Over Grid Cells

Fire Effects on PlantsCalculate Grid Cell Micromet Variables (Vdef, PET, T)Determine Grid Cell PrecipLoop Over Weeks

Calculate Runoff, Partitioning of PrecipitationSnow CrustDistribute Herbivory Among Patches, ForageLoop Over Subareas and Facets

Snow SubmodelBare Soil Evap SubmodelWood Biomass Allocation PatternUngulate Forage IntakeShrub Population SubmodelsTree GerminationNet Primary Production SubmodelSoil Water UpdateSoil N UpdateUpdate Accumulators

EndEndUpdate AccumulatorsCall Report Output RoutineCall Image Output RoutineRecalculate Animal Condition Index

End

Page 34: User Manual - Colorado State University

30

Figure 2. Tree diagram of the Savanna model code. P._ - program, S._ - subroutines, F._ -function subprograms. The subtrees of the svland.f subroutine are shown in Figure 3.

.)P.MAIN /)S.INIT * /)F.RAND * /)S.SPATLPPT * * /)F.XNORM * * * .)F.RAND * * .)S.MAPREADD * .)S.MAPREAD /)S.SPPINIT * .)S.MAPREAD /)S.PLINIT /)S.WDINIT * /)S.TREETHIN * /)S.MAPREAD * /)S.WDALLOC * .)S.TREECVR /)S.PBINIT * /)S.MAPREAD * /)S.TRWDENS * /)S.TRRDENS * .)F.ALINT /)S.SHRINIT * .)S.MAPREAD /)S.FIRERESP * /)S.HERBFIRE * /)S.TREEFIRE * * .)S.TRSUCKER * /)S.TRWDENS * /)S.TRRDENS * /)S.TREECVR * /)S.SHRBFIRE * .)F.ALINT /)S.DISTRIB * /)S.MAPREAD * .)F.ALINT /)S.CONSUME * /)F.CVRLOC * /)S.AVLFOR * * /)S.WDFORAV * * /)F.ALINT

Page 35: User Manual - Colorado State University

31

Fig. 2. continued

* * .)S.SHRBSIZ * /)F.ALINT * /)S.TREEBRWS * /)S.TRWDENS * .)S.TRRDENS /)S.ENBUDGT * .)F.ALINT * .)F.ENREQR /)S.POPINIT * .)F.ALINT /)S.CULLINIT /)S.WOLF /)S.MONWETHR /)S.MAPREAD /)F.RAND /)S.SVLAND (See separate diagram for subtrees) /)S.CULLPOP /)S.POPD * .)F.ALINT /)S.DELWTDTH .)S.TREECALL /)S.TREEPOP * /)S.WBSUB * /)S.TREEBIOG * * /)S.TRSHADE * * * /)S.AREAINDX * * * /)S.SHADING * * * /)F.ALINT * * * .)F.PMRAD * * .)F.CVRLOC * /)S.TREEDTH * * .)F.ALINT * /)S.TRWDENS * /)S.TRRDENS * .)S.TREECVR /)S.TREEREP .)S.TRSYSOUT

Page 36: User Manual - Colorado State University

32

Figure 3. Tree diagram for subroutine SVLAND. .)S.SVNLAND /)F.RAND /)S.MAPREADD /)S.PPTINTER * . F.REGRESS /)S.SPATLPPT * /)F.XNORM * * .)F.RAND * .)S.MAPREADD /)F.XNORM * .)F.RAND /)S.MAVGPPT /)S.DISTRIB * /)S.MAPREAD * .)F.ALINT /)S.CRUST * /)F.ALINT * .)F.RAND /)S.FIRERESP * /)S.HERBFIRE * /)S.TREEFIRE * * .)S.TRSUCKER * /)S.TRWDENS * /)S.TRRDENS * /)S.TREECVR * /)S.SHRBFIRE * .)F.ALINT /)S.PRSTLR /)S.SURFRAD * .)S.AREAINDX /)S.STRMNUM /)S.STRMSIZ * .)F.RAND /)F.ALINT /)S.RUNSTRM * /)S.AREAINDX * .)S.SCSRUN /)S.ROUTE /)F.CVRLOC /)S.DIETPATCH * /)F.CVRLOC * .)S.AVLFOR

Page 37: User Manual - Colorado State University

33

Figure 3. continued

* /)S.WDFORAV * /)F.ALINT * .)S.SHRBSIZ /)S.SNOWPAK * .)F.ALINT /)S.BEVAP * .)S.EVAPR /)S.WDALLOC /)S.CONSUME * /)F.CVRLOC * /)S.AVLFOR * * /)S.WDFORAV * * /)F.ALINT * * .)S.SHRBSIZ * /)F.ALINT * /)S.TREEBRWS * /)S.TRWDENS * .)S.TRRDENS /)S.SHRBCVR /)S.SHRBSIZ /)S.SHRBDTH * .)F.ALINT /)S.TREEGRM * .)F.ALINT /)S.SHRBGRM * .)F.ALINT /)S.BIOMGRM * .)F.ALINT /)S.HRBDTH * .)F.ALINT /)S.PRODUCER * /)S.AREAINDX * /)F.ALINT * /)S.SHADING * /)F.PMRAD * /)S.TRSHADE * * /)S.AREAINDX * * /)S.SHADING * * /)F.ALINT * * .)F.PMRAD * .)S.POTNPP * /)F.ALINT

Page 38: User Manual - Colorado State University

34

Figure 3. continued.

* .)F.OPTTEMP /)S.DRAIN /)S.ACCUM /)S.ENBUDGT * .)F.ALINT /)S.REPORT * .)F.CVRLOC /)S.IMAGESV * .)F.CVRLOC /)S.CONDINDX /)S.SHSYSOUT .)S.CONSREP

Page 39: User Manual - Colorado State University

35

Section V. Subroutines and Their Functions

Introduction

An alphabetized list of model subroutines is provided here. The model source code isheavily commented, and it may be instructive, even for non-programmers, to refer to thesource code to understand exactly what the model is doing. It is often useful to use the UNIXgrep utility to find where in the source code certain variables and parameters are used, wherethey are read in, and where they are written out.

Subroutine Name and Function List

abvginit.for - Initial aboveground biomass and nitrogen state variables for the plantproduction submodel.

accum.for - Accumulates total net primary production (NPP) and water flows for each facet.Results are reported in the "report.out" output file.

alint.for - Linearly interpolates between values supplied in table form.

areaindx.for - Computes leaf and stem area indices for a plant type.

avlfor.for - Calculates available forage mass in grams per square meter of patch or facet area,accounting for snow, ungrazable biomass and shrub size.

bevap.for - Compute bare soil evaporation loss by looping over a rain day an subsequent no-rain days, calling evapsmp.

biomgrm.for - The biomass-based seed germination/establishment and seed bank sub-model.

condindx.for - Computes ungulate condition index due to weight changes and changes inage/sex ratios due to population dynamics.

consrep.for - Writes summary output for ungulate forage consumption, such as forage intakeand diet composition. Results are written to the "reportc.out" output file.

consume.for - Initializes ungulate herbivory submodel. Calculates forage intake rate peranimal of each forage type based on maximum intake rates, the results of thefunctional response, forage quality and snow cover. Based on the distribution ofanimal foraging days among forage types, it then calculates total forage offtake.

Page 40: User Manual - Colorado State University

36

crust.for - Stochastically determines if there is a snow crusting event.

cull.for - Culls ungulate herds based on data in the cull.dat input file or implements a rule-based cull.

cvrloc.for - Computes the fraction of a grid cell covered by any facet.

delwtdth.for - Calculates change in population animal condition index due to mortality,assuming animals in worst condition are the ones that die.

dietpatc.for - Determine how herbivory is distributed among patches (facets) within a gridcell based on forage abundance and dietary preferences. Output can be viewed as thedistribution of animal foraging days among forage types.

distrib.for - Distributes herbivore populations among grid cells according to calculatedhabitat preference indices.

drain.for - Drain water in excess of field capacity from each layer, into the next lowest layeraccording to a tipping bucket model. Also if the water table is within the soil profile,ensure water in the corresponding depth zone is saturating.

enbudgt.for - Calculates ungulate energy budgets based on energy intake and costs ofmaintenance, travel, lactation. Uses energy budget to derive mean animal bodyweight.

enreqr.for - The more detailed ungulate energy requirement calculation which accounts fortemperature and thermoregulation.

evapsmp.for - Compute bare soil evaporation using Ritchie's two stage model.

fireresp.for - The fire response submodel. It calls routines that find plant responses to fire dueto mortality and size reversals. Biomass losses are calculated here.

herbfire.for - Finds herbaceous plant responses to fire.

hrbdth.for - Calculates mortality of herbaceous plants.

imagesv.for - Output image (map) data to a compressed binary file.

init.for - The main initializing routine for the model.

main.for - The main routine, with the monthly time loop.

Page 41: User Manual - Colorado State University

37

mapread.for - Reads in an input map in either binary format or ARCINFO grid ascii fileformat.

mapreadd.for - Reads in a monthly rainfall map in binary compressed format.

mavgppt.for - Compute moving average rainfall or rainfall in last three and twelve months.

monwethr.for - Read in data from a monthly weather file.

norm.for - Sample from a normal distribution.

opttemp.for - Calculate the effect of temperature on stomatal opening or photosynthesisusing a bell shaped curve.

pbinit.for - Initialize the state variables in the primary production submodel.

plinit.for - Initialize the primary production submodel parameters.

pmrad.for - Calculate the effect of light (photosynthetically active radiation) on stomatalopening and photosynthesis rate.

popd.for - The ungulate population submodel.

popinit.for - Initializes the ungulate population submodel.

potnpp.for - Calculate the potential net primary production rate (before competition) basedon stomatal conductance responses to water, light, temperature and nitrogen.

pptinter.for - Does a spatial interpolation for precipitation, accounting for elevation effects ifthey are significant.

producer.for - The primary routine of the primary production submodel. Calls potnpp.for,accounts for competitive interactions among plant species based on light, water andnitrogen, allocates production, tracks phenology, implements plant nitrogen uptake,transfers tissues to litter. The diagnostic output for plants and soil water is writtenfrom this routine, to diag1.out - diag5.out.

prstlr.for - Computes potential evapotranspiration using the Priestly-Taylor equation.

rand.for - Select a uniform random number.

regress.for - Performs a regression of precipitation on elevation.

Page 42: User Manual - Colorado State University

38

report.for - Write summary output to file "report.out" for a single or a limited number of gridcells. Output is reported for each facet and summarized for an entire grid cell.

route.for - Calculates the fraction of precipitation that drains to various soil layers or isleached from the soil based on current soil water status, runoff, crack flow.

runstrm.for - Calculates the fraction of rainfall that runs off by calling the routine scsrun.for.

scsrun.for - Calculate runoff based on the SCS curve number method.

shading.for - Determine the mean light intensity in a plant canopy.

shrbcvr.for - Finds the fraction of a grid-cell subarea covered by shrubs based on total rootbiomass. It then corrects shrub biomass densities per meter square of facet based onthe calculated change in cover on the subarea.

shrbdth.for - Determines shrub mortality.

shrbfire.for - Calculates shrub responses to fire.

shrbgrm.for - Calculates shrub establishment rate in simple demographic terms.

shrbsiz.for - Calculate shrub size in grams of root and stem per plant.

shrinit.for - Initializes the shrub population model.

shrsysout.for - Writes shrub population outputs to shrub1.out and shrub2.out.

snow.for - Calculates snow accumulation and melting.

spatlppt.for - Computes a spatial rainfall distribution for the whole system when only readingin single-valued monthly rainfall for a base station. Uses the spatial distributions on amonthly rainfall map file.

sppinit.for - Initializes plant species indices defining what species occur on what facets andsubareas. Reads in from the file sppmix.prm.

strmnum.for - Determines the mean number of storms per month and mean storm size basedon monthly rainfall.

strmsiz.for - Randomly determine a storm size based on a gamma distribution, and meanstorm size.

Page 43: User Manual - Colorado State University

39

surfrad.for - Calculates the effect of leaf area and mulch shading on potentialevapotranspiration rate at the soil surface.

svland.for - This is called monthly from main.for and it in turn calls most of the other modelmodules, passing information from one module to another. It contains the micro-meteorological equations as well as a highly simplified soil nitrogen submodel. Theweekly loop within months is located in this routine. Some output functions arelocated here, primarily output written to the files biom1.out - biom4.out.

treebiog.for - Calculates individual tree root and stem biomass growth based on the totalproduction predicted by the net primary production submodel. It then calculates thefraction of trees promoted to the next size class.

treebrws.for - Calculates responses of tree populations to browsing, including reversals oftrees to smaller size classes and tree mortalities, and associated biomass transferred tolitter due to tree mortality.

treecall.for - Calls treepop.for and treesysout.for on an annual basis for each grid cell. treecvr.for - Compute fraction of a grid cell subarea covered by trees based on rooted area per

tree and numbers of trees.

treedth.for - Determine annual tree mortality rate.

treefire.for - Assess how trees respond to fire.

treegrm.for - Calculate tree establishment rate in simple demographic terms.

treepop.for - The annual portions of the tree population submodel are called. These includetree death, tree size class promotions, and changes in tree cover.

treerep.for - Output of shrub and tree population models for a selected grid cell to report.out.

treethn.for - Implements a tree thinning curve relating tree density to tree size. It is usedoptionally to compute rooted area per tree in the wdinit.for routine.

trrdens.for - Calculate mean root biomass densities on tree covered areas based on tree sizeclass distributions and root biomass densities for each tree size class.

trshade.for - Computes light incident on each size class and each type of tree on a subarea.Treats competition for light among different tree types.

trsucker.for - Compute number of suckers produced by trees when the main stem is killed byfire.

Page 44: User Manual - Colorado State University

40

trsysout.for - Output tree population information integrated over the entire study area, ie. treenumbers and cover, to tree1.out and tree2.out.

trwdens.for - Compute wood and stem biomass density on tree covered areas based on treesize class distribution. Like trrdens.for.

wbsub.for - Calculates total wood biomass per m2 of subarea based on tree numbers andsizes on the subarea.

wdalloc.for - Calculates the morphometric wood/(wood+root) and leaf/wood ratios for a treetype based on the current size class distribution.

wdforav.for - Computes amount of forage available to a herbivore based on the height of thetree and the herbivore.

wdinit.for - Initializes the tree population model.

wolf.for - The wolf predation and population dynamics submodel.