Commit History

Live bundle: encode radar textures as lossless WebP (method=4) instead of PNG — ~25% smaller bundles, lossless (gray values unchanged). Client loads textures as image/webp; logo + downloaded export stills stay PNG.
e049811
Running

swnesbitt commited on

Live: every site uses the low-latency chunk feed (in-progress volumes shown), archive-bucket fallback. Short-lived caches now that all sites cache: drop a site's decoded volumes ~10 min after last view (touch-on-read LRU, _CHUNK_TTL=600s); chunk files pruned at ~80 min (covers the 65-min loop); live cache ttl 45s + rtsec 120s for all sites.
89d1903

swnesbitt commited on

UI + export: rename 'Load hour' button to 'Go', hide the 'Download raw' button; export zoom now matches the on-screen view — contain the visible extent at the same scale (anchor width/height by aspect) across single / quad / Z+V exports.
94f87c2

swnesbitt commited on

Lowest-sweep-only: render just the lowest elevation cut(s) (LOW_SWEEP_TOL=0.15) so a site's 0.3 deg supplemental cut hides its 0.5 deg cut (e.g. KBUF). Applied to the xradar render path (_tree_to_frames) and the dealias path (_dealias_dtree). Server-side sweep selection.
e1f7b3f

swnesbitt commited on

Re-apply Py-ART elimination on stable base: xradar fork = sole ingest, dealias via region_dealias.sweep_folds on xradar arrays (Nyquist from ds['nyquist_velocity'], max|V| fallback), bundled nexrad_sites.py coords (replaces pyart NEXRAD_LOCATIONS), removed _process_pyart fallback, dropped arm-pyart. Server-side only — no live-default/UI changes (built on a4cbd62).
e4c1ca9

swnesbitt commited on

Cosmetic update on stable base: title -> 'NEXRAD Level 2 low level sweep browser', remove Py-ART processing credit (+ add (S. Nesbitt) to region-dealias), one consistent dvh map height + tighter mobile layout. Text/CSS only — no ingest/functional changes.
a4cbd62

swnesbitt commited on

Remove debug instrumentation from app.py (revert thread-pool gate + breadcrumbs from abandoned Mac-app debugging)
8ed9e1a

Steve Nesbitt commited on

macOS bundle: eliminate fork() — thread decode pool (NEXRAD_INPROC_POOL) + open browser via os.posix_spawn (Obj-C process aborts on fork)
04bcd84

Steve Nesbitt commited on

Briefcase launcher: open browser via macOS /usr/bin/open (robust) + keep-alive marker
f0ea927

Steve Nesbitt commited on

Briefcase: open app in default browser instead of pywebview (pyobjc segfaults in the thinned bundle); force fork for the decode pool; drop pywebview/pyobjc/proxy_tools
41ea86b

Steve Nesbitt commited on

Briefcase: fix pywebview backtracking to 3.4 — ship proxy_tools wheel + --find-links, pin pywebview>=5, drop std-nslog (<private> log redaction)
6f90024

Steve Nesbitt commited on

Briefcase launcher: fix macOS-spawn worker imports (HERE on sys.path at import) + verbose startup logging + browser fallback if pywebview fails
9c18368

Steve Nesbitt commited on

Pin gradio==5.34.2 to match HF Space sdk_version (Space + Mac identical; avoids pip drift past sdk_version)
203cde6

Steve Nesbitt commited on

Pin gradio>=5,<6: app UI targets Gradio 5 (Gradio 6 dropped launch(show_api=...))
bad5783

Steve Nesbitt commited on

Student guide: state macOS Sonoma (14) or later as the requirement
3d9a357

Steve Nesbitt commited on

Briefcase: min_os_version=14.0 for numpy-2-coherent stack (netCDF4 1.7.x arm64 wheel is macosx_14); add std-nslog; student install guide
5ec32f5

Steve Nesbitt commited on

Briefcase: min_os_version=12.0 (scipy/netCDF4 wheels need macOS 12+); document adhoc-sign distribution caveat
1fc841b

Steve Nesbitt commited on

Briefcase: hyphenate app name (nexrad-l2) so module maps to src/nexrad_l2 package
f4b5a91

Steve Nesbitt commited on

Briefcase: PEP 639 SPDX license string (fixes 'briefcase create' license error)
a223fa4

Steve Nesbitt commited on

Desktop: add Briefcase (BeeWare) build as an alternative to py2app
778b649

Steve Nesbitt commited on

Desktop: free unsigned .app/.dmg build (Apple Silicon) — build_app.sh, icon, FIRST_OPEN instructions
8d7589b

s commited on

Desktop: inherit deps from root requirements (single source); launcher interface check + sync docs
ca7b41e

s commited on

Guard background daemons under start_background() for macOS spawn-safety; add desktop launcher (pywebview)
0c33a0a

s commited on

Site picker: switch radar in place with progress bar (no full reload)
634670a

s commited on

Site picker: use curated WSR-88D list (sites.py), not all NEXRAD_LOCATIONS (drops TDWR)
7a00b12

s commited on

Add in-map radar-site picker overlay + block-I favicon
80aa752

s commited on

Live: server-side poller keeps recently-viewed sites' chunks fresh
222aea5

s commited on

Live: check the chunk feed for new scans every minute (Timer 120->60s)
705076f

Steve Nesbitt commited on

Hide redundant top Field dropdown (use the in-map field selector)
c2aeb12

Steve Nesbitt commited on

Nudge map height offset 160->170 to fit footer (measured ideal ~169)
f798390

Steve Nesbitt commited on

Full-bleed layout: override Gradio's 1280px centered main; 2px edges
22efc29

Steve Nesbitt commited on

Tighten layout: ~2px edges, collapse inter-element gaps, fill map
9a30084

Steve Nesbitt commited on

Use more of the window: compact header + fix map height offsets
a480e28

Steve Nesbitt commited on

Header: credit CliMAS / Univ. of Illinois (climas.illinois.edu)
542453c

Steve Nesbitt commited on

Show the radar site ID in the page (tab) title
fc9049a

Steve Nesbitt commited on

Dealias: keep the current frame instead of resetting
32d9481

Steve Nesbitt commited on

Live autoupdate: never grey the display
d344c71

Steve Nesbitt commited on

Warnings: add flash flood warnings (FF) as green polygons
a176509

Steve Nesbitt commited on

Log active dealias engine at startup (greppable in Space logs)
d1ead26

Steve Nesbitt commited on

Progress bar: label the active dealiaser (Rust region-dealias vs Py-ART)
55d25df

Steve Nesbitt commited on

Footer: credit the Rust region-dealias dealiaser
85c6aa2

Steve Nesbitt commited on

Enable region-dealias (Rust dealiaser) now that it's on PyPI
3ffc110

Steve Nesbitt commited on

Use region-dealias (Rust) for dealiasing, with pyart fallback
79cd897

Steve Nesbitt commited on

Export: add units to the quad/Z+V mini colorbars
346f261

Steve Nesbitt commited on

Fix shared Z+V link: add ZVF to field dropdown choices
f1d7c31

Steve Nesbitt commited on

Share link: always build an absolute URL
8c44981

Steve Nesbitt commited on

Force-refresh: stop spinner as soon as server reports done
fb4010f

Steve Nesbitt commited on

Live: add forced-refresh button (snappy, in-place)
d1bd562

Steve Nesbitt commited on

Loop: dwell on last frame 4x the frame interval
3d2038e

Steve Nesbitt commited on

Warning polygons: 0.25pt black buffer (casing)
94a4441

Steve Nesbitt commited on