Skip to content

{Source name}

TODO: one-paragraph description.

Scope / conversion principle: TODO.

Collections

Collection Code Monty role Source for
{Source} — Events {source}-events event {upstream object}
{Source} — Hazards {source}-hazards hazard {upstream object}
{Source} — Impacts {source}-impacts impact {upstream object}
{Source} — Response {source}-response response {upstream object}
  • Source organisation: {org} ({CODE})
  • Organisation type: {one of the sources.yml org_type vocabulary}
  • Source URL: https://example.org
  • Contact: contact@example.org (or a contact-form URL; omit if the source publishes neither)
  • API / ingestion entry point: {endpoint or bucket} ({auth: public / partner / key})
  • License: {license or terms; "None stated by the source" if it publishes none}
  • Temporal coverage: {from – to}

Object model

flowchart TD
    A["<b>{Upstream object}</b><br/>→ Event ({source}-events)"]
    A -->|"scopes"| B["<b>{Sub-object}</b><br/>→ Hazard ({source}-hazards)"]
    A -->|"produces"| C["<b>{Product}</b><br/>→ Response ({source}-response)"]
    C -->|"statistics"| D["<b>{Figures}</b><br/>→ Impact ({source}-impacts)"]
{Source} object Monty type Monty id pattern Collection
{Object} Event {source}-event-{key} {source}-events
{Sub-object} Hazard {source}-hazard-{key}-{type} {source}-hazards
{Product} Response {source}-response-{key} {source}-response
{Figure} Impact {source}-impact-{key}-{thematic} {source}-impacts

Data access

TODO: endpoints / layout, auth, pagination, the ETL unit.

Reference fixtures in api-files/: TODO (name them and say what each exercises).

Object → Event

{Source} field Monty field Notes
{code} id ({source}-event-{code}) Prefix {source}-event-
collection: "{source}-events" Required
{onset} datetime / start_datetime Event onset, not the processing/tasking time
{title} title
{geometry} geometry / bbox
{category} monty:hazard_codes Map via Hazard codes
{country} monty:country_codes ISO 3166-1 alpha-3
derived monty:corr_id Standard Monty algorithm — not the source key

Object → Hazard

{Source} field Monty field Notes
{id} id {source}-hazard-{key}-{type}
collection: "{source}-hazards" Required
{geometry} geometry
{type} monty:hazard_codes One UNDRR-ISC 2025 code set per item — split multi-hazard into one item per code
{severity} monty:hazard_detail severity_value + severity_unit where available
parent event links[rel=related] (roles: ["event"])

Object → Response

{Source} field Monty field Notes
{product_type} monty:response_detail.type A response taxonomy code (eo-*, hum-*, …); never encode the source into the code
{source_key} monty:response_detail.source_id Source-system anchor
{status} monty:response_detail.status Only from an explicit source status field
{geometry} geometry / bbox Product footprint
source imagery links[rel=derived_from] → acquisition item(s) Sensor extensions (sat:/eo:/sar:) live on the linked acquisition, not on the Response
upstream page links[rel=derived_from] Provenance

Follow the Response best practices for extension layering, and the Response ↔ Impact boundary rules for what belongs on a Response vs. a paired Impact. Do not put damage/exposure statistics in monty:response_detail — those become Impact items.

Object → Impact

{Source} field Monty field Notes
{figure} monty:impact_detail.value
{category}/{type} monty:impact_detail.category / .type
{unit} monty:impact_detail.unit
monty:impact_detail.estimate_type primary unless the source marks otherwise
parent product links[rel=derived_from] (roles: ["response"]) Canonical edge: Impact → derived_from → Response where the impact is read off a response product

Tracking over time

TODO: update mechanics, idempotency, refresh/polling strategy.

Cross-source linkage

TODO, or delete.

Hazard codes

{Source} class UNDRR-ISC 2025 GLIDE EM-DAT Notes / refinement
{value} {GH0000} {XX} {nat-xxx-xxx-xxx}

Every code above is verified against taxonomy.md and its Cross-Classification Mapping table. Any unmapped or new source class MUST fall through to manual review rather than be dropped.

get_canonical_hazard_codes() does not validate this table. It preserves any syntactically valid UNDRR-ISC 2025 code — it does not check the code is the correct one for the mapped class. The mapping above must be correct at the source; canonicalisation is formatting, not verification.

Examples

TODO: link one worked item per collection, e.g. examples/{source}-events/….

Reference files

  • api-files/{…}.json — TODO: what it exercises.

See FINDINGS.md for the raw stage-1 familiarisation notes (optional but recommended).

Decisions (resolved)

# Decision Resolution
1 TODO TODO

Resources