Window informs; it doesn't decide. It surfaces the weather against the published reference lines — the 20 mph wind limit, winds aloft, the ceiling — and leaves the go/no-go call to you. Confirm conditions yourself before you fly.
How to read this
Pick a launch field and Window pulls the weather a flyer needs — live, in your browser. It takes no rocket parameters and gives no verdict; it surfaces the data and the reference lines and lets you decide.
- Right now is the surface wind against the 20 mph NFPA/NAR/Tripoli launch limit — a reference line, never a go/no-go — plus temperature, sky, and density altitude(how thin the air is, which sets thrust and descent). The model wind is cross-checked against the nearest station's observed reading, and a pressure tendency shows whether the barometer is rising or falling. Winds are named for the direction they blow from.
- The next 3 days is the hourly wind, with the upcoming calm windows surfaced above it. Drag the fly-timeslider (or tap a window) to any hour and the snapshot shows that hour's wind, density altitude, and storm potential — and the winds-aloft profile follows it — so you read the conditions for when you plan to fly, not just now.
- Conditions at a glance stacks the next 3 days as four colored rows — wind, gusts, storms, and rain — each against its own line, so you can spot a window where everything clears at once. Tap a column to set the fly-time. There's no blended go/no-go; the rows stay separate so the call is yours.
- Winds aloft is wind speed and direction by true height above the field, surface up to waiver altitudes — the thing general weather apps bury. Each pressure level is placed at its real height AGL, the column's mean wind tells you which way recovery tends to drift, and the 0°C line marks where the air turns sub-freezing.
- Storm potential reads convective instability (CAPE) and the day's peak, so a calm morning that towers up by mid-afternoon doesn't catch you out — a heads-up, never a verdict.
- Sky & ceiling is the observed ceiling and visibility from the nearest reporting station where there is one, labeled observed(modeled where there isn't), with a modeled multi-day cloud picture beside it.
- Air quality & smoke is the US AQI and the smoke/dust particulate — because haze cuts the visibility you need to track a high flight (and a smoked-out field is a real reason a launch gets scrubbed). It's a best-effort read; if it can't be fetched, it's simply absent.
- The next several days distills each day into its calmest flyable window and how that day's wind sits against the seasonal normalfor the field — so you can pick a day before you drill into the hour. (It's the multi-day companion to the hourly next 3 days above.)
- Units & sharing — toggle Imperial/Metric (and knots) any time; it never refetches. The field is in the URL, so a link is shareable and reload-proof, and a bare visit comes back to your last field. Saved fields, units, and your personal wind line stay in this browser, and each saved field shows its current wind at a glance — handy when a club runs more than one site.
- Take it to the field — “Copy briefing” puts a plain-text summary of the conditions on your clipboard for the club chat; “Copy link” shares the exact view.
- Offline— if a fetch fails or you lose signal, Window shows the last data it loaded for that field with an “as of” flag, never a stale reading dressed as fresh.
How this is derived
Every number on this page is fetched live from a free public provider, in your browser, for the field you chose. Open a section for where it comes from, the model and valid time behind it, and where it can be wrong.
Surface conditions — wind, density altitude & pressure
Surface wind, temperature & precip
From the Open-Meteo Forecast API, using a US-optimized GFS/HRRR blend (gfs_seamless), requested in imperial units. The current reading carries its own valid time; it's a model analysis, not a station observation, so a gusty or terrain-affected field can differ from what you feel at the pad. Winds are the direction the air comes from.
Wind steadiness (gusts)
The 20 mph line is a sustained-wind limit, but gusty, variable air is its own hazard — a gust at the wrong moment pushes a rocket off heading right at the rail, and rod whip and erratic weathercocking get worse as the spread grows. So “Right now” (and the fly-time snapshot) read the gust against the sustained wind and call it steady, gusty, or very gusty— banded by both the gust factor (peak ÷ sustained) and the absolute spread, so a big ratio over a light breeze isn't over-flagged and a wide spread over a strong wind isn't missed. It's the same figures already shown (sustained and gust), just interpreted — a heads-up about turbulence, never a verdict.
Observed wind cross-check
Because the surface wind above is a model analysis, “Right now” also shows the observedwind from the nearest NWS reporting station — the same METAR that gives the ceiling — converted from its reported units to your wind unit, and stamped with the station, its distance, and how long ago it reported. It's a real anemometer reading to weigh the model against: when they disagree, that gap is itself worth knowing. It can differ with distance and terrain, and it's absent when no station is reachable. The full raw report (the METAR text) is available under the sky panel for anyone who reads them.
Density altitude
The altitude in the standard atmosphere where the air has the same density as the air at the field right now — the honest way to say how thin the air is. It's computed from the field's surface (station-level) pressure, temperature, and humidity: the moist-air density (dry and water-vapor partial pressures over the gas constants) inverted through the ISA density profile. Field elevation is shown only for context — it isn't an input, a common misconception. It matters because thinner air means a motor makes less thrust, descent under chute runs a little faster, and the rocket climbs higher out of sight for tracking; hot, high, humid days push it well above the ground. A figure, with its formula — not a verdict.
Pressure tendency
“Right now” also shows which way the barometer is moving — the change in the field's station pressure over the last few hours, from the hourly series, with a small dead-band so ordinary daily wobble reads as steady. A falling barometer is the oldest honest warning that weather is on the way in (an approaching low or front bringing wind up and ceiling down); a rising one usually means high pressure building and conditions settling. It pairs with storm potential — the air destabilising while the pressure drops is a sharper heads-up than either alone. The rate is shown, not a verdict.
Dew point & the spread
Beside the humidity, “Right now” gives the dew point — the temperature the air would have to cool to for its moisture to condense — derived from the temperature and relative humidity by the Magnus formula. The number that earns its place is the spreadbetween the temperature and the dew point: as it closes toward zero the air is near saturation, so fog and dew (and condensation on a cold altimeter or recovery harness) become likely; a wide spread is dry air. A spread within about 4°F is fog and low-stratus territory — the same morning fog that delays a launch and cuts the visibility you need to track and recover. It's the standard moisture read the hobby-rocketry checklists ask for, shown as a figure, not a verdict.
The 20 mph launch line
NFPA 1127 and the NAR/Tripoli safety codes set 20 mph as the surface-wind ceiling for launching. Window draws it as a reference and colors the current wind as it approaches and crosses it — but it never says no-go. The call is yours, with your field's rules and your own judgment. A personal, lower line can be set and is stored only in your browser.
Winds aloft — profile, shear, drift & freezing level
Winds aloft (the profile)
Open-Meteo pressure-level winds (1000 down to 250 hPa) for the selected hour. Each level is placed at its true height above the field: the level's geopotential height minus the field's ground elevation (Open-Meteo's reported elevation for the coordinates). Levels below the field are dropped. This is a model profile — resolution thins with altitude, and a real sounding can differ — but it's the best free upper-air data available, since NOAA retired the public RAP/rucsoundings feed for the continental US.
Wind shear
The profile also flags its strongest shear layer— the adjacent pair of levels whose wind changes the most, measured as the magnitude of the vector difference between the two winds (so a big speed jump, a directional veer, or both all count). A sharp layer is what tips a rocket off its heading off the rail and walks the recovery downrange, which is part of why flyers read soundings at all. It's plain geometry over the levels already plotted — pure and tested — and, like everything here, it points the layer out and leaves the decision to you.
Mean wind & drift
The profile also reports its mean wind— the single wind vector that, blowing uniformly from the ground to the top of the shown column, would carry a recovering rocket the same net distance as the real profile. Each level's wind is turned into a velocity vector and averaged, weighted by the thickness of the altitude band it stands for, so opposing winds cancel the way they do in the air: a column that veers around the compass has a smaller mean than its scalar average. It's the honest one-number answer to which way recovery tends to walk, named for the direction the rocket drifts toward(the opposite of the wind's source). It changes with the Top selector, so you can read the mean to 10k or to the whole column. The drift also carries a rate — how far downrange recovery walks for each minute aloft (just the mean wind as distance-over-time, ×88 from mph to ft/min) — so you multiply by your own time under chute for a rough downrange distance.
Landing drift from a descent rate
Give a descent rate(ft/s, the figure your main comes down at) and the drift turns into a distance. It's the flyers' rule of thumb made exact: the mean wind divided by the descent rate is how far the rocket walks sideways for every foot it falls — descend at 15 ft/s in a 10 mph (≈ 14.7 ft/s) wind and it's about a foot of drift per foot of altitude. Multiply by your expected apogeeand you get the actual landing distance and the compass point it walks toward. It's a single-rate estimate — a dual-deploy drogue covers most of the altitude fast and lands the rocket much closer — and it's still the column's average wind, not a trajectory simulation; it leans the drift, it doesn't promise the spot.
Dual deploy — drogue and main
Switch recovery to dual and add a main-deploy altitude and a slower main rate (the descent rate above becomes the fast drogue rate). The drift is then figured in two phases, each on the actual mean wind in its own altitude band: the fast drogue from apogee down to the main-deploy altitude, then the slow main the rest of the way. Because the two bands can blow in different directions, the phases are added as vectors — so an upper drogue leg and a lower main leg that oppose each other partly cancel, which is the truth a flyer wants. You get the total landing distance, its compass point, and each leg broken out. Same caveat: band-averaged winds, a lean on the drift, not a trajectory sim.
Freezing level (0°C)
The profile also draws the 0°C level— the height where the air turns sub-freezing on the way up — as a blue reference line. It's Open-Meteo's modeled freezing-level height (reported above sea level) expressed as height above the field, and it moves with the fly-time hour like the rest of the profile. A high flight that punches well past it climbs into real cold, which is worth knowing for altimeter batteries and recovery electronics; it's hidden when the shown column is entirely above or below it. A figure, not a verdict.
Sky, ceiling & visibility
Cloud ceiling, visibility & sky
The observed ceiling is the lowest broken or overcast layer from the nearest NWS reporting station's latest observation (a METAR), converted to feet. A clear sky counts: when a station reports clear(or a layer the structured feed happens to drop), the raw METAR is read directly so the nearest station is used rather than one tens of miles out — only a station that says nothing about the sky at all is skipped. It's labeled observedand stamped with the station and how long ago it reported. The multi-day sky picture and the fallback when no station is reachable are Open-Meteo's modeled cloud cover, labeled modeled. A forecast ceiling in feet (TAF) is planned for a later version — its source has no browser access today.
Ceiling vs your apogee
A waiver doesn't let you fly into or through cloud, so the ceiling is a hard go/no-go gate, not a comfort number. Type your expected apogee in the controls above the board and the sky panel reads the observed ceiling against it: a peak comfortably below the deck is Clear, one within a buffer of it is Tight, and a peak at or above the deck is a No-go. The buffer is the larger of 500 ft or 15% of the apogee, because a predicted peak carries real error — motor impulse, mass and drag each move it — so a flight that only just sneaks under isn't a confident clearance. It's a read, not a ruling: the altitude you enter and the call you make are yours.
Low-cloud outlook
The observed ceiling is honest but nowonly — it can't tell you low cloud is forecast to build tomorrow afternoon, which is exactly what you'd want to know before driving out. So beside it is Open-Meteo's modeled low-cloudcover across the next 3 days, banded thin / broken / overcast. Low cloud is the layer that usually forms a launch-blocking ceiling; high cirrus doesn't, so it's left out. It's cover, not a forecast ceiling height — deliberately softer than the observed read — so treat it as a heads-up while the observed ceiling keeps the go/no-go.
Observed weather (present-weather)
The Tripoli/NAR safety code names four weather no-go items; three — wind over the limit, flight into cloud, and losing sight of the rocket — Window already reads. The fourth is a thunderstorm or precipitation, and that's an observed question, not a CAPE one: storm potential says the atmosphere couldbuild storms, but it can't tell you one is overhead. So the nearest station's METAR present-weather group is read directly — a reported thunderstorm (TS, or VCTS in the vicinity) or precipitation is flagged red as a launch no-go, and an obscuration (fog, haze, smoke) amber, since it cuts the visibility the code's “observe the whole flight” rule depends on. Like the wind cross-check it's the nearest station, so read it as a heads-up that convection or precip is in the area, not a literal ten-mile ruling.
Visibility
Horizontal visibility in statute miles — it matters for keeping a high flight in sight and for the cloud-and-visibility rules many waivers carry. Like the ceiling, it prefers the nearest station's observed value (the METAR visibility, in meters, converted to miles) and is labeled observed; when no station is reachable it falls back to Open-Meteo's modeled visibility for the current hour, labeled modeled. Observed values top out around the METAR's 10-mile reporting ceiling; the model can read higher in genuinely clear air.
Air quality & wildfire smoke
The US Air Quality Index (the standard 0–500 EPA scale, banded Good through Hazardous) plus the fine and coarse particulate — PM2.5 is the wildfire-smokeproxy, PM10 the dust — from Open-Meteo's air-quality model (CAMS). It earns a place here, not just as a health number, because smoke and haze cut the visibility you need to keep a high flight in sight, and a smoked-out field (a regular event in the western US in fire season) is a real reason a launch gets called. Like the seasonal normal and NWS it's a best-effortsource on its own request: if it can't be reached the panel is simply absent and the rest of the board is unaffected. A figure on a standard scale, not a verdict.
Storm potential & active alerts
Storm potential (CAPE)
Convective available potential energy from Open-Meteo — the standard measure of how primed the atmosphere is to build thunderstorms, in joules per kilogram. Window shows the current value and the day's peak, sorted into the bands meteorologists use (roughly: under 300 stable, 300–1000 marginal, 1000–2500 moderate, above 2500 strong). Afternoon convection cancels more summer launches than wind does, and a calm morning can tower up by mid-afternoon — so it's a heads-up to watch the sky, not a verdict. It pairs with the NWS alerts, which carry any actual watch or warning.
Active alerts
NWS active watches, warnings, and advisories for the field (/alerts/active), most severe first. NWS is a best-effort enhancement: if it can't be reached, alerts and the observed ceiling are simply absent rather than shown as an error, and the sky falls back to the modeled cloud cover. The seasonal normal (above) and the observed station readings are best-effort in the same way — the forecast itself is the only hard dependency.
Planning ahead — calm windows, outlook & seasonal normal
Conditions at a glance (the grid)
Each panel answers one question; the conditions grid lines four of them up hour by hour for the next 3 days so you can find a window where they all clear at once without reading four charts. Each row is colored against its own reference — wind and gusts against the 20 mph line (and your personal line), storm potential by CAPE band, the chance of rain by the hourly probability — green/amber/red. It is deliberately not a blended go/no-go score: the rows stay separate, each an honest read, so the decision is still yours. Tapping a column sets the fly-time, moving the snapshot and the winds-aloft profile with it. Plain re-presentation of figures already on the page — no new request or dependency.
Calm windows
The hourly forecast already knows when the wind lays down, so Window surfaces the upcoming stretches where the sustainedwind stays at or below your line (the 20 mph reference, or a lower personal one), scanning the next 3 days from now. Each window shows its peak wind and gust and whether it falls in daylight (Open-Meteo's day/night flag). It is plain aggregation of the hourly numbers against a line you chose — it highlights low-wind daylight stretches, it doesn't tell you to fly.
Multi-day outlook & daylight
Open-Meteo daily aggregates for ~7 days: high/low temperature, the day's maximum sustained wind and gust, dominant wind direction, peak precipitation probability, mean cloud cover, and sunrise/sunset (field-local — for planning setup and leaving daylight for recovery). A day whose max wind crosses 20 mph is marked — again as a reference, not a verdict. Each day also surfaces its calmest daylight window: the longest upcoming daylight stretch (today onward) whose sustained wind stays at or under your line, read from the same hourly forecast as the calm windows above. It's how a day flagged windy by its single peak can still show a flyable morning — the same plain aggregation against a line you chose, extended across the planning week.
Seasonal normal (vs typical)
The outlook also sets the week against the field's own history: a typicalmax wind for this week of the year, averaged from about five years of Open-Meteo's daily archive over a window of dates around the same week. The week ahead is compared like with like — its average daily-max against that normal, not a 7-day peak against an average (which would always read windy) — and called windier, about typical, or calmer, with the peak shown for context. It answers the planning question — wait for a better window, or accept that this is about as good as the season gets here. Like NWS, it's a best-effort enhancement: if the archive can't be reached it's simply absent, and the board is unaffected. A descriptive comparison, not a verdict.
The field briefing
“Copy briefing” assembles a plain-text summary of the field — surface wind against the limit with the observed cross-check, sky, ceiling and visibility, any observed present-weather no-go, the pressure trend, density altitude and the dew-point spread, storm potential, a few winds-aloft levels with the mean wind and the 0°C level, any alerts, the next calm window, and a short outlook — to paste into a club chat. It's exactly the figures shown on the page, with the share link and the not-authoritative disclaimer baked in, so a briefing carries the same honesty as the board. Nothing is sent anywhere; the text is built in your browser and copied to your clipboard.
Freshness, caching & offline
A field is fetched once and cached in your browser for about ten minutes, so a reload or a units change doesn't refetch. If you're offline or a fetch fails, Window shows the last data it successfully loaded for that field, with a prominent “as of” staleness flag. The service worker caches only the app shell for instant load — it never caches a forecast, so freshness is always real.