Near-Real-Time Weather Display Consoles

A WDLive console is a publishing loop, not a sensor theorem: upload cadence, sample rate, display refresh, and how to disclose last-observation latency.

Back to Weather Display software guides

A live weather-station console is a publishing system. It shows the latest observation packet that a logger, a desktop application, and a web server have agreed to share. It does not prove how often a thermometer was sampled, and it does not make a forecast. Weather Display Live (WDLive) was the Flash-era example of that loop: a browser movie that re-read clientraw.txt on a timer.

This page keeps the historical /wdlive.php address. It does not embed a Flash movie, and it does not claim that a Mesa, Arizona station is publishing a live feed here. The useful question is scientific: what clocks sit between a sensor and a glowing needle, and what must a modern live view disclose so those clocks are not mistaken for physics.

Three clocks that are easy to confuse

A near-real-time console mixes at least three independent intervals.

Sensor or radio sample rate is how often the instrument or its transmitter produces a new value. A console display in the station enclosure may update on that packet. That interval is a property of the hardware and firmware, not of the website.

Archive or logger interval is how often the station writes a sample into its long-term record. Many personal weather stations archive on a user-chosen period of one to several minutes even when the radio link is faster. Daily means, extremes, and climate files usually come from this archive, not from every radio packet.

Publish cadence is how often Weather Display writes a web file and how often the console asks the server for it. Official documentation treats WDLive as a consumer of clientraw.txt (current observations), clientrawextra.txt (records), and, in later builds, clientrawhour.txt and clientrawdaily.txt. The WDLive refresh setting is documented as matching the realtime FTP interval, typically a few seconds to one minute. That refresh is a publishing interval. It is not a sampling theorem.

The historical TNET page described an attempt to upload about every 30 seconds while the station updated the server about once a minute. Those two numbers already disagree. A console that polls every 30 seconds can still show a one-minute-old observation. The honest label is the timestamp inside the last successful packet, not the animation frame rate.

What WDLive actually published

Weather Display's own FAQ describes the required setup: enable realtime FTP of clientraw.txt under Control Panel, Webfiles/webpage/real time FTP, and keep ordinary FTP credentials working. WDLive then sat in the same directory as those files, or it was pointed at them by path tags in wdlconfig.xml. The SWF read the text files, drew gauges, and scheduled another fetch.

That architecture has three scientific consequences.

First, the console is observed data only to the extent that clientraw.txt contains the station's latest decoded readings. Heat index, humidex, apparent temperature, and similar derived quantities may be computed by Weather Display from those readings. They are not independent sensors.

Second, forecast text that sometimes appeared on personal weather sites is a forecast, even when it sits next to a live needle. A WD-generated "forecast" string, a downloaded METAR remark, or a National Weather Service product is not an observation from the backyard station.

Third, all-time records and 30-day files are historical. clientrawextra.txt and clientrawdaily.txt summarize past extrema and recent days. Mixing them on one dashboard is useful, but only if each panel says which clock it uses.

The Weather Display ClientRaw parser is the conceptual map of those files. This page is the display that consumed them. A compact map widget that reuses the same feed is a different problem and is covered on the live-station box article.

Why Flash consoles died

WDLive was a Macromedia/Adobe Flash movie. Adobe ended Flash Player support on 31 December 2020 and blocked Flash content from running in the player beginning 12 January 2021. Major browsers removed the plugin. A .swf console that still exists on disk is not a live instrument. Replaying it in an emulator does not restore a station feed, and embedding a static capture as if it were current weather would mislabel historical data as observed now.

The scientific loss was not the artwork. It was the unspoken contract: visitors assumed that a moving needle meant a living uplink. After Flash died, many station sites showed a blank plugin box with no timestamp, which is worse than a still table that admits its age. HTML, SVG, and ordinary text can carry the same clientraw.txt fields. They cannot recover a feed that is no longer uploaded.

What a modern live view must disclose

WMO guidance on instruments and methods of observation treats metadata as part of the measurement: station identity, exposure, instrument type, and the circumstances of the observation, including time. A hobby console is not a WMO station, but the same rule applies. A live view that omits time is not live. It is decoration.

A defensible near-real-time display states at least the following.

Station identifier and location. A name the operator can match to a logger, a network ID, or a lat/lon. "Live weather" without a station is not an observation.

Time of the last observation. Prefer the timestamp encoded in the data file, in a stated time zone, over the time the browser painted the page. If the file has no usable time, say so.

Latency. Latency is now minus observation time, not the poll interval. A 30-second refresh with a 12-minute-old file is a 12-minute delay.

Missing packets. If the expected file is absent, truncated, or older than a stated threshold, show a gap. Do not freeze the last good needle without a flag. Do not interpolate a straight line across a communications outage and call it weather.

Units and quantities. Temperature in °C or °F, pressure in hPa, inHg, or kPa, wind in m/s, kt, mph, or km/h. A gauge without units is not comparable to a neighbor.

Observed versus derived versus forecast. Label heat index, dew point, and "WD forecast" strings as what they are.

None of this requires a Flash runtime. It requires that the publisher treat the console as a scientific product instead of a movie.

Gaps, retries, and false motion

Publishing fails in ordinary ways: a missed logger packet, Weather Display not running, expired FTP, a slow host, or a cached clientraw.txt. A console that retries every few seconds can look lively while repeating the same record. If two fetches hash to the same payload, or the file's internal time does not advance, no new observation arrived. Empty or sentinel fields are missing, not zero. Zero is a legal wind speed and a legal rain increment; it is not a substitute for "no report."

Observed, forecast, and historical on one screen

Operators often want one page that answers three questions: what is it doing now, what is expected later, and what happened today. Those questions use different evidence.

  • Observed: the latest decoded station packet, with its timestamp.
  • Forecast: a model or official product valid for a future time. It may be useful context. It is not the station.
  • Historical: today's high and low so far, yesterday's rain, all-time records. Those are summaries of earlier observations, and they change when the day boundary rolls.

A modern live view can show all three if it keeps the labels honest. TNET's public note on data sources, quality controls, and methodology is the right next step for that distinction: freshness, provenance, and quality control of measurements, without treating a dashboard animation as a sampling proof.

Checklist for a replacement console

  1. Read the observation file, do not screenshot a dead SWF.
  2. Parse the observation time and display it in a named zone.
  3. Compute and show latency; fail visibly past a chosen age.
  4. Show missing fields as missing.
  5. Keep forecast copy in a separate panel.
  6. Document publish cadence as an operator setting, not as instrument physics.
  7. Link the field map to a versioned parser so a WD build change does not silently relabel columns.

The Weather Display category hub collects the related publishing tools. Template chrome around the same fields is a markup problem, not a console problem; that is the subject of the web-tag article.

Sources