Netnyahoo
Real Chromium for the Mac, free and open source: Arc's sidebar and Dia's polish, with no account. Immune to ads, trackers and prosecution.
Burn piles mapped from 2026 ASO lidar in the Pike-Magnus, Graveyard, Sleighville and Alaska Peak units, Tahoe National Forest, with disposal scenarios.
OtherPython · HTMLGitHub @jburdick-mOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Live site: https://jburdick-m.github.io/trapper-area-piles/
Interactive map and disposal planner for the large burn piles left by fuels treatments in the Pike-Magnus, Graveyard, Sleighville and Alaska Peak units, Tahoe National Forest.
The page maps 212 piles 40 ft and wider: 205 from the first pass and 7 the automated pass below found that it missed, 2 of them in NE Sleighville units (322 and 666) that were flown in Feb 2026 but lay north of the first pass's analysis extent. Sliders set packing ratio, wood density, grind-and-haul and carbonator rates, and the totals, project table and map update as they move. The "all project ground" figures carry each project's flown totals onto its unflown unit acres at the same piles per acre (flown × unit acres / flown acres), an allowance for piles outside the 2026 lidar; 33% of unit acres were not flown.
| File | Contents |
|---|---|
data/piles.json | One row per pile: project, unit, footprint, diameter, height, gross volume and 95% sampling interval, footprint outline. Rows with added: true (ids 1001+) come from the automated pass and carry a 90% volume range, pile probability, stability and pulse count |
data/piles_30_40ft.json | The 13 piles 30–40 ft the automated pass found, same fields. Not shown on the page: too incomplete to count yet |
data/units.json | Treatment units with acres and the share covered by the 2026 lidar |
data/layers.json | Project boundaries, Feb 2026 lidar footprint (from the ASO tiles: 25 m cells with at least 0.5 points per m², gaps up to 200 m filled), National Forest System land (USFS basic ownership, Tahoe and Plumas NF, across the whole map), analysis extent |
data/assumptions.json | Slider defaults and ranges, with their sources |
data/hillshade.jpg | Hillshade background from USGS 3DEP, 25 m, covering all four projects |
data/piles/pile_<id>.webp | Lit 3-D view of each pile at true scale with a chip van and tractor beside it, shown when a pile is clicked |
Coordinates are NAD83 / UTM zone 10N (metres).
| Grind and haul | Carbonator |
|---|---|
| Grind and load ($/dry t), chip-van haul (round trip + 1 h load/unload), contractor markup | Contract rate per run-hour (machine, operator, feeding loader, margin) |
| Grinder and loader move-in per project | Carbonator and loader move-in per project, per machine |
| Fire support: Forest Service's own, not costed | Contracted fire support (water tender) per machine per working day |
| Plant gate payment or tipping fee (default: no credit) | Biochar value not credited |
Diesel: the slider sets the on-road pump price and starts at the California average, $8.46/gal (AAA, Oct 24, 2026). Chip vans, lowboys and the carbonator's fire support pay that price. The grinder, carbonator and their loaders burn dyed off-road diesel, priced from the slider: take out California's diesel excise (48.2¢/gal, outside the sales tax base), the 13% diesel sales tax and the federal excise (24.4¢), then add the 7.25% sales tax dyed diesel pays off-road (CDTFA rates from July 2026; district taxes apply to both and are left out). That gives $7.31/gal at today's price. The other default rates are taken as priced when diesel was about $5.00/gal ($4.03 off-road; AAA average $5.12 a year earlier), so the slider adds or removes only their fuel share, using assumed fuel use in data/assumptions.json: grinder and loader 40 gal per productive hour, chip vans 5.5 mpg plus 1 gal idling per load, carbonator and loader 10 gal per run-hour, carbonator fire support 25 gal per day, and 100 gal per move-in. Each $1/gal on the slider adds about $105k to grind and haul and $30k to the carbonator at default settings; today's price adds about $360k and $100k over $5.00 diesel.
Grind-and-haul working days are set by the slower of the grinder (dry t/h × hours) and the trucks (whole round trips per 11 h driver day). Not included: agency contract preparation and oversight, road maintenance or reconstruction for chip vans, permits, and cleanup of pile sites.
Routed road miles from the units (OpenStreetMap routing):
| Destination | One-way |
|---|---|
| Rio Bravo Rocklin, Lincoln (default) | 69 mi |
| Sierra Pacific cogeneration, Quincy | 75 mi |
| Woodland Biomass, Woodland | 106 mi |
| Buena Vista Biomass, Ione | 112 mi |
| Honey Lake Power, Wendel | 150 mi |
tools/pile_views.py draws the image shown when a pile is clicked (no title; the panel heading names the pile). It grids the Feb 4, 2026 returns (gs://aso-august-w1/pc_work_10212026/pike_view2/tiles) against 2022 bare earth from the USGS CA_SierraNevada 2022 ground returns (public EPT), inside each pile's footprint. The 2026 points are shifted onto the 2022 ground by the Feb flight's ground offset (+0.18 m, as in the pile mapping), standing trees are filtered out, and heights are capped at the mapped pile height. The chip van is a 53 ft × 8.5 ft × 13.5 ft trailer behind a day-cab tractor, about 69 ft overall. Tree filtering and smoothing make the drawn surface a little low: image volumes run a median 8% under vol_m3. The 2022 ground for each pile is cached in gs://aso-august-w1/pc_work_10212026/pile_views/ground22/ so the render runs from the bucket alone.
tools/pile_views_vm.sh renders all piles on a GCE VM in us-west1 (same region as the bucket) and writes them to gs://aso-august-w1/pc_work_10212026/pile_views/out/. Copy them into data/piles/ and bump IMG_V in index.html.
Chip-van loads in the pile panel are the pile's scenario dry tons divided by the load size slider.
The Feb 2026 flight is sparse where the piles are (0.8–2.2 returns per m² overall, about 0.3 per m² on 40–60 ft piles, half the 1 m cells empty), so tools/pilefind.py works on returns rather than a raster:
NY_22_CHM.tif) of the same height. Pile tops are 71–80% single returns, against about 35% elsewhere.tools/pile_detect.py scores each cluster with a gradient-boosting classifier on density-independent evidence (share of pulses stopped above ground, ground returns seen versus expected, pass-through and overhang, 2022 canopy, shape, height profile). It was trained on 7 test tiles holding 148 mapped piles, at full density and thinned to 50, 30, 20 and 12% of pulses. Mapped piles are positives at any size; unmapped clusters are negatives only at 40 ft and up, where the first pass should be complete.Validation on the test tiles: the cluster stage finds 146 of the 148 mapped piles; the full rule set keeps 63% of them (77% of piles with 200+ pulses, 12–35% of piles with 20–50 pulses) and makes no detections on a pile-free tile. Reviewed by eye from return profiles, 17 of the 18 additions are clean mounds 2–4 m tall; pile 1001 (Graveyard unit 103, 110 ft) is a large irregular mound with a lower tail, possibly a landing deck or two piles together, and is the one to field-check first.
The first pass and the view tiles stopped at 4,377,141 N, but six NE Sleighville units (316, 319, 322, 431, 666, 777; about 290 flown acres) run north of that. tools/extend_tiles.py cut tiles for that strip from the raw Feb ASO tile, aligned to the existing tiles by matching 14 million identical pulses (shift known to 1 mm horizontally, 7 cm vertically), and tools/extend_vm.sh ran the same detection there. It found two large piles (1019, 1020) and a low S-shaped band 1–2 m high in unit 322 (more likely road or landing fill than slash, left out). Those six units are now counted as fully flown.
tools/pile_detect_vm.sh runs the whole pass on a us-west1 VM (about 5 minutes on 22 cores); inputs, per-tile results and the training table are in gs://aso-august-w1/pc_work_10212026/pile_detect/, and the validation scripts and scored clusters in its validation/ folder.
data/piles_30_40ft.json), but at the pulse counts small piles get in this flight it finds roughly 15–50% of them, so the real number is likely several times that. Ground data or a denser flight would make them usable.Repository Settings → Pages → Build and deployment → Deploy from a branch, branch main, folder / (root). The site appears at https://<user>.github.io/<repo>/ within a minute or two.
To view locally, serve the folder (the page fetches its data, so opening index.html directly does not work):
python -m http.server 8000
then open http://localhost:8000.