Canadian station extreme-weather intelligence: daily
Daily extreme-weather digest over 37 principal Canadian climate stations (all 10 provinces + 3 territories, ECCC MSC GeoMet climate-daily, keyless): each station's latest complete daily record (station-local day, 1-3 day latency varies by station) collapsed to Tmax/Tmin/Tmean (degC), total precipitation (mm), max wind gust (m/s, from km/h). Each station gets a documented 0-100 extreme_weather_score — the same formula as the nws_station_extremes sibling (25% heat + 25% cold + 25% precipitation + 25% gust, ramped 0-1 intensities) so the panels are cross-border comparable — ranked as extreme_rank, top-10 category leaderboards (hottest/coldest/wettest/windiest), and extreme flags (heat >=100F, freeze <=32F, heavy precip >=1in, strong gust >=40kt). Stations with no complete record in the trailing 7-day lookback are dropped; precipitation stays honest null when the record leaves it null. Primary key: (obs_date, station_id). Cadence: daily. Caveats: obs_date is the station-local calendar day (not UTC) and varies by station; principal-station roster, not a full ECCC census. ECCC GeoMet data: ECCC Data Services End-use Licence v2.1.1 — commercial_use = yes, attribution required. Sample use: order by extreme_rank for the day's most extreme Canadian stations, or filter freeze_flag for markets facing a freeze shock.
- Rows
- 37
- Columns
- 26
- Source cadence
- Daily
- Last refreshed
- Oct 1, 2026
- Theme
- environment
| Column | Type | Description |
|---|---|---|
| obs_date | string | The station's latest complete daily record (station-local calendar day) inside the trailing 7-day lookback. Varies by station because ECCC daily publication latency (1-3 days) varies by station; data_lag_days records the staleness. (unit: date) |
| station_id | string | ECCC CLIMATE_IDENTIFIER (e.g. 6158731 for Toronto Intl A). Together with obs_date it is the primary key. (unit: id) |
| station_name | string | Station name as reported by the climate-daily collection (e.g. 'TORONTO INTL A'). |
| metro | string | Curated metro label for the station, for joining to metro-level demand data. |
| province_code | string | Two-letter province/territory code (ON, QC, BC, AB, SK, MB, NB, NS, PE, NL, YT, NT, NU). |
| latitude | float | Station latitude (degrees). (unit: deg) |
| longitude | float | Station longitude (degrees). (unit: deg) |
| country_code | string | ISO alpha-3 country code (CAN for every roster station). |
| data_lag_days | integer | Days between the run's UTC date and obs_date: how stale this station's latest complete record is (ECCC daily latency is 1-3 days and varies by station). (unit: days) |
| tmax_c | float | Day's maximum 2m air temperature. (unit: degC) |
| tmin_c | float | Day's minimum 2m air temperature. (unit: degC) |
| tmean_c | float | Day's mean 2m air temperature as reported (honest null when the record leaves it null). (unit: degC) |
| precip_mm | float | Day's total precipitation (mm) as reported. Honest null when the record leaves it null — never an invented zero. (unit: mm) |
| max_gust_ms | float | Day's maximum reported wind gust, normalized from the API's km/h to m/s. Honest null when the station does not report gusts. (unit: m/s) |
| heat_flag | boolean | True when tmax_c >= 37.8 (100F). (unit: bool) |
| freeze_flag | boolean | True when tmin_c <= 0.0 (32F). (unit: bool) |
| heavy_precip_flag | boolean | True when precip_mm >= 25.4 (1 inch). (unit: bool) |
| strong_gust_flag | boolean | True when max_gust_ms >= 20.6 (40 knots). (unit: bool) |
| extreme_weather_score | float | Documented 0-100 composite = min(100, 25*heat_i + 25*cold_i + 25*precip_i + 25*gust_i) with ramped 0-1 intensities: heat_i = clip((tmax-30)/15), cold_i = clip((-15-tmin)/20), precip_i = clip((precip_mm-5)/45), gust_i = clip((gust-10)/25); null precip/gust score 0 for their term. Identical formula to the nws_station_extremes sibling, so the two panels are directly comparable across the border. (unit: score) |
| extreme_rank | integer | Station rank within the snapshot (1 = highest extreme_weather_score; ties broken by tmax_c desc, then station_id asc). (unit: rank) |
| hottest_rank | integer | Rank by tmax_c desc within the snapshot's top 10; null when not in the top 10. (unit: rank) |
| coldest_rank | integer | Rank by tmin_c asc within the snapshot's top 10; null when not in the top 10. (unit: rank) |
| wettest_rank | integer | Rank by precip_mm desc within the snapshot's top 10; null when not in the top 10 (or precip_mm null). (unit: rank) |
| windiest_rank | integer | Rank by max_gust_ms desc within the snapshot's top 10; null when not in the top 10 (or max_gust_ms null). (unit: rank) |
| source_url | string | Canonical climate-daily query URL for the station's obs_date. (unit: URL) |
| row_hash | string | SHA-256 (16 hex chars) over the row's content fields; identical input yields an identical hash, so a re-run on an unchanged window is a no-op. (unit: hash) |
First 10 sample rows — a preview, not the complete dataset.
| obs_date | station_id | station_name | metro | province_code | latitude | longitude | country_code | data_lag_days | tmax_c | tmin_c | tmean_c | precip_mm | max_gust_ms | heat_flag | freeze_flag | heavy_precip_flag | strong_gust_flag | extreme_weather_score | extreme_rank | hottest_rank | coldest_rank | wettest_rank | windiest_rank | source_url | row_hash |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-09-29 | 3033890 | LETHBRIDGE CDA | Lethbridge | AB | 49.695 | -112.768 | CAN | 2 | 20.9 | 11.8 | 16.3 | 0 | 19.4 | false | false | false | false | 9.4 | 1 | 7 | — | — | 1 | https://api.weather.gc.ca/collections/climate-daily/items?STATION_NAME=LETHBRIDGE+CDA&datetime=2026-09-29T00%3A00%3A00Z%2F2026-09-29T23%3A59%3A59Z | 6230f90ed124fbbe |
| 2026-09-30 | 5062921 | THOMPSON A | Thompson | MB | 55.805 | -97.863 | CAN | 1 | 9.6 | 5 | 7.3 | 8.1 | 13.9 | false | false | false | false | 5.62 | 2 | — | — | 1 | 5 | https://api.weather.gc.ca/collections/climate-daily/items?STATION_NAME=THOMPSON+A&datetime=2026-09-30T00%3A00%3A00Z%2F2026-09-30T23%3A59%3A59Z | 9d3f80f31d7399c5 |
| 2026-09-30 | 3012216 | EDMONTON INTL A | Edmonton | AB | 53.31 | -113.579 | CAN | 1 | 14.7 | -1 | 6.9 | 0 | 15.3 | false | true | false | false | 5.3 | 3 | — | 2 | — | 2 | https://api.weather.gc.ca/collections/climate-daily/items?STATION_NAME=EDMONTON+INTL+A&datetime=2026-09-30T00%3A00%3A00Z%2F2026-09-30T23%3A59%3A59Z | 4084dc6ba1b97d4e |
| 2026-09-30 | 3072921 | GRANDE PRAIRIE A | Grande Prairie | AB | 55.18 | -118.885 | CAN | 1 | 14.7 | 2.5 | 8.6 | 0 | 15 | false | false | false | false | 5 | 4 | — | — | — | 3 | https://api.weather.gc.ca/collections/climate-daily/items?STATION_NAME=GRANDE+PRAIRIE+A&datetime=2026-09-30T00%3A00%3A00Z%2F2026-09-30T23%3A59%3A59Z | 6c94aaf8e147b42d |
| 2026-09-30 | 4057152 | SASKATOON INTL A | Saskatoon | SK | 52.171 | -106.7 | CAN | 1 | 16.2 | -0.1 | 8.1 | — | 14.7 | false | true | false | false | 4.7 | 5 | — | 7 | — | 4 | https://api.weather.gc.ca/collections/climate-daily/items?STATION_NAME=SASKATOON+INTL+A&datetime=2026-09-30T00%3A00%3A00Z%2F2026-09-30T23%3A59%3A59Z | 3808b98fa385592f |
| 2026-09-30 | 6068153 | SUDBURY A | Sudbury | ON | 46.626 | -80.798 | CAN | 1 | 17.5 | 12.9 | 15.2 | 2.1 | 12.8 | false | false | false | false | 2.8 | 6 | — | — | 3 | 6 | https://api.weather.gc.ca/collections/climate-daily/items?STATION_NAME=SUDBURY+A&datetime=2026-09-30T00%3A00%3A00Z%2F2026-09-30T23%3A59%3A59Z | 803170956a6f8cba |
| 2026-09-30 | 2403505 | RESOLUTE CS | Resolute | NU | 74.716 | -94.983 | CAN | 1 | -2.3 | -7.4 | -4.9 | 0 | 11.9 | false | true | false | false | 1.9 | 7 | — | 1 | — | 7 | https://api.weather.gc.ca/collections/climate-daily/items?STATION_NAME=RESOLUTE+CS&datetime=2026-09-30T00%3A00%3A00Z%2F2026-09-30T23%3A59%3A59Z | ae74a765f0fe6779 |
| 2026-09-30 | 2402596 | IQALUIT A | Iqaluit | NU | 63.757 | -68.556 | CAN | 1 | 4.8 | 2.4 | 3.6 | — | 11.7 | false | false | false | false | 1.7 | 8 | — | 10 | — | 8 | https://api.weather.gc.ca/collections/climate-daily/items?STATION_NAME=IQALUIT+A&datetime=2026-09-30T00%3A00%3A00Z%2F2026-09-30T23%3A59%3A59Z | 8a539e1c88fddf92 |
| 2026-09-30 | 6158731 | TORONTO INTL A | Toronto | ON | 43.677 | -79.631 | CAN | 1 | 23.6 | 13.4 | 18.5 | 0 | 10.8 | false | false | false | false | 0.8 | 9 | 2 | — | — | — | https://api.weather.gc.ca/collections/climate-daily/items?STATION_NAME=TORONTO+INTL+A&datetime=2026-09-30T00%3A00%3A00Z%2F2026-09-30T23%3A59%3A59Z | 2031094ef4b5452f |
| 2026-09-30 | 6153193 | HAMILTON A | Hamilton | ON | 43.174 | -79.935 | CAN | 1 | 23.4 | 11.8 | 17.6 | 2.4 | 10.8 | false | false | false | false | 0.8 | 10 | 3 | — | 2 | 10 | https://api.weather.gc.ca/collections/climate-daily/items?STATION_NAME=HAMILTON+A&datetime=2026-09-30T00%3A00%3A00Z%2F2026-09-30T23%3A59%3A59Z | e26461c6a567fdcc |
Profiled Oct 1, 2026 from snapshot 20261001T082952Z-0e46c0a10a1c
Measured- Completeness
- 85.4%
- Rows
- 37
- Columns
- 26
- Columns with gaps
- 6
| Column | Missing | Distinct | Range | Distribution |
|---|---|---|---|---|
| obs_datevarchar | 0% | 2 | — |
|
| station_idvarchar | 0% | 37 | — |
|
| station_namevarchar | 0% | 32 | — |
|
| metrovarchar | 0% | 34 | — |
|
| province_codevarchar | 0% | 12 | — |
|
| latitudedouble | 0% | 32 | 42.28 → 74.72median 48.94 | 2 outside 1st–99th percentile |
| longitudedouble | 0% | 37 | -139.13 → -52.75median -81.15 | 2 outside 1st–99th percentile |
| country_codevarchar | 0% | 1 | — |
|
| data_lag_daysbigint | 0% | 2 | 1 → 2median 1 | 1 outside 1st–99th percentile |
| tmax_cdouble | 0% | 35 | -2.3 → 25.3median 16.3 | 2 outside 1st–99th percentile |
| tmin_cdouble | 0% | 29 | -7.4 → 14.5median 7.4 | 2 outside 1st–99th percentile |
| tmean_cdouble | 0% | 33 | -4.9 → 18.5median 11.7 | 2 outside 1st–99th percentile |
| precip_mmdouble | 32.4% | 12 | 0 → 8.1median 0 | 1 outside 1st–99th percentile |
| max_gust_msdouble | 54.1% | 13 | 8.9 → 19.4median 10.8 | 1 outside 1st–99th percentile |
| heat_flagboolean | 0% | 1 | — |
|
| freeze_flagboolean | 0% | 2 | — |
|
| heavy_precip_flagboolean | 0% | 1 | — |
|
| strong_gust_flagboolean | 0% | 1 | — |
|
| extreme_weather_scoredouble | 0% | 11 | 0 → 9.4median 0 | 1 outside 1st–99th percentile |
| extreme_rankbigint | 0% | 37 | 1 → 37median 19 | 2 outside 1st–99th percentile |
| hottest_rankbigint | 73% | 11 | 1 → 10median 5.5 | 2 outside 1st–99th percentile |
| coldest_rankbigint | 73% | 11 | 1 → 10median 5.5 | 2 outside 1st–99th percentile |
| wettest_rankbigint | 73% | 11 | 1 → 10median 5.5 | 2 outside 1st–99th percentile |
| windiest_rankbigint | 73% | 11 | 1 → 10median 5.5 | 2 outside 1st–99th percentile |
| source_urlvarchar | 0% | 43 | — |
|
| row_hashvarchar | 0% | 37 | — |
|
- Current
20261001T082952Z-0e46c0a10a1c · sha256 0e46c0a10a1c…
37 rows · first snapshot
Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).
curl "https://datazimuts.com/v1/datasets/ca_station_extremes_intel/ca_station_extremes_daily" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/ca_station_extremes_intel/ca_station_extremes_daily").json()
print(ds["title"], ds["rows"], "rows")
# Sample rows for an LLM context window
for row in ds.get("sample_rows", [])[:5]:
print(row)API endpoint: https://datazimuts.com/v1/datasets/ca_station_extremes_intel/ca_station_extremes_daily
Tip: fetch /llms.txt for the full machine-readable catalog.
Where this data comes from and what was made from it. Other people's work shows as counts; only shared projects are named.
Cite this snapshot
Pinned to snapshot 20261001T082952Z-0e46c0a10a1c and its content hash, so readers get exactly the data you used.
ECCC Surface-Station Extreme Weather Intelligence (Canada). (2026). Canadian station extreme-weather intelligence: daily [Data set, snapshot 20261001T082952Z-0e46c0a10a1c, sha256 0e46c0a10a1c]. Datazimuts. Retrieved 2026-10-01, from https://datazimuts.com/en/datasets/ca_station_extremes_intel/ca_station_extremes_daily?snapshot=20261001T082952Z-0e46c0a10a1c
@misc{dz_ca_station_extremes_intel_ca_station_ext_0e46c0a1,
title = {{Canadian station extreme-weather intelligence: daily}},
author = {{ECCC Surface-Station Extreme Weather Intelligence (Canada)}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/ca_station_extremes_intel/ca_station_extremes_daily?snapshot=20261001T082952Z-0e46c0a10a1c}},
note = {Snapshot 20261001T082952Z-0e46c0a10a1c, sha256 0e46c0a10a1c80d14dd8ce81d42c7c2c6617e2f06ebf1b10e3ada70c571f30a6; accessed 2026-10-01}
}Embed a table or a chart
Paste this into any page. The embed is pinned to the same snapshot, follows the reader's light or dark setting, and always shows the source, license and a link back.
<iframe src="https://datazimuts.com/embed/chart?dataset=ca_station_extremes_intel%2Fca_station_extremes_daily&lang=en&theme=auto&snapshot=20261001T082952Z-0e46c0a10a1c&x=obs_date&y=latitude&agg=avg" title="Canadian station extreme-weather intelligence: daily" width="100%" height="380" style="border:0" loading="lazy"></iframe>
Ask about this dataset. Answers come only from its catalog record, measured profile and change history, and list the facts they used.