Methodology

How external hazard exposure is calculated

Model version 1.0.0 · values on this page are read directly from the running scoring engine, so they always match what produced the current scores.

1. What this measures — and what it does not

Conventional risk analysis treats risk as a product of four terms:

risk = hazard × exposure × vulnerability × consequence

Nuclear Risk Watch has good public evidence for the first two terms — what hazard is occurring, and how strongly a facility is exposed to it by proximity and timing. It has no reliable public evidence for the last two: facility vulnerability depends on engineering detail that is not public, and consequence depends on plant response.

The published score is therefore an external hazard exposure score, not a facility risk score. A wildfire 50 km from a reactor is a relevant external condition; it is not evidence of a threat to nuclear safety. Nothing on this site should be read as an assessment of plant engineering safety, a prediction of a nuclear incident, or a substitute for operator, regulator or IAEA information.

2. The calculation

Each hazard near a facility contributes a score between 0 and 100:

contribution = 100 × w(type) × severity × exp(−km / 150) × 2^(−age_hours / halflife)

All four factors are multiplicative and each is in a known range, so any score can be decomposed back into its causes — which is what the plain-English rationale on every facility does.

3. Hazard-type weights

A judgement of how relevant each hazard class is to civil nuclear infrastructure. These are assumptions, not empirical findings, and are a priority for validation.

Hazard typeWeight w(type)
Earthquake1.00
Tsunami1.00
Conflict1.00
Hurricane0.90
Flood0.85
Wildfire0.80
Civil Unrest0.60
Other0.50
Drought0.40

4. Severity normalisation (0–1)

Each source reports intensity differently, so each is normalised:

  • USGS earthquakes — linear on magnitude: M4.0 → 0, M9.0 → 1, clamped. Only events at or above M4.5 are ingested.
  • GDACS (floods, cyclones, droughts, wildfires) — from the published alert level: Green 0.3, Orange 0.6, Red 0.9.
  • NASA FIRMS (wildfire) — from clustered fire radiative power. A detection cluster must contain at least 5 pixels of ≥10 MW within 80 km of a facility to qualify, which filters routine agricultural and industrial burning that would otherwise register as wildfire.
  • Conflict — curated entries carry an explicit, hand-set severity and are labelled as manually sourced. Where a curated entry represents a standing condition rather than a point-in-time event (for example a plant inside an active war zone), it is re-stamped daily so it does not decay out of the active window while the condition still holds. Such entries are reviewed by hand and are not automated detections.For sites in or near active conflict, the facility report can also show the status of the IAEA’s Seven Indispensable Pillars of nuclear safety and security during armed conflict: physical integrity, safety and security systems, operating staff, off-site power, logistics, radiation monitoring and emergency preparedness, and communication. These are recorded by hand from public reporting, normally the IAEA’s own updates, and a pillar marked as affected must cite its source. They are evidence shown alongside the exposure score and do not change it. Framework: IAEA Director General, 2 March 2022, as reproduced in King’s College London, Nuclear Security Briefing Book (2026), p. 233.

5. Proximity decay

Influence falls exponentially with great-circle distance (PostGIS ST_DistanceSphere), with a decay constant of 150 km.

Separately, each hazard type has a relevance cutoff beyond which it is not associated with a facility at all. A single global radius cannot work: a wildfire has to physically reach a site, whereas ground motion from a large earthquake propagates for hundreds of kilometres and is precisely what seismic design addresses.

Hazard typeRelevance cutoff
Default (wildfire, flood, civil unrest, other)50 km
Earthquake300 km
Hurricane300 km
Drought150 km
Tsunami100 km
Conflict100 km

Proximity factor at a given distance:

DistanceProximity factor
0 km1.000
25 km0.846
50 km0.717
100 km0.513
150 km0.368
300 km0.135
500 km0.036

6. Recency decay and active windows

Influence halves every half-life. Most hazards are transient shocks; some are persistent conditions, so those decay more slowly and stay active for longer.

Hazard typeHalf-lifeActive window
Default (all others)3 days7 days
Conflict14 days30 days
Civil Unrest7 days21 days
Drought30 days90 days

Default decay, for reference: 0h → 1.00 · 12h → 0.89 · 24h → 0.79 · 72h → 0.50 · 168h → 0.20

7. Combining multiple hazards

The strongest single contribution sets the floor. Every other active hazard adds a damped 30% of its own contribution, so concurrent pressures raise the score without a long tail of weak, distant events dominating it. The total is clamped to 100.

score = min(100, max(contributions) + 0.3 × Σ(remaining contributions))

8. Exposure bands

Bands are presentational groupings of the 0–100 score. The thresholds are design assumptions and have not yet been calibrated against observed operational outcomes.

SEVERE (80100)HIGH (6080)ELEVATED (4060)MODERATE (2040)LOW (020)

9. Data handling

  • Refresh — all feeds are polled and every facility re-scored hourly. Upstream sources update at their own pace (USGS near real-time; GDACS roughly hourly; FIRMS per satellite pass).
  • Deduplication — events are keyed on their upstream source ID, so repeated polls update rather than duplicate. Across sources, earthquakes are taken only from USGS: GDACS also publishes earthquakes, and ingesting both double-counted the same event and inflated nearby exposure.
  • Facility set — derived principally from Wikidata and curated by hand (duplicate and umbrella records removed; military sites excluded). Facility type and capacity are not yet reliably populated.
  • Missing or stale data — a source that stops delivering simply stops contributing; it does not zero a score. The dashboard raises a visible feed-delay warning when a source has not delivered for three polling cycles.
  • History — an observation is written whenever a facility’s score or band changes. Snapshots older than 90 days are pruned, except the latest for each facility. Because rows are change-triggered, historical percentiles are change-weighted rather than evenly spaced in time.

10. Known limitations

  • No facility vulnerability or consequence modelling — see section 1.
  • Hazard weights and band thresholds are unvalidated design assumptions.
  • Proximity is measured to a single point per facility; site boundaries, reactor positions and coordinate precision are not modelled.
  • Coverage is incomplete and uneven. Research reactors, fuel-cycle and waste facilities are under-represented; jurisdictions with limited public reporting are weakest.
  • Conflict coverage is the weakest data leg: there is currently no automated conflict feed (ACLED requires a paid API tier, UCDP a token, and GDELT proved too noisy for per-site use), so conflict is represented by curated entries.
  • No back-testing yet. Detection rate, false-positive rate and the relationship between exposure and real operational effects are unmeasured.
  • Optical satellite imagery is cloud-limited and shows environmental context, not structural detail.
  • Automated detection cannot establish causation; a hazard near a site is not evidence that the site was affected.

11. Model versioning and changes

Every exposure observation records the model version that produced it, so historical data stays interpretable when the model changes. Scores are not retrospectively recalculated; a change applies from the moment it is deployed.

VersionDateChange
1.0.02026-08-19First formally versioned model. Terminology corrected from “risk” to external hazard exposure; per-type recency windows; USGS-only earthquakes; FIRMS wildfire clustering thresholds.