You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Split out of #590. Source: LANDFIRE LF 2024 Update v2.5.0, CONUS, bucket public-landfire.
State (verified against S3, 2026-09-16)
FBFM40 COG is built and on S3 (s3://public-landfire/landfire-2024-fbfm40/landfire-2024-fbfm40-cog.tif, 3.6 GB, WGS84, -r near). Hex has 2 of 6 h0 partitions. No stac-collection.json.
FBFM40 is now the only layer in the bucket with an incomplete hex. Ten others (vcc, evt, fbfm13, fvc, fvh, fvt, cbd, cbh, cc, ch) carry 6 of 6, including all four h0 cells missing here. evc and evh have COGs and no hex by decision.
What to do
Do not apply landfire-2024-hex-finish.yaml. It fans out 12 indexes (EVC and FBFM40 over 6 h0 each) at 192Gi with priorityClassName: opportunistic. The per-slice skip guard exits finished slices cheaply, but it still schedules 6 EVC pods that are not wanted and sizes the 4 FBFM40 pods from a superseded estimate.
Copy hex/fbfm13/landfire-2024-fbfm13-hex.yaml (PR #657) with --value-column fbfm40, scoped to the 4 missing h0. fbfm13 is the nearest analogue: same product family, same --nodata "-9999,32767", same res-10 mode. It completed 6/6 at cpu 4, memory 64Gi, CNG_HEX_WORKERS=8, default priority, parallelism 3, measured peak ~37 GiB. The earlier ~160Gi figure is superseded; over-requesting invites NRP's low-utilization admission rejection.
The two exit-137s are explained
Not a property of FBFM40. Slices run ~7 h and opportunistic is priority -2000000000, so a multi-hour pod is a large preemption target (.claude/skills/pod-preemption). PR #657 dropped opportunistic for exactly this reason, and its layers then completed on the same four h0 cells that failed here. The node co-tenancy hypothesis recorded earlier is not needed.
EVC
Settled to "not mode" by the #515 measurement: the modal class holds a minority of the cell in 63% of cells, median share 0.33. Two options remain, and both still need a stated consumer before building:
decoded surface: (v − 100) / (v − 200) / (v − 300) into a percent column, lifeform as its own column, codes 11–100 as nodata, reducer mean
fractions: preserves the lifeform-bin mix and makes area accounting exact
PR #657 defers EVC to this issue, so the decision stays here. EVH shares EVC's coded-bin structure and is deferred on the same grounds.
NB1–NB9 (91/92/93/98/99) are non-burnable real classes, not nodata: urban, snow/ice, agriculture, open water, bare rock. A hazardous-fuels statistic that does not split them out counts parking lots and lakes.
Split out of #590. Source: LANDFIRE LF 2024 Update v2.5.0, CONUS, bucket
public-landfire.State (verified against S3, 2026-09-16)
FBFM40 COG is built and on S3 (
s3://public-landfire/landfire-2024-fbfm40/landfire-2024-fbfm40-cog.tif, 3.6 GB, WGS84,-r near). Hex has 2 of 6 h0 partitions. Nostac-collection.json.H3 native
10, parents9,8,0· reducermode· idlandfire-2024-fbfm40FBFM40 is now the only layer in the bucket with an incomplete hex. Ten others (
vcc,evt,fbfm13,fvc,fvh,fvt,cbd,cbh,cc,ch) carry 6 of 6, including all four h0 cells missing here.evcandevhhave COGs and no hex by decision.What to do
Do not apply
landfire-2024-hex-finish.yaml. It fans out 12 indexes (EVC and FBFM40 over 6 h0 each) at 192Gi withpriorityClassName: opportunistic. The per-slice skip guard exits finished slices cheaply, but it still schedules 6 EVC pods that are not wanted and sizes the 4 FBFM40 pods from a superseded estimate.Copy
hex/fbfm13/landfire-2024-fbfm13-hex.yaml(PR #657) with--value-column fbfm40, scoped to the 4 missing h0.fbfm13is the nearest analogue: same product family, same--nodata "-9999,32767", same res-10mode. It completed 6/6 at cpu 4, memory 64Gi,CNG_HEX_WORKERS=8, default priority, parallelism 3, measured peak ~37 GiB. The earlier ~160Gi figure is superseded; over-requesting invites NRP's low-utilization admission rejection.The two exit-137s are explained
Not a property of FBFM40. Slices run ~7 h and
opportunisticis priority -2000000000, so a multi-hour pod is a large preemption target (.claude/skills/pod-preemption). PR #657 droppedopportunisticfor exactly this reason, and its layers then completed on the same four h0 cells that failed here. The node co-tenancy hypothesis recorded earlier is not needed.EVC
Settled to "not
mode" by the #515 measurement: the modal class holds a minority of the cell in 63% of cells, median share 0.33. Two options remain, and both still need a stated consumer before building:(v − 100)/(v − 200)/(v − 300)into a percent column, lifeform as its own column, codes 11–100 as nodata, reducermeanfractions: preserves the lifeform-bin mix and makes area accounting exactPR #657 defers EVC to this issue, so the decision stays here.
EVHshares EVC's coded-bin structure and is deferred on the same grounds.Blocked on
make-stac.pyadvertising afractionsasset that was purged on purpose. FBFM40's STAC inherits that defect if written first.9,8,0against9,8,7,6,5,0pinned on Import: LANDFIRE CONUS vegetation & departure suite — EVT, BpS, FRG, SClass, VCC, VDep (LF2024/2020/2016) #203 and Import: LANDFIRE 2024 CONUS vegetation structure & fuels — EVC, EVH, FBFM13/40, FVC/FVH/FVT, canopy CBH/CBD/CC/CH #515, with no recorded decision behind the difference. Applies to the whole tranche.Caveats
NB1–NB9(91/92/93/98/99) are non-burnable real classes, not nodata: urban, snow/ice, agriculture, open water, bare rock. A hazardous-fuels statistic that does not split them out counts parking lots and lakes.classification:classes(Fix: drop fill codes from classification:classes — landfire-2024-vcc + catalog convention #628).Acceptance criteria
Complete=Truewith emptyfailedIndexes--min-bytes(modeis sparse)NB1–NB9documented as classes, excludable from fuels denominatorsstac-collection.jsonpublished andverify-stac.pycleanPart of #515 (#594 is closed). Evidence:
catalog/landfire/k8s/landfire-2024/BUILD.md.