treatment — define a management treatment and the stand response


Content Model

	  <treatment> =  produce?,



labelname of the treatment type (string) Required
minageearly operability limit (numerical)"0"
maxagelate operability limit (numerical)"10 000"
offsetnew age of stand post treatment (numerical)"0"
retainminimum length of time ineligible for another treatment"0"
adjust(A | R) Absolute or relative age adjustments "A"
renewalcurveAn expression that calculates a curve that is used to calculate the renewal age ""
manual(false | true | managed | unmanaged) A flag that indicates if the treatment is only eligible for manual scheduling. false
operabilityA query language expression that can be evaluated to give finer control over the timing of operability for this treatment. true
eligibilityA boolean expression that is evaluated for each year within the planning horizon, to limit the eligibility of the treatment at different years in the planning horizontrue


The treatment element specifies a management treatment option that may apply to all stands that match the enclosing select element. Attributes specified along with the treatment element determine the stand ages when the treatment is eligible, the resulting age after the treatment occurs, and restrictions on subsequent treatments. In addition a transition element may specify the post-treatment response, and a produce element may alter stratification values prior to product values being calculated.

It is important to remember that the sequence of treatments to be applied is chosen by the Patchworks scheduler. The treatment definitions in the ForestModel file provide the range of treatment options that are possible for selected forest stands, and these will be compiled by the Matrix Builder in to an input matrix.

The label attribute identifies the name of the treatment being applied. The minage and maxage attributes define the broad age of operability limits for this treatment as it applies to each matching stand. In addition, the operability attribute can specify a query-language statement that can be evaluated to provide a finer control on the timing of operability. Offset, retain and adjust modify the response to the treatment. Treatments may be limited to specific years in the planning horizon using the eligibility attribute.

Treatments are typically defined as in a Model II type of formulation where the scheduling algorithm may choose multiple treatments as a sequence of operations. Alternatively a Model I formulation may be specified where a single choice of a treatment option implies a fixed regime of treatments and outputs. This type of modeling is typical of the USFS FVS vegetation simulator. To set up a Model I formulation set the treatment eligibility to the first year of the planning horizon, and use future products to describe harvest and thinning outputs.

Be careful when setting up your input data sets, especially if you are permitting multiple fragments within each block. In this case treatments for the largest fragment will be selected first, and then only those treatments with matching labels will be selected and applied to subsequent fragments. As the matching process proceeds, only treatments that can be successfully be applied to all fragments will be allowed. Furthermore, the final set of operability limits will be the least common denominator of the entire set. If the operability limits do not overlap for all fragments, then the treatment will not have an eligible timing and will be discarded.


These elements contain treatment: track.


The following elements can occur in treatment: produce, transition



The treatment type is specified by the label attribute. The name of the treatment should be consistent with other treatment labels to maintain continuity throughout the ForestModel.


This attribute defines the early operability age. Stands matching to this track are only eligible for this particular treatment after reaching this minimum age requirement.


This attribute defines late operability age. Stands matching to this track are only eligible for this particular treatment before exceeding the maximum age requirement.


Offset defines the new age of the stand following the application of the treatment. A default value of '0' is provided however various treatments may result in a new average age of the stand. A negative number may be defined to mimic the lag time between harvest and regeneration ('-5' would indicate a 5 year delay period). Older ages could be used to specify advanced regeneration.


The retain attribute defines the minimum length of time that the new stand is ineligible for any management treatment after receiving the current treatment. For example, after an underplanting a minimum of 20 years may be required before the regen has established and the stand is eligible for an overstory removal.


Two values are available for this attribute: (A | R). 'A' represents an Absolute adjustment to the new age of the stand after the current treatment. This means that the new age will be the Offset value. 'R' represents a relative adjustment in age, meaning the value of the offset variable is added to the current age of the stand. This variable is available to model partial harvest treatments, such as thinnings and underplantings. The stand age can be left unchanged by using an offset of "0" and an adjust of 'R'.


If specified, the renewal age is calculated by adding the offset to the current age, and then looking up the resulting curve value. If 'adjust' is 'R' then this value is added to the current age, otherwise this value becomes the renewal age.

The curve expression is evaluated in the Patchworks Query Language, for the stand condition that the treatment is being applied to. For example,



Manual treatments can only be applied via an explicit method, such as loading in a schedule, where as automatic treatments may be allocated by the scheduler. The scheduler will not allocate treatments that are flagged as manual. Manual treatments can be used to allow stands to be manually scheduled for harvest at an age younger than their nominal early operability age. This is typically a requirement when loading a pre-defined schedule based on an operational decision.

Valid parameters for this value are 'true', 'false', 'managed', and 'unmanaged'. These values are not case-sensitive. 'false' indicates that this is not a manual treatment. 'true' and 'unmanaged' both indicate that this is a manual treatment, and that the portion of the block that this treatment applies to should be considered unmanaged, so long as it is not already considered managed by virtue of other available treatments. 'managed' indicates that the portion of the block should be considered as part of the managed forest.

The implication of the above is as follows. If the treatments that match a portion of a block area with no other treatments, or with treatments all having values equal to 'true' or 'unmanaged', then that portion of the block will be considered to be part of the unmanaged land base. If any treatment that match a portion of the block has a value of 'false' or 'managed', then that portion of the block is considered to be in the managed land base, regardless if any single matching treatment has a contrary value.

For the above mentioned tests, all other rules of treatment eligibility matching apply simultaneously, such as age restrictions and operability criteria. For example, if a treatment does not match at any age based on the operability criteria, then the value of the manual attribute does not matter.


Operability criteria can be refined using a query-language expression. This expression can refer to any of the feature attributes associated with the stand (product attributes cannot be used). For example, an operability statement could limit the treatment to stands with greater than 140 m3/ha of growing stock. Any query-language expression is allowed, so long as it evaluates to a true or false condition. When the matrix builder is operating, it will evaluate this expression for each year that it is considering the stand for harvest, and will reduce the minage and maxage values accordingly. Depending on the expression that is used the resulting operable timing may be discontinuous (e.g. operable for a few years, then not operable, then operable again).


The eligibility attribute limits the planning years when the treatment may be applied. This optional attribute specifies an expression that is evaluated at each year in the planning horizon. If the expression evaluates to true then the treatment may be allowed in that planning year if it is also considered operable according to the minage, maxage and operability settings. If the eligibility attribute is not specified then the treatment will not be restricted by planning year. Since this criteria is applied by year, there may be planning periods where the treatment is allowed in some years but not others.

The treatment eligibility option provides greater selectivity than timing constraints, because it applies to specific treatments in specific planning years.

The minage, maxage, retain and offset are numeric values, and can be specified as literal numbers or as a Patchworks Query Language expression. The expression may make use of numbers, operators, defined values and functions. The expressions will be evaluated in the context of the stand condition that the treatment rule is being applied to.

See Also

track,produce, assign, transition.


  <select statement="FU eq 'BW1' and IFM in ifm and SILVINT eq 'Exten'">
      <treatment label="Intn1" minage="70">
          <assign field="treatment" value="'Intn1'" />

  <select statement="FU eq 'BW1' and IFM in ifm and SILVINT eq 'Prsnt'">
      <treatment label="Intn1" minage="60">
          <assign field="treatment" value="'Intn1'" />

In the above example an 'Intn1' treatment is being applied to two unique sets of tracks. Both tracks are eligible for the Intn1 treatment type, however the treatment specifications are slightly modified to accommodate the differences in the stands they represent. For example, the first track can only receive this treatment when the stand type has reached an age of 70, whereas the second stand type can receive the same treatment 10 years earlier at age 60.

  <select statement="FU eq 'BY1' and IFM in managed and SILVINT in InitialShelterwood">
      <treatment label="SCut" minage="70" maxage="150" adjust="R" retain="15">
          <assign field="treatment" value="'SCut'" />

In the second example, a track is eligible for a partial treatment 'SCut' within a specified operability range (70 to 150 years of age). In this example however we can see that a relative adjustment of age is applied after the current treatment (the offset is added to the current age of the stand). Since no offset has been defined the default value is '0' is used, so the age of the stand has not change as a result of this treatment application. The retain attribute specifies that a stand which has received this particular treatment is not eligible for another treatment for at least 15 years.

In the following example an operability expression is used to restrict the treatment to stands that have Swd volume in the range of 60 to 140 m3/ha.

<select statement="theme3 = 'JP'">
    <treatment label="special" 
      operability="lookupCurve(attribute('feature.Yield.managed.Swd'),offset()) gt 60 
        and lookupCurve(attribute('feature.Yield.managed.Swd'),offset()) le 140">
        <assign field="treatment" value="'special'" />
        <assign field="theme3" value="'newStrata'" />