Specifying within Block Retention

See also <retention> element reference in ForestModel References

A certain percent of managed areas may need to be retained for purposes such as riparian buffers, wildlife trees, habitat, etc. The exact location of these areas may not be known within fragments but can be accommodated by applying a retention factor. Using retention essentially splits off a percentage of the original fragment to create a new 'retained' fragment (aspatial). This newly retained record is assigned a new value to distinguish it from the original, and can also be given unique feature attributes that describe the behaviour of several characteristics.

Retention is another bundle of select statements in the ForestModel that splits records to create new retained or unmanaged records. Since these records are 'retained' they are unavailable for any management treatments. In the following example, a small portion of a selection is retained, assigned a new value in one field and given three feature attributes.

    <select statement="MU eq '754' and FU eq 'PWST' and IFM in managed">
      <retention factor="0.16">
1    <assign field="IFM" value="retained" />
2        <attribute label="feature.Retention.ByPas">
              <point x="0.0" y="0.125" />
3        <attribute label="feature.Retention.Ripar">
              <point x="0.0" y="0.25" />
4        <attribute label="feature.Retention.NDPEG">
              <point x="0.0" y="0.625" />


The above example code could be added to our ForestModel XML file to specify a 16% retention in all PWST managed blocks. The remaining 84% would be unchanged. The new record is assigned the value of 'retained' in the IFM field to distinguish it from the original.


This new record is then assigned three new feature attributes. This new record is also tested against feature select statements later in the ForestModel that are looking for IFM eq retained and FU eq PWST. If a match is found this record would be assigned all the feature attributes contained in the select.

Although defining retention is optional, including it more accurately represents the reality of operations within a Block. The more detail included in the ForestModel recipe the better model Patchworks can cook up!