Skip to content

Import: LANDFIRE 2024 CONUS vegetation structure & fuels — EVC, EVH, FBFM13/40, FVC/FVH/FVT, canopy CBH/CBD/CC/CH #515

Description

@cboettig

Dataset

LANDFIRE 2024 CONUS vegetation structure & fuels suite — the second tranche of the LANDFIRE import. Split out of #203, which covers vegetation type / succession / departure (EVT, BpS, FRG, SClass, VCC, VDep).

⛔ SCOPE

Extent

CONUS only, full upstream extent. AK/HI/PR-VI deferred (same boundary as #203).

Products — 11 layers, LF2024 pinned

Bulk pattern (verified 2026-08-05): https://landfire.gov/data-downloads/CONUS_LF2024/LF2024_<CODE>_CONUS.zip

Dataset name Full product name Code Zip
evc-2024 Existing Vegetation Cover EVC 8.8 GB
evh-2024 Existing Vegetation Height EVH 5.6 GB
fbfm13-2024 13 Anderson Fire Behavior Fuel Models FBFM13 2.4 GB
fbfm40-2024 40 Scott and Burgan Fire Behavior Fuel Models FBFM40 3.2 GB
fvc-2024 Fuel Vegetation Cover FVC 4.0 GB
fvh-2024 Fuel Vegetation Height FVH 3.4 GB
fvt-2024 Fuel Vegetation Type FVT 3.5 GB
cbh-2024 Forest Canopy Base Height CBH 2.3 GB
cbd-2024 Forest Canopy Bulk Density CBD 1.8 GB
cc-2024 Forest Canopy Cover CC 1.9 GB
ch-2024 Forest Canopy Height CH 1.8 GB

FCCS (Fuel Characteristic Classification System) has no LF2024 build — LF2023 (4.4 GB) is the latest. Include as fccs-2023 or defer; decide before building.

Do not use LF2025 — partial release (~⅓ the LF2024 size).

⚠️ The defining trap: these are CODED class rasters, not measurements

EVC, EVH, FVC, FVH (and the canopy layers, in their own way) store coded class bins, not physical values — cover/height ranges with the life form embedded in the code range (tree / shrub / herb bands, plus separate codes for water, snow-ice, barren, developed, agriculture). A reference planning app renders Fuel Vegetation Height as named classes ("Forest Height …", "Shrub Height …", "Herb Height …", "Sparse Vegetation", "Fallow/Idle"), which is the honest presentation.

Consequences:

  • mean on the raw pixel codes is meaningless. Never apply it.
  • Default treatment: categoricalmode + fractions hex, with classification:classes from the shipped CSV class names.
  • Optionally also publish a numeric remap (bin midpoint → % cover / metres) as a separate derived layer with its own mean hex, but only after confirming the exact code ranges from each product's CSV. Do not conflate the two in one column.
  • CBD (kg m⁻³), CC (%), CH/CBH (m, often stored ×10) may be genuinely continuous — confirm per product from the CSV/metadata before choosing mean vs categorical. Read the units; don't infer from the product name.

H3 + reducers

Naming

Full official product name in every STAC title/description and every classification:classes[].name; abbreviations only in keys. No bare "FBFM40" / "CBH" in displayed strings.

Bucket / license

public-landfire, same layout and license: public-domain as #203. Register in the bucket-level STAC collection created there.

Work plan

Same shape as #203: stage raw → pre-flight each COG (real nodata + class histogram as validation truth) → WGS84 COG → sequential hex (mode, then fractions) → coverage gate (scripts/check-hex-coverage.sh, comparing populated partitions) → STAC/README with complete classification:classes + color_hint from the CSV R,G,Bscripts/verify-stac.py green.

Sequence after #203 — 11 products × 2 hex jobs is a large compute commitment; don't overlap it with #203's runs.

Acceptance criteria

  • 11 (or 12 with FCCS) products on public-landfire, LF2024 pinned, full CONUS.
  • Coded-value handling documented per product from its CSV; no mean applied to class codes.
  • Per product: COG + res-10 hex; mode + fractions for categorical, mean only where units are confirmed continuous.
  • Complete classification:classes with official palette color_hint; full product names in all displayed strings.
  • Coverage gate passes; scripts/verify-stac.py --bucket public-landfire --dataset <each> exits 0.

Split from #203. Part of #140; serves the fire/fuels side of #143.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions