Processing...
UNB ForEMUNB ForEM

PRCalc v.2026.1 — Product Ratio Calculator

Units
Allocation
1Import
2Map Fields
3Map Species
4Products
5Results

Stock Table / Tree List

#SpeciesDBH (cm)Total Ht (m)

Map Columns to Fields

Select which column maps to each field. Tree ID must be unique per plot. Plot ID and scaling are optional.

Map Species

Map each unique species from your data to a PRCalc species code.

Your DataCountPRCalc Species

Height Estimation

Product Specifications

#Species GroupTop DIB (cm)Log Length (m)Product NameValueDest.Color
Sequential — Original PRCalc algorithm. Greedy largest-to-smallest allocation.

Results

PlotTreeIDSpeciesDBHHtVol(m³)TPHProductRatio%ProdVolProdVol/haLogs
Honer et al. (1983) — volume equations + merchantable volume ratios Kershaw, Richards & Larusic (2006) — product ratio allocation algorithm

PRCalc v.2026.1 — Help & Documentation

About PRCalc v.2026.1

PRCalc is a web-based product ratio calculator for northeastern North American tree species. It estimates the proportion of total stem volume allocated to defined timber products (sawlogs, studwood, pulpwood, etc.) using the merchantable volume ratio approach of Honer et al. (1983), as implemented by Kershaw, Richards & Larusic (2006).

This version extends the original PRCalc with Excel-based input/output, hierarchical data support (time, stand, plot, tree), per-hectare scaling for variable-radius and fixed-area plot designs, multi-level aggregation with standard errors, interactive SVG visualizations, and three optimization modes that go beyond the original greedy allocation.

How It Works

For each tree, PRCalc performs three calculations:

1. Total Stem Volume — Honer et al.’s (1983) metric equations estimate total stem volume from DBH and height:

V = (DBH² · a0 + a1 / (a2 + 1/HT)) × 10−4

where V is total volume (m³), DBH is diameter at breast height (cm at 1.3 m), and HT is total height (m). Species-specific coefficients a0, a1, a2 account for taper differences between the 1.3 m and 1.37 m (4.5 ft) measurement points.

2. Merchantable Volume Ratios — The proportion of total volume merchantable to a given top diameter inside bark (DIB) is computed from volume ratio polynomials:

VR(MR) = b0 + b1 · MR + b2 · MR²

where MR is the merchantable ratio (either a height ratio ht/HT or a squared-diameter ratio (dib/DBH)²). The algorithm iterates between diameter-based and height-based ratios to determine how many logs of each product fit in the merchantable bole, working from the largest product down.

Types of Merchantable Volume

PRCalc reports two distinct measures of merchantable volume. Understanding the difference is important for interpreting results:

Standard Merchantable Volume — The total stem volume between a 0.3 m (1 ft) stump and the point where the stem tapers to the standard utilization limit: 10 cm DIB in metric, 4″ DIB in imperial. This is computed directly from Honer’s merchantable volume ratio equations and represents the biological maximum — all wood on the stem that is physically large enough to be utilized, regardless of what products are defined. It is always reported in volume-only mode and appears as a reference value (“Std Merch”) in product mode.

Product Merchantable Volume — The sum of volumes allocated to defined product specifications. This is always ≤ standard merchantable volume because products typically have larger DIB thresholds (e.g., 20 cm for sawlog), fixed log lengths create inter-product gaps, and the allocation algorithm may leave sections of the bole unassigned between products. The difference between standard and product merchantable volume represents recoverable wood that your product specifications do not capture.

Utilization Efficiency — Shown in product mode as a summary card and in the DBH class ratio table. This is product merchantable volume ÷ standard merchantable volume × 100%. A value of 85% means your product specs capture 85% of the biologically available merchantable wood. Low values (below ~80%) suggest that adding products with smaller DIB thresholds or shorter log lengths could recover more volume. This metric varies by diameter class — the ratio table reveals where losses concentrate.

Unutilized Volume — PRCalc splits unutilized volume into two categories to help identify where losses occur:

Product Gaps (amber) — Merchantable wood above the standard utilization limit (10 cm / 4″ DIB) that is not captured by any product specification. This includes inter-product gaps on the stem (sections between log breaks where no product fits) and bole sections where the tree meets the utilization threshold but not any product’s minimum DIB. This volume is recoverable — adding products with smaller DIB thresholds or shorter log lengths can reduce it.

Sub-merchantable (grey) — Stem volume below the standard utilization limit: the stump (below 0.3 m / 1 ft) and the tip (above the point where the stem tapers below 10 cm / 4″ DIB). This is biological waste that cannot be recovered regardless of product specifications. For small trees near the utilization threshold, the sub-merchantable fraction can be substantial.

3. Product Allocation — Products are allocated to stem sections using one of four algorithms (see Allocation Modes below). Each product’s volume is computed as the difference in volume ratios between the bottom and top of its allocated section(s).

Allocation Modes

Four allocation algorithms are available, selectable from the header toolbar. The choice of mode affects the stem profile visualization, product allocation table, DBH class ratio table, and all downstream results.

Sequential — The original PRCalc algorithm. Products are sorted from largest to smallest minimum top diameter. For each product, the algorithm calculates the merchantable height to that diameter, then packs as many fixed-length logs as will fit. Remaining bole above the last log is not utilized by that product class. This is a greedy, bottom-up approach.

Remainder — Runs the sequential allocation first, then examines the gap between each product’s last log and its merchantable height. If a smaller product’s log fits in that gap, it is inserted. Also extends the allocation beyond the last sequential product if smaller products can fit. This “fills the cracks” without changing large-product log counts.

Sacrifice — Tests whether removing one log of a larger product frees enough bole length for additional smaller-product logs that increase total utilized volume (or total value, if $/m³ is provided). Compares both options and keeps whichever scores higher. Also applies remainder fills to each trial allocation.

Optimized (DP) — Discretizes the merchantable bole into height slices (10 cm for metric, 0.5 ft for imperial) and applies dynamic programming to find the product assignment that maximizes total utilized volume or total value. Adapted from the log bucking optimization literature (Pnevmaticos & Mann 1972; Faaland & Briggs 1984). Full log lengths are enforced. When product values are provided, the DP maximizes total dollar value; otherwise it maximizes total merchantable volume ratio. This mode may produce interleaved product placements (e.g., smaller products at the base and larger products higher up) when that arrangement is globally optimal.

Note: For well-packed stems where the sequential allocation is already efficient, all four modes may produce identical results. Differences emerge when there are gaps to fill (Remainder), when sacrificing a log creates higher value (Sacrifice), or when non-sequential placements are globally superior (Optimized).

Input Modes

PRCalc offers two ways to enter data:

Sample Datasets

Three built-in sample datasets illustrate the main use cases. Each loads realistic Acadian mixedwood data with regional species codes that exercise the auto-detection mapping.

Sample datasets are accessible from both the manual mode (buttons below the tables) and the Excel import mode (buttons below the drop zone). The Forest Inventory and Stand Forecast samples can also be downloaded as CSV files for use as templates.

Sample Product Specifications

The Load Sample: Product Specs button populates a region-relevant set of product specs covering all 14 PRCalc species: SPF group (Sawlog, Studwood, Pulp), Pine group (Sawlog, Pulp), Hardwood group (Sawlog, Pulp), Poplar Pulp, and Cedar. Each includes representative NB gate prices. The Load Sample: Specs + Destinations button loads the same specs with mill destinations (e.g., JDI Sussex, Arbec Miramichi), enabling destination-grouped charts and summaries. These are provided as a starting point — users should verify specifications against their local mill requirements and current pricing.

Load / Save — Product specifications can be saved to a JSON file (Save) and loaded back later (Load). This allows reuse of mill contracts and pricing across sessions and datasets. When loading into a table that already has products, a dialog offers three options: Replace All (clear and load), Merge (add new products, keep existing), or Update (add new and overwrite matching names). If the saved file uses different units (metric/imperial), DIB and log length values are automatically converted.

Data Hierarchy

PRCalc supports a hierarchical data structure with up to four grouping levels:

Time / Period → Stand → Plot → Tree → Product

Only Tree ID, Species, DBH, and Height are required. All grouping fields are optional, and the tool adapts its outputs based on what is available:

Species

PRCalc supports 14 species or species groups, matching the codes used by Honer et al. (1983) for central and eastern Canada:

White Pine (WP), Red Pine (RP), Jack Pine (JP), Lodgepole Pine (LP), Black Spruce (BS), Red Spruce (RS), White Spruce (WS), Balsam Fir (BF), Other Conifer (OC), Poplar (PO), White Birch (WB), Yellow Birch (YB), Other Hardwood (OH), Average Species (AS).

Auto-detection — The species mapping step automatically suggests PRCalc codes using a 7-step cascading strategy: exact match → Acadian/Maritime codes → FIA/USDA codes → common name fragments → French common names → genus-level matching → fallback to Average Species (AS). Every suggestion can be overridden manually.

Input Requirements

Field auto-detection — When a file is imported, PRCalc scans column headers and suggests field mappings based on common naming conventions (English and French).

Required fields: Tree ID, Species, DBH, Total Height.

Optional grouping fields: Plot ID, Stand ID, Time / Period.

Sampling design: Variable radius (BAF), Fixed area (plot size), Expansion factor (TPH/TPA column), or No scaling.

Height Estimation

When missing heights are detected, PRCalc inserts an additional step between field mapping and species mapping. It fits regression models at the finest resolution supported by sample sizes:

Model forms: Curtis (1967), Näslund, Weibull, and Acadian Regional. Diagnostics include R², RMSE, and CV%, colour-coded by quality.

Product Specifications

Products are defined by mill specifications. Each product requires: a minimum top DIB, a standard log length (0 for whole-tree), and a product name. Optional fields include species group (to restrict a product to specific species), a unit value ($/m³ or other unit with automatic conversion), a destination (mill or buyer name), and a colour for visualizations.

When product values are provided, the Sacrifice and Optimized modes maximize total dollar value instead of total volume. The value conversion system supports $/m³, $/MBF, $/GMT, $/cord, and $/tonne using species-specific green wood densities.

Destination — An optional text field identifying where each product is delivered (e.g., “JDI Sussex”, “Arbec Miramichi”). When any product has a destination, a “Volume by Destination” summary chart appears on the Charts tab showing stacked bars by product for each mill. Products without a destination are grouped as “Unassigned.” The destination field autocompletes from values already entered in the session. Destination is also included in the Excel export when present.

A warning banner appears if two or more products share the same species and top DIB — the higher-priority product (larger DIB or earlier in the list) will consume available logs first.

Value Unit Conversions

PRCalc converts all price units to $/m³ (metric) or $/MBF (imperial) using species-specific green wood densities. The following reference tables show the density values and conversion formulas used.

Green Wood Density by Species (adapted from Miles & Smith 2009, Jessome 1977, FPL 2021):

BF 820 · BS 870 · RS 800 · WS 830 · JP 850 · RP 830 · WP 720 · LP 850 · OC 720 · YB 950 · WB 880 · PO 780 · OH 920 · AS 850 kg/m³

Conversion formulas (metric): $/GMT → $/m³: price × (density ÷ 1000). $/cord → $/m³: price ÷ 2.55. $/tonne = $/GMT (1 tonne = 1 GMT).

Conversion formulas (imperial): $/ton → $/MBF: price × tons/MBF (from density). $/cord → $/MBF: price × 2.

Standard equivalences: 1 cord = 128 ft³ stacked ≈ 2.55 m³ solid. 1 MBF ≈ 83.3 ft³ (International ¼″ log rule). 1 GMT = 1,000 kg. 1 short ton = 907.2 kg.

Output Tabs

All output tabs are available in both Excel import and manual entry modes.

Tree-Level — One row per tree per product. Columns include all mapped grouping fields, tree attributes, product ratios, volumes, and log counts. The Ht Src column indicates how each tree’s height was obtained (measured, estimated at various model levels, or manual).

Plot-Level — Per-plot summary with plot attributes (BA, TPH, QMD, gross total and merchantable volume) and product breakdown (volume/ha, logs/ha, % of merchantable). Includes Unutilized row. Available when Plot ID is mapped with scaling.

Stand-Level — Mean ± 95% CI computed from plot-level estimates using Student’s t-distribution. Same structure as Plot-Level but with confidence intervals. Available when both Plot ID and Stand ID are mapped with scaling.

Charts — Interactive SVG visualizations including:

Time Series — Stacked area chart with eight metric options:

An optional Unutilized checkbox (available for Product Merch. Volume and Species Merch. Volume modes) adds a band showing the gap between gross total volume and merchantable volume. All species modes respect the “Original species codes” toggle. An amber dashed indicator line marks the currently selected period. Below the chart, summary cards show per-category values for the selected period, with a Total card followed by Unutilized (when enabled). The unified Period slider controls the selected period across all tabs.

Stem Profile — Interactive SVG taper diagram for any selected tree. Features include:

Excel Export — Downloads a multi-sheet workbook with Tree-Level (one row per input tree, products pivoted to columns), Plot-Level (one row per plot), Stand-Level (means ± SE per time step × stand), and Species Map sheets. Column headers include unit suffixes for direct use in downstream analyses. When product destinations are defined, each product’s columns include a _Dest field identifying the assigned mill or buyer.

Interface Features

Light / Dark Mode — The sun/moon button in the header toggles between dark mode (default) and light mode. All SVG charts, tables, and stem profiles re-render with theme-appropriate colours.

Original Species Codes — The checkbox below the tab bar switches all displays between PRCalc’s mapped 2-letter codes and the original species values from your input data. This affects the tree table, charts, time series, stem profile picker, stem filter, and all labels. Useful when your data uses codes from a different system (e.g., OSM Acadian, FVS-NE, USDA PLANTS).

SVG Charts — All charts render as resolution-independent SVGs rather than canvas bitmaps. Screenshots and exports will be sharp at any zoom level or display density.

Suggested Citation

Kershaw, J. A., Ogilvie, J., & Claude (Anthropic). (2026). PRCalc: A product ratio calculator for northeastern tree species (Version 2026.1) [Web application]. University of New Brunswick, Faculty of Forestry and Environmental Management. http://prcalc.ext.unb.ca

References

Curtis, R.O. 1967. Height-diameter and height-diameter-age equations for second-growth Douglas-fir. Forest Science 13(4): 365–375. doi:10.1093/forestscience/13.4.365
Faaland, B. & Briggs, D. 1984. Log bucking and lumber manufacturing using dynamic programming. Management Science 30(2): 245–257. doi:10.1287/mnsc.30.2.245
Grondin, F. 1998. Improvements of the dynamic programming algorithm for tree bucking. Wood and Fiber Science 30(1): 91–104.
Honer, T.G. 1967. Standard volume tables and merchantable conversion factors for the commercial tree species of central and eastern Canada. Can. Dept. Forestry Rural Devel., For. Mgmt. Res. and Serv. Inst. Info. Rep. FMR-X-5.
Honer, T.G., Ker, M.F. & Alemdag, I.S. 1983. Metric timber tables for the commercial tree species of central and eastern Canada. Can. For. Serv., Maritimes For. Res. Centre. Info. Rep. M-X-140. 139 p.
Husch, B., Beers, T.W. & Kershaw, J.A., Jr. 2003. Forest Mensuration. 4th Edition. Wiley. 443 p.
Kershaw, J.A., Jr., Richards, E. & Larusic, J. 2006. A product ratio calculator for northeastern tree species. Northern Journal of Applied Forestry 23(1): 45–48. PDF
Kershaw, J.A., Jr., Ducey, M.J., Beers, T.W. & Husch, B. 2016. Forest Mensuration. 5th Edition. Wiley. 630 p.
Labelle, E.R. et al. 2025. An open-source tree bucking optimizer based on dynamic programming. Forests 16(5): 780. doi:10.3390/f16050780
Pnevmaticos, S.M. & Mann, S.H. 1972. Dynamic programming in tree bucking. Forest Products Journal 22(8): 26–30.
Rijal, B., Weiskittel, A.R. & Kershaw, J.A. 2012. Development of regional height to diameter equations for 15 tree species in the North American Acadian Region. Forestry 85(3): 379–390. doi:10.1093/forestry/cps036
MacPhee, C., Kershaw, J.A., Weiskittel, A.R., Golding, J. & Lavigne, M.B. 2018. Comparison of approaches for estimating individual tree height–diameter relationships in the Acadian forest region. Forestry 91(1): 132–146. doi:10.1093/forestry/cpx039
Miles, P.D. & Smith, W.B. 2009. Specific gravity and other properties of wood and bark for 156 tree species found in North America. USDA Forest Service Research Note FPL-RN-38.
Jessome, A.P. 1977. Strength and related properties of woods grown in Canada. Forestry Technical Report 21. Eastern Forest Products Laboratory, Ottawa. 37 p.
FPL. 2021. Wood handbook — wood as an engineering material. General Technical Report FPL-GTR-282. USDA Forest Products Laboratory, Madison, WI.
Avery, T.E. & Burkhart, H.E. 2002. Forest Measurements. 5th Edition. McGraw-Hill. 456 p.

Limitations

Acknowledgments

The original PRCalc was developed by Dr. John A. Kershaw, Jr. (University of New Brunswick) with Dr. Evelyn Richards and John Larusic. PRCalc v.2026 was created by Jae Ogilvie (University of New Brunswick) with assistance from Claude (Anthropic). This version extends the original with Excel I/O, hierarchical data support (time, stand, plot), multi-metric time series views, interactive SVG visualizations, stem profile exploration tools, DBH class ratio tables, and optimization modes adapted from the log bucking dynamic programming literature.

Re-shows dismissed hint cards on all steps


Version & Changelog

PRCalc v.2026.1

Rotation analysis release — April 2026

PRCalc v.2026.0

First release — April 2026

Contact

Jae Ogilvie
Faculty of Forestry & Environmental Management
University of New Brunswick, Fredericton, NB, Canada
jae.ogilvie@unb.ca

PRCalc v.2026.1 — Faculty of Forestry & Environmental Management, University of New Brunswick