A station-site “forecast” page is often a composite: National Weather Service text, a local model run, and a trend taken from the logger. Those three objects can share a screen. They cannot share a source line. If the page prints one heading and three families, readers treat the mix as a single authority—usually “the station,” sometimes “NWS.” Both readings are wrong.
The historical URL /tws-forecast.php was the TNET Weather Station forecast view. A recovered snapshot identified an NWS Phoenix point forecast for a location described as four miles west of Mesa, Arizona, updated 3:11 p.m. MST on 24 June 2013. That identification is historical. The period temperatures and hazard links from that snapshot are not current and are not reprinted here as live guidance. The useful subject is how a station page should label a composite so the 2013 mistake—and the same mistake on any later dashboard—does not happen again.
Historical context
“TWS” in this filename is the station’s own forecast module, not a National Weather Service product identifier. The recovered body was mostly NWS period text and official-style hazard links, with extra local notes elsewhere on the site. Other URLs on the same host carried a WXSIM local model and station trends. Visitors moved between those URLs as if they were chapters of one forecast. On a small site, they were one user experience even when they were not one product.
NWS Phoenix issued the 2013 point-style narrative. The station republished it. A local model, when present, was a separate run. A trend from yesterday’s temperature series is an observation summary, not a forecast. A composite page that does not say which block is which converts a convenience layout into a false consensus.
TNET is not NWS. TNET is not a warning service. For watches, warnings, and advisories, use weather.gov and local emergency authorities.
Three families that get stacked
NWS public forecast. Expected conditions for a zone, grid, or point, issued by a Weather Forecast Office on a defined cycle. For this geography the office is NWS Phoenix. The product is forecast guidance. Copying it does not make it a Mesa observation. See the metro/zone product and republishing rules.
Local model. Software such as WXSIM produces a site-specific scenario from a mix of ingested observations, larger-model fields, and the program’s own temperature and humidity calculations. It is scenario / model output. It is not NWS. It is not TNET Connection Outlook. Credit the model by name; do not call it “the NWS forecast” and do not call it “TNET.”
Station trend. A slope or persistence reading from the logger—temperature falling through the evening, pressure rising over three hours—is observed history plus a naive extrapolation. Persistence is sometimes used as a baseline forecast in verification. On a hobby page it is still not an official product. Label it as a trend from named samples.
A fourth family appears as soon as heat index, “feels like,” or a homemade score is printed: derived. Derived fields must name their inputs. They are not a fourth sensor and not a fourth office.
Labeling so users are not misled
Each block needs a heading that a reader can use without decoding CSS.
- Product name — “NWS 7-day point forecast,” “WXSIM run,” “station 24-hour trend.” Not “Forecast” alone.
- Producer — NWS Phoenix; WXSIM / the operator; the logger. TNET must not be named as the issuer of NWS text.
- Place — the point or zone the that block is for. A model customized for the backyard is not the NWS metro zone.
- Issuance or run time — office issuance for NWS; model run time for WXSIM; last sample time for a trend.
- Valid interval — period names for NWS; the model’s own valid window; the hours the trend covers.
- Retrieval time if the block is a copy.
If two blocks disagree, keep the disagreement visible. A local model that is cooler than the NWS period high is a comparison, not an error to be averaged out. Averaging unlabeled sources fabricates a product that no producer issued.
Do not use a single icon row to represent all three families. Icons already discard wind timing, PoP definition, and caveats. Using one row for mixed sources discards provenance as well.
Watches are not the forecast narrative
The recovered 2013 page placed official-style links for heat-related and hazardous-weather products next to the period forecast. That proximity is dangerous if the visual weight is equal.
A watch, warning, or advisory is a hazard product with its own issuance and expiration. A seven-day narrative is public forecast text. A station trend is neither. NWS may mention hazards inside an Area Forecast Discussion or at the top of a zone product; the legal and operational object is still the hazard product.
A composite page should:
- Link hazards out to weather.gov rather than restyling them.
- Keep the hazard list visually separate from period icons.
- Never let a “mostly clear” night icon sit on top of an unlinked watch as if the icon cancelled the watch.
If the fetch of the hazard list fails, show that failure. A missing watch is not “all clear.”
A composite is not a consensus
Forecasters in an office reconcile models into one official forecast. A station PHP page that prints NWS text beside WXSIM beside a dew-point rule of thumb is not that process. It has no forecast discussion, no duty forecaster, and no authority to retire an NWS period.
Call the page a composite or a comparison. Do not call it a consensus. Do not call it “more accurate because it is local.” A roof sensor can show that this afternoon is already warmer than the NWS period implied at issuance. That is verification information. It does not withdraw the NWS product.
Local model output can be useful as a scenario: what this site’s calibration produces given today’s ingested fields. Use it as a scenario. Do not substitute it for NWS when the question is the official public forecast, and do not substitute it for TNET when the question is connection evidence.
Practical layout
Use a linear order:
- Station identity (so the composite has a home, not a fake office name).
- Observation or trend block, with sample times.
- NWS block, with office, place, issuance, link to the live product.
- Local-model block, if any, named as WXSIM or other software, with run time.
- Hazard links out.
- A one-line statement that the site relays and compares; it does not issue.
The forecast versus observation article defines the families. The WXSIM article is the local-model family in isolation. This page is the stacking problem.
Checklist
- Each numeric field can be traced to one producer.
- NWS, local model, and trend never share a single timestamp.
- Hazard products are official links, not icon colors.
- No heading attributes the NWS text to TNET or to the station logger.
- Disagreement between blocks is shown, not smoothed.
- This URL is not presented as live Mesa weather.
Modern relevance
Multi-source weather apps still blend an official period forecast, a private model, and a personal station. The scientific requirement did not change: name the sources or the page is a collage.
How TNET distinguishes observed, modelled, and derived information in public product copy is how the service works. That page is the modern service’s evidence vocabulary. It is not a station composite, not an NWS package, and not a promised Starlink speed. Connection Outlook, when you use it, interprets atmospheric evidence among other families; it does not replace a labeled NWS forecast. Historical observation URLs remain in the observations hub.
Sources
- National Weather Service, official forecasts and alerts: weather.gov
- NWS Phoenix: weather.gov/psr
- NWS API (forecasts, observations, and alerts as separate resources): weather.gov/documentation/services-web-api
- NWS Instruction 10-503, public weather products: pd01005003curr.pdf
- World Meteorological Organization, forecast register (expected conditions for a specified future period): codes.wmo.int
- WXSIM, product description (local interactive atmospheric model; not used here as an endorsement): wxsim.com
- TNET, How the service works