Given a tree measured at two times with a dendrometer. The dendrometer measurement is the gap between two ends of a dendrometer held tight around the tree's circumference. I must assume the tree's trunk is circular. The initial diameter of the trunk is known. The goal is to find an expression for the final diameter.
The diagram below is a cross section of a trunk. The dendrometer is wrapped around the lower side, so that the gap in the dendrometer is around the blue segment. The two dashed lines are are radii of the circle, segments from the center of the trunk to the two ends of the dendrometer. Define
The following are trigonometric identifies based on these definitions.
\begin{align} c &= d+g \nonumber \\ c &= \pi s \nonumber \\ \frac{m}{s} &= \sin \frac{\theta}{2} \nonumber \\ \frac{g}{c} &= \frac{\theta}{2\pi}. \label{defs} \end{align}Now add another diameter to the drawing, showing a tree growing from \( s_1 = 200 \) to \( s_2 = 260 \). The illustrated size of the dendrometer gap at the two sizes is exact (calculated using R functions below).
For each of the variables defined above, \( m, s, c, g, \theta \), there are now two values, \( m_1, m_2, s_1, s_2, \) etc. But the dendrometer size, \( d \), is constant. The knowns are \( m_1, m_2 \) and \( s_1 \), while \( s_2 \) is what we want to find. Write two versions of Equations \eqref{defs}, for the first diameter then the second diameter. Rearranging allows all values of \( c, d, g, \) and \( \theta \) to be substituted out, leaving \begin{equation} s_2 = s_1 + \frac{s_2}{\pi} \cdot \arcsin \frac{m_2}{s_2} - \frac{s_1}{\pi} \cdot \arcsin \frac{m_1}{s_1}. \label{main} \end{equation}
Equation \eqref{main} is implicit, since it cannot be solved for \( s_2 \): the only way to find \( s_2 \) given \( m_1, m_2, s_1 \) is iteratively, using an optimization procedure. Below are R functions that do so exactly. But first notice that a convenient approximation will hold whenever \( \frac{m}{s} \) is small, so that \begin{equation*} \arcsin \frac{m}{s} \approx \frac{m}{s}. \end{equation*} This leads to a simple explicit relationship,
\begin{equation} s_2 - s_1 = \frac{m_2 - m_1}{\pi}. \label{approx} \end{equation}The approximation \eqref{approx} holds very closely for \( \frac{m}{s} \le 0.1 \) and reasonably well for \( \frac{m}{s} \le 0.25. \) So it is often the case that the diameter growth can be found by dividing the amount by which the dendrometer measurement expands, divided by \( \pi \). This should be obvious: when the dendrometer gap is small, the chord of the circle approximates the circumference. That's the way Archimedes estimated \( \pi \).
Write the implicit formula of Equation \eqref{main} as \( s_2 = f(s_1,m_1,m_2) \), then \begin{equation} g(s_1,s_2,m_1,m_2) = s_2 - f(s_1,m_1,m_2) = 0. \label{objective} \end{equation} Equation \eqref{objective} is thus an objective function that can be used to iteratively find a solution for \( s_2 \), searching for a value of \( s_2 \) that produces \( g = 0 \). The function objectiveFuncDendro in R simply defines \( g \). The function findOneDendroDBH invokes R's built-in function optimize to find \( s_2 \) given \( m_1, m_2, s_1 \) by minimizing \( \left| g \right| \). The third function, findDendroDBH simply vectorizes findOneDendroDBH, so that many estimates can be done in one function call. Functions are presented below. Here is an example of usage showing how much dbh growth would be inferred on trees of 100, 200, and 300 mm dbh given that the dendrometer measurement expanded from 0 to 2 mm, or 0 to 50 mm:
dbh1 | m1 | m2 | dbh2 | |
---|---|---|---|---|
1 | 100 | 0 | 2 | 100.64 |
2 | 200 | 0 | 2 | 200.64 |
3 | 300 | 0 | 2 | 300.64 |
4 | 100 | 0 | 50 | 116.45 |
5 | 200 | 0 | 50 | 216.06 |
6 | 300 | 0 | 50 | 315.98 |