Skip to content

Data sources

Cascade Hydro can pull Canadian precipitation records directly from Environment and Climate Change Canada (ECCC), and resolve place names through OpenStreetMap. This page documents which services it uses, what it downloads, and what is kept locally — so you know exactly what crosses the network.

You never have to use these: a record loaded from a local CSV/Excel file, or a saved .chyd session, needs no connection at all (see Offline use).

The ECCC weather API

Station data comes from the Meteorological Service of Canada's GeoMet–OGC API at api.weather.gc.ca — an open-government OGC API – Features service. Three collections are used:

Collection What it provides
climate-stations The station directory — name, Climate Identifier, province, coordinates, elevation, and the first/last year of hourly and daily records. Metadata only.
climate-daily Daily precipitation (and optional daily variables).
climate-hourly Hourly precipitation (and optional hourly variables).

Each station is keyed by its ECCC Climate Identifier (a 5–10 character code, e.g. 1108447). Requests are read-only HTTPS GETs with a descriptive User-Agent and a short timeout, and run on a background thread so the app stays responsive.

Finding stations

From the Map tab you can locate stations three ways:

  • Radius search around a pin — returns nearby stations, nearest first.
  • Name search — substring match on the station name.
  • Climate Identifier lookup — fetch one station directly by its ID.

Why a name search downloads the whole directory

The API does not filter the station directory by name on the server, so the app fetches the full directory (~8,500 stations, in one request) and filters it locally by name. A Climate Identifier lookup, by contrast, fetches just that one station. Radius search uses a bounding-box query (or the local cache — see below).

The local station cache (metadata only)

Update station cache on the Map tab pages through the entire climate-stations directory and stores it on your machine as eccc_stations_cache.json in your user application-data folder (on Windows, under %APPDATA%\CascadeHydro). This cache holds station metadata only — never precipitation data.

Once the cache exists, station and radius searches run instantly and offline against it. Without a cache, those searches fall back to a live query so the feature still works; building the cache simply makes them fast and connection-free.

Importing a station's record

When you import a station, the app downloads that station's full precipitation record — hourly if the station has it, otherwise daily — from climate-hourly or climate-daily. Hourly data is fetched year by year (the hourly collection requires a year in each query); daily data is fetched in pages. You can optionally import additional variables alongside precipitation (e.g. temperature, snow, wind); precipitation is always included.

The downloaded record becomes your working dataset and is saved inside the .chyd session, so the analysis runs offline afterwards. The record itself is not cached separately, so re-importing a station needs a connection.

Place-name search (geocoding)

The Map tab's Search place box turns a place name into coordinates using OpenStreetMap's Nominatim geocoder — a separate service from ECCC. It performs one lookup per search and needs a connection.

What needs a connection

Action Internet required?
Station / radius search Only when there is no local cache (cache-first)
Update station cache Yes
Place-name search Yes
Import a station's record Yes
File upload, .chyd sessions, all analysis No

Attribution

Climate data is provided by Environment and Climate Change Canada through the MSC GeoMet open-data API. Place-name search is © OpenStreetMap contributors via Nominatim. Use of each service is subject to that provider's terms.

See also: Map tab · FAQ — offline use