Skip to content

Commit ccb44b8

Browse files
docs(cems): emit cems-hazards (AOI -> Hazard), consistent with other sources
Correct the earlier "no Hazard" choice: CEMS should emit Hazard items like GDACS/Charter/USGS do. - AOI -> Hazard (cems-hazards), one per AOI split per hazard code, mirroring the Charter Area -> Hazard mapping. Geometry = the DEL delineation polygon (the mapped hazard footprint) when present, else the AOI extent. - DEL products have a dual role: the eo-del Response (deliverable) and the source of the Hazard geometry; the two cross-link via related and share monty:corr_id. - Add the Area of Interest -> Hazard field-carriage section; update the object table, collections, and the flow diagram; resolve the hazard open decision. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 336a2f8 commit ccb44b8

1 file changed

Lines changed: 45 additions & 12 deletions

File tree

docs/model/sources/CEMS/README.md

Lines changed: 45 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ payload. This document maps the CEMS RM object model to Monty STAC items.
1515
| Collection | Code | Monty role | Source for |
1616
|------------|------|------------|------------|
1717
| Copernicus EMS RM — Events | `cems-events` | `event` | Activation |
18+
| Copernicus EMS RM — Hazards | `cems-hazards` | `hazard` | Area of Interest (extent refined by the DEL delineation) |
1819
| Copernicus EMS RM — Response | `cems-response` | `response` | Product (REF / FEP / DEL / GRA) + Situational Report |
1920
| Copernicus EMS RM — Impacts | `cems-impacts` | `impact` | GRA product damage/exposure statistics |
2021

@@ -52,8 +53,10 @@ A **Situational Report (SR)** is an ArcGIS **StoryMap** published at activation
5253
flowchart TD
5354
ACT["<b>Activation</b> (EMSR847)<br/>→ Event (cems-events)"]
5455
ACT -->|"scoped by"| AOI["<b>AOIs</b><br/>(mapping extents)"]
56+
AOI -->|"extent (refined by DEL)"| HAZ["<b>Hazard</b> per AOI<br/>→ (cems-hazards)"]
5557
AOI -->|"accumulate"| PROD["<b>Products</b> REF/FEP/DEL/GRA<br/>→ Response (cems-response)"]
5658
PROD -.->|"monitoring n+1"| PROD
59+
PROD -.->|"DEL delineates"| HAZ
5760
ACT -->|"reportLink (StoryMap)"| SR["<b>Situational Report</b><br/>→ Response eo-sr"]
5861
PROD -->|"GRA stats: per thematic class"| IMP["<b>Impact</b> items<br/>(cems-impacts)"]
5962
ACT -.->|"gdacsId → related(event)"| GD["GDACS Event"]
@@ -65,20 +68,22 @@ flowchart TD
6568
| CEMS object | Monty type | Monty `id` pattern | Collection |
6669
|-------------|------------|--------------------|------------|
6770
| Activation | Event | `cems-event-{code}` (e.g. `cems-event-EMSR847`) | `cems-events` |
71+
| Area of Interest (AOI) | Hazard | `cems-hazard-{code}-aoi{n}-{type}` | `cems-hazards` |
6872
| Product (REF/FEP/DEL/GRA) | Response | `cems-response-{code}-aoi{n}-{type}[-m{k}]` | `cems-response` |
6973
| Situational Report (`reportLink`) | Response (`eo-sr`) | `cems-response-{code}-sr` | `cems-response` |
7074
| GRA statistic (per thematic class) | Impact | `cems-impact-{code}-aoi{n}-gra-{thematic}[-m{k}]` | `cems-impacts` |
71-
| Area of Interest (AOI) | — (geometry carrier, not emitted) |||
7275

7376
- `{code}` is the activation code (`EMSR847`); `{n}` is the AOI `number`; `{type}`
74-
`ref`/`fep`/`del`/`gra`; `-m{k}` is appended only for monitoring iterations
75-
(`monitoringNumber > 0`).
76-
- **No `cems-hazards` collection.** The hazard is carried on the Event
77-
(`monty:hazard_codes`) and delineated by the `eo-del` Response. Whether a CEMS AOI
78-
warrants a standalone Hazard item (as Charter Areas do) is an open decision — see
79-
[Open decisions](#open-decisions).
80-
- **AOIs are not emitted** as items; their `extent` is the geometry for the products
81-
they contain (and, if adopted, for any Hazard item).
77+
`ref`/`fep`/`del`/`gra` (or the hazard type slug for `cems-hazards`); `-m{k}` is
78+
appended only for monitoring iterations (`monitoringNumber > 0`).
79+
- **The AOI is the hazard-area entity** — the direct analog of a Charter Area — so it
80+
maps to a **Hazard** item (one per AOI, split per hazard code for multi-hazard
81+
activations, as Charter does). Geometry is the AOI `extent`, **refined to the DEL
82+
delineation polygon** when a Delineation product exists for that AOI (the DEL *is* the
83+
mapped hazard footprint). Hazard type/codes come from the activation `category`.
84+
- The DEL product therefore has a **dual role**: it is both the `eo-del` **Response**
85+
(the deliverable) and the source of the **Hazard** geometry — the two items share
86+
`monty:corr_id` and cross-link (`related`).
8287

8388
## Data access
8489

@@ -122,6 +127,28 @@ Maps to a Monty Event item (`cems-events`); Monty extension only.
122127
| `gdacsId`, `charterNumber` | `links[rel=related]` | See [Cross-source linkage](#cross-source-linkage) |
123128
| `reportLink`, source page | `links[rel=via]` | Activation page / StoryMap |
124129

130+
## Area of Interest → Hazard
131+
132+
Each AOI maps to a Monty Hazard item (`cems-hazards`); Monty extension only. This
133+
mirrors the Charter Area→Hazard mapping.
134+
135+
| CEMS field (AOI / activation) | Monty field | Notes |
136+
|-------------------------------|-------------|-------|
137+
| `number` | `id` | `cems-hazard-{code}-aoi{n}-{type}` |
138+
|| `collection: "cems-hazards"` | Required |
139+
| DEL product `extent` → else AOI `extent` (WKT) | `geometry` | **Prefer the Delineation polygon** (actual hazard footprint); fall back to the AOI extent |
140+
| `name` | `title` | AOI name (e.g. `Kingston`) |
141+
| activation `category` (+ `subCategory`) | `monty:hazard_codes` | **One code set per item** — split multi-hazard as Charter does; see [Hazard codes](#hazard-codes) |
142+
| activation `countries` | `monty:country_codes` | Inherited from the activation |
143+
| activation `eventTime` | `datetime` | Inherited from the activation |
144+
| activation `max_extent` stat (if present) | `monty:hazard_detail.severity_value` | Optional; `severity_unit` per the stat (e.g. `km2`). CEMS AOIs carry no explicit severity otherwise |
145+
| parent activation | `links[rel=derived_from]` | `../cems-events/cems-event-{code}.json` |
146+
| DEL Response for this AOI | `links[rel=related]` (`roles: ["response"]`) | The delineation product the geometry came from |
147+
148+
> One Hazard per AOI **per hazard code** (Charter precedent): for a multi-hazard
149+
> activation, emit one item per `monty:hazard_codes` set, same geometry. Single-category
150+
> activations (the common case) yield one Hazard per AOI.
151+
125152
## Product → Response
126153

127154
Each product maps to a Monty Response item via `monty:response_detail`.
@@ -142,6 +169,10 @@ Each product maps to a Monty Response item via `monty:response_detail`.
142169
**Situational Report** → one Response per activation, `type = eo-sr`, whose asset is the
143170
`reportLink` StoryMap URL (no geospatial payload).
144171

172+
A **DEL** Response additionally carries a `rel: related` (`roles: ["hazard"]`) link to the
173+
`cems-hazards` item whose geometry it supplied (reciprocal of the Hazard→DEL link above).
174+
Every Response links to its Event and Hazard(s) via `related`, sharing `monty:corr_id`.
175+
145176
> **Do not** put damage/exposure statistics in `monty:response_detail` — those become
146177
> separate **Impact** items (below). **Do not** set `status` from anything but
147178
> `version.statusCode`.
@@ -220,9 +251,11 @@ See [`FINDINGS.md`](./FINDINGS.md) for the raw familiarisation notes (esa-montan
220251

221252
1. **`statusCode` enum** — only `F` (final) and `N` (not produced) observed; confirm the
222253
full set historically and finalise the `monty:response_detail.status` mapping.
223-
2. **Hazard items** — model the hazard only on the Event (current choice), or also emit a
224-
`cems-hazards` item per AOI (Charter-style) / from the DEL delineation?
225-
3. **AOI geometry** — per-AOI vs per-product `extent` for Response items (both are present).
254+
2. **Hazard geometry source***resolved:* AOI → Hazard, geometry = DEL delineation when
255+
present, else AOI `extent`. Remaining detail: which DEL (base vs latest monitoring) supplies
256+
the polygon, and whether to update the Hazard geometry as monitoring DELs arrive.
257+
3. **Response geometry** — per-AOI vs per-product `extent` for Response items (both present;
258+
products carry their own `extent`, generally the AOI extent).
226259
4. **Monitoring lineage**`rel: prev` between iteration *n* and *n-1* keyed by
227260
`monitoringNumber` (and/or `version.number`).
228261
5. **Source imagery** — emit linked acquisition items (from `images[]`, carrying

0 commit comments

Comments
 (0)