Click a station (circle) or its sub-basin polygon to open the per-stream panel. Polygons are BC Freshwater Atlas Named Watersheds, simplified.
Click a station (circle) or its sub-basin polygon to open the per-stream panel. Polygons are BC Freshwater Atlas Named Watersheds, simplified.

What this shows. Thermal-infrared signature of the land surface (soil, rock, vegetation, paved area) captured by satellite at peak solar-heating time (~10:30 / 13:30 local). This is not air temperature and not in-stream water temperature.

Why it can look so warm. MODIS measures the ground's radiometric skin temperature at the satellite's midday overpass — the peak diurnal moment, never the night minimum. Dry, bare, or south-facing surfaces routinely run 10–20 °C above ambient air at that moment, due to solar absorption. The basin's apparent thermal gain in the map is expected, not anomalous.

How to use it. As a thermal-landscape context layer — where the basin is hottest or coolest by geography. For in-stream water temperature, see the Thermal state tab (gauged daily-mean Tw). A process-based thermal budget is a planned v2 addition.

Water temperature (last 30 days)
Discharge vs. day-of-year envelope
Discharge–temperature coupling (summer, Jun–Sep)
Temperature is the analytical indicator. Two threshold lines are drawn on the temperature plot and listed in the top-left legend: the dashed red 19 °C primary (BC WQG general salmonid stress) and the dotted darker 21 °C secondary (Hyatt 2003 Okanagan sockeye migration). Discharge is supporting context — the shaded band is the HYDAT historical day-of-year P10–P50 envelope; the line is the recent observed daily mean. The bottom Q–Tw scatter shows the per-station flow–temperature coupling over the summer (Jun–Sep) window (Spearman ρ in the upper-left; basin median ≈ -0.19, methods §3.3).
Lead-time caveat: the 14-day forecast is the scoring window, not the typical advance notice. The realized lead time on threshold-crossing warnings is mean 2.2 days / median 1 day — this is a reliable near-term trigger, not a fortnight-ahead planning forecast. Full skill numbers in the Methods tab.

Climate context — why this tool, why now

Two independent lines of evidence establish that stream thermal stress is the rising, decision-relevant signal in the Okanagan basin. Both are summarized here in plain language; the underlying analysis and citations are in the Methods tab and the full Methods Document PDF (§1 and §E.3).

1. Long-term warming — multi-decade, homogenized

A regional-anomaly composite of the four long Adjusted & Homogenized Canadian Climate Data (AHCCD; ECCC) records in the Okanagan — Kelowna, Vernon, Penticton, Summerland — warms at:

  • +0.167 °C / decade over 1908–2020 (Mann–Kendall p ≈ 1×10⁻¹⁰; ≈ 1.9 °C total over the 113-year window).
  • +0.260 °C / decade over the recent era 1975–2020 (Mann–Kendall p ≈ 7×10⁻⁴).

Window-matched against the IPCC AR6 published global rates:

  • Basin recent-era warming ≈ 1.4× the recent global-mean rate (global ~ 0.19 °C/dec).
  • Basin full-period warming ≈ 2.1× the 20th-century global-mean rate (20th-C global ~ 0.08 °C/dec).

Provenance: AHCCD is ECCC's homogenized, co-located-station-spliced temperature product — these are like-for-like observed trends (observation, not attribution). The AHCCD record ends 2020 (normal homogenized-product lag; immaterial to a ~110-year trend). Reproduced by inst/dev/22_ahccd_trend.R (artifact captured at inst/dev/out/22_ahccd_trend_20260519.txt ).

2. Present thermal regime — JJAS 2025 single-season baseline

Across the one fully-observed open-water season currently in the WSC real-time record (June–September 2025, 21 stream gauges + 3 lake gauges excluded):

  • 9 of 21 stream gauges (43 %) crossed the primary 19 °C tier (BC WQG general salmonid stress) at least once — median 68 exceedance days (max 113) among those that crossed.
  • 8 of 21 stream gauges (38 %) crossed the secondary 21 °C tier (Hyatt sockeye migration barrier) — median 52 exceedance days (max 93).
  • Peak weekly mean stream Tw across the basin: 24.6 °C ; basin-max single daily-mean: 25.3 °C .
  • Mainstem vs. tributary contrast: Lake-fed, regulated mainstem Okanagan River gauges ran warm and buffered — mean ≈ 21.8 °C, ≈ 111 days ≥ 19 °C and ≈ 89 days ≥ 21 °C. Cooler tributaries averaged ≈ 13.6 °C, ≈ 13 days ≥ 19 °C and ≈ 4 days ≥ 21 °C.
  • Flow–temperature coupling (the EFN drought signal): Spearman ρ between daily-mean discharge and daily-mean water temperature is negative at 15 of 20 stream gauges (median ρ ≈ −0.19) — the lower-flow / warmer-water pathway that the tool exists to anticipate.

Provenance: Reproduced by inst/dev/21_stream_regime_baseline.R (artifact at inst/dev/out/21_stream_regime_baseline_20260519.txt ). One season is a baseline, not a trend — provisional real-time WSC data; daily means understate instantaneous peaks; the rolling 7-day mean is computed on date-ordered observations and sparse-gauge gaps can inflate runs.

How this motivates the tool

The two lines combine to a single decision-relevant claim: the basin is warming roughly twice as fast as the 20th-century global mean, and the most recent open-water season already pushes a substantial share of the modelled stream-gauge network across the published BC salmonid-stress threshold for sizeable portions of the summer. Combined with the negative Q–Tw coupling, the operational implication is that low-flow drought conditions and thermal stress reinforce each other — making a near-term forecast of threshold-crossing risk a useful trigger for demand-side curtailment decisions (the v1 user/decision; see Methods for the management-action framing).

For the full methodological treatment — AHCCD compositing rules, Theil–Sen / Mann–Kendall procedure, station inventories, and the honest caveats — see the Methods Document PDF, §1 'Climate context'.

Cold-water refugia

Per-station classification based on peak daily-mean Tw in the OBWB-banked record. Three tiers:

  • Refugium — has not crossed 19 °C in the banked record. Conservation target. v0.2 §3.2 reported 12 of 21 gauges as refugia in JJAS 2025; classification updates automatically as the bank grows.
  • Action zone — crosses 19 °C but not 21 °C. Where the flow-temperature lever is actionable (spatially structured Q-Tw coupling; mid-elevation salmon-bearing tributaries — Mission, Inkaneep, Trout, Vernon creeks).
  • Sockeye barrier — crosses 21 °C Hyatt 2003 sockeye-migration tier. Thermal-passage barrier in the sockeye corridor; different management response cadence than 19 °C events.
Bank-coverage caveat: classification is over the period the bank covers (~2024-10 onwards) . A station classified as Refugium here may have crossed 19 °C in pre-2024 records held externally (e.g., INRS pre-2017 custodian holdings for 5 Okanagan stations — see About ).
Per-station table

Sortable + filterable. Click a column to sort.

Threshold-crossing history

Every consecutive period in the banked daily record where daily mean stream temperature equalled or exceeded one of the two management tiers. One row per event.

Filters appear under each column header (free-text for station/tier; date pickers for start/end). Click a column header to sort. The Copy / CSV / Excel buttons export the current filtered view. Empty tier-rows are stations that have never crossed that tier in the banked record ( 12 of 21 streams in the JJAS 2025 baseline; v0.2 §3.2 cold-water refugia).

Bank coverage: events are only detectable within the days we have observed. The bank starts ~2024-10 (WSC realtime window) and grows by one day per real day going forward ( Methods §2 banking ). Pre-2024 events for the 5 INRS-custodian stations are not yet ingested (Phase 2 of the data-sharing plan).

Forecast verification

How the operational M1 14-day forecast scores against what actually happened, using the rolling-origin backtest stored in data/cache/warning_skill_cases.rds (re-generated each weekly refit). The numbers below are computed from this cache at page load, so they are the same numbers the v0.2 paper §3.1 quotes.

Honest lead-time caveat: the 14-day forecast is the scoring window , not the typical advance notice. Realised lead time on hits is mean 2.2 days / median 1 day — a reliable near-term trigger, not a fortnight-ahead planning forecast. The histogram on this page makes that distribution visible.

Contingency-table skill, per threshold

POD = probability of detection (TP / (TP + FN)). FAR = false-alarm ratio (FP / (TP + FP)). PSS = Peirce skill score. HSS = Heidke skill score. Both PSS and HSS are 1 for a perfect forecast and 0 for random; see Methods §3.6 and the Glossary for definitions.


Realised lead-time distribution (hits only)

Each hit (warned + event) contributes one realised-lead-time value to the histogram. Bin width = 1 day. The mean and median are drawn as vertical reference lines.


Reliability diagram (forecast probability vs observed event rate)

Cases are binned by their forecast probability (10 equal-width bins). The y-axis is the observed event rate within each bin. A well-calibrated forecaster falls on the y = x diagonal: 'when I say 70 %, the event happens 70 % of the time.' Marker size scales with the number of cases in the bin (small markers = sparse evidence, large markers = many cases).

Okanagan Stream Temperature Dataset

The complete daily-mean stream-temperature record this tool is built on, accumulated past WSC's 577-day rolling window. Free + open. Released under CC-BY 4.0 .

Latest snapshot · oktemp_streamtemp_latest.zip

Daily-frozen snapshot, regenerated each pipeline refresh (~3 h cadence). The link below always points at the most recent successful export.

⬇ Download latest (ZIP) Browse all dated snapshots →

Daily snapshots: each refresh writes oktemp_streamtemp_YYYY-MM-DD.zip to the public bucket plus the oktemp_streamtemp_latest.zip stable alias. Cite the date-stamped file in any published work until the Zenodo DOI is in place.

What's inside the ZIP

  • stream_temperature_daily.csv — the primary data. One row per station × per date, columns station , date , water_temp (°C), discharge (m³/s).
  • station_metadata.csv — one row per station with WSC ID, name, decimal-degree coordinates, drainage area, period of record, and (new) an external_historical_record column flagging stations for which an external custodian (currently INRS) holds pre-OBWB-bank records.
  • snapshot.csv + refresh_log.csv — pipeline refresh provenance (this snapshot's metadata + the project's rolling 90-entry refresh log).
  • data_dictionary.md — column-by-column definitions, units, QC, missing-value convention, sort order, conventions, versioning.
  • LICENSE.md — full CC-BY 4.0 terms + the compose-attribution note for upstream WSC observations (OGL-Canada 2.0).
  • README.md — dynamically rendered, stamped with this snapshot's date, row count, station count.

How to cite

Jatel, N. and Okanagan Basin Water Board (2026). Okanagan Stream Temperature Dataset (snapshot YYYY-MM-DD ). Distributed under CC-BY 4.0. https://temp.stream/.

A long-term archival DOI via Zenodo is planned in v1.x; cite the DOI in addition to or in place of the URL once issued.

Compose-attribution

Any derived work should credit all three:

  1. Water Survey of Canada (Environment and Climate Change Canada) for the upstream observations — under the Open Government Licence — Canada (OGL-Canada 2.0) .
  2. Okanagan Basin Water Board (Jatel, N. and OBWB, 2026) for the curated dataset — under CC-BY 4.0.
  3. Any external custodians whose data informed the snapshot. As of 2026-05-20 the only such custodian on the public distribution's metadata is Andre St-Hilaire and Claudine Boyer (INRS) — see the external_historical_record column in station_metadata.csv .

Update cadence + versioning

  • The pipeline refreshes every 3 hours; the dated-snapshot file is rewritten through the day and stabilises at the last write before midnight UTC.
  • The oktemp_streamtemp_latest.zip alias always points at the most recent successful export. For citations or reproducibility, prefer the explicit oktemp_streamtemp_YYYY-MM-DD.zip file.
  • Long-term archival roadmap — primary deposit in Borealis (the Canadian Dataverse Repository, UBC Dataverse Collection curated by UBC Library, with data on Canadian servers operated by Scholars Portal at the University of Toronto and DOIs minted through DataCite Canada ), and a secondary Zenodo deposit for international discoverability. Repository choice supports Canadian data-residency and data-sovereignty objectives. Until these DOIs are issued, the date-stamped ZIP filename is the citable handle.

Programmatic access

The latest ZIP is at a stable public URL. Examples:

# bash / curl
curl -O https://storage.googleapis.com/obwb-okanagan-streamtemp/oktemp_streamtemp_latest.zip

# R
download.file("https://storage.googleapis.com/obwb-okanagan-streamtemp/oktemp_streamtemp_latest.zip",
              destfile = "oktemp_latest.zip")
unzip("oktemp_latest.zip")
df <- read.csv("stream_temperature_daily.csv")

# Python
import urllib.request, zipfile
urllib.request.urlretrieve(
    "https://storage.googleapis.com/obwb-okanagan-streamtemp/oktemp_streamtemp_latest.zip",
    "oktemp_latest.zip")
with zipfile.ZipFile("oktemp_latest.zip") as z:
    z.extractall(".")
import pandas as pd
df = pd.read_csv("stream_temperature_daily.csv", parse_dates=["date"])

External data-source registry

A machine-readable inventory of every external program holding Okanagan-relevant stream-temperature or related data — what they hold, how to access them, attribution requirements, whether oktemp ingests them — lives at inst/extdata/external_data_sources.csv in the project repository. Programs currently catalogued:

  • WSC — federal real-time hydrometric feed (PRIMARY INGEST, live).
  • INRS — Quebec custodian of pre-2017 WSC records for 5 Okanagan stations (METADATA ONLY; Phase 2 ingest pending data-share).
  • BC AQUARIUS — provincial time-series repository (NOT INGESTED — credential-blocked; long- term deposit destination).
  • BC EMS — Environmental Monitoring System water-chemistry grab samples (NOT INGESTED — portal accessible).
  • OBMEP — Okanogan Basin Monitoring + Evaluation Program (Confederated Colville Tribes' Fish & Wildlife Department in coordination with Okanagan Nation Alliance), 22 Tw monitoring locations (NOT INGESTED — highest-priority v1.x target). Portal at okanoganmonitoring.org .
  • BC RFC flow models — CLEVER / COFFEE / WARNS / ELF (COMPLEMENTARY — candidate M2 replacement for the discharge column).
  • ONA EFN, Okanagan Lake collab, OBWB WQ — additional context-only or out-of-scope entries.

See the About tab for a plain-language glossary of every acronym; see the Methods tab §3.7 for the detailed comparison to BC provincial water tools and Appendix C for AQUARIUS supplementary access notes.

Questions, corrections, contributions

If you spot an error in the dataset, want to contribute an external time-series, or have a use-case the current schema doesn't serve, get in touch:

Methods

This tool implements the design in Okanagan Stream Temperature Risk Tool: Methods and Development Plan (working document, current version — May 2026) — a living technical document; see the linked PDF for the exact version stamp and full detail. This is a DRAFT pending OBWB expert review before operational deployment; the forecast skill is verified on one open-water season (see How well it works below for the honest limitations).

Model family
  • M1 — Temperature model (live): a statistical model that learns each stream's typical response to air temperature and discharge and predicts daily stream temperature with an honest uncertainty range. Technical term: hierarchical generalized additive model (HGAM).
  • M2 — Flow context (partly live): the day-of-year historical discharge envelope (P10–P50 band, median to low-flow, from HYDAT) plus, in late-summer, a recession-curve discharge forecast.
  • M3 — Demand overlay (not yet wired): a placeholder for licensed withdrawal scenarios that would simulate how curtailment changes the thermal-stress trajectory.
  • M4 — Risk language (live): converts the M1 probability of crossing a threshold into one IPCC AR6 calibrated word (e.g., likely , very likely ).
Precedent
  • USGS Delaware River Basin stream-temperature forecasting (Zwart et al. 2022)
  • USFS NorWeST / Spatial Stream Network models (Isaak et al. 2017)
  • Pacific Northwest GAM and ML approaches (sub-1 to 1.5 °C RMSE benchmark)

The hierarchical GAM is adopted for v1 because the project is forecast-oriented and the v1 station set is modest. SSN modelling is retained as a v2 candidate as station density grows.

Risk ranking

The colour on the Thermal risk tab is the end of a four-step chain — one number per station, reduced to one calibrated word:

  1. Predict (M1). The hierarchical GAM, fit with the gaulss location-scale family, returns a daily mean-temperature point estimate and a row-specific residual SD (a second linear predictor models log-SD as a smooth of air temperature and day-of-year). That heteroscedastic SD is what lets risk spread across the lexicon instead of collapsing every station to “exceptionally unlikely.”
  2. Forecast. The AR(1) thermal-memory term is rolled forward day-by-day over a +1…+14 d grid (day-of-year climatology air-temperature covariate, persisted discharge — the methods paper §E.7 fallback path), giving a fit and SE for every station-day.
  3. Exceedance (M4). Treating each day's prediction error as Gaussian, the per-day probability of crossing the 19 °C threshold is P = 1 − Φ((T − fit) / se) . The 14-day horizon is collapsed to a single P(any day in the next 14 d exceeds the threshold), estimated from the joint autocorrelated posterior of the forecast rollout — the legacy fallback combines the daily probabilities under day-to-day independence ( 1 − ∏(1 − p_day) ), which slightly over-counts versus the autocorrelated estimate. This horizon probability is the primary risk score the dots and polygons read.
  4. Word (AR6). That probability is mapped to the IPCC AR6 calibrated-likelihood lexicon (Mastrandrea et al. 2010; AR6 Table 1.1; after Fyke et al. 2026): ten bands from exceptionally unlikely (≤ 0.01) to virtually certain (≥ 0.99); on a band edge the higher-confidence word wins. Station dots take this colour; each FWA named-watershed polygon is tinted by the worst (highest-rank) word among the stations inside it, and polygons with no contained station stay neutral grey.
Model — use and assumptions

What the model does. M1 predicts each station's daily mean water temperature 1–14 days ahead from a small set of inputs: recent air temperature (from the matched ECCC station), current discharge (from WSC), the day of year (season), and the station's own thermal memory (yesterday's water temperature). The model is fit jointly across all monitored streams so that data-poor stations borrow strength from data-rich ones — that is the “hierarchical” part.

What it is for. Near-term decision support for OBWB and local-government water managers: when current conditions and the next 1–14 days indicate elevated probability of crossing the v1 19 °C thermal-stress threshold (BC Water Quality Guideline; primary tier), the tool helps justify advancing a drought stage and tightening demand-side curtailment. It is not a flow-allocation model and not a recommendation engine — it surfaces calibrated risk; the decision is the manager's.

Key assumptions and limitations. Read these before interpreting the forecast:

  • Gaussian prediction error. The probability of crossing the threshold assumes the model's residual error is bell-shaped around the predicted value. Verified empirically on the available record (90 % prediction intervals cover 92–99 % of held-out observations).
  • Stationarity over the short horizon. Each station's typical response to air temperature and discharge is assumed not to shift dramatically within the 14-day forecast window. Long-term shifts (riparian shading change, channel modification, sustained warming) require the model to be refit; the operational pipeline refits weekly.
  • Air-temperature forecast covariate. v1 uses a day-of-year air-temperature climatology as the forward covariate, not an ECCC GDPS/HRDPS NWP forecast. Operationally this means the tool is most reliable for the very near term (1–3 days) and weakens as the horizon extends; the realized lead time on threshold-crossing warnings is mean 2.2 days / median 1 day. Plugging in a real air-temperature forecast is a v1.x improvement.
  • Verification ceiling: one open-water season. WSC stream temperature is a real-time-only product (no historical archive for these stations), and the project began banking the daily series on 2026-05-19, so honest out-of-sample testing currently spans the JJAS 2025 season only. Calibrated likelihood statements travel with this one-season provenance; a multi-season held-out backtest becomes possible once the bank has accrued more open-water seasons.
  • Spatial scope of the two thresholds. The primary 19 °C tier (BC WQG) is general-salmonid stress and applies basin-wide. The secondary 21 °C tier (Hyatt et al. 2003) is the documented adult-sockeye en route migration block — biologically on-target on the mainstem Okanagan River corridor, informational on small tributaries where sockeye do not migrate.
  • What this tool does not model. It does not model fish stress directly; it forecasts the thermal exposure variable that drives that stress. It does not model reservoir-release scenarios (those are not an effective thermal lever in this basin's epilimnetic- outflow mainstem; see methods §1). It does not currently represent demand-side withdrawal scenarios (M3 placeholder).
  • Status. DRAFT, pending OBWB expert review. Numbers shown operationally are honest model output, but the tool is not yet a sanctioned operational decision system.
How well it works

In plain language: the model is accurate enough to be a useful near-term trigger, but the 14-day window is the window over which we score the forecast — not the practical lead time, which is much shorter.

  • Accuracy (within the observed record). The fitted model explains about 99.5 % of the day-to-day variation in water temperature, with a typical site-by-site error of about 0.5 °C — comfortably inside the 1.0–1.5 °C benchmark band reported by published Pacific-Northwest studies for this kind of model. The model beats a simple Mohseni air→water logistic baseline at 21 of 26 streams.
  • Forecast skill (held-out test). An honest rolling-origin test (40 weekly cut-offs, the model refit each time on data up to that date with no peek at the future): 1-day-ahead error ≈ 0.6 °C, 7-day ≈ 1.9 °C, 14-day ≈ 2.1 °C; the 90 % prediction interval covers 92–99 % of held-out observations (slightly conservative, i.e., the model is honest about its uncertainty).
  • Warning skill at the 19 °C primary tier. Of the days when stream temperature actually crossed 19 °C in the next 14 days, the tool warned in advance ~94 % of the time (detection rate, sometimes called POD). Of the warnings issued, ~26 % were false alarms (false-alarm ratio, FAR). Peirce skill 0.86, Heidke skill 0.78 — both well above chance. At the 21 °C sockeye secondary tier the same backtest gives 89 % detection / 35 % false-alarm ratio.
Honest lead-time caveat (read this). The 14-day horizon is the window the forecast is scored over, not the typical advance notice. The realized lead time on threshold-crossing warnings is mean 2.2 days / median 1 day — this is a reliable near-term trigger, not a fortnight-ahead planning forecast. Improving lead time is on the v1.x roadmap (real ECCC numerical air-temperature forecast input; alternative trigger probabilities trading false-alarm rate for earlier warning).

An Okanagan Basin Water Board project.

Documents & code: Source repository (GitHub) · Methods Document (current draft, PDF) · Methods Document (current draft, Markdown)

Data availability

The accumulated daily stream-temperature record this tool is built on is published as a public dataset:

  • Latest snapshot (ZIP): Download — contains stream_temperature_daily.csv, station_metadata.csv, provenance.csv, README.md, data_dictionary.md, LICENSE.md.
  • License: Creative Commons Attribution 4.0 International (CC-BY 4.0).
  • Citation: Jatel, N. and Okanagan Basin Water Board (2026). Okanagan Stream Temperature Dataset . Distributed under CC-BY 4.0. Available at https://temp.stream/.
  • Update cadence: daily snapshot, regenerated each refresh; the date-stamped file stabilises at the last write of the day. Long-term Zenodo DOI archival is planned in v1.x.

WSC's near-real-time feed serves a fixed rolling 577-day window and there is no HYDAT historical archive for stream temperature at these stations — the OBWB-curated bank is the only growing, permanent record. The compose-attribution requirement (CC-BY 4.0 on this curated product, OGL-Canada 2.0 on the upstream WSC observations) is described in LICENSE.md inside the ZIP.

Recent pipeline refreshes

One row per scheduled or manual targets::tar_make() . Useful for spotting missed daily refreshes or model-skill regressions. The full log lives in data/cache/refresh_log.csv and is kept to the most recent 90 entries; older history accrues in the methods document.


Disclaimer & Terms of Use

No warranty. This tool is provided as is , without warranty of any kind, express or implied, including but not limited to warranties of accuracy, completeness, reliability, merchantability, fitness for a particular purpose, or non-infringement.

Third-party data. The tool ingests publicly available observations from the Water Survey of Canada (Environment and Climate Change Canada) and the BC Freshwater Atlas. The Okanagan Basin Water Board (OBWB) is not the source of these data and makes no representation as to their accuracy, completeness, or timeliness. Data may be provisional, subject to revision, or unavailable without notice.

Model output is an estimate. The stream-temperature predictions and threshold-exceedance likelihood statements shown here are produced by a statistical model fit to historical observations. They are best understood as informed estimates with quantifiable uncertainty, not as forecasts of actual conditions at any specific location and time. Out-of-sample model error (year-block cross-validation RMSE) is reported in the methods document; users should not assume accuracy beyond that bound.

Not for emergency or safety-of-life use. This tool is intended to support long-horizon water-management decisions. It is not designed for, and must not be relied upon as the sole basis for, decisions affecting public safety, emergency response, infrastructure operations, or regulatory compliance.

User responsibility. Any decision based on information from this tool remains the responsibility of the user. Users are expected to verify outputs against independent sources and to apply professional judgment before taking management action.

Limitation of liability. To the maximum extent permitted by law, the Okanagan Basin Water Board, its directors, officers, employees, contractors, and agents shall not be liable for any direct, indirect, incidental, special, consequential, or exemplary damages, including but not limited to loss of profits, revenue, data, or alternative uses, arising out of or in connection with the use of, or inability to use, this tool or any information obtained from it, even if advised of the possibility of such damages.

Acknowledging this notice. By using this tool, you acknowledge that you have read and understood this notice and agree to its terms.

Compare stations

Overlay daily-mean stream-temperature time-series for 2–5 stations on common axes. Useful for spotting spatial differences in thermal regime — refugia vs. action-zone vs. mainstem patterns ( methods §3.2 ).

Threshold lines: dashed red 19 °C (BC WQG primary tier), dotted dark red 21 °C (Hyatt 2003 sockeye tier). Per-station Spearman ρ for Q-Tw coupling (summer, Jun–Sep) is shown in the legend where discharge is present — basin median ≈ -0.19 (methods §3.3).
Bank coverage: stations are shown over the chosen window from the banked daily record (~2024-10 onwards). Pre-2024 records held by INRS for five Okanagan stations are not yet ingested (Phase 2 of the data-sharing plan; see About ).

About this tool

In one minute
  • Who this is for: water managers making drought-stage and curtailment decisions in the Okanagan — the Province of BC , the Okanagan Nation Alliance Fisheries Department , and local governments — plus the scientific reviewers, researchers, and partner-agency staff evaluating the underlying methods or considering integration.
  • What you can do here: see today's thermal state across the basin ( Thermal state tab) and the 14-day exceedance-risk forecast in plain IPCC AR6 language ( Thermal risk tab); open any station for its observed trajectory + forecast + threshold-crossing history ( Station tab); compare 2-5 stations side by side ( Compare ); see which streams are cold-water refugia ( More → Refugia ); or download the full daily dataset under CC-BY 4.0 ( Data tab).
  • Where to start: click any station marker on the Thermal state map for that station's detail. For the technical methods + skill numbers, see the Methods tab. For the underlying peer-review manuscript, see the linked PDF in the Methods tab. Acronyms used elsewhere in the app are defined in the Glossary below.

Temp.Stream (the Okanagan Stream Temperature Risk Tool) is an operational forecasting + decision-support application for daily mean stream temperature at approximately 24 stream-temperature stations (of 30 Water Survey of Canada core gauges) in the Okanagan Basin of interior British Columbia. It is built and maintained by the Okanagan Basin Water Board (OBWB) as technical support to the basin's decision-makers: the Province of British Columbia , the Okanagan Nation Alliance Fisheries Department , and local governments .

The tool combines (a) live near-real-time observations from the Water Survey of Canada feed, (b) a hierarchical Gaussian location-scale generalised additive model (HGAM) that produces a 14-day forecast with station-specific heteroscedastic uncertainty, and (c) an M4 decision layer that expresses the probability of exceeding a salmonid thermal-stress threshold in the IPCC AR6 calibrated-likelihood lexicon paired with a controllable management action (Fyke and Weaver 2023). The forecasting layer fills a specific operational gap: BC's existing provincial water-monitoring stack (the River Forecast Centre, AQUARIUS) covers flow forecasting and the BC Water Quality Guideline for Temperature lives in the retrospective policy layer, but no operational stream-temperature forecast tool exists at provincial scale.

Draft. This is a v1 DRAFT pending OBWB expert review before operational use. Outputs are provided as is with no warranty. See the Methods tab for the full disclaimer + the technical model description, skill statistics, and lead-time caveats.

Contact + reporting issues

  • Maintainer: Nelson Jatel, Water Stewardship Director, Okanagan Basin Water Board. Email: njatel@limnology.ca .
  • Bug reports + feature requests: GitHub issues (preferred), or email the maintainer above.

How to cite

For the application as a whole:

Jatel, N. and Okanagan Basin Water Board (2026). Okanagan Stream Temperature Risk Tool. Available at https://temp.stream/. Accessed YYYY-MM-DD.

For the underlying CC-BY 4.0 dataset (the accumulating daily stream-temperature record):

Jatel, N. and Okanagan Basin Water Board (2026). Okanagan Stream Temperature Dataset. Distributed under CC-BY 4.0. https://temp.stream/. Long-term archival is planned via Borealis (the Canadian Dataverse Repository, UBC Dataverse Collection curated by UBC Library, with data on Canadian servers and DOIs minted through DataCite Canada) for primary Canadian- residency archival, with a secondary Zenodo deposit for international discoverability. Cite the DOI in addition to or in place of the URL once issued.

License

Code: Source repository is the property of the Okanagan Basin Water Board. Reproducibility-oriented release under a permissive license is planned. Dataset: Creative Commons Attribution 4.0 International . Upstream WSC observations: under the Open Government Licence — Canada (OGL-Canada 2.0) . Compose-attribution applies in any derived work: please credit the OBWB curated product, the WSC/ECCC upstream observations, and any external custodians listed below.

Acknowledgements

Upstream observations are from the Water Survey of Canada (Environment and Climate Change Canada). Additional climate input from ECCC weather stations and the AHCCD homogenized climate record. We thank Claudine Boyer and André St-Hilaire (INRS, Québec) for sharing inventory access to a custodial database of pre- 2017 WSC and ECCC daily Tw observations for five Okanagan stations, a record complementary to the OBWB-curated bank and being evaluated for integration. The Okanagan Nation Alliance Fisheries Department leads Okanagan Nation Fisheries Management (https://syilx.org/fisheries) and provides the salmon-science framing of the secondary 21 °C threshold; the Okanagan Nation Alliance in coordination with the Confederated Colville Tribes' Fish and Wildlife Department operates the Okanogan Basin Monitoring and Evaluation Program (OBMEP), a complementary 22-site Tw monitoring program identified as a v1.x ingest target. Manuscript co-authors who have shaped the methods and decision-support framing include Jeremy Fyke (ECCC) — calibrated-likelihood + controllable-action framing; Denise Neilsen (formerly AAFC Summerland) — regional climate context; Kirsten Hannam (AAFC Summerland) ; George Wang (ONA) ; and Sheena Spencer (BC Ministry of Forests) . A complete machine-readable registry of upstream and external data sources is at inst/extdata/external_data_sources.csv in the project repository.


Glossary

Plain-language definitions of every acronym + term used elsewhere in the app. Technical detail is in the Methods tab.

Models + statistical terms

M1
The 14-day stream-temperature forecasting model. A hierarchical generalised additive model with a Gaussian location-scale family (`gaulss` in `mgcv`), meaning every forecast has its own predictive standard deviation — not a single basin-wide uncertainty value.
M2
The 14-day discharge recession-forecast model, used in the late-summer low-flow window only. Honest about its domain: outside the recession window the panel shows a note rather than a forecast.
M4
The decision-layer model that converts M1's probability of exceeding a threshold into an AR6 calibrated- likelihood word paired with a controllable management action.
HGAM
Hierarchical Generalised Additive Model. A flexible regression approach that partially pools information across stations while keeping each fitted term inspectable. The interpretability + uncertainty- propagation trade-off this tool makes versus a deep- learning forecaster.
AR(1)
First-order autoregressive term — yesterday's water temperature is the single best predictor of today's, and the AR(1) rollout drives the 14-day forecast
POD
Probability of Detection. Of the days when the threshold is crossed in reality, the fraction the forecast warned about in advance. Currently ~0.94 at the 19 °C tier.
FAR
False-Alarm Ratio. Of the warnings issued, the fraction that did not correspond to an actual crossing. Currently ~0.26 at the 19 °C tier.
Peirce skill / Heidke skill
Standard contingency-table skill scores. Peirce skill 0.86 and Heidke skill 0.78 — both well above chance.
Spearman ρ
A rank correlation coefficient, robust to outliers. Used on the Q-Tw scatter to summarise flow-temperature coupling at each station. Basin median across the Okanagan is ≈ -0.19; negative at 15 of 20 stream gauges.

Thresholds + thermal regime

Tier 1 — 19 °C primary tier
The BC Water Quality Guideline for Temperature (Oliver & Fidler 2001) value for general salmonid thermal-stress protection. The value the operational AR6 alert is scored against.
Tier 2 — 21 °C Hyatt 2003 sockeye-migration tier
The Okanagan-specific sockeye adult-migration thermal barrier value from Hyatt, Stockwell & Rankin (2003, Hydrobiologia 503: 33-41). Reported alongside Tier 1 but not the primary alert threshold.
BC WQG
British Columbia Water Quality Guideline for Temperature — the static guideline value behind Tier 1.
MWMT
Maximum Weekly Maximum Temperature — BC's recommended salmonid-thermal-stress reporting metric (a 7-day- rolling maximum). Not yet a primary output of this tool; on the v1.x roadmap.
EFN / CEFT
Environmental Flow Needs / Critical Environmental Flow Thresholds — the regulatory frame within which water- withdrawal decisions sit. The tool is meant to support EFN/CEFT-aware management.
Cold-water refugia
Streams that never crossed 19 °C in the JJAS-2025 baseline — 12 of 21 Okanagan stream gauges. Important conservation targets distinct from the action zone.
Action zone (mid-elevation tributaries)
Mid-elevation salmon-bearing tributaries (Mission, Inkaneep, Trout, Vernon creeks) where flow-temperature coupling is materially negative and drought-stage curtailment can plausibly alter thermal outcomes.
Lake-buffered mainstem
The regulated mainstem Okanagan River, where Tw is decoupled from local flow (ρ(Q, Tw) ≈ 0) — drought- stage curtailment will not change mainstem temperature.

Data + provenance

WSC / ECCC
Water Survey of Canada / Environment and Climate Change Canada — the federal agency that operates the near- real-time hydrometric feed underlying this tool.
HYDAT
WSC's historical hydrometric archive. Holds essentially no stream temperature for these stations — the entire reason a banking layer is necessary.
Banking layer
Project mechanism that accumulates daily Tw past WSC's 577-day rolling window so the public record grows indefinitely. The accumulating record is itself a deliverable, distributed under CC-BY 4.0.
AHCCD
Adjusted and Homogenized Canadian Climate Data — ECCC's homogenized long-record air-temperature product, used to set the multi-decadal regional warming context.
ERA5-Land
Copernicus reanalysis product, kept as an independent cross-check on the AHCCD warming context — a warming-trend reference, not a model input.
AQUARIUS
BC's provincial time-series database. Holds selected continuous Tw but is currently credential-blocked for this project.
OBMEP
Okanogan Basin Monitoring and Evaluation Program — a complementary 22-site Tw monitoring program operated by the Confederated Colville Tribes' Fish & Wildlife Department in coordination with ONA. Public portal at okanoganmonitoring.org .

Forecast + uncertainty

14-day forecast
The scoring window the forecast layer is evaluated over. Not the typical advance notice — that is mean 2.2 days / median 1 day.
90 % prediction interval (PI)
The band drawn around the M1 forecast. Constructed so that 90 % of actual future observations should fall inside; empirical coverage is 92-99 % (slightly conservative).
AR6 calibrated-likelihood lexicon
The IPCC AR6 vocabulary that maps numeric probabilities onto a small fixed word set (virtually certain, very likely, likely, about as likely as not, unlikely, very unlikely, exceptionally unlikely). The decision layer uses this so likelihoods are communicated in defined probability ranges, not vague qualifiers.
DOY envelope
Day-of-year percentile envelope — the shaded P10-P50 band on the discharge panel, computed from the HYDAT historical record. The reference 'what's typical for this date' band against which today's observed flow is compared.