trees <- tibble::tibble(
DBH = c(18, 22, 30, 26, 20),
height = c(15, 18, 22, 20, 20),
species = c("PICE.MAR", "BETU.PAP", "POPU.TRE", "PSEU.MEN", "PINU.BAN"),
jurisdiction = c("AB", "ON", "QC", "BC", "MB"),
subregion = c(NA, NA, NA, "CWH", "Boreal Plains")
)
trees |>
dplyr::mutate(
vol(
DBH = DBH,
height = height,
species = species,
jurisdiction = jurisdiction,
subregion = subregion,
keep_model_id = TRUE
)
)
#> # A tibble: 5 × 8
#> DBH height species jurisdiction subregion vol_total vol_merchantable
#> <dbl> <dbl> <chr> <chr> <chr> <dbl> <dbl>
#> 1 18 15 PICE.MAR AB <NA> 0.158 0.145
#> 2 22 18 BETU.PAP ON <NA> 0.291 0.233
#> 3 30 22 POPU.TRE QC <NA> NA 0.674
#> 4 26 20 PSEU.MEN BC CWH 0.387 0.305
#> 5 20 20 PINU.BAN MB Boreal Plains 0.291 0.274
#> # ℹ 1 more variable: vol_model <chr>Tree Volume Models
Tree volume models included in the package
There are several individual tree volume allometric models designed for Canadian forests. Most were developed at the jurisdiction level and require DBH, height, and species as inputs.
The package currently includes:
-
vol_fortin2007(). Provincial merchantable volume model for Quebec. Coverage: QC. 26 species. Fortin et al. (2007) -
vol_galbella94(). Provincial taper model for Saskatchewan based on the Kozak variable-exponent form. Coverage: SK. 12 species. Gál and Bella (1994) -
vol_honer83(). Regional volume models for central and eastern Canada, applicable across multiple provinces. Coverage: NB, NL, NS, ON, PE, QC. 21 species. Honer et al. (1983) -
vol_huang94(). Provincial taper model for Alberta based on the Kozak variable-exponent form; applicable at the province level or by Alberta subregions. Coverage: AB. 13 species. Huang et al. (1994) -
vol_klos2007(). Provincial taper model for Manitoba based on the Kozak variable-exponent form; applicable at the province level or by ecozone. Coverage: MB. 5 species. Klos et al. (2007) -
vol_kozak94(). Provincial taper model for British Columbia; requires BEC zone as a subregion input. Coverage: BC. 16 species. Kozak (1994) -
vol_nigh2016(). Total and merchantable volume equations for BC. Coverage: BC. 18 species. Nigh (2016) -
vol_nl(). Total and merchantable volume for Newfoundland and Labrador. Coverage: NL. 12 species. Honer (1967); Ker (1974); Warren and Meades (1986) -
vol_sharma2021(). Regional volume models for central and eastern Canada, applicable across multiple provinces. Coverage: NB, NL, NS, ON, PE, QC. 25 species. Sharma (2021) -
vol_ung2013(). National taper model for Canada, available in two variants: DBH-only and DBH with total height. Coverage: Canada (national). 34 species. Ung et al. (2013) -
vol_zakrzewski2013(). Provincial taper model for Ontario. Coverage: ON. 24 species. Zakrzewski and Penner (2013)
vol(): automatic tree volume estimation across multiple models
vol() is a convenience wrapper for estimating total and merchantable tree volume using the volume models implemented in CanadaForestAllometry. Rather than requiring users to select a specific model, vol() uses the internal model registry and automatically determines which models are applicable for each tree based on:
- species availability in model parameter tables
- geographic scope (province/jurisdiction)
- required inputs (e.g. total height, subregion such as BEC zone)
- model ranking (regional models preferred over national where available)
Example:
Merchantability criteria
Merchantable volume in CanadaForestAllometry is defined using jurisdiction-specific merchantability rules, following the officially adopted criteria in each province or territory (e.g., minimum top diameter, minimum DBH, and stump height). For most models, these rules are applied dynamically based on the provided jurisdiction.
Some volume models, however, have merchantability criteria fixed within the model formulation itself, reflecting how the original equations were developed and calibrated. In these cases (e.g., vol_honer83(), vol_sharma2021(), vol_fortin2007(), vol_nigh2016()), merchantable volume is computed using the model-specific, hard-coded criteria and does not vary by jurisdiction or species.
The jurisdiction-specific merchantability criteria used by CanadaForestAllometry can be inspected in the built-in dataset merchcrit, which documents the values applied for each jurisdiction (and, where applicable, by species or subregion).
Comparing Tree Volume Models
Tree stem volume is estimated in Canada using a variety of model families, ranging from national equations (e.g., Ung et al. (2013)) to province-specific taper and volume systems (e.g., Kozak (1994), Huang et al. (1994), Zakrzewski and Penner (2013), Sharma (2021)). These models differ in their functional form, calibration data, and jurisdictional scope.
The CanadaForestAllometry package implements these models under a unified interface, allowing consistent input formatting and transparent model selection. However, different equations may yield systematically different predictions for the same tree dimensions.
The figure below shows total and merchantable volume calculated using all implemented models (x-axis) across species. It provides a quick overview of species coverage (i.e., which species are covered by each model) and highlights differences among model outputs, with tree DBH and height held constant for every calculation.
