Skip to content

Releases: SysAdminDoc/OpenRadar

OpenRadar v0.4.0

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 31 Aug 05:27
  • The workspace has been rebuilt around the map. A fixed status bar, compact command rail, docked panels, and one shared playback band keep weather data visible while every existing surface stays directly reachable. The layout holds at compact sizes, larger text settings, light mode, and increased contrast.

  • GIF encoding now runs in a worker instead of freezing the map while it reduces colours and compresses frames. Shared GIFs use a 960-pixel cap, bounded palette sampling, and chunked byte storage, which cuts the peak memory held for a full loop while keeping the radar scale and burned-in caption readable.

  • The release command now runs the frontend, native, and headless browser gates before it builds. It verifies the updater signature against the configured public key, records the exact commit and artifact hashes, refuses a stale skipped build, and creates the version tag from that proved commit when publishing.

  • The compact layout keeps Commands visible, including at 130 percent text size. Commands now reaches Storm Cells, ProbSevere, Wind, and radar products, so a control hidden to make the window fit does not make that part of the app unreachable.

  • Layer and panel states tell the truth while data is loading or unavailable. Enabled-layer failures appear in Layers, Alerts and Tropical no longer show a false empty result, stale forecast, search, tide, route, and history results are cleared when the question changes, and only a road-router failure offers a straight-line estimate.

  • Map tools work from the keyboard at the map centre and report results through a live status region. Reduced-motion preferences now remove camera animation, radar legends scroll inside short windows, alert severity is written as text, and the timeline slider announces the selected timestamp.

  • Radar and export controls now preserve what they say they control. Loop export restores the prior frame and playback state even after a failure, Composite Reflectivity leaves single-site mode, a comparison with too little history says so instead of relabelling the first frame, and a guidance comparison cannot be reduced below two models.

  • Lightning refreshes share one in-flight native request, and the latest history selection wins if two archive files finish in reverse order. Forecast icons now match the reported weather. Startup, notification actions, and large counts also follow the saved language and locale.

  • GIF loops can now be saved by the installed app. Every export is written beside its destination, flushed, and then replaced in one step, so a failed save cannot truncate the last good file. Disk-cache work also runs away from the async workers that carry network replies and desktop commands.

  • Workspace backups now include an imported GeoJSON overlay as well as settings. Restoring one moves the map to the saved camera, and Undo puts both the settings and the prior overlay back. Files from newer builds also name unfamiliar nested settings instead of quietly dropping them.

  • A colour table is not reported as applied until the desktop renderer accepts it. Empty GeoJSON collections are refused instead of enabling a blank layer and calling the upload successful.

  • German radar now works in the installed app, not only in a browser preview. The desktop cache route knew to send DWD tiles through the native side, but that side refused the same host when the request arrived.

  • Weather files, byte-range replies, and compressed grids are bounded while they are being read. Truncated or hostile provider data is refused with an error instead of being allowed to panic, overflow, or grow memory until the whole reply has arrived.

  • The desktop window no longer receives unused permissions for opening web addresses or changing unrelated store keys. It keeps only the file reveal and settings operations the interface calls.

  • Camera moves no longer save an older copy of the rest of the settings a moment later. A theme, layer, or unit changed while the map was settling now remains changed after restart.

  • Forecast opens correctly under React's development safeguards. Its first request used to be cancelled and then mistaken for one that had already finished, leaving the panel on its loading line forever.

  • Alert monitoring keeps its national damage-threat read alive when the map moves, starts at a new watched place without waiting for the next poll, and falls back to an in-app notice if Windows notifications fail.

  • The newest radar refresh wins when two requests overlap. A cached reply from a failed source also stays with that source instead of making a live fallback say it came from the last-view cache.

  • Links supplied by remote overlay data are opened only when they are credential-free HTTPS addresses. Removing an imported overlay from its notification now switches the layer off as well as clearing its shapes.

OpenRadar v0.3.0

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 31 Aug 02:50
  • Germany has radar. Europe had none: the American mosaics stop at the coast, the Canadian service is Canada, and everywhere else fell through to a feed licensed for personal use only. The German weather service publishes a composite of its seventeen radars every five minutes, keyless, and that is what a map over Germany now draws, with the colours the service paints it in rather than the American ones. Past fifty decibels it turns blue and then magenta, which is the German convention for hail and not a fault. The service is offered with no availability guarantee, so what was there before is still behind it.

  • A loop can be exported as a GIF as well as a video. The video is the better picture, but it will not paste into most chats, and a loop nobody can send is a loop that stays on your own screen. The GIF carries the same burned-in time and credit, takes the last two dozen frames because every one of them is a full picture before it is squeezed, and loops for ever the way a GIF should.

  • A first launch says where everything is. There was no onboarding of any kind: the map opened and nothing on screen mentioned that Commands searches every product, place and setting by name, or that Layers is where the rest is switched on. One toast, once, and it is done with as soon as it has been shown.

  • The severe probability layer says when it has nothing to show. Switch a layer on, see a blank map, and it looks like a quiet afternoon rather than a layer that could not read anything, which for guidance somebody might act on is the worst thing it could look like. The reason now appears beside the switch. Its freshness check also worked in one direction only, so a file stamped in the future passed forever and a stamp that was not a date at all rolled over into one: the twelfth of January 8034 was being drawn as the current reading. Both are refused now, and a listing that arrives cut short keeps the readings that came before the cut instead of being thrown away whole.

  • The alert switches say what is under them. They are grouped by hazard rather than by product name, which is right, but it means a switch holds products whose names look nothing like its own: tsunami warnings, extreme wind and the civil emergencies sit with the tornado warnings because all of them are somebody telling you to move now. The switch was called "Tornado", so a reader in Honolulu could have turned off tsunami warnings while turning off weather that does not happen there. It is called "Take cover now" now, and every switch carries a line listing what it covers.

  • A warning already in force when you open the app is announced once, with its damage threat on it. The threat comes from a second feed, and the first draw of a session did not wait for it, so every standing warning was announced without a threat and then announced a second time a minute later when the threat arrived, which read as the office saying it had got worse. The map was wrong about it too, quietly: a catastrophic tornado warning wore the ordinary outline for its first minute. The first draw waits for the threats now, up to three seconds. Nothing after it ever waits.

  • Moving the map from one national grid to another loads that grid. Alaska, Hawaii, Guam, the Caribbean and the lower forty-eight are five separate grids, and the map only reloads its frame list when it decides the source has changed. It was not counting which of the five as a change, so panning from Honolulu to Anchorage kept Hawaii's frames and went on asking for Hawaii's tiles over Alaska, which come back empty, for up to five minutes.

  • Clicking a warning drawn over a severe-probability polygon opens the warning. It opened the model's guess instead, everywhere the two overlapped, which is over every storm that carries a warning. The map draws guidance under the warnings on purpose; the click was asking a separate list that had drifted from it. There is one list now, so they cannot.

  • Velocity unfolding now works on real sweeps. It grouped gates by which slice of the velocity range they fell in, and a real Doppler field is noisy enough that neighbouring gates a fraction of a metre per second apart kept landing on opposite sides of a slice boundary. A live cut came apart into nearly fourteen thousand pieces, most of them a gate or two, and pieces that small have no edge worth reading, so the folds stayed in. Gates are now grouped by whether the step between them could be a fold at all, which is the question the method is actually about. Measured over six sites, roughly half of the folded readings come back to the reading the radar would have made without the fold, against a fifth before, and on two of the six the old grouping put back essentially none. It is not better everywhere: on a quiet site the two are close, and there are afternoons where the old one does slightly more. A fold over a small part of the picture is also fixed now rather than dropped: the old code threw the whole correction away unless half a per cent of the sweep had moved, which meant a fold sitting over one storm survived while everything around it was reported as the radar's own reading.

  • The single-site view can draw the volume the radar is sweeping right now. An archive volume is only published once the radar has finished the whole thing, which means the picture is four to six minutes old before anyone can see it, and worst at the moment somebody is watching a storm turn. The same data is also published in pieces every eleven or twelve seconds, and switching on "Volume in progress" under the radar layer reads those instead: the sector the radar has reached is seconds old and drawn over the last finished volume, which still fills the rest of the circle. The legend says how many seconds. Where the new sweep found nothing, nothing is drawn, so a storm that has moved on comes off the picture rather than sitting there from five minutes ago. If the radar has not reached the tilt you are looking at yet, you get the finished volume and the legend does not claim to be live.

  • Each overlay has its own opacity, so a layer can be faded rather than switched off, and you can say which one sits on top of which. Warnings are not in the arrangement: a warning is somebody telling you to take cover, and nothing should be able to put a wildfire perimeter over one.

  • Severe probability, from the model the paid apps put their badges on. The National Severe Storms Laboratory reads the radar, the satellite, the lightning and the air around each storm and publishes, every couple of minutes, how likely that storm is to turn severe in the next hour, and separately for hail, wind and a tornado. Click one for the numbers and the measurements behind them. It is guidance, not a warning: it draws under the warnings and it says so.

  • The national grid now covers Alaska, Hawaii, Guam and the Caribbean, not just the lower forty-eight. Those four are published on the same bucket at the same cadence and are read by the same decoder; the map simply never asked for them, and fell through to a personal-use tier for everybody in them. Each is its own grid at its own resolution, so the view picks the one it is over.

  • Alerts can be filtered by kind. Eight switches under the alert layer, grouped the way people think about them rather than as a list of a hundred product names, and anything the list has never heard of shows up under "Everything else" instead of quietly disappearing. There is also an optional sound: one short tone when a new or upgraded alert reaches the place you watch, off until you ask for it.

  • Warnings say when the office expects worse than usual. A tornado or thunderstorm warning can carry a damage threat of considerable, destructive or catastrophic, and those are now drawn with a heavier outline, badged in the alerts panel, and named in the popup along with the hail size the office gave. If you have a watched place, an upgrade to a warning already in force interrupts you a second time, once, and says which tag it was given: that is the office saying the thing got worse, and it should not read like the same sentence you saw an hour ago.

  • Storm cells, from the radar's own tracking algorithm. It says which blobs are one storm rather than several, which way each is going and how fast, and where it will be in a quarter of an hour, half an hour, three quarters and an hour. The track is drawn as one dashed line through where the storm has been, where it is and where it is going, and a storm with rotation in it is ringed in red. If you have set a watched place, the radar panel names the storm that reaches it and how many minutes away it is, counting only the part of the motion actually pointing at you: a storm going past, or away, gets no arrival time rather than a made-up one.

  • Hail probability and tornado vortex signatures are not part of this. The two products that carried them stopped publishing in May 2022 and nothing has replaced them.

  • The window comes back where you left it, at the size you left it. If the monitor it was on has gone, the system places it somewhere you can see instead of restoring it off the edge of the desktop.

  • Every locally decoded product takes a "hide below" value, in the product's own unit, kept separately for each. Velocity hides by how fast rather than which way, since both directions are the storm, and the national mosaic has its own floor because it is the strongest return anywhere in the column rather than one tilt of it.

  • The basemap follows the theme unless you have chosen one. Picking Light used to leave the dark map under white panels.

  • Clearing a colour table and stopping a replay can both be undone.

  • Diagnostics can be copied for a bug report: what you are running, the renderer, which sources answered and what they said when they did not, and the last of the log. Nothing in it says where you are to better than about a kilometre, and no folder in it is named afte...

Read more

OpenRadar v0.2.0

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 30 Aug 14:13
  • Three new things for the coast and for the day after tomorrow.

    Guidance puts four forecast models next to each other for the middle of the map: GFS, ECMWF, ICON, and GEM, each from its own centre's run rather than blended into an average. Temperature, rain, and wind every three hours, with a line saying whether they agree. Where they do not, none of them knows yet, and that is worth seeing.

    Tides finds the nearest NOAA station, says whether the water is coming in or going out, and lists the next high and low waters with their heights. The station list is bundled, so finding the nearest one works with no network.

    Storm Surge Risk draws how far the water could reach for a hurricane of each category, from the National Hurricane Center's own maps, with a picker for the category and a legend for the depth. It is not a forecast and the panel says so twice: NOAA built it by running thousands of simulated hurricanes at every stretch of coast and keeping the worst water each one made, at high tide.

  • The whole workspace speaks Spanish. Pick it in Settings and every panel, button, legend, popup, and notification changes where you are standing, with no restart and nothing lost from the view you had. Weather terms follow the National Weather Service's own Spanish, so a warning is an aviso and a watch is a vigilancia. Searching the command list works in either language: type huracán or hurricane and you land on the same thing.

  • Open it with no network and the map is still a map. Tiles, radar frames, and alert polygons are kept on disk as they arrive, and when a request fails the last copy is served instead. The timeline says "Showing the last view" with the age of the frames rather than passing them off as live, and the first refresh that gets through puts it back on live radar. The cache holds a few hundred megabytes and drops the oldest first.

  • A wind layer, animated. Sixty-five thousand particles follow the GFS wind at ten metres, on the flat map and on the globe, with a banner saying which model run they came from and how old it is. Turn it on in Layers. If your device is set to show less movement it stays off and says so, because animation for its own sake is exactly what that setting is about.

  • Load a GRLevelX .pal colour table and the radar is drawn with it. Drop one on the Upload panel and it colours the single-site sweep and the MRMS products, which are the ones OpenRadar decodes itself and so the ones a palette has raw values to act on. The scale beside the map is rebuilt from the table's own stops, so the bar you read is the bar the map was painted with. It says how many colours it found, what the table is for, and what it skipped. Clearing it puts the built-in ramp back.

  • Canada has radar now. The American mosaics stop at the border, so a Canadian view used to fall through to a feed licensed for personal use only. Environment and Climate Change Canada publishes its own one kilometre composite every six minutes, and that is what the map shows over Canada, with three hours of it to scrub through. It measures rain rate in millimetres an hour rather than reflectivity, so the scale beside it changes to match rather than describing the wrong thing.

  • A Commands button opens one list with every layer, radar product, map type, panel, and tool in it. Type what you call the thing rather than what it is labelled: meso finds rotation tracks, mesh finds hail size, debris finds correlation coefficient. Switches show whether they are already on, so you are not toggling something to find out.

  • Two lightning layers, from the two things that actually watch for it. Lightning Density is the national grid of cloud-to-ground flashes over the past five minutes. Lightning Flashes is what the GOES-East satellite sees, cloud flashes included, with the newest drawn brightest so you can tell which way a storm is moving. Neither is a strike report, and the legend says so.

  • OpenRadar can update itself. Diagnostics has a button that checks the project's own releases, tells you what is new, and installs it if you say so. Nothing downloads on its own, because an app that decides to update itself in the middle of a storm is not much use to anyone. Every release carries a checksum file and a signature, and a build that is not signed by the project's key is refused.

  • MRMS now leads the radar. NOAA builds it by merging every radar in the network onto a one kilometre national grid every two minutes, and it is cleaner and finer than the picture services. The grids are GRIB2, so OpenRadar decodes them here and hands the map ordinary tiles: scrubbing, the loop, dual panes, and export all work on them the way they always did.

  • Two more products from the same grids. Rotation Tracks shows where the air has been turning over the past hour, and Hail Size shows the largest hail the network thinks a storm has produced. Each is a switch in the Layers panel with its own scale drawn from the same colours the tiles use.

  • Zoom past 8 over the United States and the map switches from the national mosaic to the nearest NEXRAD site's own Level II radar, decoded on this machine. The site, the tilt, and the moment are yours to pick in the radar product sheet: reflectivity, velocity, spectrum width, differential reflectivity, and correlation coefficient, on every elevation the volume holds. Zoom back out and the mosaic takes over again.

  • The legend follows what is on screen. It names the site and the tilt during a single-site view, and swaps to the velocity scale when velocity is what is drawn.

  • New Storm history panel. Search any Atlantic or eastern Pacific storm back to 1851 by name, year, or both, and its best track draws on the map with every six-hourly fix coloured by the wind it carried. The panel shows the peak intensity, the accumulated cyclone energy, and how many fixes the record holds.

  • Storms from 2003 onward replay the radar. Pick one and OpenRadar loads the national mosaic for three hours either side of its peak from the Iowa State archive, so you can watch a landfall the way it happened. The timeline credits the archive while a replay is running and hands the map back to live radar when you close it.

  • Fixed a drawn route re-tracing whole loops wherever the road crosses itself, and a departure time past the forecast being answered with the nearest hour it had rather than nothing.

  • A stretch of road with no forecast reading is drawn in its own colour instead of the colour for no rain.

  • Fixed an alert being announced twice when one check overran the next.

  • Following a storm now keeps the view in the first free preset slot and says which one.

  • You can watch one place for warnings. Pick a point and a radius in Settings and OpenRadar checks it every forty-five seconds even when the map is looking somewhere else, raising a system notification on the desktop and an in-app one in a browser. It says each alert once per session, and moving the watch starts the list over.

  • Added export. Save the view as a PNG or record the whole loop as a WebM, both with the frame time, the source, and the credits burned into the corner, and both written straight to your downloads folder.

  • Replaced the Videos placeholder, which only ever promised a feature, with the Export panel.

  • Fixed playback jumping hours ahead into the forecast tail every five minutes when future radar was on.

  • Fixed the Diagnostics panel clearing a real HRRR outage as soon as the radar refreshed.

  • Every map layer now has one declared place in the stack, so warnings draw above tropical and fire context no matter which feed answers first, and a drawn route is never buried by radar or satellite.

  • The compare pane shows the satellite image for its own frame rather than the one the primary map is on.

  • Fixed the dBZ labels sitting over the wrong colours, and gave the ramp a description for screen readers.

  • A tropical record with no forecast hour is no longer read as a storm's current position.

  • The Upload panel now reads GRLevelX placefiles as well as GeoJSON, drawing their lines, polygons, and points in the colours and widths the file asks for, stepping over object blocks whose contents are positioned in screen pixels, and reporting the refresh interval, anything left out, and whether the file was cut off.

  • Added route weather. Give it two places and a departure time and it draws the drive coloured by the chance of rain when you would reach each stretch, with a table of arrival time, temperature, and conditions.

  • Added a GOES-East GeoColor satellite layer under the radar. It follows the frame you are looking at, holds back to the newest image the archive has published, and says which image it is showing.

  • The radar legend now shows the National Weather Service reflectivity ramp with dBZ labels instead of an unlabelled gradient.

  • Added a high-contrast pass for readers whose system asks for one.

  • Fixed command bar buttons being named after their tooltip in narrow windows, where the visible label is hidden.

  • Fixed low-contrast text on the command bar in the light theme and on the Diagnostics timestamps.

  • The end-to-end suite now runs at 1024 by 720 as well, covers every layer switch and the preset save, recall, and undo path, and fails on any serious accessibility violation in either theme.

  • Fixed a refresh throwing away the playhead when it was parked on a forecast frame, and a shrinking loop jumping to the far end of the forecast instead of the nearest surviving frame.

  • Fixed the forecast tail anchoring on the wall clock instead of the newest observation, which could open a gap or double back over a frame that had since been observed.

  • Fixed future radar offering a tail over Alaska, Hawaii, Puerto Rico, and Guam, where the model has no data.

  • Fixed future radar hiding the stale-radar warning, which is measured on the newest observation again.

  • Observed and forecast radar keep separate map sources, so scrubbing across the boundary no longer throws ...

Read more

OpenRadar v0.1.0

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 30 Aug 06:17

First working OpenRadar release.

  • Navigable globe and flat map with pan, zoom, rotate, and tilt
  • Live RainViewer radar timeline with playback, speed, and opacity controls
  • Search, location, map layers, presets, forecast, GeoJSON import, draw tools, and persistent settings
  • Dark and light themes

The Windows installer is unsigned because no code-signing certificate is available on the build machine.