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. Features are associated with curves that describe the X-Y time dependent characteristics of the attribute. The curve values are stored in the curves file.

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.
LABELStringAn 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).
SCALEMETHODStringThis parameter describes how curve values are scaled before being used as attribute values, and the value may be blank, "A", "P" or "N". A value of "A" (the default if not specified) means that the curve value should be multiplied bu the component area (managed or umanaged). A value of "P" means that the value should be multiplied by the proportion of the component area (managed or unmanaged) as compared to the total area. A value of "N" means that no scaling should be applied and the curve value should be used as is.
METHODStringThis parameter described how attribute values are summed up by planning periods, and may have values of blank, "census" or "series". A value of "census" (the default if blank or not specified) means to use the scaled curve value from the last year of the planning period. A value of series means to sum the scaled curve values from each year of the planning period.
CURVEString An alphanumeric identifier that provides a link to a curve in the 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 other than the underscore ("_"). 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 share the feature named feature.Yield.unmanaged.Conif. However, they are described by unique attribute curves(curve 1 and 29 respectively) . 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).


The Patchworks model makes no assumptions about the Y units of the attributes, though the X units must always be in years.