The Glass Storm Desk
—valid time on the glass
The Studio · nautical line · storm decision desk

Read the glass.
Record the call.

THE GLASS puts the ensemble, the official cone and the AI model's track on one globe, lets you scrub through valid time and issuance cycle, and seals every decision with the forecast that was on the glass when you made it.

50ensemble threads
17issuance cycles
3real 2026 storms
SHA-256hash-chained record
01 · SPACE

The spread is the forecast.

Every thread is one ensemble member's track, coloured by the wind it carries. Where they bunch, the future is settled; where they fan, it is not. The heads move together as the valid time advances.

Tropical storm · category 1–2 · majorBest track, what the storm actually did
02 · THE LINE AND THE MACHINE

The cone. And the model that is beating it.

The official forecast rides inside a cone. The radii on this desk are approximations of the published two-thirds circles, not the National Hurricane Center graphic. Beside the cone, in rose, is the Google DeepMind track that NHC files as guidance. The desk states the gap between them in nautical miles, every cycle.

Official cone and trackGDMI · AI model track
03 · TIME

Risk as terrain.

Columns rise off the sea where members bring damaging wind in the next twelve hours. Scrub the valid time and the wave moves ashore; the dim base is where it has already been. Hover any column and it tells you its probability.

Share of members with ≥34, ≥50 or ≥64 kt over each cell
04 · THE AXIS NOBODY PLOTS

When the forecast was made.

Step back through every issuance. Prior runs stay on the globe as slate ghosts, so you can see the guidance swing, and every past run is scored against what the storm actually did. This is the question a post-storm review asks first, and the one no weather app answers.

Prior runs · ensemble means
Who it is for

For the person who has to decide while the storm is still a forecast.

A harbor. A port. A resort. A ferry. People and equipment at a real place, and a rule the operator wrote before the wind arrived.

01 · Marina
The haul-out

Slips and boats, and the moment to pull them. The rule is a probability, written in advance.

02 · Port
The cranes

Suspend the work, or keep the berth open. The desk states the odds. The operator makes the call.

03 · People
The ferry and the resort

Guests to move. Vessels to relocate. The earliest reasonable arrival, on the glass.

04 · The watch
The night shift

The threshold was sealed at the start. Three in the morning is not when the rule gets invented.

Hurricane VESPER, the synthetic training storm, on the New York Bight. Each plate is the full-run probability against the rule written in advance. The places are real. The assets and the rules are synthetic.

WHY · 01
fanspreadschematic

A single line is not the forecast.

The storm arrives as a spread. Ensemble threads, the official cone, and the DeepMind track, on one glass. Where they bunch, the future is settled. Where they fan, it is not.

WHY · 02
ISSUANCEwhat you were told T−72T−48T−24 VALIDthe hour you inspect scrub

Two clocks, kept apart.

Valid time is the hour you are inspecting. Issuance is what the forecast said when you were looking. A later run does not get to rewrite an earlier decision.

WHY · 03
#000rules #001forecast #002the call each hash covers the block before it

The call has to survive the storm.

Afterwards the question is whether you can prove what was on the glass, why you acted, and who decided. The record is hash-chained to that exact forecast.

Not a warning. A record of the call. The synthetic hurricane is the rehearsal. The stored 2026 storms are real guidance, worked on the instrument. Live data is there when the desk is deployed. Watches and warnings still come from the National Hurricane Center, the Central Pacific Hurricane Center, and the National Weather Service.
Sites and rules

Your assets. Your thresholds. In writing.

Each site carries a rule its operator wrote in advance: the wind, the probability, the action. The desk turns the ensemble into that probability, gives the earliest reasonable arrival of tropical-storm wind, and calls the state: Clear, Watch, Act. No judgement is invented at 3 a.m.

Seven site groups ship with the desk, from the New York Bight to the Hawaiian Islands. The places are real. The assets, the operators, and the rules are synthetic. Probabilities are derived from the ensemble after GEFS winds are scaled to the official intensity. They are not official hazard probabilities.

The record

Can you prove what the model said, why you acted, and who decided?

Every call is sealed into a SHA-256 hash chain together with the forecast state at that moment: the run, the valid time, the storm, every site's probabilities, the cone-versus-ensemble gap. The hash is real. The envelope keys are a best guess at the studio.evidence.v1 format. If a verifier expects different keys, that is the one place to change them.

1Genesis seals the rules. The site thresholds are hashed before the first decision, so nobody can move the goalposts afterwards.
2Every decision carries its forecast. Not a link to it: the snapshot itself, inside the block.
3Each hash covers the one before. Change any block and every later hash breaks; the desk shows exactly where.
4The pack leaves with you. Sorted-key JSON, six-decimal numbers, one algorithm, no vendor in the loop.
GENESIS #000 · 22:07:53Z 5 sites · rules sealed thresholds locked 7fc92e1d8a11… prev 00000000… SNAPSHOT #001 · 22:11:20Z run Mon 00Z valid Wed 18Z b6334a09f6ed… prev 7fc92e1d… DECISION #002 · 22:14:02Z Suspend cranes · PEZ P(≥50 kt) 32% > 30% e0ade3bd5699… prev b6334a09… SEAL hash = SHA-256( prev + "\n" + canonical(body) ) canonical = sorted keys · no whitespace · numbers to 6 dp verify → recompute every hash from genesis → chain verified
Snapshot · 28 Sep 2026 · 11:45 UTC

Already scored on this year's storms.

POLO, NOLO, and FAY are NHC a-decks taken at that hour and built into the page. They are not a live picture of the ocean. The GEFS ensemble, the official forecast, the Google DeepMind track, and NHC's persistence reference are scored against the working best track. Live storms appear only when the desk is deployed and the feed answers.

Ensemble meanOfficial (NHC)GDMI · AI modelCLP5 persistence
Under the hood

One file. No backend to babysit.

The desk is a single HTML file with the 3D engine, the storm data and the evidence chain inside it. Two small serverless functions fetch and parse NHC's public files when you want it live.

Forecast data

NHC ATCF a-decks: CARQ working best track, OFCL with 34-kt radii, AP01–AP30 GEFS members, GDMI Google DeepMind, CLP5 reference. Public, no key.

Wind model

Parametric 34/50/64-kt radii from each member's intensity, with GEFS winds scaled to the official intensity forecast. Cumulative site probabilities, earliest reasonable arrival at 10%, most likely at 50%.

Verification

Every past cycle against the best track: mean track error by lead, spread against skill, run-to-run consistency. Persistence must be beaten to claim skill. The curves here are a schematic, not a score.

Rendering

Three.js with additive threads, instanced risk columns, a fresnel atmosphere and bloom. Dotted land from Natural Earth. Runs at phone width.

Evidence

studio.evidence.v1 pack: {seq, type, ts, actor, payload, prev, hash}, SHA-256 over sorted-key JSON. The envelope keys are a best guess at the studio layout.

Deploy

Drop the folder on Vercel. index.html is this page, app/ is the desk, api/ turns on the live feed.

Before the call

What the glass will not pretend to be.

01 · Warnings

The weather service still owns the warning.

Official watches and warnings come from the National Hurricane Center, the Central Pacific Hurricane Center, and the National Weather Service. This desk does not issue them, and it does not replace them.

NHCAtlantic CPHCPacific NWSwarnings THE DESK not issued
02 · The snapshot

28 September 2026, 11:45 UTC.

POLO, NOLO, and FAY were taken from NHC a-decks at that hour and built into the page. They are not a live picture of the ocean. A storm is live only when the desk says so, and only when the deployed feed answers.

TAKEN28 Sep 2026 · 11:45Z POLO NOLO FAY LIVE · when the feed answers
03 · The sites

Real places. Synthetic assets.

The harbors, ports, and islands are where the map says they are. The cranes, the ferries, the guests, and the rules were written for rehearsal. Replace them with yours. Each site is a few lines of JSON.

PLACEreal lat · lon SYNTHETIC { asset, rule } a few lines
04 · The odds

Derived. Not an official probability.

Cone radii approximate the published two-thirds circles. They are not the NHC cone graphic. GEFS winds are scaled so their mean follows the official intensity, because the ensemble under-resolves the peak. Site probabilities come from that. They are not calibrated hazard probabilities.

published 2/3 this desk · offset GEFS → official approximation
05 · The pack

The hash is real. The envelope is a guess.

Every block is SHA-256 over the previous hash and a canonical body. The field names in studio.evidence.v1 are a best guess at the studio layout. If the verifier expects different keys, exportPack() is the one place to change them.

SHA-256 prev + body canonical real hash KEYS evidence.v1 field names best guess

Open the desk. Scrub the storm. Seal a call.

Not a warningSynthetic scenarios and real storms alike are for decision rehearsal and record. Official watches and warnings come from the NHC, the CPHC and the National Weather Service.THE GLASS · The Studio · nautical line