Individual Risk Contours
Technical methodology for calculating Individual Risk (IR) contour maps using TekRiskGen2 — grid-based IR aggregation, Marching Squares contouring, and GeoJSON output for QRA visualization
1. Executive Summary
Individual Risk (IR) contours are iso-risk lines drawn on a map that connect all geographic points sharing the same annual probability of fatality due to industrial hazards. They are the cornerstone of Quantitative Risk Assessment (QRA) in the chemical and oil & gas industries.
TekRiskGen2 computes IR contours by:
Aggregating all defined risk scenarios (fires, explosions, toxic clouds) at a facility
Evaluating the fatality probability at thousands of grid points around the site
Extracting contour lines at standard risk levels (e.g., , per year)
Projecting results onto a geographic map as GeoJSON polygons
Map visualization
The result is a set of nested contour polygons — each representing a different risk level — overlaid on a Mapbox GL map, allowing engineers to visually assess whether vulnerable receptors (schools, hospitals, residential areas) fall within unacceptable risk zones.
2. Key Concepts
Individual Risk (IR)
Annual probability that a hypothetical person, continuously present and unprotected at a specific location, will be killed due to an industrial accident. Expressed as a dimensionless number per year (e.g., /year = 1 in 100,000 chance).
Scenario Frequency (f)
How often a particular accident scenario is expected to occur, in events/year. Derived from historical failure rate databases (OREDA, OGP/IOGP) combined with event tree analysis.
Fatality Probability (Pf)
Probability of death at a specific location given a scenario occurs. Derived from probit models (thermal/blast) or point-in-polygon tests (flash fire — inside the LEL envelope, outside).
Contour Levels
Specific IR values at which iso-risk lines are drawn. TekRiskGen2 uses seven standard levels: through per year.
2.1 Core Formula
The Individual Risk at any point is the sum of contributions from all scenarios:
| Symbol | Description | Units |
|---|---|---|
| Individual risk at location | per year | |
| Frequency of scenario | events/year | |
| Probability of fatality at given scenario occurs | dimensionless | |
| Scenario index (each risk model is a scenario) | — |
3. Supported Risk Models
TekRiskGen2 supports five consequence model types, each contributing to the overall IR calculation:
| Model | Hazard Type | Symmetry | Method | Wind Dependence |
|---|---|---|---|---|
| Fireball | Thermal radiation | Radial | Distance-based interpolation on fatality profile | None — omni-directional |
| Pool Fire | Thermal radiation | Radial | Distance-based interpolation on fatality profile | None — radially symmetric |
| Jet Fire | Thermal radiation | Radial | Distance-based interpolation on fatality profile | None — radially symmetric |
| VCE | Blast overpressure | Radial | Distance-based interpolation on fatality profile | None — radially symmetric |
| Flash Fire | Flame engulfment | Directional | Point-in-polygon on rotated LEL envelope | Critical — uses full 16-direction wind rose |
Fireball, Pool Fire, Jet Fire, VCE — These models assume the hazard effect decays with distance from the source in all directions equally. The fatality probability at any point depends only on the Euclidean distance to the source, following a pre-computed fatality profile (fatality percentage vs. distance).
4. Step-by-Step Methodology
Step 1: Scenario Definition
Each enabled risk model defines a scenario characterized by:
| Parameter | Description | Source |
|---|---|---|
| Frequency () | Annual occurrence rate | Risk model configuration |
| Source location | Geographic coordinates (lat, lon) | Source definition |
| Model type | fireball, poolfire, jetfire, vce, flashfire | Risk model type |
| Fatality profile | vs. distance curve (radial) or LEL polygon (flash fire) | Prior consequence calculation results |
Fatality profiles are extracted from previously completed consequence calculations stored in RiskCalculation.results.fatalidades. Each profile consists of distance-fatality percentage pairs:
| Distance (m) | Fatality (%) |
|---|---|
| 0 | 100 |
| 25 | 95 |
| 50 | 70 |
| 100 | 30 |
| 200 | 5 |
| 350 | 0 |
Flash Fire profiles
For flash fire models, the fatality "profile" is replaced by a LEL polygon — the geographic outline of the flammable cloud at the Lower Explosive Limit concentration for a single wind direction.
Step 2: Wind Rose Integration (Flash Fire)
Flash fire scenarios require integration with a Pasquill-Gifford wind rose to account for the directional nature of vapor cloud propagation.
Wind Rose Structure
The wind rose divides the compass into 16 equi-spaced directions at 22.5° intervals. Each direction carries a probability (fraction of time the wind blows from that direction), split into day and night periods:
| Period | Hours | Stability Classes |
|---|---|---|
| Day | 06:00 – 18:00 | A, B, C, D |
| Night | 18:00 – 06:00 | D, E, F |
Polygon Rotation
For each of the 16 wind directions, the base LEL polygon is rotated around the source point:
Where is the original polygon vertex relative to source, is the rotation angle, and is the rotated vertex.
The result is 16 rotated LEL polygons, each associated with the wind probability for its direction.
Flash Fire Formula
Where:
| Symbol | Description |
|---|---|
| Wind direction | |
| Probability of wind from direction to | |
| LEL polygon rotated to direction | |
| Indicator function: 1 if point is inside polygon, 0 otherwise |
Probability cap
The sum is capped at 1.0 because the maximum fatality probability cannot exceed certainty.
Step 3: Grid Generation
A uniform 2D rectangular grid is generated to evaluate IR across the study area.
| Parameter | Description | Default |
|---|---|---|
| Center | Centroid of all source coordinates | Auto-calculated |
| Resolution | Spacing between adjacent grid points | 25 m |
| Extent | Half-size of the grid from center | Auto-calculated |
Available resolutions: 1, 5, 10, 25, 50, 100 meters.
Auto-Calculation of Extent
Find the maximum fatality profile distance across all scenarios
Multiply by 1.3 (30% padding factor)
Round up to the nearest 100 m
Grid Dimensions
Example: With extent = 2,000 m and resolution = 25 m → 161 points per side → 25,921 total points.
Coordinate System
The grid uses a local Cartesian coordinate system in meters:
- Origin: Grid center (centroid of sources)
- X-axis: West → East (positive eastward)
- Y-axis: South → North (positive northward)
Flat-earth approximation
This approximation is valid for distances up to ~50 km from the center — adequate for typical industrial sites.
Step 4: IR Calculation at Each Grid Point
For every point in the grid, the system accumulates IR contributions from all enabled scenarios.
Fireball, Pool Fire, Jet Fire, VCE — For each grid point and each radial scenario :
Step 1 — Euclidean distance:
Step 2 — Quick reject: If → skip ()
Step 3 — Interpolate fatality profile: If : . Otherwise find interval containing :
Step 4 — Accumulate:
Step 5: Contour Extraction (Marching Squares)
Once the IR grid is fully populated, contour lines at each target level are extracted using the Marching Squares algorithm.
Step 6: Geographic Conversion
Contour polygons are converted from local meter coordinates back to geographic coordinates for map display.
Conversion Formulas
Where is the approximate meters per degree of latitude (WGS84).
GeoJSON Output
Each contour polygon is packaged as a GeoJSON Feature:
Area Calculation
The area enclosed by each contour is computed using the shoelace formula on local meter coordinates:
| Area Range | Display Unit |
|---|---|
| m² | m² |
| m² | hectares (ha) |
| m² | km² |
5. Risk Tolerability Criteria
The following table summarizes international standards for individual risk tolerability:
| Standard | Region | Intolerable Limit | Broadly Acceptable | Reference |
|---|---|---|---|---|
| UK HSE R2P2 | United Kingdom | (public) | HSE (2001) | |
| ASEA / NTE-002 | Mexico | NTE-002-CGPC | ||
| RIVM | Netherlands | RIVM guidelines | ||
| Hong Kong | Hong Kong | HK risk guidelines | ||
| HIPAP No. 4 | Australia | NSW HIPAP No. 4 | ||
| EPA / OSHA | United States | EPA RMP / OSHA PSM |
ALARP Principle
ALARP — As Low As Reasonably Practicable
Between the intolerable and broadly acceptable limits lies the ALARP region. Within this zone, risk is tolerated only if further reduction is impracticable or disproportionately costly.
| Zone | Risk Level | Required Action |
|---|---|---|
| Intolerable | to (varies by standard) | Risk cannot be justified except in extraordinary circumstances |
| ALARP | Between intolerable and acceptable thresholds | Tolerable only if reduction is impracticable |
| Broadly Acceptable | to (varies by standard) | No further action needed |
6. Contour Color Code
TekRiskGen2 uses a seven-level color scheme to distinguish risk zones on the map:
| Level (per year) | Color | Hex Code | Risk Interpretation |
|---|---|---|---|
| Indigo | #4B0082 | Extreme — immediate action required | |
| Dark Red | #8B0000 | Intolerable — exceeds all standards | |
| Red | #DC2626 | Intolerable for public (UK HSE, US EPA) | |
| Orange | #EA580C | Upper ALARP bound (many jurisdictions) | |
| Yellow | #EAB308 | Broadly acceptable threshold | |
| Light Green | #84CC16 | Low risk | |
| Green | #22C55E | Negligible risk |
Non-standard levels
Contour levels not in this standard set default to gray (#6B7280).