Skip to content

Instrument · calibration

Node · envelope, buffer, quality

Site · outbox

governed data store · inbox, governed data

Consumer · product

4.56 °CGNSS ±1 µs · u ±0.15
flags none · aws-07

NOAA ISD · U.S. Government work

USGS NWIS · U.S. Government work

ECCC hydrometric · ECCC end-use licence

NEON · CC0 1.0

Argo floats · CC BY 4.0

AmeriFlux · CC BY 4.0

WRI power plants · CC BY 4.0

Sensor.Community · ODbL 1.0 · research only

INTERMAGNET · CC BY-NC 4.0 · research only

PSMSL tide gauges · Free with citation · research only

Derived product · 2 sources, 1 attribution line

Research · open

Commercial API · open

Enterprise · open

Government · open

Open release · open

NOAA ISD

ECCC hydrometric

USGS NWIS

Argo floats

P1 · gridded field · v1

P2 · index · v1

P3 · nowcast · v1

P4 · QC report · v1

P5 · composite · v1

P6 · index of indices · v1

API

Map

Export

Alerts

Canada

United States of America

Germany

Japan

Australia

Brazil

refused at the boundary

Sites

Governed products

API

Events

Maps

Export

Open release

Inbound management path · none

Alberta · 146 stations

Intro. Instrument · calibration; Node · envelope, buffer, quality; Site · outbox; governed data store · inbox, governed data; Consumer · product; 4.56 °CGNSS ±1 µs · u ±0.15flags none · aws-07

Data · Explainer

Grid data, licensed for your use.

Every value leaves the instrument with its unit, time quality, quality flags and provenance, and keeps them all the way to your product. The licence of every source is carried through to every product, corrections flow downstream without deleting history, and residency is fixed by contract.

Sources in the register
30
Cleared for commercial use
19
Fields in an observation
13
Steps from instrument to product
7

01 · Pipeline

The value never travels alone.

An instrument measures with its identity and calibration. The node wraps the value in an observation envelope with time quality, buffers it when the link drops, measures quality and uncertainty, and publishes through a transactional outbox, delivered at least once. The inbox upstream deduplicates by event id, so a value lands once however often it is sent. Inject a fault and follow the packet.

Fault

  1. Measurement with sensor identity and calibrationinstrument → node · calibration-record
  2. Wrap in an observation envelope with time qualitynode → node · observation
  3. Buffer locally (store-and-forward when the link drops)node → node · event-envelope
  4. Measure quality and uncertainty, attach quality flagsnode → node · quality-flag
  5. Commit with transactional outbox and publish, delivered at least oncenode → site · event-envelope
  6. Consumer inbox deduplicates and applies each record once into governed datasite → data-store · observation
  7. Governed product through API, map or export, correction-awaredata-store → api-consumer · product-manifest
{ "observationUni": "obs-1001", "systemUni": "aws-07", "observedProperty": "air_temperature", "phenomenonTime": "2026-10-28T05:14:18Z", "resultTime": "2026-10-28T05:14:18Z", "result": 4.56, "unit": "Cel", "uncertainty": { "u": 0.15, "k": 2 }, "qualityFlags": [], "timeQuality": { "source": "GNSS", "offsetBound": "±1 µs" }, "evidenceRefs": [ "cal-aws-07-r4" ], "schemaVersion": "1.0" }
Delivered to the inbox
0
Applied once
0

02 · Licensing

A product inherits every licence it touches.

A derived product carries the union of its inputs’ obligations and the intersection of their permissions. One non-commercial input closes the commercial tiers; one share-alike database fixes the licence of what is built from it; every attribution travels. Choose the sources a product draws on and see where it may go.

Attribution lines carried
1
Share-alike
none
Non-commercial input
none
Tiers open to this product
5 of 5 · research, commercial api, enterprise, government, open release

03 · Corrections

A correction flows down. History stays.

When a source corrects a value, the dependency graph is walked: every product that used it is marked stale, only those are recomputed, each gets a new version that names what it supersedes, and subscribers are told. Nothing is deleted; the old version stays readable with its correction state. Pick a source to correct.

Correct

  1. Upstream correctionsource-steward → data-store · correction-notice
  2. Walk dependency graph; mark dependent state stale or disputeddata-store → data-store · correction-notice
  3. Selective recomputedata-store → data-store · evidence-record
  4. New version; notify subscribers, UI and exportsdata-store → api-consumer · product-manifest
Products marked stale
–
Left untouched
–
Subscribers notified
–

04 · Residency

Where data lives is a contract term.

The compiler evaluates data rights and locality before it places anything, and it is compute-to-data aware: when rows may not leave a region, the work travels to the data and only the permitted result comes back. Set the region, the requester and the request.

Data region

Requester in

Request

Decision
refused at the boundary
Crosses the boundary
the request only
Distance travelled
6,420 km each way

05 · Exchange

Out by contract. Never in.

Governed products reach people and applications through versioned APIs, events, maps and exports. None of them opens an inbound management path into a site: requests stop at the governed product, and a map paint is bound to its product by a grounding receipt. Open release is one more channel, open only when the licence allows it.

Channel

Standards
OGC API Common · OGC SensorThings API · OpenAPI 3.1
What travels
versioned product records, each value with its quality and provenance
Inbound path to the site
none

06 · Requests

Ask for an area and a window.

A request names a property, an area and a time window. The size of the answer follows from the stations inside the area, the window and the reporting interval; each observation comes back with its quality and provenance attached. The stations counted here are real surface weather stations.

Area

Interval

Form

GET /v1.1/Observations ?$filter=st_within(FeatureOfInterest/feature, geography'POLYGON((-120 49,-110 49,-110 60,-120 60,-120 49))') and ObservedProperty/name eq 'air_temperature' and phenomenonTime ge 2026-10-27T15:00:00Z and phenomenonTime lt 2026-10-28T05:00:00Z &$select=phenomenonTime,result,resultQuality &$top=2044
Stations in the area
146
Observations returned
2,044
Response size, uncompressed
734.7 kB
Building the scene…
Data · Explainer

Grid data, licensed for your use.

Every value leaves the instrument with its unit, time quality, quality flags and provenance, and keeps them all the way to your product. The licence of every source is carried through to every product, corrections flow downstream without deleting history, and residency is fixed by contract.

01 · Pipeline

The value never travels alone.

An instrument measures with its identity and calibration. The node wraps the value in an observation envelope with time quality, buffers it when the link drops, measures quality and uncertainty, and publishes through a transactional outbox, delivered at least once. The inbox upstream deduplicates by event id, so a value lands once however often it is sent. Inject a fault and follow the packet.

Fault
    
          
    Delivered to the inbox
    –
    Applied once
    –
    02 · Licensing

    A product inherits every licence it touches.

    A derived product carries the union of its inputs’ obligations and the intersection of their permissions. One non-commercial input closes the commercial tiers; one share-alike database fixes the licence of what is built from it; every attribution travels. Choose the sources a product draws on and see where it may go.

    Attribution lines carried
    –
    Share-alike
    –
    Non-commercial input
    –
    Tiers open to this product
    –
    03 · Corrections

    A correction flows down. History stays.

    When a source corrects a value, the dependency graph is walked: every product that used it is marked stale, only those are recomputed, each gets a new version that names what it supersedes, and subscribers are told. Nothing is deleted; the old version stays readable with its correction state. Pick a source to correct.

    Correct
      Products marked stale
      –
      Left untouched
      –
      Subscribers notified
      –
      04 · Residency

      Where data lives is a contract term.

      The compiler evaluates data rights and locality before it places anything, and it is compute-to-data aware: when rows may not leave a region, the work travels to the data and only the permitted result comes back. Set the region, the requester and the request.

      Data region
      Requester in
      Request
      Decision
      –
      Crosses the boundary
      –
      Distance travelled
      –
      05 · Exchange

      Out by contract. Never in.

      Governed products reach people and applications through versioned APIs, events, maps and exports. None of them opens an inbound management path into a site: requests stop at the governed product, and a map paint is bound to its product by a grounding receipt. Open release is one more channel, open only when the licence allows it.

      Channel
      Standards
      –
      What travels
      –
      Inbound path to the site
      none
      06 · Requests

      Ask for an area and a window.

      A request names a property, an area and a time window. The size of the answer follows from the stations inside the area, the window and the reporting interval; each observation comes back with its quality and provenance attached. The stations counted here are real surface weather stations.

      Area
      Interval
      Form
      
            
      Stations in the area
      –
      Observations returned
      –
      Response size, uncompressed
      –
      07 · Scale

      From one station’s record to a global archive.

      The smallest unit is one station’s record: values with their time, place, quality and provenance. A site merges its instruments into one record; a cluster keeps a shared archive; a region publishes a catalogue; the global layer federates catalogues so a user finds data without knowing who holds it. The same principles apply at every level: findable, accessible, interoperable and reusable, for people and for machines.

      Sources Wilkinson et al., “The FAIR Guiding Principles for scientific data management and stewardship”, Scientific Data, 2016

      08 · Lineage

      Every product can name what it was made from.

      A value moves from raw counts to calibrated units, through quality control, into derived products and finally publication. At each step the lineage is recorded in the terms of the W3C provenance model: the entity produced, the activity that produced it and the agent responsible, including the software version. When an upstream value is corrected, the lineage finds every product downstream that must be remade.

      Sources W3C, PROV-O: The PROV Ontology

      09 · Archive

      Kept for decades, readable when needed.

      Long-term keeping is a discipline of its own. The reference model for an open archival information system divides it into ingest, archival storage, data management, preservation planning and access. Fixity checks prove that stored bytes have not changed, copies sit in separate places, and formats are watched so the record can be migrated before the software that reads it disappears.

      Sources ISO 14721 and CCSDS 650.0-M, Reference Model for an Open Archival Information System (OAIS)

      10 · Operations

      Every feed, watched for freshness.

      Every feed has an expected cadence. A late or missing delivery is flagged, checksums confirm that what arrived is what was sent, and operators see exceptions rather than every file. A stale feed opens one ticket carrying the source’s last good timestamp. The data quality model names currentness alongside accuracy and completeness, so freshness is measured, not assumed.

      Sources ISO/IEC 25012, Data quality model

      11 · Lifecycle

      A dataset’s life, planned before its first value.

      A dataset is planned before it is collected: who owns it, which licence it carries, how long it is kept. It is then collected, described with catalogue metadata, preserved and reused. A standard catalogue vocabulary lets the same description serve a portal, a search engine and another archive, so a dataset stays discoverable long after the project that made it has ended.

      Sources W3C, Data Catalog Vocabulary (DCAT), Version 3

      12 · Buyers’ questions

      What to ask before building on someone’s data.

      Under which licence, and does it allow commercial use and redistribution? Can each value be traced to its source and processing? Where is it stored, and under which law? Is it in open formats a different tool can read? Can a full copy leave with you? An open licence is one that lets anyone use, change and share the data, subject at most to attribution and share-alike terms.

      Sources Open Knowledge Foundation, The Open Definition, version 2.1