← RadarNightwatch Radar
Version 0.5.0 · Self-hosted NEXRAD Level II viewer. Reflectivity in dBZ; base and storm-relative radial velocity in meters per second; CC as a ratio; ZDR in dB; rainfall totals in mm. Radar values remain at their source gate resolution. Nightwatch does not interpolate frames or infer full wind vectors from radial velocity.
NOAA scans are downloaded from the public Unidata NEXRAD Level II and Level III collections. MRMS comes from NOAA’s public MRMS archive. This version uses completed volume files, not live partial sweeps. New data may trail the active radar sweep by several minutes. The timeline uses volume start times; individual sweeps occur later within the volume. The displayed elevation is the actual selected sweep angle; requested tilts use the closest available sweep within 0.65°. Missing and range-folded gates are transparent. Velocity can alias and is not dealiased or storm-relative.
The map renderer uses great-circle surface distance to align gates with geography. It is an initial surface-range approximation, not a full beam-height/geodetic correction. No smoothing creates additional detail. MRMS uses its native grid, cropped around the selected radar; the initial MRMS domain is CONUS. Sites with unsupported or unavailable scans show an error rather than substituted radar imagery.
Compatibility basemap: U.S. Census TIGER/Line 2025 primary roads, existing Census-derived counties, and Natural Earth populated places. Road geometry is simplified for display. Graphics library: Leaflet. Weather: NWS API, NOAA GIS, and Storm Prediction Center.
Radar: NOAA / Unidata. Decoding: MetPy. Map engine: MapLibre GL JS. Map data: OpenStreetMap contributors. Map tiles: OpenFreeMap. County GeoJSON: U.S. Census data distributed by Plotly datasets. Address search: OpenStreetMap Nominatim.
The detailed WebGL map requires its public vector tile provider. The compatibility map uses bundled boundaries/roads/places. This first version caches the application and up to 28 radar frames in your browser; it caches the bundled compatibility basemap with the app but does not download detailed WebGL basemaps. Browser storage may be evicted. Cached scans always retain their original timestamp. Pins are shared within your server and are saved in its database; the application does not continuously track your location. Address searches are sent to Nominatim. Stored PWA content and radar caches remain on the device until browser site data is cleared.
Loop settings support live durations of 15 minutes to 24 hours, or specified historical date/time intervals up to seven days per request. Up to 240 actual scans are sampled across the interval. Times are entered in your device timezone. Missing historical files download on demand from the NOAA/Unidata archive; availability varies. A separate background recorder watches configured sites without an open browser. Raw and rendered caches have independent configurable limits; files expire by age since last acquisition/use or earlier under disk pressure. The server cache display reports limits, usage, and observation coverage. The local browser caches only a limited working set of frames, not an entire long archive loop.
When WebGL2 cannot initialize, Leaflet and Canvas2D provide a compatibility renderer with bundled U.S. land/counties, Census TIGER/Line primary roads, and Natural Earth place labels. This is a simpler U.S. reference map. Fresh weather-area snapshots are cached on the server; failures and stale feeds are labeled. Area snapshots older than 15 minutes are hidden. Native NWS polygons are preferred, with NOAA GIS county/zone geometry joined by CAP message ID when needed.
Use HTTPS for installation, service-worker caching, and browser location. Regular browsing over LAN HTTP is supported. Current NWS warning/watch areas, SPC Day 1–3 categorical outlooks and discussions, active mesoscale discussions, and local NWS forecast discussions are available in Weather & guidance. These current areas are hidden for archived radar and live scans older than 15 minutes. Historical warning reconstruction, push notifications, and audible alerts are not included. Separately, NOAA storm tracks, mesocyclone, TVS and hail-index products can be enabled and are matched within eight minutes of the displayed radar scan. Missing products are labeled unavailable. NOAA tracking/signature availability differs from radar imagery availability. Tracks project cell centers and may change; signatures are not confirmed surface events.
Initial viewing requests prepare only two radar frames. Play or Save animation requests the configured interval. Server background Level II recording is independent. Clean PNG/GIF exports use bundled Census/Natural Earth geography with radar values, the selected view extent, optional weather areas, tracks, legend and visible pins. Detailed OpenFreeMap styling and radar-site selection buttons are omitted from exports. GIF limits below the available scan count sample across the full interval; no in-between images are invented. Encoding: gifenc 1.0.3 (MIT).