Start here
Getting started
Install pyFIA and run your first estimate end-to-end in about five minutes.
How-to guides
Task-focused recipes: downloading data, filtering, grouping, and spatial analysis.
Concepts
How FIA sampling, the EVALID system, and design-based variance actually work.
API reference
Every public function and class, generated from the source docstrings.
Why pyFIA
Statistically valid
Design-based estimation following Bechtold & Patterson (2005), with standard errors and confidence intervals on every estimate.
EVALIDator-validated
Results checked against the official USFS estimates — typically within 1-3% on standard errors.
Simple API
Direct functions —
volume(db), mortality(db), area(db) — not factories and builders.Estimation functions
| Function | Estimates |
|---|---|
area() | Forest area by land type and category |
area_change() | Annual change in forest area |
volume() | Standing tree volume |
tpa() | Trees per acre and basal area |
biomass() | Tree biomass and carbon |
site_index() | Area-weighted mean site index |
mortality() | Annual tree mortality |
growth() | Annual tree growth |
removals() | Timber removals |
tree_metrics() | TPA-weighted statistics (QMD, mean height) |
panel() | Remeasurement panels for change/harvest analysis |
Coming from rFIA?
pyFIA brings the ergonomics of R’s rFIA to Python:| Task | rFIA (R) | pyFIA (Python) |
|---|---|---|
| Download a state | getFIA(states = 'RI') | download("RI") |
| Multiple states | getFIA(states = c('RI','CT')) | download(["RI", "CT"]) |
| Estimate area | area(fia) | area(db) |
| Estimate volume | volume(fia) | volume(db) |
pyFIA is released under the MIT License and built by Chris Mihiar. Found a bug or have a question? Open an issue.