/test/bramptonweather/samp-graph.php puts someone else’s station name in the path. That is the whole scientific fact the URL still carries. A sample graph drawn from Brampton Weather (or any other named third-party logger) is a cross-station fixture. It is useful for testing a plotter. It is not this host’s observations. If the caption omits the foreign name, visitors and later archives treat Brampton’s diurnal curve as Mesa’s, or as “the TNET station,” and the figure becomes a false record.
This article is about labeling foreign-station test data. It is not the general caption contract for any demo plot—that lives on /samp-graph.php. It is not the truncated sibling /test/bramptonweather/samp-gr. It is not a live Brampton feed and not current weather. TNET does not rehost the historical PHP or anyone else’s logger files.
A public /test/ tree that contains another station’s name is also a security smell. It advertises a sandbox directory, often with sibling scripts, and it invites people to treat the path as a data API. Graph-renderer checks belong in a private fixture directory whose files never ship as “today.”
Historical context
Cumulus templates and PHP graph helpers needed a realistic-looking PNG before the operator’s own logger had a full day of samples. Community packages sometimes shipped a named example—another hobby site, a developer’s backyard, a town that appeared in a folder name. On this host the folder was bramptonweather and the script was a sample graph. Incoming links treated that combination as a weather product for Brampton, or as this site’s chart. Neither reading is honest unless the page says which station produced the series, on which dates, and that the figure is a fixture.
The original weather-station site also kept an operational temperature time-series chart. That chart is supposed to be this station, this interval, these units. A test graph that reused Brampton pixels on the operational URL would be a provenance failure. Keeping the foreign name in the test path was the right instinct. Forgetting to repeat that name in the caption was the usual mistake.
Why a foreign station is a good fixture—and a bad silent default
A renderer test wants a series that is not the production file. If you plot tonight’s realtime log, every visual-regression run changes, and you cannot tell a CSS regression from a cold front. A pinned foreign (or synthetic) series gives you a stable input: same points, same gaps, same units, every time.
That stability is exactly why an unlabeled Brampton plot is dangerous. It looks the same in January and in July. It looks like a complete day. Visitors screenshot it. Forums embed it. Wayback copies it. None of those copies know it was a fixture.
The rule is simple:
- If the input file came from Brampton Weather, the figure title, the HTML caption, and the
alttext say Brampton Weather, plus the date range of the fixture, plus illustrative / test fixture / not this station. - If you replaced Brampton’s file with a synthetic sine wave, say synthetic. Do not keep the folder name
bramptonweatheras implied provenance for invented points. - If you later swap in this site’s logger, you have left the test URL’s job. Operational plots belong on the operational chart URL, with this station’s identity.
Do not invent a Brampton temperature, rainfall, or “current conditions” paragraph and present it as weather. A fixture description may say what kind of series the file contains (hourly temperature, a known gap at 03:00, units in Celsius). It should not impersonate a live Canadian observation.
What the label must carry
Cross-station figures need more than the word “sample.” They need a station mismatch flag.
| Field | Why it is required on a foreign fixture | |---|---| | Foreign station name | The path said Brampton; the pixels must say it too. | | This host’s station name | So a reader can see they are not the same place. | | Variable and unit | A Brampton Celsius file on a Fahrenheit site is a conversion event, not a caption footnote. | | Period and timezone of the fixture | Not the HTTP date of the PHP request. | | Evidence type | Observed series from another station, or synthetic. Never “current here.” | | Why the file is present | Renderer test, layout test, or library demo. |
WMO instrument practice treats identity as part of the observation. A METAR’s station identifier is not optional decoration (NWS METAR decode key). A hobby PNG that drops the identifier while keeping a convincing curve is worse than a sparse METAR: it still looks complete.
If the graph code prints a title inside the PNG, that raster title must match the HTML caption. Pixel text that says “Today” while the HTML says “Brampton fixture, 2009-06-14” is a contradiction. Prefer the identity in HTML so reuse cannot strip it.
How silent cross-station data corrupts a pipeline
The failure modes are ordinary.
Archive poisoning. A later climate page hotlinks /test/bramptonweather/samp-graph.php because it was a convenient PNG. The monthly write-up then describes another town’s day as local.
Unit laundering. The fixture is in °C. The operational site is °F. The plotter copies axis ticks from the live template and data from Brampton. The line is physically wrong even if both files were honest in isolation.
Timezone laundering. Brampton’s civil day is not this site’s civil day. A “24-hour” sample that starts at local midnight in one zone is a shifted window in another. Label the fixture timezone. Do not “fix” the x-axis by assuming the production zone.
Neighbor citation. Another PWS copies the test graph into their sandbox and drops the Brampton folder name. The series becomes anonymous. Anonymous series cannot be quality-controlled. TNET’s public note on source identity is data sources, quality controls, and methodology.
None of this requires a live debug endpoint. Pin a sanitized file in version control, named brampton-weather-temp-fixture-not-operational.csv or similar, with a header comment that repeats the foreign station and the date. Run the plotter in CI. Compare the PNG to a golden image if you must, but compare the caption text first. A pretty line with the wrong name is a failed test.
Distinct from the sample-graph caption page
/samp-graph.php teaches that any sample needs station, period, units, and the word illustrative. This URL is the special case where the station in the path is not the operational station. The extra duty is the mismatch flag. You can satisfy the generic caption page and still fail here: “Sample graph, 5-minute temperature, °C” is incomplete if the air was Brampton’s.
The truncated path without .php is a different problem: incomplete test URLs and what 404s reveal. Do not collapse the two articles. One is provenance of a named foreign series. The other is how a shortened path leaks the tree.
Practical checklist
- Folder name, figure title, and caption agree on the foreign station.
- A sentence states that the series is not this website’s logger.
- Units on the fixture file match units on the axis, or a labeled conversion sits between them.
- Production templates do not hotlink the test PNG.
- The fixture file is sanitized: no extra stations’ GPS, no comments with FTP passwords.
/test/bramptonweather/is not web-accessible on the public vhost.
If you cannot name the foreign station, you do not have a cross-station fixture. You have an anonymous curve. Do not publish it.
Modern relevance
Connection and weather research still ingest series from more than one place. The discipline is the same: name the source, keep foreign samples from impersonating the local record, and never treat a sandbox plot as current weather. How TNET distinguishes observed, modelled, and derived information in public is how the service works. Related Cumulus publishing notes sit on the Cumulus hub.
This URL does not plot Brampton. It states the labeling rule the historical path already spelled in the directory name.
Sources
- World Meteorological Organization, Guide to Instruments and Methods of Observation (WMO-No. 8): community.wmo.int
- National Weather Service, METAR decode key: weather.gov (PDF)
- Cumulus Wiki: Charts (last checked 13 August 2026)
- TNET, Data sources, quality controls, and methodology
- TNET, How the service works