Methods review, 5 September 2026. No annual concentration calculations, new acquisitions or site changes were made. This review extends the independently checked May protocol; it does not turn the comparison into a dispersion validation or an objective-achievement analysis.
Recommendation: Retain a fixed calendar of all 365 labelled dates and the same three metrics. Use explicit per-cell onsite status, original town-hour lineage, separate primary and sensitivity masks, and day-weighted descriptive summaries. The unavailable verified January 1, 2026 boundary hour should invalidate the December 31 +1-hour sensitivity window, without invalidating December 31's primary comparison.
Freeze all 12 original monthly PDFs, each reviewed table transcription and its headers/footnotes, their hashes and report versions, and the native 2024 and 2025 town archives. Keep the previous May pack unchanged. Identify the source for each onsite cell by report month, PDF/table page, printed date, row, column name, original token and any flag/footnote. If monthly and overlapping weekly tables disagree, preserve both and resolve the transcription authority before using that cell; do not average conflicting values or choose the closer match to town.
Use the three established quantities only: PM₂.₅ daily mean (µg/m³), NO₂ daily mean (ppb), and daily maximum hourly-average NO₂ (ppb). Map columns by their pollutant and averaging-period headers, not position. The reported addition of PM1 in November must not shift the PM₂.₅ column mapping or introduce a fourth metric. Check units and averaging labels for every monthly source rather than inheriting May's schema blindly.
Give each onsite cell one explicit status:
<x separately; it is not an exact concentration and is ineligible for these ordinary arithmetic contrasts. No half-detection-limit substitution.Preserve printed precision cell by cell; do not assume every report has May's one-decimal format. Do not reverse reported negative-value adjustments, clip measurements or apply instrument correction. A printed negative number, if encountered, needs its source context preserved rather than automatic removal. Record reported QA status and instrument/network changes by month; May's Level 0 statement and zero-adjustment description must not be automatically assigned to every other month.
For each onsite label D, the primary town window is [D 00:00, D+1 00:00) fixed PST, UTC−8. Reconstruct hourly interval starts from native DATE plus TIME's ending hour minus one; ending hour 24 belongs to its native labelled date. Use the same fixed 24-hour window shifted −1 or +1 hour for the two diagnostics. Preserve all 24 expected native identifiers and interval bounds in PST/UTC for each pollutant/window.
Two gates should remain separate:
NA concentration in a present native row passes this structural gate. An unexpected absent/duplicate row within the acquired calendar is a data-integrity issue and must be resolved.Calculate an eligible paired contrast only if both town gates pass and the onsite cell is numeric. Retain separately town_eligible, onsite_numeric and pair_eligible, with reason codes. A town aggregate can remain available when the onsite value is missing; the paired contrast must be null. Never fill either stream. Preserve all calendar records even where aggregates or contrasts are null.
Year edges: The −1-hour January 1 window needs native December 31, 2024 hour 24, available in the verified 2024 archive. The +1-hour December 31 window needs native January 1, 2026 hour 1, which has not been acquired as verified data. Record this expected external row as outside_acquired_verified_coverage; leave that sensitivity aggregate and contrast null. Do not substitute unverified data or report a 23-row partial window as though the full source window was available. This is a proposed conservative boundary rule, explicitly stricter than simply treating the external absence as another NA and applying the 18-hour threshold. The primary December 31 window uses 2025 native hours 1–24 and remains assessable.
Keep the primary label nominal daily pair, because Table B.1/logger day boundaries remain unconfirmed. Across the whole year, describe ±1-hour windows as fixed 24-hour boundary diagnostics. Do not call the −1-hour window “PDT days” generally: actual civil days around daylight-saving transitions have 23 or 25 hours, and standard-time winter days do not use the summer offset. A civil-time reconstruction would require a separate explicitly justified protocol and confirmed onsite clock evidence; it is outside this extension.
Clock evidence must be scoped to its component. September report forecast-image captions state year-round PST for those figures; they do not establish the Table B.1 aggregation settings. The February event narrative uses “PDT” in February, and April event narratives use “PST” in April; forecast captions in those reports also contain their own clock statements. Preserve exact wording and provenance, without adopting a document-wide conversion from a caption or correcting the logger on that basis. The source-specific statements support leaving the daily-table clock unresolved. See the saved September PDF pp.50–53, February PDF p.49, and April PDF pp.35 and 44; source URLs/hashes are recorded in sources/acquisition-manifest.json.
B.C.'s general reporting convention is PST ending-hour data, but a convention is not proof of an individual logger setting. Field Sampling Manual, Part B1 §7.1, printed p.26 / PDF p.29.
Retain all 365 dates for each metric, three windows and both town precision streams, including ineligible records. Summaries use eligible pairs, never all onsite dates for one mean and a different set of town dates for the other. Store the exact included/excluded date lists, reason counts, expected dates, paired dates and original-hour coverage.
For each metric/window/stream, report the existing descriptive statistics for the whole year and each of 12 months: means of the paired daily onsite and town values, mean/median/mean-absolute signed contrast, contrast extrema and all tied dates, sign counts, and counts beyond ±0.1 in that metric's units. The ±0.1 guard remains numerical, not a measurement uncertainty interval. A month with zero valid pairs has null concentration statistics and empty extremum lists, not zero concentration. Keep its missing month visible.
Call the whole-year result “2025 mean of paired daily values (N of 365 dates)”, or “2025 matched-day summary.” It is not automatically a complete hourly annual mean. Each eligible day receives equal weight even if one day has 18 town readings and another has 24; onsite daily sample counts are unknown. The daily NO₂-maximum mean is an average of maxima, never an annual mean NO₂ concentration. Do not combine annual background/objective statistics from other work with these day-paired means.
Pool the eligible daily pairs directly for the whole-year summary. Do not take an unweighted mean of 12 monthly means, a median of monthly medians or the extrema of rounded monthly summaries. Different month lengths and paired counts change those results. Decimal precision 50 and full stored precision remain appropriate. Round only the display; retain original onsite tokens and a separate provider-rounded town sensitivity.
For each metric/precision, the clock comparison uses the intersection of dates eligible in all three windows. Apply that shared-date set to every window's sensitivity mean, both annually and within each month. Report the primary-window mean on this shared set alongside its ordinary primary mean so a date-mask change cannot be mistaken for a timing effect. The missing +1-hour year-edge window excludes December 31 from the relevant shared-date sensitivity, not automatically from the primary annual/monthly summaries.
Calculate maximum absolute daily town changes from the primary window only on the shared set, retaining all tied dates. The onset/ending dates and sample count belong with each sensitivity result. Do not choose the shift with the most favourable agreement. For raw-versus-provider-rounded comparison, use dates eligible in both streams for the same metric/window; explicitly retain primary-window comparison as the main precision sensitivity. If extra shifted-window precision summaries are included, label their scope.
If a figure shows an envelope spanning shifted results, draw it only for dates with all required windows eligible, or visibly mark an incomplete sensitivity set. It is a timing diagnostic, not a confidence band or measurement uncertainty. Preserve onsite missing values and ineligible town values as gaps.
Before public use, independently reconstruct from native archives and frozen transcriptions; compare all cells, masks, units, expected keys, month/year-edge intervals, missing values, precision streams, aggregates and tied dates. Include known source-unavailable boundary records in the comparison instead of omitting them. Report exact numerical equality separately from any predeclared Decimal arithmetic tolerance. Preserve May as a reproducibility cross-check under its original window/precision rules, without editing the prior frozen pack.
An entire year provides seasonal context, but it does not resolve onsite QA, inlet response, clock settings, local source differences or future operational conditions. Keep the interpretation descriptive: no observation filling, ratios/calibration factors, fitted slopes, causal attribution, objective attainment or automatic spatial-background assignment. A daily NO₂ maximum at one station is not necessarily simultaneous with the maximum at the other. Additional months cannot by themselves transform paired daily contrasts into a plume-transport test.
The remaining suitability gates are final onsite hourly data and QA masks, confirmed clocks/day boundaries, dated inlet/instrument configurations, local meteorology and source/activity records. B.C. requires considering differing meteorology, terrain, surfaces and emissions when selecting off-site background. July 2026 dispersion guideline, §§8.1.1–8.1.4, printed pp.70–72 / PDF pp.77–79. These remain separate from successfully verifying the annual descriptive arithmetic.