Skip to content

🌲 lands

U.S. federal public lands data covering USDA Forest Service, National Park Service, and Bureau of Land Management units. Includes land management boundaries, timber sale program contracts, forest inventory estimates, NPS visitation statistics, and Office of Natural Resources Revenue (ONRR) mineral royalty payments. Enables analysis of extractive industry activity on federal land, tourism economics, and timber/paper company revenue risk via SEC filings.

21 datasets · 102 columns

national_forests · table

USDA Forest Service National Forest and Grassland unit boundaries. ~175 units across 10 USFS regions. Reference/dimension table — FK target for timber_sales.forest_code via forest_id. Updated annually post-fire-season (October).

Column Type Null Description
forest_id string no USDA FS unit ID (e.g., '0501')
forest_name string yes Unit name (e.g., 'Angeles National Forest')
region string yes USDA FS region number (01–10)
gross_acres double yes Total unit area in acres (GIS measurement)

timber_sales · table

USDA Forest Service timber harvest activities from FACTS EDW. One row per completed harvest activity. Joins to national_forests via forest_code and to geo.states via state_abbr. Units_accomplished and uom describe harvest volume (CCF, MBF, ACRE, etc.). Enables analysis of federal timber activity by forest, district, and year. Source: EDW_TimberHarvest_01/MapServer/{layer} where layer is dispatched per year by UsfsTimberLayerResolver — layer 11 covers 2021+, layer 0 covers 2011-2020, layers 1-7 cover earlier eras back to 1820. All layers publish the identical 71-field schema.

Column Type Null Description
facts_id string no FACTS activity unique ID (PK)
sale_name string yes Timber sale name
fy_completed integer no Fiscal year completed (partition key)
fy_awarded integer yes Fiscal year awarded
forest_code string yes USFS administrative forest code (FK to national_forests.forest_id)
forest_name string yes Administrative forest name
district_code string yes Ranger district code
district_name string yes Ranger district name
state_abbr string yes 2-character state abbreviation
gis_acres double yes Activity area in acres (GIS measurement)
activity_code string yes FACTS activity code
activity_name string yes FACTS activity name
treatment_type string yes Treatment category (Salvage / Regeneration / etc.)
units_accomplished double yes Harvest volume or area units accomplished
uom string yes Unit of measure (CCF / MBF / ACRE / etc.)
cost_per_uom double yes Cost per unit of measure (USD)

forest_inventory · table

USDA Forest Service Forest Inventory and Analysis (FIA) state-level estimates derived from per-state {ST}_COND.csv files inside the FIA datamart's per-state ZIP archives (apps.fs.usda.gov/fia/datamart/CSV/{state}_CSV.zip). One row per inventory_year × state × forest_type_group × ownership_class. Filtered to COND_STATUS_CD=1 (accessible forest land). Basal area is a CONDPROP_UNADJ-weighted average of BALIVE. Joins to geo.states via state_fips. ETL fans out across states; cached per-state archives in $GOVDATA_CACHE_DIR/lands/ are shared across workers. Materialization keeps state as a row column, not a partition column, so that Iceberg per-partition compaction merges the 55 per-state ETL flushes into a single nationwide parquet.

Column Type Null Description
inventory_year integer no FIA inventory year (INVYR)
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
forest_type_group string yes Forest type group name (e.g., 'Oak / hickory group', 'Douglas-fir group')
ownership_class string yes National Forest / Other Federal / State / Local / Private
basal_area_sqft double yes CONDPROP_UNADJ-weighted average of BALIVE (sq ft per acre)

forest_metrics · table

USDA FIA tree-level metrics derived from per-state {ST}_TREE.csv joined to {ST}_COND.csv (both inside the per-state ZIP archive at apps.fs.usda.gov/fia/datamart/CSV/{state}_CSV.zip). One row per inventory_year × state × forest_type_group × ownership_class. Columns are CONDPROP_UNADJ-weighted averages across live trees (STATUSCD=1) in accessible forest conditions (COND_STATUS_CD=1). Join to forest_inventory on (state_fips, inventory_year, forest_type_group, ownership_class) for combined basal-area + volume + carbon analysis. ETL fans out across states.

Column Type Null Description
inventory_year integer no FIA inventory year (INVYR)
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
forest_type_group string yes Forest type group name (e.g., 'Oak / hickory group', 'Douglas-fir group')
ownership_class string yes National Forest / Other Federal / State / Local / Private
trees_per_acre double yes CONDPROP-weighted average of TPA_UNADJ across live trees (trees per acre)
live_volume_cuft double yes CONDPROP-weighted average live cubic-foot volume per acre (VOLCFNET × TPA_UNADJ)
carbon_stock_tons double yes CONDPROP-weighted average above-ground carbon stock, tons per acre (CARBON_AG × TPA_UNADJ / 2000)

fia_plots · table

USDA FIA per-plot identification from per-state {ST}_PLOT.csv. One row per FIA plot. Lat/lon are USDA's publicly-released "fuzzed" coordinates (perturbed so exact plot locations cannot be inferred — FIADB P2 User Guide §2.5.1). plot_cn is the FIA-wide unique plot identifier; join targets are TREE/COND/ SEEDLING via PLT_CN. ETL fans out across states.

Column Type Null Description
plot_cn string no FIA-wide unique plot control number (PK)
prev_plot_cn string yes Previous-cycle plot CN (FK to fia_plots.plot_cn for remeasurement chains)
inventory_year integer yes FIA inventory year (INVYR)
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
county_fips string yes 5-digit FIPS code for primary county (e.g., '06037' for Los Angeles County)
plot_number integer yes USDA plot number within state/county
plot_status_cd integer yes 1=Sampled-forest, 2=Sampled-nonforest, 3=Nonsampled
plot_status_name string yes Human-readable plot status
lat double yes Fuzzed plot latitude (decimal degrees, NAD83)
lon double yes Fuzzed plot longitude (decimal degrees, NAD83)
elev_ft integer yes Plot elevation in feet
measure_year integer yes Year the plot was actually measured (MEASYEAR)

fia_tree_grm · table

USDA FIA growth-removal-mortality (GRM) annualized estimates by state, inventory year, species, and estimation type. Derived by joining per-state {ST}_TREE_GRM_ESTN.csv against {ST}_TREE.csv on TRE_CN to attach SPCD, then aggregating per-tree ANN_NET_GROWTH/REMOVALS/MORTALITY into per-group totals. Units are determined by ESTN_UNITS for the row's ESTN_TYPE (typically cubic feet for volume estimates and square feet for basal area). ETL fans out across states.

Column Type Null Description
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
inventory_year integer no FIA inventory year (INVYR)
species_code integer no FIA species code (SPCD) — joins to REF_SPECIES upstream
estimation_type string yes ESTN_TYPE label (e.g., AL_FOREST, GS_TIMBER) — defines basis + units
ann_net_growth double yes Sum of per-tree ANN_NET_GROWTH for the group, in ESTN_UNITS
annual_removals double yes Sum of per-tree REMOVALS for the group, in ESTN_UNITS
annual_mortality double yes Sum of per-tree MORTALITY for the group, in ESTN_UNITS
tree_count long yes Number of tree records contributing to this aggregate

fia_seedlings · table

USDA FIA seedling regeneration estimates by state, inventory year, and species, derived from per-state {ST}_SEEDLING.csv. seedlings_per_acre is the sum of TPA_UNADJ across plot-conditions; seedling_count is the sum of microplot TREECOUNT observations. Pairs with forest_metrics for tree+regeneration analytics.

Column Type Null Description
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
inventory_year integer no FIA inventory year (INVYR)
species_code integer no FIA species code (SPCD)
seedling_count long yes Sum of microplot seedling counts (TREECOUNT)
seedlings_per_acre double yes Sum of TPA_UNADJ across plot-conditions for the group
record_count long yes Number of SEEDLING rows contributing to this aggregate

fia_down_woody_debris · table

USDA FIA down-woody-material biomass aggregated by state, inventory year, and debris category (coarse_woody, fine_woody, duff_litter). Derived from per-state {ST}_COND_DWM_CALC.csv. tons_per_acre is the condition-area weighted mean of the FIA per-condition adjusted dry-biomass tonnage for the category.

Column Type Null Description
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
inventory_year integer no FIA inventory year (INVYR)
debris_category string no One of coarse_woody, fine_woody, duff_litter
tons_per_acre double yes Condition-area weighted mean of category dry-biomass tons/acre
record_count long yes Number of COND_DWM_CALC rows contributing to this aggregate

fia_invasives · table

USDA FIA invasive plant species observations aggregated by state, inventory year, and species code, derived from per-state {ST}_INVASIVE_SUBPLOT_SPP.csv. cover_pct_avg is the mean COVER_PCT across reporting subplots. Not every state samples invasives every cycle.

Column Type Null Description
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
inventory_year integer no FIA inventory year (INVYR)
species_code string no FIA invasive species code (VEG_SPCD — USDA PLANTS symbol, alphanumeric)
cover_pct_avg double yes Average COVER_PCT across reporting subplots
subplot_count long yes Number of subplots reporting this species

fia_pop_evaluations · table

USDA FIA population evaluations — the statistically-valid samples used to publish state estimates. Joins {ST}_POP_EVAL.csv with {ST}_POP_EVAL_TYP.csv on EVAL_CN to emit one row per (evaluation, evaluation type) pair. eval_type values include EXPVOL (volume), EXPCURR (current area), EXPGROW, EXPMORT, EXPREMV, etc.

Column Type Null Description
state_fips string no 2-digit FIPS code identifying the primary state (e.g., '06' for California)
eval_cn string no POP_EVAL.CN — PK for the evaluation record
eval_grp_cn string yes POP_EVAL_GRP foreign key
eval_descr string yes Human-readable description of the evaluation
start_invyr integer yes First inventory year covered by the evaluation
end_invyr integer yes Last inventory year covered by the evaluation
eval_type string yes Evaluation type from POP_EVAL_TYP.EVAL_TYP (EXPVOL, EXPCURR, ...)

nps_units · table

National Park Service unit boundaries — parks, monuments, recreation areas, seashores, parkways, and all other NPS-designated units. ~430 units. Reference and dimension table; FK target for nps_visitation.unit_code. Joins to geo.states and geo.counties for gateway-community economic impact analysis. Updated annually in April following annual report administrative updates.

Column Type Null Description
unit_code string no NPS 4-letter unit code (e.g., 'YOSE', 'GRCA')
unit_name string yes Full unit name
unit_type string yes National Parks / Monuments / Recreation Areas / Seashores / etc.
state_abbr string yes 2-character state abbreviation (e.g., 'CA', 'WY')
region string yes NPS region (e.g., 'Pacific West', 'Northeast')
gross_acres double yes Approximate unit area in acres (derived from GIS shape area)

nps_visitation · table

National Park Service annual and monthly visitation statistics from the IRMA Statistics API. One row per unit_code × visit_year × visit_month. Covers recreational visits, overnight stays, backcountry use, and concession lodging. Joins to nps_units via unit_code and to econ.bls_employment via county_fips (from nps_units join) for gateway-county tourism employment correlation.

Column Type Null Description
unit_code string no FK to nps_units (NPS 4-letter code)
visit_year integer no Visit year (partition key)
visit_month integer no Month (1–12); all rows are monthly (no annual summary rows)
recreation_visits integer yes Recreational visitor count
non_recreation_visits integer yes Non-recreational visits (commuters, government, etc.)

blm_field_offices · table

Bureau of Land Management administrative unit boundaries — field offices and district offices that manage federal subsurface mineral rights, grazing allotments, and surface use permits. ~150 field offices. Primarily useful as a geographic reference for joining extractive industry activity to SEC filings and FEC oil/gas sector donor geography. Updated annually in June.

Column Type Null Description
office_code string no BLM administrative unit code (e.g., 'UTMO')
office_name string yes Office name (e.g., 'Moab Field Office')
office_type string yes Field Office / District Office / State Office
state_abbr string yes 2-character state abbreviation (e.g., 'UT', 'WY')

onrr_revenues · table

Office of Natural Resources Revenue (ONRR) royalty payments for oil, gas, coal, and other minerals extracted from federal and tribal lands. One row per fiscal-year × commodity × revenue-type × state × county combination. Full history from FY 2004 in a single bulk download. Primary financial link between BLM-managed subsurface rights and SEC 10-K disclosures for E&P and mining companies. Source: revenuedata.onrr.gov (domain moved from revenuedata.doi.gov in 2024). Refreshed quarterly as ONRR publishes new data.

Column Type Null Description
fiscal_year integer no Fiscal year of revenue collection (FY 2004–present)
land_class string yes Federal / Native American / Federal Offshore
land_category string yes Onshore / Offshore / Gulf of Mexico / Pacific
state_name string yes State name (e.g., 'Wyoming'); null for offshore rows
county_name string yes County name; null for offshore/tribal rows
county_fips string yes 5-digit FIPS (null for offshore/tribal)
offshore_region string yes Offshore region name (Gulf of Mexico, Pacific, etc.); null for onshore
revenue_type string yes Royalties / Bonus / Rents / Other Revenues
mineral_lease_type string yes Oil & Gas / Coal / Geothermal / Hardrock / etc.
commodity string yes Oil / Gas / Coal / Geothermal / Renewables / Other
product string yes Specific product (e.g., 'Crude Oil', 'Coalbed Methane')
revenue double yes Revenue collected (USD)

lands_forest_condition_metrics · view

Joins forest_inventory (basal area from COND CSV) with forest_metrics (live-tree volume and carbon from TREE CSV) on the shared composite key. Provides a single row per state × forest type group × ownership class × inventory year with all five FIA-derived metrics. Use for carbon-stock trend analysis, timber-volume benchmarking, and cross-schema joins to sec.filing_metadata or econ.fred_indicators.

View — columns are resolved by the query engine at runtime.

lands_timber_by_forest_state · view

Aggregates USFS timber harvest activities by fiscal year and state. Shows annual harvest area (gis_acres), units accomplished (volume/area), and activity count per state. Joins to national_forests via forest_code. Enables identification of states with highest federal timber harvest activity and trend analysis by forest.

View — columns are resolved by the query engine at runtime.

lands_nps_gateway_impact · view

Joins NPS monthly visitation to park unit metadata for gateway economic impact analysis. Aggregates to annual totals per unit. Ready to join with econ.bls_employment on county data from nps_units.

View — columns are resolved by the query engine at runtime.

lands_onrr_by_state_commodity · view

Aggregates ONRR federal mineral royalty revenues by state, commodity, and fiscal year. Uses state_name directly (no FIPS join needed). Enables correlation with sec.filing_metadata company_name for E&P royalty exposure analysis and with econ.state_wages for energy sector employment vs. revenue trends.

View — columns are resolved by the query engine at runtime.

lands_nps_gateway_employment · view

Correlates NPS annual park visitation with county-level employment and wages (econ.county_wages, BLS QCEW). Aggregates monthly visitation to annual totals per park unit, then joins to county_wages for the same year, total-industry rows (industry_code=10, own_code=0). Note: nps_units no longer carries county_fips; this view joins on state_abbr as a proxy for state-level employment context.

View — columns are resolved by the query engine at runtime.

lands_onrr_energy_revenues · view

Aggregates ONRR federal mineral royalty revenues by state and fiscal year for the energy commodities (Oil, Gas, Coal). Enables trend analysis of federal energy royalty production by state. The next natural join is to sec.filing_metadata on fiscal_year to correlate with E&P company 10-K filings.

View — columns are resolved by the query engine at runtime.

lands_timber_public_companies · view

Correlates federal USFS timber harvest activity with SEC-registered timber and paper companies (sec.filing_metadata SIC 0800-0899 forestry, 2400-2499 lumber and wood products, 2600-2699 paper and allied products). Joins on fy_completed = fiscal_year to show, for each year, how many publicly traded timber/paper companies filed 10-Ks alongside the federal harvest activity count and acres. Useful for identifying publicly traded companies with material exposure to changes in federal timber supply policy.

View — columns are resolved by the query engine at runtime.