Coastal Intelligence
Issued not yet
Assistant LLM provider: LLM …

Data engineers, legal and compliance

Data model and licences

The five provenance fields on every row, the three scales, what lead_hours means, the public dataset registry, the licence ids and the attribution line each one requires, and the product catalogue.

Last reviewed

The five fields every row carries

Every data row an agency tool returns, every point of a time series and every line of the risk index CSV carries the same five provenance fields, so a value can always be traced and cited:

FieldValuesMeaning
sourcea provider source id, coastal-intel, registerWho produced the value: the data provider for raw data, this service for derived values, the public register for bays and sites.
producta dataset key or a derived product idThe dataset (phy_daily, sst_l4, buoys, ...) or the derived product (signal:<kind>, signal:<kind>:bay, event:<kind>, hab_bulletin, backtest:bloom, risk_index:<peril>).
scaleregional | satellite | siteSee below.
lead_hoursnull | 0 | above 0See below.
licencea licence id, or several comma-separatedThe licence(s) the value is under; the envelope's licences list and attribution lines name each one.

Scales

  • regional: a value of a regional model cell (ocean, wave or weather model) or an aggregate over a bay (bay signal aggregates, bay events, the risk index, skill). A model cell can sit several kilometres from a site.
  • satellite: a satellite pixel or composite (chlorophyll-a, sea-surface temperature, turbidity), with cloud gaps.
  • site: a measurement at a site or a ground-truth station (buoy, tide gauge), or a per-site signal.

Lead time

lead_hours says how far ahead of its issue a value was made: null for an observation or a dated event (nothing was predicted), 0 for an analysis (the model's best estimate of a past or present state), above 0 for a forecast (hours between the issue and the valid time). For a bay aggregate it is the smallest lead among the contributing values, so a day that mixes analysis and forecast reads as analysis only when every site has one. Signals also carry issued_at, the run they came from, and the latest issued run for a day wins when several exist.

The dataset registry

GET https://coastal-intelligence.triskelionaisystems.com/api/datasets (no key needed) lists every dataset the service reads: its registry key (which is the product of its rows), the provider's product and dataset ids, the variables requested, depths, scale, frequency, whether it is a forecast, DOI and URL, the licence and the attribution line with the DOI and year filled in. Shape, with placeholders:

{
  "generated_at": "<ISO 8601>",
  "datasets": [
    {
      "key": "<dataset key, the product of its rows>",
      "section": "<registry section>",
      "source": "<source of its rows>",
      "product": "<provider product id>",
      "dataset_id": "<provider dataset id | null>",
      "variables": [
        "<provider variable>"
      ],
      "depths_m": "<[number] | null>",
      "scale": "regional | satellite | site",
      "frequency": "<ISO 8601 duration | null>",
      "forecast": "<boolean>",
      "grid_deg": "<number | null>",
      "doi": "<DOI | null>",
      "url": "<url | null>",
      "verified": "<YYYY-MM-DD | null>",
      "licence": "<licence id>",
      "attribution": "<the attribution line with the DOI and year filled in>"
    }
  ],
  "licences": [
    {
      "id": "<licence id>",
      "name": "<name>",
      "provider": "<provider>",
      "url": "<url>",
      "attribution": "<template>",
      "sections": [
        "<section>"
      ]
    }
  ]
}

With a key, describe_datasets (GET /agency/datasets) returns the same registry as agency rows, each with in_scope (whether your key may read that dataset) and attribution_line; it is the list of valid product values for get_timeseries.

Licence ids and the attribution each requires

Every licence id that can appear in a row, with the attribution line it requires. The DOI list in a line names every dataset of that provider the service reads; cite the one(s) behind the rows you use, or the whole line.

Licence idLicenceProviderAttribution line
copernicus_marineCopernicus Marine Service licence (free, full and open)E.U. Copernicus Marine ServiceGenerated using E.U. Copernicus Marine Service Information; https://doi.org/10.48670/moi-00027, moi-00026, moi-00025, moi-00029, moi-00028, moi-00284, moi-00286, moi-00288, moi-00289, moi-00152
copernicus_sentinelLegal notice on the use of Copernicus Sentinel Data and Service InformationEuropean Union / ESA, Copernicus Data Space EcosystemContains modified Copernicus Sentinel data [2026], processed with openEO on the Copernicus Data Space Ecosystem
copernicus_c3sLicence to use Copernicus Products (Copernicus Climate Change Service, C3S)Copernicus Climate Change Service / ECMWFContains modified Copernicus Climate Change Service information [2026]; ERA5 (Hersbach et al.), https://doi.org/10.24381/cds.adbb2d47 and https://doi.org/10.24381/cds.e2161bac. Neither the European Commission nor ECMWF is responsible for any use of this information.
ecmwf_open_dataCreative Commons Attribution 4.0 International (ECMWF open data)ECMWFSource: www.ecmwf.int, ECMWF open data (IFS), licensed CC BY 4.0
marine_instituteCreative Commons Attribution 4.0 International (Marine Institute, Ireland)Marine Institute, IrelandData courtesy of the Marine Institute, Ireland (ERDDAP Irish Weather Buoy Network, Irish National Tide Gauge Network, HABs database), licensed CC BY 4.0
epa_irelandCreative Commons Attribution 4.0 International (EPA, Ireland)Environmental Protection Agency, IrelandSee the licence's own terms (this provider's data is read for maps and catchments, not returned as rows).

Plain-language guidance on what the licences ask of you: Licences and attribution in the help knowledge base.

Products

A product is what an access request names and a key is approved for. The derived families are fixed; every dataset key of the registry is a product too (the request form and GET /datasets list them). Operator record sources are never a product.

ProductWhat it unlocks
signalsDaily environmental signals: thermal stress, bloom, runoff, growing conditions
eventsDated bay events: HAB closures and bloom exceedances, marine heatwaves, storms (wave or gale episodes at the bay reference cell)
skillModel skill against ground-truth stations (bias, RMSE, MAE over 7, 30 and 90 days)
backtestBack-test of the bloom signal against Marine Institute HAB bulletin events
risk_indexBay risk index: daily 0-100 per peril (thermal, bloom, runoff, storm), bay aggregate
<dataset key>Raw time series of that dataset at sites and stations, through get_timeseries.

How a key's products, bays, aggregation and date range are checked: Authentication and keys.

Data model and licences · Developers · Coastal Intelligence