Processing...
UNB ForEMUNB ForEM

PRCalc v.2026.4 — Product Ratio Calculator

Units
Allocation
Volume
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. Select a stand typing protocol below for finer species resolution.

Your DataCountSpecies

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.4 — Help & Documentation

About PRCalc v.2026.4

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 a canonical 28-species resolution framework (mapping all input to Acadian typing species, with Honer 14-group and Kozak 27-species taper codes derived downstream), a Kozak Model 02 taper engine (Li & Weiskittel 2010; Li, Weiskittel & Kershaw 2012) for species-specific stem volume and taper profiles, species-specific regional H–D defaults from Rijal, Weiskittel & Kershaw (2012), 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, stand typing with five regional classification protocols, species-cued colour palettes, 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 — PRCalc offers two volume engines, selectable from the Volume toggle in the header toolbar:

Kozak taper engine (default) — A variable-exponent taper equation (Kozak Model 02) fitted to FIA data for northeastern species (Li & Weiskittel 2010; Li, Weiskittel & Kershaw 2012; coefficients from Smith’s inventoryfunctions R package). The equation predicts outside-bark diameter at any stem height:

d(h) = (a0 · DBHa1 · HTa2) · Ξf(z, Ξ, DBH, HT)

where Ξ = (1 − (h/HT)1/3) / (1 − (1.3/HT)1/3) and the exponent is a variable function of relative height, tree dimensions, and seven species-specific coefficients (b1–b7). Total stem volume is computed via 100-section Smalian integration from near-ground (0.001 m) to tip. Species-specific DOB→DIB bark conversion follows Li & Weiskittel (2010), using either a power equation (DIB = b0 · DOBb1) or a percentage deduction depending on species. The Kozak engine provides species-specific coefficients for 20+ northeastern species (including red maple, sugar maple, red oak, white ash, and other species that the Honer engine groups together), and draws anatomically accurate taper curves in the stem profile viewer.

Honer engine — The Kershaw et al. (2006) metric adaptation of Honer et al.’s (1967) total volume equation:

V = a2 · DBH² / (a0 + a1 / HT)

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 incorporate the Honer (1967) imperial coefficients, the ft³→m³ conversion, and a taper correction between the 1.3 m and 1.37 m (4.5 ft) measurement points.

Product allocation — In Kozak and Honer modes, the product ratio engine (VR polynomials, merchantable height, product placement) always uses Honer volumes internally, because the ratio polynomials were calibrated against them. The volume engine affects the displayed gross total volume, stem profile shape, and summary card values; it does not change how products are placed on the stem.

In Kozak (Full) mode, the VR polynomial indirection is eliminated entirely. Merchantable heights are found by bisecting the Kozak taper curve to the exact height where stem diameter equals the product’s minimum DIB. Product volumes are computed as Smalian-integrated taper sections between log boundaries — the same integration method used for gross volume, applied to each product zone individually. All four allocation modes (Sequential, Remainder, Sacrifice, Optimized) are reimplemented against these Kozak primitives. This means the product volumes shown in the ratio table are physically consistent with the stem profile curve: what you see drawn on the stem is what you get in the numbers. This mode is experimental — it produces different product ratios than the VR engine because it uses a different (arguably more physically direct) calculation path.

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

Two 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 28 Acadian 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 maps all input species to 28 canonical species codes at the finest resolution supported by the Acadian forest region. These 28 species serve as the single point of truth for all downstream calculations — volume, taper, stand typing, product allocation, and height estimation all derive from this mapping.

Softwoods (12): Balsam Fir (bF), Red Spruce (rS), Black Spruce (bS), White Spruce (wS), Red Pine (rP), White Pine (wP), Jack Pine (jP), Eastern Hemlock (eH), Eastern Cedar (eC), Tamarack/Larch (tL), Norway Spruce (nS), Other Softwood (oSW).

Hardwoods (16): Sugar Maple (sM), Red Maple (rM), Yellow Birch (yB), White Birch (wB), American Beech (bE), Red Oak (rO), White Ash (wA), Black Ash (bA), Trembling Aspen (tA), Largetooth Aspen (lA), Pin Cherry (pC), Ironwood (iW), Butternut (bW), Basswood (bH), Gray Birch (gB), Other Hardwood (oHW).

Each species carries three derived codes: a PRCalc group (one of Honer et al.’s 14 volume groups for VR polynomial lookups), a Kozak species (one of 27 FIA-refitted taper coefficient sets), and SW/HW type with shade tolerance class (for stand typing). The PRCalc group and Kozak species are aggregations — the 28-species code is always the finest resolution.

Auto-detection — The species mapping step automatically suggests species codes using a multi-strategy cascading resolution: direct typing codes → PRCalc codes → NB PSP/French codes → OSM Acadian 2- and 4-letter codes → FVS-NE codes → USDA PLANTS codes → FIA numeric codes → English and French common name keyword matching → genus-level fallback. 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.

The regional fallback uses species-specific Chapman–Richards coefficients from Rijal, Weiskittel & Kershaw (2012), fitted from an extensive database covering Maine, the Canadian Maritimes, and southern Québec. The base model form is HT = 1.37 + c0 × (1 − exp(−c1 × DBH))c2. Species-specific coefficients are available for balsam fir, black spruce, red spruce, white spruce, white pine, eastern hemlock, white cedar, sugar maple, red maple, American beech, red oak, yellow birch, paper birch, quaking aspen, and gray birch. Species without published coefficients (e.g., black ash, ironwood, basswood) fall back to the closest published match.

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 (from USDA FPL Wood Handbook GTR-282 Table 4-1; Miles & Smith 2009):

Softwoods: bF 820 · bS 870 · rS 800 · wS 830 · jP 850 · rP 830 · wP 720 · eH 830 · eC 830 · tL 720 · nS 685 · oSW 720
Hardwoods: sM 920 · rM 845 · yB 950 · wB 880 · bE 960 · rO 1010 · wA 800 · bA 880 · tA 750 · lA 700 · pC 745 · iW 950 · bW 775 · bH 750 · gB 905 · oHW 920 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.4) [Web application]. University of New Brunswick, Faculty of Forestry and Environmental Management. https://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.
Kozak, A. 2004. My last words on taper equations. The Forestry Chronicle 80(4): 507–515. doi:10.5558/tfc80507-4
Labelle, E.R. et al. 2025. An open-source tree bucking optimizer based on dynamic programming. Forests 16(5): 780. doi:10.3390/f16050780
Li, R. & Weiskittel, A.R. 2010. Estimating and predicting bark thickness for seven conifer species in the Acadian Region of North America using a mixed-effects modeling approach; comparison of model forms and subsampling strategies. European Journal of Forest Research 129: 219–233. doi:10.1007/s10342-009-0315-2
Li, R., Weiskittel, A.R. & Kershaw, J.A., Jr. 2012. Regional stem taper equations for eleven conifer species in the Acadian Region of North America: development and assessment. Northern Journal of Applied Forestry 29(1): 5–14. doi:10.5849/njaf.10-037
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, stand typing with regional classification protocols (NB ERD, NS FEC, Ontario PFT, SAF/FIA), species-cued colour palettes, and optimization modes adapted from the log bucking dynamic programming literature.

Re-shows dismissed hint cards on all steps


Version & Changelog

PRCalc v.2026.4

Canonical 28-species resolution — April 2026

PRCalc v.2026.4

Kozak taper engine release — April 2026

PRCalc v.2026.4

Stand typing & species visualization release — April 2026

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.4 — Faculty of Forestry & Environmental Management, University of New Brunswick

Protocol Editor