ForestModel — The main enclosing element for the ForestModel XML document


Content Model

ForestModel = (repeat | table | curve | curvetable | define | exec)+, input, output?, 
(attributes | attribute | repeat)*, (select, repeat)+


descriptiona comment string None
horizoninteger: # of yearsREQUIRED
yearinteger: starting yearREQUIRED
maxageinteger: maximum current stand age200
match (multi | solo)"multi"
fuzzagefloat: age difference5
fuzzpctfloat: percent area rounding1000
maxsuccessioninteger: number of succession changes10
maxrotationinteger: number of treatment rotations3


ForestModel is the name of the document type definition used by Patchworks. The ForestModel element is the main enclosing element in this DTD. The ForestModel (AKA the entire XML file) describes growth and yield conditions, treatment options and silvicultural responses. This element allows attributes which provide meta-data to describe how this particular model applies to the target dataset (inventory information).


The ForestModel element is the top level element and has no parent elements.


The following elements occur in ForestModel element: exec, input, output, define, curve , curvetable, attribute, attributes, select, repeat.



The description attribute provides a comment string that describes the dataset that the ForestModel was created for. This string literal must be enclosed in quotations and should reflect some meaningful infomation regarding the planning area, inventory, etc. This information is currently unused by the model but provides valuable reference information in the XML file.


The horizon attribute provides a cue to the parser about how many years the simulation is expected to cover. This will help the parser in determining how many linked tracks it needs to build to be able to account for the entire planning horizon. This attribute must be given in an integer form.


The year attribute provides a starting point for the analysis, a numerical entry.


The maximum current stand age in the input inventory. This value is used to determine how far in to the future to extend the yield curves and the search for future management treatments.

The MatrixBuilder will scan the inventory and determine the maximum stand age. If the maximum stand age is greater than the maxage parameter, then the maxage parameter will be increased to the determined maximum stand age and a warning will be issued. The warning message may be avoided by setting this value to an appropriate value.


Fuzzage is the maximum difference in age between two fragments before they are considered to belong to different stratum. The default is that fragments that are within 5 years of each other are grouped into one stratum of an average age.


Fuzpct is the rounding that occurs in the stratum area percentage when comparing to previously encountered blocks. The default is 1000, which specifies to round off to 1/10 of one percent.


Maxsuccession is the maximum number of successional transition events to process in succession before abondoning the search. The default is 10 attempts. If the Matrix Builder does not reach the end of the forecasting horizon within this number of successional transitions it will declare a 'succession cycling' error.


Maxrotation is the number of rotations (treatment and response combinations) to apply over the planning horizon. The default is 3 successive treatments. Note that partial harvest treatments (ADJUST="R") only count for 0.5 rotations. The Matrix Builder will stop building the decision tree when the maximum number of rotations are exceeded, even if this is before the end of the forecasting horizon is reached.

See Also

XML Forest Models chapter in the User Guide.


<ForestModel description="C5 Dataset" horizon="200" year="2002">