Treatment packages
Treatment 'packages' are a capability to implement a combination of treatments as a single scheduling action. This type of scheduling is appropriate when a known sequence of actions follow from an initial action, such as with the stages of shelterwood silviculture progressing after the first action has been initiated.
All treatments within a package are scheduled as an atomic unit (either all occur in sequence, or none occur). The timing of the first treatment in the sequence may vary, but subsequent treatments are separated in time by fixed delays.
Packages are defined in the ForestModel XML file, and when processed by the Matrix Builder the resulting input matrix will contain additional details describing the packages. After the package treatments are defined in the ForestModel, the implementation in the rest of the Patchworks system is automatic.
The ForestModel definition is simple. Extra <package> elements define the treatments that happen in addition to the current treatment. In the following example a package treatment named 'TMT1' is defined within the SCut treatment. In this case package 'TMT1' always starts with an SCut treatment, and is followed in 15 years by an FCut, and 15 years after the LCut treatment is applied.
<select statement="FU eq 'OR1_A' and IFM in managed and SILVINT in InitialShelterwood">
<track>
<treatment label="SCut" minage="60" retain="5" adjust="R" manual="managed">
<transition>
<assign field="SILVINT" value="'SCut'" />
</transition>
<package label="'TMT1'" sequence="'FCut@15|LCut@15'" />
</treatment>
</track>
</select>
<select statement="FU eq 'OR1_A' and IFM in managed and SILVINT eq 'SCut'">
<track>
<treatment label="FCut" minage="65" adjust="R" retain="15" manual="managed">
<transition>
<assign field="SILVINT" value="'FCut'" />
</transition>
<package label="'TMT2'" sequence="'LCut@15'" />
</treatment>
</track>
</select>
<select statement="FU eq 'OR1_A' and IFM in managed and SILVINT eq 'FCut'">
<track>
<treatment label="LCut" minage="80" offset="25">
<transition>
<assign field="SILVINT" value="'Regrowth'" />
</transition>
</treatment>
</track>
</select>
A package treatment is a hybrid structure. Each of the constituent treatments in the sequence (SCut, FCut, LCut) is a full treatment on its own. When the 'TMT1' package is applied, all of the treatments in the sequence are applied with the appropriate delays after the initial activity. If one of the activities in the sequence is canceled, then all of the activities in the sequence are canceled.
A nice feature of package treatments is that stand dynamics are represented in the same way as would happen without the package. Harvest volumes and renewal conditions for each activity are determined the same way as without the package, and volumes and treatment costs may be easily accounted to the correct planning periods. The individual treatments will show up in the CURRENTTREATMENT field of the block table at the appropriate times. In this sense packages can be thought of as only influencing scheduling decisions. The only difference between the package treatment and the individual treatments is the first treatment name in the sequence (in this example 'SCut' in the case of individual treatments, and 'TMT1' for the package treatment).
In the above example the SCut treatment definition has been marked as a manual treatment, meaning that it is not available for automated scheduling. TMT1 is the only treatment option available to the scheduler for for an OR1_A stand in the InitialShelterwood condition.
However, OR1_A stands in the initial inventory that have already received an SCut treatment (SILVINT='SCut') would still be eligible for a TMT2 package treatment that is made up of an FCut and an LCut (the FCut treatment by itself has been marked as manual, and is not available for scheduling).
Similarly, the LCut treatment is available for stands in the initial inventory that are in the FCut condition. Since there are no treatments that follow in a sequence, a package is not required.
Packages fit nicely within the architecture of the ForestModel, and provide a simple way to group scheduling decisions. See the ForestModel XML reference in the Patchworks User Guide for more details.