Skip to content

Support lfps on demand fetch for landfire canopy bands - #747

Open
lindsaywiard wants to merge 3 commits into
mainfrom
589-support-lfps-on-demand-fetch-for-landfire-canopy-bands
Open

lindsaywiard wants to merge 3 commits into
mainfrom
589-support-lfps-on-demand-fetch-for-landfire-canopy-bands

Conversation

@lindsaywiard

Copy link
Copy Markdown
Collaborator

LANDFIRE canopy (chm, cbd, cbh, cc) can now serve a release newer than the staged one, fetched on demand from LANDFIRE Product Service (LFPS), the same way fbfm40/fbfm13/fccs already do. Version 2025 is added as the first LFPS-only canopy release.

Changes

lib

  • LANDFIRE_VERSIONS["canopy"]: staged 2024, LFPS 2025, default 2024, with a layers list of the four bands.
  • lfps_acronym: a grouped product resolves through its first layer, so coverage checks for canopy look up CH in the LFPS catalog. Coverage is judged on that one layer, since the four are published together.
  • LFPS_ACRONYM_OVERRIDES: chm -> CH. cbd, cbh and cc already upper-case to their LFPS acronyms.

griddle

  • fetch_canopy_landfire routes by version: a version in lfps_available is fetched through LFPS, anything else from the staged COGs (now validated against the registry).
  • One LFPS job covers all requested bands: fetch_lfps for a single band and fetch_lfps_multi for several. Bands are read from the result by position, and the band-order check in fetch_lfps_multi guards the mapping.
  • Decoding and scaling are unchanged.

api

  • LandfireCanopyVersion is built from LANDFIRE_VERSIONS, and the request default comes from the registry.
  • create_landfire_canopy runs validate_lfps_coverage before enqueuing when the version is LFPS-only.
  • New GET /domains/{domain_id}/grids/canopy/landfire/coverage lists every release newest first, with per-domain coverage and a ready-made create request.

Tests

  • lib: registry entry, canopy band acronyms, grouped-product acronym.
  • griddle: LFPS routing for single and multiple bands, staged versions never touching LFPS, unknown versions rejected.
  • api: enum built from the registry; live create against a domain with known LFPS coverage (single, subset and all bands); coverage endpoint response, release set and ordering. The staged-version test is limited to staged releases.

@lindsaywiard lindsaywiard linked an issue Oct 21, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support LFPS on-demand fetch for LANDFIRE canopy bands

1 participant