pyFVS
Python implementation of the USDA Forest Vegetation Simulator
What It Does
pyFVS is a modern Python replacement for the legacy Fortran-based USDA Forest Vegetation Simulator. It simulates the growth and yield of forest stands using individual tree models, supporting 10 regional variants across the United States with taper-based volume calculations and 500+ species configurations.
Whether you're planning timber harvests, modeling carbon sequestration, or projecting stand development over decades, pyFVS provides the same trusted FVS methodology in an accessible Python API.
Key Features
10 Regional Variants
Southern, Lake States, Pacific Northwest, West Cascades, Northeast, Central States, and more -- covering 18 to 108 species per variant.
Taper-Based Volume
Uses Clark (Eastern) and Flewelling (Western) taper models for accurate timber volume estimation at any merchantable height.
Individual Tree Growth
Models diameter, height, crown ratio, and mortality for each tree using Chapman-Richards growth equations.
Stand Management
Supports thinning, selection harvest, clearcut simulation, and FIA plot data integration with multiple export formats.
Quick Start
pip install fvs-python from pyfvs import Stand
# Initialize a planted pine stand
stand = Stand.initialize_planted(
trees_per_acre=500,
site_index=70,
species="LP",
ecounit="M231"
)
# Grow for 50 years
stand.grow(years=50)
# Get stand metrics
metrics = stand.get_metrics()
print(f"TPA: {metrics['tpa']:.0f}")
print(f"Basal Area: {metrics['basal_area']:.0f} ft2/ac")
print(f"Volume: {metrics['volume']:.0f} ft3/ac") Use Cases
- Forecasting timber yield and stand development for forest management planning
- Simulating silvicultural treatments to optimize timber production and carbon sequestration
- Integrating FIA plot data for research-grade growth projections
- Generating yield tables for financial analysis and forest investment planning
Get Started
Check out the documentation for tutorials, API reference, and examples.