Skip to content

Import: LANDFIRE CONUS disturbance history — annual disturbance 1999–present + Dist24 (pairs with MTBS) #516

Description

@cboettig

Dataset

LANDFIRE CONUS disturbance history — annual disturbance rasters, split out of #203. Designed to join with MTBS (Monitoring Trends in Burn Severity), the highest-priority fire-history add in #143.

⛔ SCOPE

Extent

CONUS only, full upstream extent. (AK / HI / PR-VI have their own annual-disturbance stacks — AKAnnualDisturbance_1999_present, HIAnnualDisturbance_2011_present, PRVIAnnualDisturbance_2015_present — deferred to the same AK/HI follow-up as #203.)

Products — verified URLs (HEAD-probed 2026-08-05)

Dataset name Full product name URL Zip
annual-disturbance LANDFIRE Annual Disturbance, 1999–present (CONUS) https://landfire.gov/data-downloads/AnnualDist/USAnnualDisturbance_1999_present.zip 1.9 GB
dist-2024 LANDFIRE 2024 Annual Disturbance https://landfire.gov/data-downloads/CONUS_Disturbance/LF2024_Dist24_CONUS.zip 97 MB

Also available, decide in/out before building:

  • LF2024_PDist24_CONUS.zipPreliminary Disturbance 2024
  • LF2025_LDist25_CONUS.zip (42 MB) / LF2025_PDist25_CONUS.zipLimited / Preliminary Disturbance 2025
  • CONUSLimitedDisturbance_2023_Present.zip

Recommendation: publish the 1999–present annual stack as the primary product (it is the analytical layer — disturbance type, severity, and year per pixel) plus the current-year Dist24; treat Preliminary and Limited products as provisional and exclude them unless there's a specific need, since they'd otherwise silently double-count with the final release.

Structure — resolve BEFORE generating manifests

USAnnualDisturbance_1999_present is a multi-year product. Determine from the zip whether it ships as one multi-band raster, one raster per year, or an encoded type+severity+year composite, then pick the layout:

  • Per-year rasters → follow the unified multi-year pattern already used for NLCD Annual (catalog/land-cover/k8s/ Ingest: NLCD Annual — land cover + land cover change (2015-2026) #453): one COG + one hex per year, consistent dataset naming (annual-disturbance/<year>).
  • Single encoded raster → decode to explicit columns (disturbance type, severity, year) before hexing; a composite code is not queryable.

Record the answer in this issue before building. 27 years × (COG + 2 hex jobs) is a large commitment — confirm the layout first.

H3 + reducer

Join with MTBS

The point of this layer is cross-validating and extending burn history. Ensure the H3 grid and year encoding line up with whatever MTBS ingest lands (#143) — same native resolution, same year column name/type. If MTBS lands first, match it.

Naming

Full product names in all STAC titles/descriptions and classification:classes[].name (e.g. "LANDFIRE Annual Disturbance 1999–present (CONUS)"); abbreviations only in keys. Document every disturbance-type and severity code from the shipped CSV.

Bucket / license

public-landfire, license: public-domain, registered in the bucket-level STAC collection created in #203.

Acceptance criteria

  • Layout question above answered in this issue before any cluster job runs.
  • Annual stack (+ Dist24) on public-landfire, full CONUS, provisional products explicitly in or out.
  • Per layer/year: COG + res-10 hex with mode and fractions.
  • Complete classification:classes (type + severity) with color_hint; year column documented.
  • Coverage gate passes (scripts/check-hex-coverage.sh); scripts/verify-stac.py --bucket public-landfire --dataset <each> exits 0.
  • Joinability with MTBS (Catalog audit: Ecosystem processes (fire regimes, restoration potential) #143) verified at h10.

Split from #203. Part of #140; serves the fire-history gap in #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