The features.csv file contains a list of the feature attributes that are associated with each track. A feature describes an extant condition such as level of growing stock, or amount of effective habitat.

See Table 8, “Feature file format description” for a detailed description of the features file format.

Table 8. Feature file format description

AttributeData TypeDescription
TRACKString An alphanumeric label that indicates the track that this feature belongs to.
LABELString An alphanumeric label that provides a semantic description of the curve values. The label often starts with the prefix feature., but otherwise there are no restrictions on feature labels. Labels may employ a hierarchical classification where path components are separated by a period . character (eg. feature.Seral.old).
CURVEString An alphanumeric identifier that provides a link to a curve in the the section called “Curves” file.

There can be many attributes associated with each track, in which case a number of records would begin with the same track identification label.

It is a common convention in Patchworks that feature attribute names start with the prefix feature. See Example 12, “Sample feature file records” for an example of data from a feature file.

Example 12. Sample feature file records

	  TRACK   LABEL                           CURVE
	  Track.2 feature.Yield.unmanaged.Conif   1
	  Track.2 feature.Seral.old               2
	  Track.2 feature.Yield.unmanaged.Decid   3
	  Track.2 feature.Area.unmanaged.Dec      4
	  Track.2 feature.Area.unmanaged.CDConMix 5
	  Track.2 feature.Seral.mature            6
	  Track.2 feature.Seral.young             7
	  Track.2 feature.Seral.regen             8
	  Track.2 feature.Visual.disturb          9
	  Track.3 feature.Area.managed.PL         10
	  Track.3 feature.Seral.old               11
	  Track.3 feature.Yield.managed.Decid     12
	  Track.3 feature.Seral.mature            13
	  Track.3 feature.Seral.young             14
	  Track.3 feature.Seral.regen             15
	  Track.3 feature.Visual.disturb          16
	  Track.3 feature.Area.managed.SW         17
	  Track.3 feature.Yield.managed.Conif     18
	  Track.4 feature.Yield.unmanaged.Conif   29
	  Track.4 feature.Seral.old               30
	  Track.4 feature.Yield.unmanaged.Decid   31

The TRACK field contains the track label. There can be many attributes associated with each track, in which case a number of records would have the same track identification label.

The contents of the LABEL field provides a semantic description of the attribute. Labels commonly start with the prefix feature, but otherwise are entirely user specified, as are the interpretation of the associated conditions. Labels are alphanumeric strings with no special characters permitted. The period character "." is used to separate the label string into hierarchical components. For example, a collection of yield curves for various species within a track might be listed as feature.Yield.Sb, feature.Yield.Pj, etc. The hierarchical classification does not influence the scheduling model, but can simplify the use of the Patchworks graphical user interface, and assist in the classification and presentation of results.


Even though the same feature label is common to a number of tracks, the curve associated with the feature may be unique. In subseqent chapters we will see how Patchworks can aggregate the feature values from multiple blocks, and we will show how these values can be used to control the simulation process.

You will notice from the above example that the same feature labels have been repeated in several tracks.

Track.2 and Track.4 (curve 1 and 29 respectively) share the feature named feature.Yield.unmanaged.Conif. However, they are described by unique attribute curves. Even though both tracks contain features for unmanaged conifer yield, the yield curves associated with each track may differ depending on the stand characteristics being described (conifer volume could be derived from spruce or mixwood stands, each having unique yield curves).

Features are represented quantitatively by curves (see the section called “Curves”). The actual values are stored in a separate table and are reference by the CURVE identifier. There are no assumptions about the Y units of the curves though the X units must be in years. Curves have their Y-values stored in a per unit area format (e.g. m3/ha). Curve values are always multiplied by the managed or unmanaged area of the block (as appropriate).

The features file makes reference to time series attribute curves that describe how the value of each feature changes throughout the planning horizon. These curves are described in the core file named curves.csv.