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:
| Field | Values | Meaning |
|---|---|---|
source | a provider source id, coastal-intel, register | Who produced the value: the data provider for raw data, this service for derived values, the public register for bays and sites. |
product | a dataset key or a derived product id | The dataset (phy_daily, sst_l4, buoys, ...) or the derived product (signal:<kind>, signal:<kind>:bay, event:<kind>, hab_bulletin, backtest:bloom, risk_index:<peril>). |
scale | regional | satellite | site | See below. |
lead_hours | null | 0 | above 0 | See below. |
licence | a licence id, or several comma-separated | The 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 id | Licence | Provider | Attribution line |
|---|---|---|---|
copernicus_marine | Copernicus Marine Service licence (free, full and open) | E.U. Copernicus Marine Service | Generated 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_sentinel | Legal notice on the use of Copernicus Sentinel Data and Service Information | European Union / ESA, Copernicus Data Space Ecosystem | Contains modified Copernicus Sentinel data [2026], processed with openEO on the Copernicus Data Space Ecosystem |
copernicus_c3s | Licence to use Copernicus Products (Copernicus Climate Change Service, C3S) | Copernicus Climate Change Service / ECMWF | Contains 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_data | Creative Commons Attribution 4.0 International (ECMWF open data) | ECMWF | Source: www.ecmwf.int, ECMWF open data (IFS), licensed CC BY 4.0 |
marine_institute | Creative Commons Attribution 4.0 International (Marine Institute, Ireland) | Marine Institute, Ireland | Data courtesy of the Marine Institute, Ireland (ERDDAP Irish Weather Buoy Network, Irish National Tide Gauge Network, HABs database), licensed CC BY 4.0 |
epa_ireland | Creative Commons Attribution 4.0 International (EPA, Ireland) | Environmental Protection Agency, Ireland | See 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.
| Product | What it unlocks |
|---|---|
signals | Daily environmental signals: thermal stress, bloom, runoff, growing conditions |
events | Dated bay events: HAB closures and bloom exceedances, marine heatwaves, storms (wave or gale episodes at the bay reference cell) |
skill | Model skill against ground-truth stations (bias, RMSE, MAE over 7, 30 and 90 days) |
backtest | Back-test of the bloom signal against Marine Institute HAB bulletin events |
risk_index | Bay 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.
Related
REST API
The base URL of this deployment, every partner endpoint with its parameters, the date rules, the response envelope field by field, examples in curl, Python and JavaScript, and the live OpenAPI reference.
Last reviewed 1 Nov 2026Insurers, reinsurers, brokersRisk index and signed exports
The insurer product: the 0 to 100 index per peril, the bay aggregation and suppression rules, the CSV export, verifying its Ed25519 signature with a complete Python example, and how to cite the licences.
Last reviewed 1 Nov 2026IntegratorsVersioning and changes
Where to read the API, MCP server and method versions, what is stable (fields are added, never renamed or removed without notice here), and the dated list of changes.
Last reviewed 1 Nov 2026