A climate report is not identified by the moment you opened the page. It is identified by the meteorological date it claims to cover—the validity day or validity month—and, separately, by when the file was generated—the issuance or render time. Archive navigation is the act of choosing that validity date. Mixing the two clocks is how a morning report for yesterday becomes “today’s climate,” and how a PHP query string becomes an accidental weather statement.
The historical TNET Weather URL /parse_noaa_date.php was the date-aware view of the station’s NOAA-style reports. Incoming links used a date parameter (for example date=200704). Recovered HTML included a monthly summary labeled December 2014 and a list of other available reports. Those figures are historical station output. They are not current Mesa weather, and this page is not a live NOAA desk.
Historical context
The default monthly table lived at /parse_noaa.php: whatever month the logger currently considered “this month.” Operators and inbound links also needed a stable address for an older month or a selected day. The _date script filled that gap. A query such as 200704 asked for April 2007. The page then rendered the station’s NOAA-style HTML for that period, with a picker or a list of other stored reports.
A recovered December 2014 fragment shows the same WD monthly layout as the default parser: station name, elevation, coordinates, units, then daily rows. The scientific difference is not the columns. It is the selection. Someone chose a date. That choice is metadata and must remain visible in the title: which month, which station, which file.
This article is about that selection. How to parse the HTML into a table is /nb-0005.php. How to interpret a monthly max/min/rain grid is /parse_noaa.php.
Validity day versus issuance
National Weather Service climate products make the split explicit. Instruction 10-104 states that the Climatological Report (Daily), product CLI, is issued at least twice daily. The first mandatory issuance, between 12:30 a.m. and 5:00 a.m. local time, captures the previous calendar day’s midnight-to-midnight Local Standard Time data. The second mandatory issuance, typically late afternoon, captures the current day so far. The product is valid from release until the next issuance. Those are three different times: climate day, issuance clock, and valid-until clock (NWS Instruction 10-104).
A personal-station archive should copy the idea even when it cannot copy the product:
| Clock | Question it answers | Typical station failure | |---|---|---| | Validity date | Which civil day or month do these statistics cover? | Filename says “current” while rows are last month | | Day boundary | When does a “day” start for max/min/rain? | Local midnight vs UTC vs a 9 a.m. climate day | | Issuance / render time | When was this HTML written? | Footer “formatted at” treated as observation time | | Archive availability | When did this month’s file become selectable? | Picker lists a month the logger has not closed |
A report issued at 01:10 on 15 March that covers 14 March is a 14 March climate product. Calling it the 15 March report because that is when PHP ran is a validity error. A monthly HTML generated on 6 July for “JUL.” is a month-to-date file, not a closed July climate, until the last day is present and flagged complete.
The historical date=200704 form is a validity-month selector: year and month packed as YYYYMM. That is a good pattern. It is still incomplete unless the page also prints:
- the validity period in words (April 2007),
- whether the month is complete or in progress,
- the render timestamp, separately labeled.
Selecting a day is not selecting a month
NOAA-style station sites confuse two archives.
Monthly summary. One file per month, rows for day 01…31. Choosing 200704 should load April 2007’s grid. That is this URL’s usual historical job.
Daily report. One product per civil day (the NWS CLI model), or one verbose day block inside a month appendix (/tws-dailynoaa.php). Choosing a day should load that day’s statistics, not the surrounding month with the day highlighted in CSS.
If a picker labeled “Current NOAA Report” always opens the in-progress month, it is not an archive navigator. It is an alias of /parse_noaa.php. The _date page earns its URL only when a chosen date changes which file is shown and when that date is written in the heading.
When the selected date is in the future, the honest result is “no report,” not a blank table of zeros and not a forecast filled into climate columns. When the selected date predates the logger’s install, the honest result is “no report,” not a borrowed airport CLI.
What the date parameter must not do
It must not silently convert time zones. A date=200704 that means April 2007 in Arizona should not load April 2007 UTC and drop the last evening of March. State the zone of the civil calendar.
It must not rewrite validity after the fact. Regenerating April 2007 HTML in 2014 because the template changed is a new issuance of the same validity month. Keep the climate numbers from the archive. Restyling CSS is allowed; filling missing April days from a neighbor is not.
It must not equate “available reports” with “quality-controlled months.” A list of stored files is an inventory. Some months will be short, some will contain outages. The picker should still list them, with a completeness hint if you have one.
It must not present December 2014 Mesa rows as live climate. A recovered dump is evidence that the navigator could open that month. It is not Mesa’s climate now.
Archive navigation as scientific metadata
WMO observing practice treats time as part of the measurement. For a climate product, the time that matters first is the period of the statistic (the 14th, or April 2007), then the time the statistic was computed. TNET’s public vocabulary calls that distinction out among observed, modelled, and derived evidence: a modelled forecast valid for Thursday is not Thursday’s observation, and a climate table valid for April is not “current conditions” (evidence families).
A date picker is therefore not a convenience widget. It is how the site declares which evidence object the reader is holding. Hide the selected date in a query string that the HTML heading does not repeat, and the object is unlabeled.
Practical heading pattern:
Station {name}, NOAA-style monthly summary, validity {month year}, generated {issuance timestamp with zone}, complete {yes/no, valid days n}.
That sentence survives a screenshot. A query string does not.
Distinct from the monthly reader and the daily appendix
/parse_noaa.php teaches how to read max, min, and rain on the monthly grid. This page teaches how you arrived at that grid.
/tws-dailynoaa.php is a month of expanded daily blocks. You still need a validity month to open it; you then read completeness, trace, and flags inside the month.
Radar and other observation pages on this host are not climate-date archives. A radar valid time is an imagery clock, not a CLI validity day. Do not drive a NOAA-style date picker from a radar timestamp without saying you changed evidence families.
Practical checklist
- Put the validity date in the visible title, not only in
?date=. - Label issuance or render time on a separate line.
- State the civil-day boundary and timezone.
- Refuse future dates and pre-install dates with an explicit empty state.
- Mark in-progress months as month-to-date.
- Do not fill missing climate days from a forecast or from another station.
- Treat recovered December 2014 (and
200704-style links) as archive examples, not as current Mesa weather.
Official daily climate for designated sites remains the NWS CLI, available via forecast.weather.gov. This URL is a station-archive navigator.
Modern relevance
Any system that lets a user pick a date—climate HTML, connection outlook, or a saved speed-test day—has to say whether the date is the validity of the estimate or the time the page was built. That is the same evidence-family problem, applied to a Weather Display monthly file. The current explanation is the evidence families behind a connection outlook.
Observation hub: /legacy/observations/.
Sources
- National Weather Service Instruction 10-104, CLI issuance time, valid time, and calendar-day data: weather.gov directives (PDF)
- NOAA National Centers for Environmental Information, climate archives: ncei.noaa.gov
- World Meteorological Organization, Guide to Instruments and Methods of Observation (WMO-No. 8): library.wmo.int
- TNET, The evidence families behind a connection outlook