Stream Admin

Everything the overlay rotates through, in one place.
Loading…
The slides the map stage cycles through, in order. Switch one off to drop it from the rotation without losing how it was set up.
Mascot Style
The look the mascot has everywhere on the stream. Each picture in /stream/mascot/ is named for what he is doing and then this style: normal uses joke1-normal.png, winter uses joke1-winter.png. Any word works, so a one-off look is just a new set of files.

A picture missing in this style falls back to its normal one, so a new style can be added a few pictures at a time. The Severe Thunderstorm and Tornado Warning pictures do not change with it.
The station card, first in the rotation. A fixture rather than a slide, because a show that opens with whatever happens to be at the top of the list opens differently every time somebody edits it.

Season picks the picture: summer draws brand-summer.png from /stream/bgphoto/. Leave it empty for brand.png. Any name works, so a one-off card is a season like any other.
Takes a turn only while the Storm Prediction Center has a discussion out for South Dakota, with the chance of a watch being issued and what it would be for.

It follows the watch. A discussion is issued before a watch, so it is the earliest notice this channel gets — worth having near the front rather than at the end. Dropped automatically once the watch it was about has been issued.
The storm reports Warning Mode shows — the map framed on where each one happened, with its panel and the presenter reading it — in the ordinary rotation too, so the hail that fell and the gust that was measured are still seen after the warning has expired.

One turn per report, newest first, up to the number set here. Each turn is skipped when there are not that many reports, so on a quiet day none of them appear and the rotation runs exactly as before.

They come round near the start of the rotation, after the welcome card. How far back it looks and which kinds it counts are the Storm Reports settings on the Warning Mode tab — one set of rules for every mode.
Not part of the rotation. Every two minutes the overlay looks at the observations across South Dakota, and when a station has measured a gust at or over this many mph it cuts in at the next gap between slides: the map zoomed on that station, with a card giving the gust, the sustained wind, the direction and the time. It holds for one turn, then the rotation picks up where it left off.

With several stations over the line at once, the strongest go up one after another, up to the alerts per check set above, each with its own turn and the presenter reading it. The rest are marked as alerted, so one gust front is a handful of alerts rather than a string of them. A station alerts once per the wait above, unless it beats its own last alerted gust. A reading older than the age limit is not news and is left alone.

The announcement is /stream/sounds/gust-alert.mp3, played as the slide comes up with the music lowered underneath it.

Only the networks ticked are watched. Personal stations are your Ambient stations and the CWOP stations on the map; a rooftop anemometer can read high, so untick them if one starts crying wolf. River gauges are never used.
The special weather statement slide takes its turn only while a statement carrying hail or wind tags is in force, and shows the same threat bars a severe thunderstorm warning gets. Add it here for the rotation, or on the Warning Mode tab to give it a turn during a warning.

The severe watch slide takes its turn only while a tornado or severe thunderstorm watch is in force, and frames itself on the ground that watch covers — so its zoom, lat and lng are a starting point rather than a setting. Switch it off here to keep watches off the rotation entirely.

The mesoscale discussion slide only takes its turn while the SPC has one in force for the state named in its mcdstate setting; the rest of the time the rotation steps straight past it. It frames itself on the discussion, so its zoom, lat and lng are only a starting point. The storm reports slide shows every local storm report of the past 24 hours — tornado, hail, wind, flooding and the rest — as icons on the map. Drop a kind from lsrcat to leave it off; remove the setting entirely and every kind is drawn. A station slide is one weather station in full: the temperature, the other readings, and a line of the past day. Change id= for a different station — the ids are the ones in ambient-config.php, and the endpoint at /api/ambient.php lists them all.

The severe outlook slide shows the SPC convective outlook. The button adds whichever of Day 1, Day 2 and Day 3 are not already there, so pressing it three times gives you the set; each is an ordinary slide afterwards and can be reordered, retimed or switched off on its own.

Any label can name the day of the week. Write {dow} for today, {dow+1} for tomorrow, {dow+2} for the day after, and so on up to a week ahead — so {dow+1}’s Severe Weather Outlook goes on air as Thursday’s Severe Weather Outlook. The day is worked out when the slide comes round rather than when the overlay loads, so a stream left running overnight renames itself instead of still saying yesterday’s day. This works in any slide’s label, not just the outlooks.

Forecast slides can name their period with {period1} to {period4}. These follow the clock the way the forecast does, so {period1} Forecast goes on air as Today’s Forecast through the day, Tonight’s Forecast after six, and Rest of Tonight’s Forecast in the small hours. The four run:

Midnight–6am Rest of Tonight’s · Today’s · Wednesday Night’s · Thursday’s
6am–6pm Today’s · Tonight’s · Tomorrow’s · Thursday Night’s
6pm–midnight Tonight’s · Tomorrow’s · Thursday Night’s · Friday’s

The apostrophe is part of what the token returns, so write {period2} Forecast rather than adding one yourself. Like {dow}, it is worked out when the slide comes round, so a stream left running renames its own slides as the evening turns.

The outlook slides use {spc1}, {spc2} and {spc3} instead, which name the weekday SPC’s Day 1, Day 2 and Day 3 actually cover. These are not the same as {dow}. SPC’s convective day runs from 12Z to 12Z, so through the small hours Day 1 is the day that began yesterday morning and Day 2 is the daytime ahead of you. A label counting forward from today named the wrong day for those hours; {spc2} follows the convective day and is right at any hour. Day 1’s own slide is called Current rather than Today for the same reason.

Precipitation slides can name the hours they cover with {qpf6}, {qpf24}, {qpf48}, {qpf72}, {qpf120} and {qpf168}. Each returns the clock times of that running total — Rainfall Forecast · {qpf24} goes on air as Rainfall Forecast · Tue 7am – Wed 7am CDT. The weekday is dropped from the far end when both times fall on the same day, so {qpf6} usually reads Tue 7am – 1pm CDT.

Times are written as short as they can be said — 7am rather than 7:00 AM — to leave room for your own wording in the title. The minutes appear only when they are not on the hour, which for a WPC product is almost never, so a window that does land at half past still reads 7:30am.

Unlike the tokens above, these are read from the Weather Prediction Center rather than worked out from the clock, and that is the point of them. The map panel labels its steps Next 24 hr and the like, but those run from the model’s valid time rather than from now — a four-hour-old run means next 24 is really twenty more hours plus four already gone. A viewer reads “next 24 hours” as starting now; these tokens say what it actually covers.

They are fetched when the overlay loads and refreshed every half hour. In the first seconds after a cold start, or if the service will not answer, the token returns nothing and a trailing separator is tidied away — so Rainfall Forecast · {qpf24} reads simply Rainfall Forecast rather than trailing a dot with nothing after it. A label that does not use the token is never touched.

Rain that has already fallen — Maps › Precip Amount, and the local radar’s Precip Amount — uses {precip} instead. The {qpf} tokens are a forecast window ahead; a Precip Amount map looks back, ending at its latest data, so {qpf24} on one would put tomorrow’s dates over yesterday’s rain. {precip} is read from the map on screen once it has drawn, for whatever time frame the slide is set to (hours= 1 to 72, or accum= 1h, 3h or storm): Rainfall · {precip} on a 24 Hr slide reads Rainfall · Sat 5pm – Sun 5pm CDT, and on a 3 Hr slide Rainfall · Sun 2pm – 5pm CDT. A Storm Total runs from when the radar started counting. Until the map has drawn it reads nothing, with the separator tidied away as above.

The map itself is asked for with map=forecastprecip&qpf=24, taking the same hours as the tokens: 6, 24, 48, 72, 120 and 168. Without qpf= the panel opens on its own default, which is the first six-hour interval rather than a running total — so a slide meaning “rain through Thursday” must say which. An hours figure the panel does not have is ignored and noted in the console rather than guessed at.

So a slide reading Rainfall Forecast · {qpf48} with map=forecastprecip&qpf=48&zoom=6 names the same window in its title as it draws on its map. The two numbers have to be written to agree — nothing checks that they do.

Precipitation maps are beta-gated like the other forecast views, so the link needs beta=yes alongside them.

The names change over at 1am CDT in summer and midnight CST in winter. That is one moment, not two: it is 06Z either way, and only the clock on the wall moves.

06Z is not where the convective day begins — that is 12Z — it is where Day 1 changes hands. SPC publishes the first Day 1 outlook for a new day at 0600Z, valid 1200Z to 1200Z; the 0100Z issuance before it covers only the tail of the day going out. So from 1am the map is already showing the coming day as Day 1, and the labels follow it there. Later issuances at 1300Z and 1630Z revise that same outlook rather than replace the day, which is why the picture visibly changes mid-morning without the names needing to.

The share-your-station slide is the on-air invitation for viewers to send in their own Ambient Weather station, pointing them at the sign-up page on the site. It is an ordinary slide — move it where you want it in the order, or switch it off between campaigns. Its bg= is the photograph behind it, shift= nudges that photograph sideways, and qr= is the code shown; the QR simply does not appear if that file is missing. The card animates once as it loads and then holds still, so its Holds-for seconds only decide how long it stays up.