FIAtools is a unified Python ecosystem for working with USDA Forest Service Forest Inventory and Analysis (FIA) data. From raw survey plots to growth projections to spatial analysis—all with consistent interfaces and proper statistical methods.
Developed in collaboration with USDA Forest Service Research & Development. These tools provide programmatic access to Forest Inventory and Analysis (FIA) data but are not part of the official FIA Program.
pyFIA — Data Foundation
High-performance Python API for FIA survey data. DuckDB + Polars backend delivers 10-100x faster queries than EVALIDator with exact statistical compatibility.
from pyfia import FIA, biomass, tpa
with FIA("database.duckdb") as db:
db.clip_by_state(37) # North Carolina
trees = tpa(db, tree_domain="STATUSCD == 1")
carbon = biomass(db, by_species=True)gridFIA — Spatial Analysis
Access BIGMAP raster data for 327 tree species at 30m resolution. Zarr-based storage for efficient spatial queries and diversity calculations.
from gridfia import GridFIA
api = GridFIA()
api.download_species(state="Oregon", species_codes=["0131"])
metrics = api.calculate_metrics(calculations=["shannon_diversity"])pyFVS — Growth Modeling
Python implementation of the Forest Vegetation Simulator (Southern variant). Simulate growth and yield for loblolly, shortleaf, longleaf, and slash pine.
from pyfvs import Stand
stand = Stand.initialize_planted(species="LP", trees_per_acre=500, site_index=70)
stand.grow(years=30)askFIA — AI Interface
Natural language queries for forest data. Ask questions in plain English and get answers powered by the entire FIAtools ecosystem.
from askfia import AskFIA
fia = AskFIA()
answer = fia.ask("What's the total forest area in Maine?")┌─────────────────────────────────────────────────────────────┐
│ askFIA │
│ Natural Language Interface │
└─────────────────────────┬───────────────────────────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ pyFIA │ │ gridFIA │ │ pyFVS │
│ Survey │◄──►│ Spatial │◄──►│ Growth │
│ Data │ │ Data │ │ Models │
└──────────┘ └──────────┘ └──────────┘
│ │ │
└───────────────┼───────────────┘
▼
┌─────────────────────────────────────────────────────────┐
│ FIA Data Sources │
│ DataMart · BIGMAP API · EVALIDator │
└─────────────────────────────────────────────────────────┘
Install individual tools as needed:
pip install pyfia # Survey data analysis
pip install gridfia # Spatial raster analysis
pip install pyfvs # Growth simulation
pip install askfia # AI interfaceOr clone this monorepo with all submodules:
git clone --recurse-submodules https://github.com/mihiarc/fiatools.git| Use Case | Tools | Description |
|---|---|---|
| Carbon Accounting | pyFIA | State/county carbon stock estimates with uncertainty |
| Timber Supply | pyFIA + pyFVS | Project future timber availability |
| Biodiversity | gridFIA | Species richness and diversity indices |
| Site Analysis | pyFIA + gridFIA | Combine survey and spatial data |
| Research Queries | askFIA | Natural language data exploration |
| Metric | Value |
|---|---|
| Tree species covered | 327 |
| Raster resolution | 30m |
| FIA plots integrated | 212,000+ |
| Query speedup | 10-100x |
- Website: fiatools.org
- pyFIA docs: mihiarc.github.io/pyfia
- Citation guide: docs-templates/CITATION-GUIDE.md
- Brand guidelines: docs-templates/BRAND-GUIDELINES.md
fiatools/
├── pyfia/ # Survey data analysis (submodule)
├── gridfia/ # Spatial analysis (submodule)
├── pyfvs/ # Growth modeling (submodule)
├── askfia/ # AI interface (submodule)
├── logos/ # PNG logos for all tools
├── landing-page/ # fiatools.org source
├── marketing/ # Conference materials
└── docs-templates/ # README headers, citations, brand guide
@software{fiatools2025,
title = {FIAtools: A Python Ecosystem for Forest Inventory Applications},
author = {Mihiar, Christopher},
year = {2025},
url = {https://fiatools.org}
}Contributions welcome! Each tool has its own issue tracker:
MIT License — see individual repos for details.




