Live wind from launch stations
Vendor adapters translate whatever station hardware you run into one documented contract. Build your own UI on that data, or use the components, which render directly in your page and follow your design tokens.
Any vendor
Every adapter emits the same JSON contract, whether it reads WindNerd anemometer kits, WeatherFlow Tempest, Campbell Scientific dataloggers, Ecowitt, or a loader you write.
Headless core
The contract, derivations, chart geometry, and polling stores need no framework. The components are optional.
Rendered natively
Dials, graded history, wind roses, and daily patterns render in your page, without a vendor iframe.
Two peer bindings
React or framework-free custom elements. Both render byte-identical DOM, and neither is the reference.
loading…
Stations report what they measure and why they are down, and your site decides the words, units, colours, and wind bands. The wire contract sets out the rules in full.
The station card
With no children, <meteo-station-card> renders the full card. Give it children to choose the pieces yourself. The second card uses only the chart and summary.
History, graded and plain
The first two panels show the same six hours. One bands the trace by your thresholds, and the other sets thresholds="none" to draw it in the neutral accent. The third panel holds four days of history. window-hours re-slices it to 6, 12, or 24 h, and compare-offset-days overlays an earlier day’s trace on today’s x-axis. Both re-slice the same fetched points in the browser.
With thresholds: 12 · 20 · 28 km/h
Without thresholds
History lab: four days fetched, with window-hours and compare-offset-days
Wind roses
Launch Ridge's 260°–340° launch window is drawn as a ring around the rose. The petals still show the full distribution, and the favorable-share stat reports how much of the wind comes from inside the window as one number.
Launch Ridge: graded, with the launch window ring
Summit Logger: plain
See every component
This page shows three sections. The component gallery renders every element in the binding live, the same way this page does. That includes instruments, seasons, trends, the air matrix, the fleet table, one-line strips, the atoms, and an instrument with no provider at all.
This package reads live stations. It doesn't forecast.
Station reads live weather stations and draws them. It does not depend on the forecast or Meteogram packages. Forecasts come from the engine, @azohra/meteo.forecast. To build this page against your own stations, start with the station documentation. It covers the wire contract, adapters, the feed handler, and both bindings.