Skip to contents

Overview

EVALIDator is the USDA Forest Service’s online tool for producing population estimates from the FIA Database (FIADB). Its estimates are the reference that FIA analysts and users compare against, so rFIA must reproduce them. The rFIA unit tests check estimates from the package’s main estimation functions against values from EVALIDator for a range of common estimation settings. This document summarizes the results of those tests and keeps a record of how the tests have performed over time.

How the comparisons work

Each comparison test has the same structure:

  1. Data. We read FIADB data for four states, one from each FIA region: Rhode Island (Northern), North Carolina (Southern), Colorado (Interior West), and Oregon (Pacific Northwest). We then subset each state to its most recent evaluation with clipFIA(mostRecent = TRUE).
  2. Reference values. At test time, reference values come from the FIADB-API fullreport endpoint, the programmatic interface behind EVALIDator. We request the same evaluation group (EVAL_GRP), attribute (e.g., aboveground biomass of live trees on forest land), and domain filter (e.g., a physiographic class filter for areaDomain, or a species filter for treeDomain) that the rFIA call uses.
  3. Comparison. rFIA is run with the temporally indifferent estimator (the default method = 'TI'), which is the method EVALIDator uses. Point estimates and percent sampling errors must match EVALIDator to within a relative tolerance of 10-6. Where EVALIDator reports them, the number of non-zero plots used in the numerator and denominator of ratio estimates must match exactly.

The settings tested include the default case for each function, landType and treeType variants, biomass and carbon components, treeDomain and areaDomain filters, and per-species estimates (bySpecies = TRUE). One test is an approximate comparison rather than an exact one: growMort() for Oregon timberland. It checks that a known, documented discrepancy stays below 1% (see Known EVALIDator discrepancies). The full test code is in tests/testthat/ of the rFIA GitHub repository. The analysis behind each function’s tests is described in core_references/validation/.

A test is recorded as skipped, not failed, when the FIADB-API cannot be reached. A skip means the comparison did not run, not that rFIA disagreed with EVALIDator.

How this document is updated

The full rFIA test suite runs on a regular schedule (every 2 weeks) in addition to automated testing via GitHub. This document is updated each time a new log file is generated.

This version was generated from 1 test log(s) found in ~/rfia-test-logs, covering runs from 2026-09-24 19:17 to 2026-09-24 19:17.

Known EVALIDator discrepancies

In one case, rFIA deliberately does not reproduce EVALIDator. We describe it below, along with why we chose not to match EVALIDator.

Timberland growth and mortality in states that use macroplots

Affected functions: growMort() and vitalRates() with landType = 'timber'.

Affected states: states whose condition proportions are measured on the macroplot, mainly in the Pacific Northwest (e.g., Oregon, Washington, and California). Estimates for forest land (landType = 'forest', the default) match EVALIDator exactly in every state. Timberland estimates match EVALIDator exactly in Rhode Island, North Carolina, and Colorado, which have no macroplot-based conditions.

Size of the discrepancy: at the time of the investigation (August 2026, Oregon evaluation group 412203), rFIA counted 7,788 plots in the Oregon timberland area denominator, compared with 7,749 in EVALIDator. This is a difference of 39 plots (about 0.5%). The resulting per-acre estimates differ by about 0.09%. For example, annual mortality was 1.672704 trees per acre in rFIA and 1.671130 in EVALIDator, and aboveground biomass growth was 1.367651 in rFIA and 1.366364 in EVALIDator. Plot counts differed by a similar margin in California (2,580 vs. 2,562) and Washington (4,899 vs. 4,870).

What causes the difference

Growth, removal, and mortality estimates are ratios. The denominator is the area of land that was in the same land class (forest land or timberland) at both the previous and current measurements of a plot. FIA estimates this area from the SUBP_COND_CHNG_MTRX table, which records the proportion of each subplot or macroplot that moved between condition classes between the two measurements. Each condition’s area proportion is measured on either the subplot (COND.PROP_BASIS = 'SUBP') or the larger macroplot (PROP_BASIS = 'MACR'). The FIA Population Estimation User Guide (Chapter 7.8) says to take the change proportions from the matching plot component: SUBPTYP = 1 rows for subplot-based conditions and SUBPTYP = 3 rows for macroplot-based conditions.

rFIA applies this rule to both forest land and timberland. We obtained the SQL that EVALIDator runs for these estimates (the FIADB-API returns it with each estimate) and found that EVALIDator is not consistent between the two land classes:

  • For the forest land denominator, EVALIDator applies the same subplot/macroplot rule as rFIA, and the two agree exactly.
  • For the timberland denominator, EVALIDator only reads the subplot rows (SUBPTYP = 1), so change on macroplot-based conditions is never read. It then multiplies these subplot proportions by the macroplot adjustment factor (ADJ_FACTOR_MACR) for macroplot-based conditions. A subplot proportion scaled by a macroplot adjustment factor does not correspond to a meaningful area.

Why rFIA does not reproduce EVALIDator here

We decided to keep the rFIA behavior for the following reasons:

  1. It follows the documented method. rFIA implements the rule from the FIA Population Estimation User Guide. We found no documentation that gives a reason for leaving macroplot-based timberland out of the growth-accounting area, and our own assessment of the database logic is in line with the rFIA implementation.
  2. It is consistent across land classes. EVALIDator uses the subplot/macroplot rule for forest land but not for timberland. Reproducing it would make rFIA treat the two land classes differently for no reason beyond simply matching EVALIDator.
  3. The effect is small and limited. The difference is under 1% and only occurs for timberland in states that use macroplot-based conditions.

How the tests handle it

The growMort() tests compare Oregon timberland mortality to EVALIDator approximately: they check that the relative difference stays below 1%, so the test will catch any growth in the discrepancy. The vitalRates() timberland comparisons run only for Rhode Island, North Carolina, and Colorado, where the two agree exactly.

Latest results

Results below are from the test run that started on 2026-09-24 19:17 (commit 9b8dc0e final validation, with uncommitted changes).

Summary by function

EVALIDator comparison tests in the run of 2026-09-24 19:17 by function.
Function Tests Checks Passed Failed Skipped Status
area() 26 72 26 0 0 Passing
areaChange() 16 32 16 0 0 Passing
biomass() 49 192 49 0 0 Passing
carbon() 20 104 20 0 0 Passing
dwm() 16 60 16 0 0 Passing
growMort() 24 124 22 0 2 Passing (some skipped)
seedling() 15 50 15 0 0 Passing
tpa() 26 87 26 0 0 Passing
vitalRates() 20 76 18 0 2 Passing (some skipped)
volume() 25 104 25 0 0 Passing
Total 237 901 233 0 4 Passing (some skipped)

Tests is the number of EVALIDator comparison tests for each function; most settings are tested once in each of the four states. Checks is the total number of individual assertions in those tests (point estimates, percent sampling errors, and plot counts). A test passes only if all of its checks pass.

Failed and skipped comparisons

Function Test Status
growMort() growMort() matches EVALIDator for areaDomain (physiographic class filter) ( CO ) Skipped
growMort() growMort() matches EVALIDator for areaDomain (physiographic class filter) ( OR ) Skipped
vitalRates() vitalRates() matches EVALIDator for areaDomain (physiographic class filter) ( CO ) Skipped
vitalRates() vitalRates() matches EVALIDator for areaDomain (physiographic class filter) ( OR ) Skipped

History across test runs

Summary by run

EVALIDator comparison results for each test run, newest first.
Run Commit Tests Passed Failed Skipped Suite
2026-09-24 19:17 9b8dc0e* 237 233 0 4 Failed (2809 passed, 2 failed, 6 skipped)

Tests, Passed, Failed, and Skipped count EVALIDator comparison tests. They are blank for older logs, which did not record per-test results. Suite gives the overall result of the full rFIA test suite, including tests that do not involve EVALIDator, with counts of individual checks. An asterisk next to a commit means the run was made with uncommitted changes to the package source. “(subset)” marks runs made with only part of the test suite.

Summary by function and run

Passed / total EVALIDator comparison tests by function, newest run first.
Function 2026-09-24 19:17
area() 26/26
areaChange() 16/16
biomass() 49/49
carbon() 20/20
dwm() 16/16
growMort() 22/24
seedling() 15/15
tpa() 26/26
vitalRates() 18/20
volume() 25/25

Appendix: all EVALIDator comparisons in the latest run

Function Test Checks Status
area() area() matches EVALIDator for areaDomain (physiographic class filter) ( CO ) 3 Passed
area() area() matches EVALIDator for areaDomain (physiographic class filter) ( NC ) 3 Passed
area() area() matches EVALIDator for areaDomain (physiographic class filter) ( OR ) 3 Passed
area() area() matches EVALIDator for areaDomain (physiographic class filter) ( RI ) 3 Passed
area() area() matches EVALIDator for landType = ‘all’ ( CO ) 2 Passed
area() area() matches EVALIDator for landType = ‘all’ ( NC ) 2 Passed
area() area() matches EVALIDator for landType = ‘all’ ( OR ) 2 Passed
area() area() matches EVALIDator for landType = ‘all’ ( RI ) 2 Passed
area() area() matches EVALIDator for landType = ‘forest’ ( CO ) 4 Passed
area() area() matches EVALIDator for landType = ‘forest’ ( NC ) 4 Passed
area() area() matches EVALIDator for landType = ‘forest’ ( OR ) 4 Passed
area() area() matches EVALIDator for landType = ‘forest’ ( RI ) 4 Passed
area() area() matches EVALIDator for landType = ‘non-forest’ ( CO ) 2 Passed
area() area() matches EVALIDator for landType = ‘non-forest’ ( NC ) 2 Passed
area() area() matches EVALIDator for landType = ‘non-forest’ ( OR ) 2 Passed
area() area() matches EVALIDator for landType = ‘non-forest’ ( RI ) 2 Passed
area() area() matches EVALIDator for landType = ‘non-forest’ + areaDomain (RI) 2 Passed
area() area() matches EVALIDator for landType = ‘timber’ ( CO ) 4 Passed
area() area() matches EVALIDator for landType = ‘timber’ ( NC ) 4 Passed
area() area() matches EVALIDator for landType = ‘timber’ ( OR ) 4 Passed
area() area() matches EVALIDator for landType = ‘timber’ ( RI ) 4 Passed
area() area() matches EVALIDator for landType = ‘water’ ( CO ) 2 Passed
area() area() matches EVALIDator for landType = ‘water’ ( NC ) 2 Passed
area() area() matches EVALIDator for landType = ‘water’ ( OR ) 2 Passed
area() area() matches EVALIDator for landType = ‘water’ ( RI ) 2 Passed
area() area() matches EVALIDator for landType = ‘water’ + areaDomain (RI) 2 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ forest ‘, ’both’ population ( CO ) 3 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ forest ‘, ’both’ population ( NC ) 3 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ forest ‘, ’both’ population ( OR ) 3 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ forest ‘, ’both’ population ( RI ) 3 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ forest ‘, ’either’ population ( CO ) 1 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ forest ‘, ’either’ population ( NC ) 1 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ forest ‘, ’either’ population ( OR ) 1 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ forest ‘, ’either’ population ( RI ) 1 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ timber ‘, ’both’ population ( CO ) 3 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ timber ‘, ’both’ population ( NC ) 3 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ timber ‘, ’both’ population ( OR ) 3 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ timber ‘, ’both’ population ( RI ) 3 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ timber ‘, ’either’ population ( CO ) 1 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ timber ‘, ’either’ population ( NC ) 1 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ timber ‘, ’either’ population ( OR ) 1 Passed
areaChange() areaChange() matches EVALIDator for landType = ’ timber ‘, ’either’ population ( RI ) 1 Passed
biomass() biomass() bySpecies matches EVALIDator per-species (RI) 4 Passed
biomass() biomass() matches EVALIDator for areaDomain (physiographic class filter) ( CO ) 4 Passed
biomass() biomass() matches EVALIDator for areaDomain (physiographic class filter) ( NC ) 4 Passed
biomass() biomass() matches EVALIDator for areaDomain (physiographic class filter) ( OR ) 4 Passed
biomass() biomass() matches EVALIDator for areaDomain (physiographic class filter) ( RI ) 4 Passed
biomass() biomass() matches EVALIDator for CO (core default case) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘BRANCH’ ( CO ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘BRANCH’ ( NC ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘BRANCH’ ( OR ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘BRANCH’ ( RI ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘FOLIAGE’ ( CO ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘FOLIAGE’ ( NC ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘FOLIAGE’ ( OR ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘FOLIAGE’ ( RI ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘ROOT’ ( CO ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘ROOT’ ( NC ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘ROOT’ ( OR ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘ROOT’ ( RI ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘STEM_BARK’, DIA >= 5 ( CO ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘STEM_BARK’, DIA >= 5 ( NC ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘STEM_BARK’, DIA >= 5 ( OR ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘STEM_BARK’, DIA >= 5 ( RI ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘STEM’, DIA >= 5 ( CO ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘STEM’, DIA >= 5 ( NC ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘STEM’, DIA >= 5 ( OR ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘STEM’, DIA >= 5 ( RI ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘STUMP_BARK’, DIA >= 5 ( CO ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘STUMP_BARK’, DIA >= 5 ( NC ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘STUMP_BARK’, DIA >= 5 ( OR ) 4 Passed
biomass() biomass() matches EVALIDator for component = ‘STUMP_BARK’, DIA >= 5 ( RI ) 4 Passed
biomass() biomass() matches EVALIDator for component = c(‘BOLE’, ‘BOLE_BARK’), DIA >= 5 ( CO ) 4 Passed
biomass() biomass() matches EVALIDator for component = c(‘BOLE’, ‘BOLE_BARK’), DIA >= 5 ( NC ) 4 Passed
biomass() biomass() matches EVALIDator for component = c(‘BOLE’, ‘BOLE_BARK’), DIA >= 5 ( OR ) 4 Passed
biomass() biomass() matches EVALIDator for component = c(‘BOLE’, ‘BOLE_BARK’), DIA >= 5 ( RI ) 4 Passed
biomass() biomass() matches EVALIDator for landType = ‘timber’ ( CO ) 4 Passed
biomass() biomass() matches EVALIDator for landType = ‘timber’ ( NC ) 4 Passed
biomass() biomass() matches EVALIDator for landType = ‘timber’ ( OR ) 4 Passed
biomass() biomass() matches EVALIDator for landType = ‘timber’ ( RI ) 4 Passed
biomass() biomass() matches EVALIDator for NC (core default case) 4 Passed
biomass() biomass() matches EVALIDator for OR (core default case) 4 Passed
biomass() biomass() matches EVALIDator for RI (core default case) 4 Passed
biomass() biomass() matches EVALIDator for treeDomain (DIA >= 20) ( CO ) 3 Passed
biomass() biomass() matches EVALIDator for treeDomain (DIA >= 20) ( NC ) 3 Passed
biomass() biomass() matches EVALIDator for treeDomain (DIA >= 20) ( OR ) 3 Passed
biomass() biomass() matches EVALIDator for treeDomain (DIA >= 20) ( RI ) 3 Passed
biomass() biomass() matches EVALIDator for treeType = ‘dead’ ( CO ) 4 Passed
biomass() biomass() matches EVALIDator for treeType = ‘dead’ ( NC ) 4 Passed
biomass() biomass() matches EVALIDator for treeType = ‘dead’ ( OR ) 4 Passed
biomass() biomass() matches EVALIDator for treeType = ‘dead’ ( RI ) 4 Passed
carbon() carbon() matches EVALIDator by component, forest land ( CO ) 6 Passed
carbon() carbon() matches EVALIDator by component, forest land ( NC ) 6 Passed
carbon() carbon() matches EVALIDator by component, forest land ( OR ) 6 Passed
carbon() carbon() matches EVALIDator by component, forest land ( RI ) 6 Passed
carbon() carbon() matches EVALIDator by component, landType = ‘timber’ ( CO ) 6 Passed
carbon() carbon() matches EVALIDator by component, landType = ‘timber’ ( NC ) 6 Passed
carbon() carbon() matches EVALIDator by component, landType = ‘timber’ ( OR ) 6 Passed
carbon() carbon() matches EVALIDator by component, landType = ‘timber’ ( RI ) 6 Passed
carbon() carbon() matches EVALIDator by pool (core default case) ( CO ) 10 Passed
carbon() carbon() matches EVALIDator by pool (core default case) ( NC ) 10 Passed
carbon() carbon() matches EVALIDator by pool (core default case) ( OR ) 10 Passed
carbon() carbon() matches EVALIDator by pool (core default case) ( RI ) 10 Passed
carbon() carbon() matches EVALIDator for areaDomain (physiographic class filter) ( CO ) 2 Passed
carbon() carbon() matches EVALIDator for areaDomain (physiographic class filter) ( NC ) 2 Passed
carbon() carbon() matches EVALIDator for areaDomain (physiographic class filter) ( OR ) 2 Passed
carbon() carbon() matches EVALIDator for areaDomain (physiographic class filter) ( RI ) 2 Passed
carbon() carbon() matches EVALIDator for grand total (all 5 pools) ( CO ) 2 Passed
carbon() carbon() matches EVALIDator for grand total (all 5 pools) ( NC ) 2 Passed
carbon() carbon() matches EVALIDator for grand total (all 5 pools) ( OR ) 2 Passed
carbon() carbon() matches EVALIDator for grand total (all 5 pools) ( RI ) 2 Passed
dwm() dwm() matches EVALIDator for areaDomain (physiographic class filter) ( CO ) 3 Passed
dwm() dwm() matches EVALIDator for areaDomain (physiographic class filter) ( NC ) 3 Passed
dwm() dwm() matches EVALIDator for areaDomain (physiographic class filter) ( OR ) 3 Passed
dwm() dwm() matches EVALIDator for areaDomain (physiographic class filter) ( RI ) 3 Passed
dwm() dwm() matches EVALIDator for CO (core default case, totaled) 4 Passed
dwm() dwm() matches EVALIDator for CWD (byFuelType, CO ) 6 Passed
dwm() dwm() matches EVALIDator for CWD (byFuelType, NC ) 6 Passed
dwm() dwm() matches EVALIDator for CWD (byFuelType, OR ) 6 Passed
dwm() dwm() matches EVALIDator for CWD (byFuelType, RI ) 6 Passed
dwm() dwm() matches EVALIDator for FWD small (byFuelType, CO ) 2 Passed
dwm() dwm() matches EVALIDator for FWD small (byFuelType, NC ) 2 Passed
dwm() dwm() matches EVALIDator for FWD small (byFuelType, OR ) 2 Passed
dwm() dwm() matches EVALIDator for FWD small (byFuelType, RI ) 2 Passed
dwm() dwm() matches EVALIDator for NC (core default case, totaled) 4 Passed
dwm() dwm() matches EVALIDator for OR (core default case, totaled) 4 Passed
dwm() dwm() matches EVALIDator for RI (core default case, totaled) 4 Passed
growMort() growMort() approximately matches EVALIDator for landType = ‘timber’ (OR) – known macroplot residual, within 1% 4 Passed
growMort() growMort() bySpecies matches EVALIDator per-species (RI) 5 Passed
growMort() growMort() matches EVALIDator for areaDomain (physiographic class filter) ( CO ) 1 Skipped
growMort() growMort() matches EVALIDator for areaDomain (physiographic class filter) ( NC ) 5 Passed
growMort() growMort() matches EVALIDator for areaDomain (physiographic class filter) ( OR ) 1 Skipped
growMort() growMort() matches EVALIDator for areaDomain (physiographic class filter) ( RI ) 5 Passed
growMort() growMort() matches EVALIDator for CO (core default case) 8 Passed
growMort() growMort() matches EVALIDator for landType = ‘timber’ ( CO ) 5 Passed
growMort() growMort() matches EVALIDator for landType = ‘timber’ ( NC ) 5 Passed
growMort() growMort() matches EVALIDator for landType = ‘timber’ ( RI ) 5 Passed
growMort() growMort() matches EVALIDator for NC (core default case) 8 Passed
growMort() growMort() matches EVALIDator for OR (core default case) 8 Passed
growMort() growMort() matches EVALIDator for RI (core default case) 8 Passed
growMort() growMort() matches EVALIDator for stateVar = ‘BIO_AG’ ( CO ) 6 Passed
growMort() growMort() matches EVALIDator for stateVar = ‘BIO_AG’ ( NC ) 6 Passed
growMort() growMort() matches EVALIDator for stateVar = ‘BIO_AG’ ( OR ) 6 Passed
growMort() growMort() matches EVALIDator for stateVar = ‘BIO_AG’ ( RI ) 6 Passed
growMort() growMort() matches EVALIDator for stateVar = ‘NETVOL’, treeType = ‘gs’ (RI) 4 Passed
growMort() growMort() matches EVALIDator for stateVar = ‘SAWVOL_BF’ (RI) 4 Passed
growMort() growMort() matches EVALIDator for treeDomain (species filter, RI) 4 Passed
growMort() growMort() matches EVALIDator for treeType = ‘gs’ ( CO ) 5 Passed
growMort() growMort() matches EVALIDator for treeType = ‘gs’ ( NC ) 5 Passed
growMort() growMort() matches EVALIDator for treeType = ‘gs’ ( OR ) 5 Passed
growMort() growMort() matches EVALIDator for treeType = ‘gs’ ( RI ) 5 Passed
seedling() seedling() bySpecies matches EVALIDator per-species (RI) 6 Passed
seedling() seedling() matches EVALIDator for areaDomain (physiographic class filter) ( CO ) 4 Passed
seedling() seedling() matches EVALIDator for areaDomain (physiographic class filter) ( NC ) 4 Passed
seedling() seedling() matches EVALIDator for areaDomain (physiographic class filter) ( OR ) 4 Passed
seedling() seedling() matches EVALIDator for areaDomain (physiographic class filter) ( RI ) 4 Passed
seedling() seedling() matches EVALIDator for CO (forest land) 4 Passed
seedling() seedling() matches EVALIDator for CO (timberland) 2 Passed
seedling() seedling() matches EVALIDator for NC (forest land) 4 Passed
seedling() seedling() matches EVALIDator for NC (timberland) 2 Passed
seedling() seedling() matches EVALIDator for OR (forest land) 4 Passed
seedling() seedling() matches EVALIDator for OR (timberland) 2 Passed
seedling() seedling() matches EVALIDator for RI (forest land) 4 Passed
seedling() seedling() matches EVALIDator for RI (timberland) 2 Passed
seedling() seedling() matches EVALIDator for treeDomain (species filter, NC loblolly pine) 2 Passed
seedling() seedling() matches EVALIDator for treeDomain (species filter, RI white pine) 2 Passed
tpa() tpa() bySpecies matches EVALIDator per-species (RI) 4 Passed
tpa() tpa() matches EVALIDator for areaDomain (physiographic class filter) ( CO ) 4 Passed
tpa() tpa() matches EVALIDator for areaDomain (physiographic class filter) ( NC ) 4 Passed
tpa() tpa() matches EVALIDator for areaDomain (physiographic class filter) ( OR ) 4 Passed
tpa() tpa() matches EVALIDator for areaDomain (physiographic class filter) ( RI ) 4 Passed
tpa() tpa() matches EVALIDator for CO (core default case) 6 Passed
tpa() tpa() matches EVALIDator for landType = ‘timber’ ( CO ) 3 Passed
tpa() tpa() matches EVALIDator for landType = ‘timber’ ( NC ) 3 Passed
tpa() tpa() matches EVALIDator for landType = ‘timber’ ( OR ) 3 Passed
tpa() tpa() matches EVALIDator for landType = ‘timber’ ( RI ) 3 Passed
tpa() tpa() matches EVALIDator for NC (core default case) 6 Passed
tpa() tpa() matches EVALIDator for OR (core default case) 6 Passed
tpa() tpa() matches EVALIDator for RI (core default case) 6 Passed
tpa() tpa() matches EVALIDator for treeDomain (DIA >= 20) ( CO ) 3 Passed
tpa() tpa() matches EVALIDator for treeDomain (DIA >= 20) ( NC ) 3 Passed
tpa() tpa() matches EVALIDator for treeDomain (DIA >= 20) ( OR ) 3 Passed
tpa() tpa() matches EVALIDator for treeDomain (DIA >= 20) ( RI ) 3 Passed
tpa() tpa() matches EVALIDator for treeDomain (species filter, RI) 3 Passed
tpa() tpa() matches EVALIDator for treeType = ‘dead’ ( CO ) 2 Passed
tpa() tpa() matches EVALIDator for treeType = ‘dead’ ( NC ) 2 Passed
tpa() tpa() matches EVALIDator for treeType = ‘dead’ ( OR ) 2 Passed
tpa() tpa() matches EVALIDator for treeType = ‘dead’ ( RI ) 2 Passed
tpa() tpa() matches EVALIDator for treeType = ‘gs’ ( CO ) 2 Passed
tpa() tpa() matches EVALIDator for treeType = ‘gs’ ( NC ) 2 Passed
tpa() tpa() matches EVALIDator for treeType = ‘gs’ ( OR ) 2 Passed
tpa() tpa() matches EVALIDator for treeType = ‘gs’ ( RI ) 2 Passed
vitalRates() vitalRates() BIO_GROW_AC matches EVALIDator for CO (core default case) 3 Passed
vitalRates() vitalRates() BIO_GROW_AC matches EVALIDator for landType = ‘timber’ ( CO ) 3 Passed
vitalRates() vitalRates() BIO_GROW_AC matches EVALIDator for landType = ‘timber’ ( NC ) 3 Passed
vitalRates() vitalRates() BIO_GROW_AC matches EVALIDator for landType = ‘timber’ ( RI ) 3 Passed
vitalRates() vitalRates() BIO_GROW_AC matches EVALIDator for NC (core default case) 3 Passed
vitalRates() vitalRates() BIO_GROW_AC matches EVALIDator for OR (core default case) 3 Passed
vitalRates() vitalRates() BIO_GROW_AC matches EVALIDator for RI (core default case) 3 Passed
vitalRates() vitalRates() bySpecies matches EVALIDator per-species (RI) 4 Passed
vitalRates() vitalRates() matches EVALIDator for areaDomain (physiographic class filter) ( CO ) 1 Skipped
vitalRates() vitalRates() matches EVALIDator for areaDomain (physiographic class filter) ( NC ) 3 Passed
vitalRates() vitalRates() matches EVALIDator for areaDomain (physiographic class filter) ( OR ) 1 Skipped
vitalRates() vitalRates() matches EVALIDator for areaDomain (physiographic class filter) ( RI ) 3 Passed
vitalRates() vitalRates() matches EVALIDator for treeDomain (species filter, RI) 3 Passed
vitalRates() vitalRates() matches EVALIDator for treeType = ‘gs’ ( CO ) 7 Passed
vitalRates() vitalRates() matches EVALIDator for treeType = ‘gs’ ( NC ) 7 Passed
vitalRates() vitalRates() matches EVALIDator for treeType = ‘gs’ ( OR ) 7 Passed
vitalRates() vitalRates() matches EVALIDator for treeType = ‘gs’ ( RI ) 7 Passed
vitalRates() vitalRates() matches EVALIDator for treeType = ‘gs’, landType = ‘timber’ ( CO ) 4 Passed
vitalRates() vitalRates() matches EVALIDator for treeType = ‘gs’, landType = ‘timber’ ( NC ) 4 Passed
vitalRates() vitalRates() matches EVALIDator for treeType = ‘gs’, landType = ‘timber’ ( RI ) 4 Passed
volume() volume() bySpecies matches EVALIDator per-species (RI) 4 Passed
volume() volume() matches EVALIDator for areaDomain (physiographic class filter) ( CO ) 4 Passed
volume() volume() matches EVALIDator for areaDomain (physiographic class filter) ( NC ) 4 Passed
volume() volume() matches EVALIDator for areaDomain (physiographic class filter) ( OR ) 4 Passed
volume() volume() matches EVALIDator for areaDomain (physiographic class filter) ( RI ) 4 Passed
volume() volume() matches EVALIDator for CO (core default case) 6 Passed
volume() volume() matches EVALIDator for landType = ‘timber’ ( CO ) 4 Passed
volume() volume() matches EVALIDator for landType = ‘timber’ ( NC ) 4 Passed
volume() volume() matches EVALIDator for landType = ‘timber’ ( OR ) 4 Passed
volume() volume() matches EVALIDator for landType = ‘timber’ ( RI ) 4 Passed
volume() volume() matches EVALIDator for NC (core default case) 6 Passed
volume() volume() matches EVALIDator for OR (core default case) 6 Passed
volume() volume() matches EVALIDator for RI (core default case) 6 Passed
volume() volume() matches EVALIDator for treeDomain (DIA >= 20) ( CO ) 3 Passed
volume() volume() matches EVALIDator for treeDomain (DIA >= 20) ( NC ) 3 Passed
volume() volume() matches EVALIDator for treeDomain (DIA >= 20) ( OR ) 3 Passed
volume() volume() matches EVALIDator for treeDomain (DIA >= 20) ( RI ) 3 Passed
volume() volume() matches EVALIDator for treeType = ‘dead’ ( CO ) 4 Passed
volume() volume() matches EVALIDator for treeType = ‘dead’ ( NC ) 4 Passed
volume() volume() matches EVALIDator for treeType = ‘dead’ ( OR ) 4 Passed
volume() volume() matches EVALIDator for treeType = ‘dead’ ( RI ) 4 Passed
volume() volume() matches EVALIDator for treeType = ‘gs’ ( CO ) 4 Passed
volume() volume() matches EVALIDator for treeType = ‘gs’ ( NC ) 4 Passed
volume() volume() matches EVALIDator for treeType = ‘gs’ ( OR ) 4 Passed
volume() volume() matches EVALIDator for treeType = ‘gs’ ( RI ) 4 Passed