curve — describes the vertices that make up time series data


Content Model

	    <curve> = point*



id alpha-numeric reference name Optional
idref alpha-numeric reference to previously defined idOptional


Modelling complex forest dynamics requires curves to describe behaviours of interest of each stand. Some curves are as simple as a straight line, others are more complex growth and yield curves with responses to mid-rotation treatments. Each curve is described by a sets of 'points' that represent the inflection vertices of the curve.

It is not necessary to define evenly spaced points in the curve; only the significant inflection points are required. Patchworks uses a linear interpolation technique between inflection points to estimate intermediate values. Values below the lowest or above the highest X value are generated through a straight line interpolation technique. See the description of the point element for more elaboration.

Point elements and their attributes must be provided in the correct sequence as they are read in the order they are provided. X-values must be provided in ascending order, and X-values may not be repeated.

Unique identifiers (id) can be assigned to curve definitions. These id values can be referenced in later sections using an idref, and can streamline and compact the XML file. If a curve is defined with an idref and also contains point data then the two curves are 'added' together.


These elements contain curve: attribute, ForestModel.


The following elements can occur in curve: point.



The id is an optional alphanumeric identifier for a specific curve that is unique among curves. Curves can be referenced in later sections of the XML file by their id value.


An idref attribute specifies that the content of the curve should be copied from previously defined curve having the specified id.

See Also

point curvetable attribute


In the following example volume reference curves have been defined near the beginning of the XML file. These volume curves can then be referenced and used throughout the ForestModel when referring to the growth and yield of a specific strata. Two curves have been defined here, however typical ForestModel files will contain hundreds of curve defintions.

 <curve id="754.PWST.Prsnt.Pw">
    <point x="5.0" y="0.0" />
    <point x="25.0" y="0.0" />
    <point x="35.0" y="6.0" />
    <point x="65.0" y="30.0" />
    <point x="85.0" y="42.0" />
    <point x="105.0" y="51.0" />
    <point x="125.0" y="57.0" />
    <point x="135.0" y="59.0" />
    <point x="155.0" y="61.0" />
  <curve id="754.PWST.Prsnt.Pr">
    <point x="5.0" y="0.0" />
    <point x="15.0" y="0.0" />
    <point x="25.0" y="3.0" />
    <point x="45.0" y="13.0" />
    <point x="65.0" y="19.0" />
    <point x="75.0" y="21.0" />
    <point x="85.0" y="22.0" />
    <point x="95.0" y="22.0" />
    <point x="105.0" y="23.0" />


In the next example the white pine curve from above has been referenced as a feature attribute for a specific select statement. If the curve was referenced in multiple locations and had to be modified it would only need to be edited in one location using this technique.

 <select statement="MU eq '754' and FU eq 'PWST' and IFM in managed and SILVINT eq 'Prsnt'">
        <attribute label="feature.Yield.managed.Pw">
          <curve idref="754.PWST.Prsnt.Pw" />

Further down the in the ForestModel we can find the same curve being referenced again, however slightly modified to represent the white pine volume harvested by a certain treatment method. The curve is the same shape however it has been scaled down to represent the volume extracted by an shelterwood silvicultural treatment.

  <select statement="MU eq '754' and FU eq 'PWST' and SILVINT eq 'Prsnt'
                        and treatment eq 'FCut'">
       <attribute label="product.Yield.managed.Pw" factor="0.2">
        <curve idref="754.PWST.Prsnt.Pw" />