Skip to content

feat(ecoregion): harvest-probability summarized by EPA L3 ecoregion#79

Open
holoros wants to merge 1 commit into
mainfrom
feat/ecoregion-harvest-summary
Open

feat(ecoregion): harvest-probability summarized by EPA L3 ecoregion#79
holoros wants to merge 1 commit into
mainfrom
feat/ecoregion-harvest-summary

Conversation

@holoros

@holoros holoros commented Jun 12, 2026

Copy link
Copy Markdown
Owner

What

Ingests the updated CONUS harvest-probability rasters from Cardinal (conus_render/ph_any|clearcut|partial.tif, single-band float32, ~3.1 km Albers) and summarizes them by EPA Level III ecoregion — the 'summarize by ecoregion' refinement.

  • scripts/build_ecoregion_harvest_summary.py reprojects the L3 polygons to the raster Albers CRS, rasterizes per ecoregion, and zonal-averages each probability raster. Reproducible; the .tif inputs (~6.8 MB each) stay on Cardinal and are not committed.
  • public/api/ecoregion_harvest_summary.json (13 KB): mean P(any) / P(stand-replacement) / P(partial) for 74 ecoregions.
  • New Ecoregion harvest tab (EcoregionHarvest.jsx): a sortable, filterable table with color-coded probability cells.

Why this instead of a higher-res raster swap

I checked the source: the harvest-probability rasters are 1600×1057 at ~3.1 km pixels, and the larger PNG in conus_render is the same grid/extent (just a heavier render), so swapping it in gives no real resolution gain. The ecoregion zonal summary is the higher-value 'summarize by ecoregion' product you asked for, and it's additive (no canonical raster replaced).

Reads

P(any) runs 0.69–0.92 across ecoregions; the informative signal is the stand-replacement vs partial split — e.g. Klamath Mountains 0.88/0.13 (clearcut-dominated) vs Northern Minnesota 0.71/0.65 (mixed selection).

Scope / risk

  • One new data file + generator + one component + 4 wiring lines in App. No raster or schema change.
  • npm run build passes.

Opened for review — not auto-merged.

Ingests the conus_render harvest-probability rasters (ph_any/clearcut/
partial.tif, ~3.1km Albers) and zonal-averages them by EPA Level III
ecoregion (74 ecoregions) into public/api/ecoregion_harvest_summary.json,
with a reproducible generator script. New 'Ecoregion harvest' tab: a
sortable, filterable table of mean P(any) / P(stand-replacement) /
P(partial) per ecoregion with color-coded cells. Build verified.
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.

1 participant