OpenRadar v0.3.0
-
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 after you.
-
Six more national grids, decoded here like the rest: how high the storms reach, how much water the column is holding, how hard it is raining right now, how much has fallen in the last hour and the last day, and where the biggest hail has been since this time yesterday.
-
Rotation tracks are drawn correctly for the first time. The grid arrives in thousandths of a reciprocal second and the colours were written as though it were whole ones, so every cell with any rotation in it sat past the end of the scale and the layer was one flat colour. It has a range again.
-
Storm relative velocity, which is the product rotation is actually read from. A radar measures only the part of the wind coming at it, so in a sixty knot flow a couplet is buried under the ambient wind and you are guessing. OpenRadar reads what the sweep is moving in off the sweep itself, the way a Velocity Azimuth Display always has, and subtracts it: what is left is the picture as if the whole storm were standing still. It shows what it worked out, in your units, and if you would rather say than have it read, type the speed and direction and it uses yours.
-
Settings can be saved to a file and dropped back in. Everything travels: saved views, layers, the watched place, units, the colour table. Drop the file on the Upload panel to put it back, with an Undo on the notification if it was the wrong one. The file is plain readable JSON, and it comes back through the same checks the stored settings do, so a hand-edited one cannot ask for anything the sliders could not.
-
Units, clock and text size are yours to pick. Metres and Celsius throughout, or feet and Fahrenheit; the forecast is asked for in the units it will be read in rather than converted after the fact, and the word beside a number always matches the number. The clock reads UTC if you want it, which is what every weather product is stamped in, and it says so with a Z rather than leaving you to wonder. Text size goes to 115 or 130 percent and takes the whole workspace with it, panels and all.
-
The radar's own scales stay as they are. Reflectivity is in dBZ and velocity in metres a second wherever you are, because that is what the products are.
-
Storm Reports puts what people on the ground actually saw on the map: hail with the size someone measured, wind damage, tornadoes, flooding, for the last twenty-four hours, with the remark whoever called it in wrote. It sits over the outlook and under the warnings, because a report is what happened rather than what might. Reports with nothing measured say nothing rather than nought.
-
The Inspector says how high the beam is. Click anywhere inside a single-site view and it gives the height above the radar in feet along with the tilt, worked out the way the beam actually travels through the air. The same picture at the same tilt means something different eighty miles out, because by then the beam is a mile up and looking over the top of what is happening underneath it.
-
Two new layers from the Storm Prediction Center. Severe Outlook draws today's risk of severe storms in the Center's own colours, weakest area underneath so a High sits on top of the Moderate around it, with the hours it is valid for. Mesoscale Discussions draws what forecasters are watching right now, which is usually an hour or two ahead of any warning, with what they wrote. Both sit under the warnings, because guidance about what may happen belongs under what is happening, and both say so when you click them.
-
Storm history opens straight away. It used to read the whole record, nearly three megabytes of six-hourly positions going back to 1851, before the search box would answer anything. The names and years now come on their own, a sixth of the size, and a storm's track arrives when you pick it, a decade at a time, kept for the rest of the session.
-
Panels behave like panels for anyone not using a mouse. Each one is announced by name when it opens, the focus moves into it rather than staying wherever it was, Escape closes it, and closing puts the focus back on the button that opened it instead of dropping it at the top of the window. In the command list the arrow keys move between results, so finding something twenty rows down is one gesture rather than twenty.
-
Route weather asks the road router gently, and has an answer when it says no. The roads come from the OSRM demo server, which is run as a courtesy, asks for at most one request a second, and promises no uptime. Requests now queue behind each other instead of going out together. When it refuses anyway, the panel offers to use the straight line between the two places instead, and says plainly that there is no road shape and the times assume a steady 55 mph. The weather along it is real either way.
-
A machine that cannot draw the map now says so. MapLibre needs WebGL2 and there is no fallback, so a window without it used to fail from somewhere inside the renderer and report that the interface could not finish drawing, which is true and no help. OpenRadar asks before it starts, and if the answer is no it names the likely cause: hardware acceleration switched off, a virtual machine with no graphics passthrough, or a remote desktop session. Diagnostics lists the graphics card as well.
-
Velocity is unfolded before it is drawn. A radar can only measure wind up to a limit of its own, and anything faster wraps around: a sixty knot outbound gust is reported as an inbound one, so a green streak turns red in the middle of a straight wind and rotation that is not there appears to be. OpenRadar now splits the sweep into patches of air that plainly belong together, works out how many folds separate each patch from its neighbours, and shifts whole patches back. The tilt line beside the map says UNFOLDED while it is on, and the switch in the radar product sheet turns it off for the radar's own reading.
-
A close-in view is handed to a site that is actually publishing. The nearest radar was chosen by distance alone, so one down for maintenance took the view and showed an error where the site next to it would have shown weather. The nearest few are now asked whether they have published anything in the last twenty minutes, and the first that has takes the view. If none of them has, the nearest is still named, so what you see is that site's own trouble rather than an empty map.