A product is an attribute that is generated as a consequence of applying a management treatment. Product attributes are defined in the products.csv core file.

The products.csv file is very similar to the features.csv file, in that it contains fields for TRACK, LABELS and CURVES. Tracks can contain multiple treatments, so the product file also contains an extra field to specify the type of treatment the products apply to.

See Table 11, “Products file format” for a detailed description of the products file format.

Table 11. Products file format

AttributeData TypeDescription
TRACKString An alphanumeric label that matches a track label from the treatments file (see the section called “Treatments”). It is an error to include products for non-existent tracks.
TREATMENTString An alphanumeric label that identifies the treatment. The label can contain no special characters. This label must match a corresponding label in the treatments file (see the section called “Treatments”).
LABELString An alphanumeric label that provides a semantic description of the attribute values. The label commonly starts with the prefix product., but otherwise there are no restrictions on product labels. Labels may employ a hierarchical classification where path components are separated by a period . character (eg. product.Yield.managed.SPF).
FUTUREIntegerThe value of this field indicates that the product should be accrued to a year other than the year of harvest.
ADJUSTStringA value of A or R indicating if the time of the future value should be determined using an absolute or relative offset computation.
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 curve file (see the section called “Curves”).

The product file lists the outputs of management that occur when a treatment is applied. Multiple outputs are often generated as a consequence of management (for example, the yield of several species, as well as several cost components or revenues).

Products are attributes that are associated with a specific track and a specific treatment, and are described by unique curves found in the curves.csv file (see the section called “Curves”).

Example 15. Sample products file records

  TRACK,    TREATMENT,  LABEL,                           CURVE
  Track.3,  Exten,      product.Area.managed.SB1,        57
  Track.3,  Exten,      product.Yield.managed.Po,        58
  Track.3,  Exten,      product.Area.managed.LC1,        59
  Track.3,  Exten,      product.Cost.silv.managed.Exten, 60
  Track.3,  Exten,      product.Origin.managed.Exten,    61
  Track.3,  Exten,      product.Yield.managed.OC,        62
  Track.3,  Exten,      product.Yield.managed.SPF,       63
  Track.3,  Exten,      product.Yield.managed.Bw,        64
  Track.3,  Exten,      product.Area.managed.SF1,        65
  Track.3,  Exten,      product.Treated.managed.Exten,   66
  Track.3,  Basc1,      product.Treated.managed.Basc1,   104
  Track.3,  Basc1,      product.Area.managed.SB1,        105
  Track.3,  Basc1,      product.Yield.managed.Po,        106
  Track.3,  Basc1,      product.Area.managed.LC1,        107
  Track.3,  Basc1,      product.Cost.silv.managed.Exten, 108
  Track.3,  Basc1,      product.Origin.managed.Exten,    109
  Track.3,  Basc1,      product.Yield.managed.OC,        110
  Track.3,  Basc1,      product.Yield.managed.SPF,       111
  Track.3,  Basc1,      product.Yield.managed.Bw,        112
  Track.3,  Basc1,      product.Area.managed.SF1,        113
  Track.3,  Basc1,      product.Treated.managed.Exten,   114
  Track.3,  Basc1,      product.Cost.silv.managed.Basc1, 115

Product attributes are derived from the products.csv file in the same way feature attributes are calculated. The LABEL field displays the product attribute names that are associated with the TRACK and the unique product curve. For a particular point in time (when a management treatment is applied), the value from the product curve is multiplied by the managed area for the block in question. The value of the product attribute will appear in the Block Table for the planning period in question.


Product values are only assessed when the treatment is applied. This is different than feature values that represent extant conditions and are assessed in every period. The values are determined by computing the curve intersection at the offset of the block at the time of harvest.

Treatments are assumed to be applied uniformly to the entire managed area in a block. The area treated will most often be the managed block area, although manual treatments applied to unmanaged areas will also generate products.

Mayn product attributes can be defined with curves having a single point (0,1) to record the area treated by forest type, treatment type, or other stratification variables. Although these attributes seem trivial, they can be aggregated into accounts (see Accounts) that summarize forest level activities.

It is possible for product attributes to share the same curves as their corresponding feature attributes. For example, if the entire block was harvested using a clearcut treatment, the product yields could be identical to the feature yields, and the same curve numbers could be used in each case. If a treatment left a certain amount of volume unharvested, the product yields would be reduced from the feature yields, and a unique set of curves would be required.