This article was first published in the March 2020 issue of the Forestry Source.

As foresters, we rely on a variety of quantitative tools to support our work.  From Excel templates for volume workups to sophisticated growth models, nearly every forestry organization uses some type of technology to analyze forest inventory data.  Yet many of these systems are "black boxes" that have been cobbled together in isolation within an individual company or government agency.

By contrast, “open source” software development takes advantage of the collective knowledge of the field, taking contributions from many scientists and practitioners to develop tools that will be useful for everyone. In this article, we’ll discuss how such a "rising tide lifts all boats" approach can be applied in forest biometrics.

We'll focus on Gingrich stocking diagrams, a method for rapidly assessing the stocking level of stands (Gingrich 1960). Out in the woods, an experienced forester can intuitively tell whether a stand is "understocked," "fully stocked," or "overstocked."  Gingrich stocking diagrams are a useful and beautiful way to ground this intuition in a quantitative framework. This tool is widely used by foresters in the central and eastern US, especially in hardwood forests.  We've open-sourced the code for generating Gingrich stocking diagrams, so you can easily incorporate them into your work and customize the stocking lines for your region.

Figure 1: Gingrich stocking diagram with output for two stands. 

The Gingrich stocking diagram is a useful tool, but if you have to classify thousands of stands, it can become pretty tedious to plot all the stands by hand. Luckily, Dr. David Larsen at the University of Missouri had already done most of the heavy lifting by creating a series of Excel workbooks to generate stocking diagrams for several forest types, which are available at his website (  We built off his work by converting it into a simple program in the R coding language so that we could quickly and automatically run it across thousands of stands.

A Gingrich stocking diagram has two axes: trees per acre and basal area per acre. If you calculate these two metrics for your stand, you can plot a point in the Gingrich stocking diagram.  You can also read off the quadratic mean diameter from this diagram too.  For example, in the figure above, the blue dot has a TPA of 190 and a BAPA of 125.  Its QMD is 11.

Is your stand in between the two dark lines?  If so, your stand is "fully stocked."  If it's above the top dark line, the stand is "overstocked."  If it's below the bottom dark line, the stand is "understocked."  In the example diagram above, the blue dot is an overstocked stand and the red dot is a fully stocked stand.  Roughly speaking, the blue dot stand could benefit from some thinning while the red dot stand still has time to grow.

The locations of the dark horizontal stocking lines will vary in different forest conditions.  This particular Gingrich diagram is for upland hardwood forests in central states.  There are many other published stocking guides across the US.  For example, William Leek's 1999 Eastern White Pine stocking guide was published by the USFS Northern Research Station.  Larsen also published a stocking guide for Eastern Cottonwood / Silver Maple / American Sycamore bottomland forests in 2010 in the Northern Journal of Applied Forestry. Extending the open-source R script to generate figures using these references or others is straightforward.

We published the code for this open-source program on GitHub.  The source code is available at for anyone to view, download, run, and modify. Scripting scientific tools as automated, repeatable, computer programs is a great way to get ideas out of the lab and into practical use in the real world.  Distilling scientific knowledge to code makes it easier for everyone in forestry to benefit from the insights of some of the smartest people in our profession.

By open-sourcing code like this, we can avoid reinventing the wheel within each of our organizations and increase the reliability of our forest analysis.  As members of the forestry community add features to the original code and share their improvements, everyone benefits.  Because anyone can view and run the code, any bugs or issues are quickly identified and fixed in a transparent, community-driven manner.

If you're looking to get involved in the open-source forest software community, this code for making Gingrich stocking diagrams is a simple and accessible way to start.  The code can easily be adapted for other published stocking guides.  If you're interested in extending this code for a similar system in a different part of the country and sharing it with the rest of the forestry community, send us a pull request on GitHub or reach out to SilviaTerra biometrician Brian Clough at

Works cited:

Gingrich S. F., 1967. Measuring and Evaluating Stocking and Stand Density in Upland Hardwood Forests in the Central States, Forest Science. 13, I Pages 38–53.

Larsen, D.,  Dey, D., & Faust, T. (2010). A Stocking Diagram for Midwestern Eastern Cottonwood-Silver Maple-American Sycamore Bottomland Forests. Northern Journal of Applied Forestry. 27. 132-139

Leak, W. 1999. Revised White Pine Stocking Guide for Managed Stands. USFS Gen. Tech. Rep. NA-TP-01.99.