Start from
Stops
Take it away
The ramp
On a real forecast
How this works
The preview is not a simulation. It is the published frame — the newest cycle of whichever model you pick, the whole globe at full resolution — with its palette rewritten to your stops: the same splice the map viewers do when you choose a colour table, so what you are looking at is real forecast data in your candidate colours.
That is the point of building a colour table here rather than in a gradient picker. A ramp is not judged as a strip: it is judged on whether a front reads, whether freezing lands where the eye expects it, whether a jet core separates from the flow around it. A bar that looks handsome can be useless on a map, and there is no way to tell until you put it on one.
Give it the units of a field and the ramp is read at that field's real values — your 0 °C colour lands on freezing. ECMWF's value axis is not a straight line from one end to the other: the frames are drawn in the published ecCharts bands, so each palette entry stands for one band, and the preview samples your ramp at the value that band represents rather than at an even spacing. Leave units blank, or use a unit the field does not have, and the ramp is stretched evenly across the field's bands instead. The badge above the preview says which is happening.
Nothing is written to the server. The page hands you a JSON file in the frozen-stops
schema the whole library uses, hash and all. This site's
library is a copy of Forecast Eagle's, so a new table is
imported there with ingest/import_ramp.py, which writes the index
entry and preview, and copied across. Colour tables change by review, not by web
request — the palette is the value encoding, so a table that could be
edited remotely could silently change what every readout reports.