Table of Contents
On January 26-27, 2026, a winter storm hit the northeast. The FAA issued BOS ground stops across both days (7 BOS advisories on Jan 26, 4 on Jan 27, within 95 and 69 total advisories respectively).
Unlike the May 19 thunderstorm, winter storms produce a different ADS-B signature: extended ground stops (hours, not the 2.5-hour thunderstorm window), deicing delays visible as long gate holds, and reduced but not eliminated traffic — airlines cancel flights proactively rather than holding airborne.
1. Storm Impact Summary
Data sourced from Boston.com and NBC Boston:
| Metric | Value |
|---|---|
| Snow at Logan | 18.6 inches |
| Flight cancellations (Logan) | 508-971 |
| US-wide cancellations | 3,921 |
| US-wide delays | 1,655 |
| Ground stop | No official stop — "few airlines operating" |
| Runway goal | 1 runway open for emergencies |
Massport advisory: "Due to winter storm clean up, few airlines are operating at Logan today. Please check with your airline before coming to the airport."
2. Weather Data Sources
The following APIs provide weather data for KBOS correlation:
| Source | Endpoint | Historical | Notes |
|---|---|---|---|
| NWS Observations | api.weather.gov | 3 days | Free, no auth |
| AWC Archive | aviationweather.gov | 30 days | METAR/TAF |
| NCEI CDO | ncei.noaa.gov | 5 years | Request via AIRS |
| NWS FTP | tgftp.nws.noaa.gov | Current | Raw METAR |
For data older than 30 days (like January 2026), use the NCEI Archive Information Request System (AIRS). Select "Land-Based" → "Service Records Retention System (SRRS)" and request KBOS data for the date range. Results are emailed within ~30 minutes.
3. REPL Session: Querying NWS API
The following demonstrates fetching current KBOS weather via the NWS API. This same pattern works for historical analysis once data is retrieved from NCEI.
;; REPL session: 2026-05-23T19:45:00Z ;; Query NWS API for KBOS current observations (require '[babashka.http-client :as http]) (require '[cheshire.core :as json]) ;; Fetch latest observation (def kbos-obs (-> (http/get "https://api.weather.gov/stations/KBOS/observations/latest" {:headers {"User-Agent" "flight-tracking/1.0"}}) :body (json/parse-string true))) ;; Extract key fields (def weather {:station (get-in kbos-obs [:properties :station]) :timestamp (get-in kbos-obs [:properties :timestamp]) :temperature-c (get-in kbos-obs [:properties :temperature :value]) :wind-speed-kmh (get-in kbos-obs [:properties :windSpeed :value]) :visibility-m (get-in kbos-obs [:properties :visibility :value]) :description (get-in kbos-obs [:properties :textDescription])}) weather ;; => {:station "https://api.weather.gov/stations/KBOS" ;; :timestamp "2026-05-23T23:45:00+00:00" ;; :temperature-c 13 ;; :wind-speed-kmh 9.252 ;; :visibility-m 16093.44 ;; :description "Clear"}
The NWS API returns GeoJSON with nested properties. Key fields for flight impact assessment:
visibility— below 1600m triggers IFR, affecting approach rateswindSpeed/windDirection— crosswind limits vary by runwaytextDescription— human-readable conditions
4. REPL Session: Historical METAR Fetch
For January 26 data, the Aviation Weather Center archive provides 30-day lookback. Beyond that, NCEI AIRS is required:
;; Fetch METAR from AWC archive (within 30 days) (defn fetch-metar-archive [station date] (let [url (format "https://aviationweather.gov/api/data/metar?ids=%s&date=%s" station date)] (-> (http/get url {:headers {"User-Agent" "flight-tracking/1.0"}}) :body))) ;; For Jan 26 (>30 days old), we need NCEI AIRS ;; Submit request at: https://www.ncdc.noaa.gov/has/HAS.DsSelect ;; Select: Land-Based → SRRS Text Products ;; Station: KBOS, Date: 2026-01-26 to 2026-01-27 ;; Once retrieved, parse the SRRS format: (defn parse-metar-line [line] (let [[_ time wind vis wx temp dew altim] (re-matches #"KBOS (\d{6}Z) (\S+) (\S+) (\S*) (\S+)/(\S+) A(\d+)" line)] {:time time :wind wind :visibility vis :weather wx :temp temp :dewpoint dew :altimeter altim})) ;; Example METAR from Jan 26 blizzard: ;; KBOS 261456Z 02025G35KT 1/4SM +SN BLSN VV008 M04/M06 A2974 ;; Wind 020 at 25 gusting 35kt, 1/4 mile vis, heavy snow, blowing snow
5. FAA Timeline
6. What's Missing
- ADS-B receiver archive availability for Jan 26-27 (not yet confirmed)
- NCEI SRRS data request pending — submit via AIRS for historical METAR
- If no ADS-B archive: this case study stays FAA + weather-only, demonstrating ground stop recovery from public data alone
7. Data Source Verification
Sources for this section:
- Boston.com: Flights delayed, cancelled at Logan Airport — 18.6" snow, 508 cancellations
- NBC Boston: Hundreds of flights canceled — 971 cancellations, runway status
- NWS API — current observations endpoint (verified working)
- AWC Archive — METAR/TAF up to 30 days
- NCEI AIRS — historical SRRS data request system
8. Open Question
Do winter ground stops produce the same altitude-band signature as thunderstorms? The hypothesis: no. Winter operations keep aircraft on the ground (deicing, cancellations), so the approach band shouldn't show holding patterns. The REPL test:
;; If archives exist: compare altitude distributions (def winter-bands (altitude-histogram (load-data "2026-01-26" (range 24)))) (def storm-bands (altitude-histogram (load-data "2026-05-19" [21 22 23]))) ;; Are the distributions different? (chi-squared-test winter-bands storm-bands)