# TMX Dilbit Spill Risk — Research Brief (Metro Vancouver / Lower Mainland)

**Prepared as factual grounding for the interactive spill-scenario visualization tool in this repo.**
Compiled 2026-07-01. Figures are drawn from public sources (cited inline). Where a number
seeds the app's parametric model, it is flagged **[MODEL ANCHOR]**. The model itself is a
*transparent, illustrative* order-of-magnitude tool — see `model.js` and the caveats in the
README. Nothing here is an operational emergency plan.

---

## 0. Scope & the user's hypothetical

The real, operating Trans Mountain Expansion (TMX) system moves **~890,000 barrels/day (bpd)**
and loads roughly **34 Aframax tankers/month** at Westridge. A **doubling of diluted-bitumen export
capacity to the B.C. coast toward ~2,000,000 bpd is an active, current public-policy debate** (2026),
so the app exposes the **2 M bpd** case as a *plausible near-term scenario* alongside the current
baseline. The doubling narrative is not hypothetical hand-waving — it is being assembled in the news
in two concrete pieces:

- **TMX optimization (near-term, company-stated).** Trans Mountain's own **DRA + Mainline
  Optimization** projects are slated to lift the *existing* line from **890k → ~1.19M bpd** by
  **2027–2030**, with the company publicly discussing larger mainline optimization toward
  **~1.25M bpd**.
  ([Trans Mountain — Optimization Projects](https://www.transmountain.com/optimization-projects),
  [Reuters/BNN Bloomberg 2026](https://www.bnnbloomberg.ca/business/2026/03/25/trans-mountain-launches-bidding-process-to-add-capacity/))
- **A second Alberta→B.C. pipeline (the doubling driver) — now with a SOUTH-COAST terminus.** In 2026
  the **Carney government and Alberta** reached a memorandum toward a **new ~1,000,000 bpd**
  crude/dilbit pipeline (paired with the *Pathways* carbon-capture project). In **July 2026 Alberta
  pitched the southern route**: **Bruderheim → Roberts Bank (Delta, B.C.)**, largely paralleling the
  TMX corridor and **forgoing the northern ports** (Prince Rupert/Kitimat) entirely. The terminus
  would be a **new Roberts Bank crude terminal beside Deltaport / Roberts Bank Terminal 2 (RBT2)**
  with **two offshore berths for Very Large Crude Carriers (~1.9–2.2 M bbl each)** — open-strait
  berths with none of Burrard Inlet's bridge/narrows constraints. Reported cost: **~C$35 B+** for the
  pipeline, **C$70–81 B** total programme 2026–2038; Alberta seeks "Project of National Interest"
  listing in **Oct 2026**, construction from **2028**, completion toward **2038**. The federal
  **$10 B RBT2 commitment** is described as making the pipeline "much more of a sure thing."
  **TMX-optimized (~1.19M) + the new ~1M-bpd line ≈ ~2.2M bpd** — the "doubling of exports through
  our communities and waters" the campaign contests, now concentrated on the **Salish Sea**.
  ([CBC — southern route / Roberts Bank](https://www.cbc.ca/news/canada/british-columbia/southern-pipeline-route-delta-roberts-bank-terminal-2-9.7256890),
  [CBC — Alberta's $35B southern pitch](https://www.cbc.ca/news/canada/calgary/alberta-pipeline-proposal-ottawa-major-projects-9.7254251),
  [Globe and Mail — Roberts Bank upgrades](https://www.theglobeandmail.com/canada/article-roberts-bank-container-terminal-would-require-major-upgrades-for/),
  [Daily Hive — Roberts Bank export terminal](https://dailyhive.com/vancouver/alberta-bc-west-coast-oil-pipeline-roberts-bank-export-terminal))

The **2 M bpd** toggle therefore stands as the campaign's headline doubling scenario, grounded in
current reporting rather than in a single formal "TMX 2M" filing. (The intermediate **~1.19M** TMX
optimization case can be dialled directly on the throughput/volume controls for a more conservative
comparison.)

**Consequence of the southern route for this app.** With VLCC loading proposed at **Roberts Bank**,
the app's **VLCC ~2M-bbl tanker class is no longer only an upper-bound what-if — it corresponds to a
live South-Coast proposal.** The map draws the **Deltaport / Roberts Bank branch** off the
Strait-of-Georgia lane, and a dedicated spill source — **"Roberts Bank / Deltaport approach"** — sits
on that approach. The site's stakes are exceptional: the berths sit on the **Fraser estuary bank**,
an **Important Bird Area** whose intertidal **biofilm feeds hundreds of thousands of migrating
western sandpipers**, prime **juvenile Chinook** rearing habitat (the SRKW's food supply), directly
adjacent to **Point Roberts (US) ~5 km away** (any spill is inherently cross-border), and within the
Fraser-plume waters already carrying the highest fish-overlap weight in the model. A **laden-VLCC
incident here is ~3.3× the oil of a full Aframax** — the scenario the volume slider and tanker-class
toggle now let the public explore directly.
([IAAC — RBT2 assessment](https://iaac-aeic.gc.ca/050/evaluations/proj/80054?culture=en-CA),
[Georgia Strait Alliance — RBT2 species at risk](https://georgiastrait.org/work/species-at-risk/proposed-terminal-2-deltaport-expansion-2/))

**Tanker size — a key clarification (updated July 2026).** Burrard Inlet's **Second Narrows is being
dredged (work from Sept 2026)**, but the Vancouver Fraser Port Authority is explicit that this is to
let **existing Aframax tankers load more fully** (past the current ~80 %), **not** to admit a larger
class: *"the work will not change the number or size of the largest vessel type… Aframax-class
tankers will remain the largest vessels."* Bridge air-draft (Second Narrows twice per trip; Lions
Gate), channel depth and the Aframax-built berths rule out Suezmax/VLCC **in Burrard Inlet** — for
**Westridge-origin** scenarios the marginal risk is *frequency* (more Aframax loadings), not size.
**However, the July 2026 Alberta southern-route proposal moves the VLCC question to Roberts Bank**
(above): two proposed open-strait VLCC berths with no bridge or narrows constraint. The app therefore
treats the **VLCC ~2M class as realistic at the "Roberts Bank / Deltaport approach" source** and
hypothetical at Burrard Inlet sources — exactly the distinction the in-app "Where could a VLCC
actually load?" explainer draws.

---

## 1. Pipeline route through the Lower Mainland

- The TMX system is **~980 km** of pipe (Edmonton → Burnaby); the expansion roughly tripled
  nameplate capacity from **300,000 → 890,000 bpd**. It entered service **May 2024**.
  ([Trans Mountain](https://www.transmountain.com/lower-mainland),
  [CER — Trans Mountain market snapshot](https://www.cer-rec.gc.ca/en/data-analysis/energy-markets/market-snapshots/2025/market-snapshot-trans-mountain-expansion-eases-pipeline-constraints-and-increases-exports-to-overseas-markets.html))
- In the Lower Mainland the new build is **~35 km between Langley and Burnaby**, split into:
  - **Spread 7A** — 232 St (Langley) → **Fraser River crossing** (Surrey).
  - **Spread 7B** — Coquitlam & Burnaby, **Burnaby Terminal** (tank farm on Burnaby Mountain),
    **Westridge Marine Terminal**, and the **2.6 km Burnaby Mountain tunnel** connecting the two.
  ([Trans Mountain — Lower Mainland](https://www.transmountain.com/lower-mainland))
- **Corridor exposure** (why location matters in the model): the line passes through/near
  dense residential Surrey, Coquitlam and Burnaby; it crosses the **Fraser River** (a major
  fishery and drinking-supply-adjacent waterway); and the **Burnaby Mountain tank farm** sits
  directly uphill of residential neighbourhoods and Simon Fraser University.

**[MODEL ANCHOR]** Corridor population densities used as illustrative defaults:
Fraser Valley/Langley suburban ~**1,200/km²**; Surrey/Coquitlam ~**1,800/km²**;
Burnaby urban ~**2,600/km²**; Vancouver waterfront ~**5,000/km²**; open marine ~**0/km²**.
(City-level densities per municipal census; assigned per map node.)

---

## 2. Tanker route out of Westridge

Outbound laden tankers follow a tightly constrained, piloted, tug-escorted path:

**Westridge (Burnaby) → Second Narrows → First Narrows (Lions Gate) → English Bay →
Strait of Georgia (Salish Sea) → Haro Strait / Gulf Islands → Juan de Fuca Strait → open Pacific.**

*Route drawing (corrected after review against the CVTMS chart).* The map's dashed tanker route
follows the **Canada/US Cooperative Vessel Traffic Management System (CVTMS) navigation lanes**,
which run **mid-channel along the international boundary** — never inshore. Leaving Haro Strait the
lane passes **east of Discovery Island** (never through Baynes Channel, the narrow inshore gap at
Ten Mile Point/Chatham Islands), bends southwest **south of Trial Island**, runs ~5 km **south of
Race Rocks**, holds the mid-strait westbound lane past Sheringham and Jordan River, and exits at
the **charted westbound gate at 48°32.0′ N, 124°46.6′–124°49.9′ W** (codified in **33 CFR
§167.1311**, the US-side text of the joint scheme) before heading offshore toward the
western-approach junction. This matches the legal description of the Victoria VTS zone, which
follows the **international boundary** through the Strait of Georgia, Boundary Pass, Haro Strait
and Juan de Fuca to 124°40′ W. The **Trial Island, Race Rocks** and **Sheringham** spill sources
sit *in the lane* (their labels say "outbound lanes"); the islands, the Race Rocks Ecological
Reserve and the Vancouver Island shore are the nearby receptors a few km away.
([33 CFR Part 167 — offshore TSS](https://www.ecfr.gov/current/title-33/chapter-I/subchapter-P/part-167),
CVTMS "Areas of Operation" chart, CCG/USCG)

- Current class: **Aframax**, up to **~250 m** length, **~16 m** draft. Historically loaded to
  **~80% of capacity** (~**550,000–600,000 bbl**) to clear the inlet at the right tide.
  ([Times Colonist](https://www.timescolonist.com/local-news/dredging-of-burrard-inlet-approved-to-make-room-for-big-oil-tankers-12469336))
- Throughput: terminal designed for **up to 34 loadings/month** — roughly **one to two
  tanker movements per day** in Burrard Inlet.
  ([CBC](https://www.cbc.ca/news/canada/british-columbia/burrard-inlet-dredging-approved-9.7248180))
- **Second Narrows** is the pinch point: transit is limited by **tidal windows, bridge
  clearances (Ironworkers Memorial), currents and mandatory pilotage**, with **tug escort**
  and effectively **daylight, slack-tide** movements.
  ([CBC](https://www.cbc.ca/news/canada/british-columbia/burrard-inlet-dredging-approved-9.7248180))
- **June 2026:** the Vancouver Fraser Port Authority received federal approval to **dredge the
  Second Narrows**, so Aframaxes can load *more fully* rather than to 80%.
  ([National Observer](https://www.nationalobserver.com/2026/06/25/news/dredging-vancouvers-burrard-approved-make-room-big-oil-tankers))

**Why the VLCC hypothetical is a stress test, not a plan:** a VLCC is ~330 m and can draw
~20–22 m fully laden — far beyond Second Narrows even after dredging. The app therefore treats
"VLCC / 2M bbl / daily" as an *upper-bound what-if*, useful for showing how consequences scale,
not as a currently navigable operation.

**[MODEL ANCHOR]** Tanker-route nodes carry these hazard characteristics: Second Narrows/inner
harbour = **marine water + high adjacent population + confined (poor natural dispersion)**;
English Bay = **marine + high shoreline amenity/recreation value**; Strait of Georgia/Haro =
**open marine + high ecological (Southern Resident killer whale, salmon) value + low local
population**.

Three southern-route nodes sit at the **navigational choke points where a laden-tanker incident is
both more likely and harder to contain** — the places the campaign most wants a viewer to click:

- **Strait of Georgia (mid-strait, opposite the Fraser estuary):** the source pin sits on the outbound
  lane opposite the Fraser River mouth, so the Fraser plume / salmon corridor and the tanker lane
  overlap directly.
- **Active Pass approach (Georgia Strait side):** a **major convergence of BC Ferries and tanker
  traffic** with strong tidal streams, Pacific herring spawn, and seabird / SRKW foraging — a classic
  high-traffic collision-risk pinch point.
- **Boundary Pass entrance (East Point, Saturna — between Tumbo I. (BC) and Patos I. (US)):** the
  turn into Boundary Pass on the **international boundary**, in **core SRKW critical habitat** with
  ripping tidal streams; a spill here is inherently **cross-border** (US San Juan Islands) and among
  the highest-consequence points on the whole route.

All three are flagged **cross-border** in the response model (a spill drifts into US waters), and
their ecological weight (SRKW critical habitat, salmon, seabird/herring) is set at the top of the
range.

---

## 2b. "Doesn't the double hull protect us?" (app card sources)

The most common good-faith safeguard question. The honest answer: **already mandatory, genuinely
useful, already priced into the risk numbers — and no protection against the catastrophic tail or
the dilbit-specific hazards.**

- **Already the law.** Post–Exxon Valdez, the US *Oil Pollution Act of 1990* and IMO **MARPOL
  Annex I, Regulation 19** made double hulls mandatory for crude tankers; the global single-hull
  phase-out completed years ago. Every tanker at Westridge, and any VLCC at a Roberts Bank
  terminal, is double-hulled by law — it is the baseline the DNV TERMPOL QRA (§5d) already
  assumes, alongside escort tugs and pilotage. The return periods in the app are the **residual**
  risk after this mitigation.
  ([IMO MARPOL Annex I](https://www.imo.org/en/OurWork/Environment/Pages/OilPollution-Default.aspx),
  [OPA-90, 33 U.S.C. §2701 ff.](https://www.govinfo.gov/content/pkg/USCODE-2010-title33/html/USCODE-2010-title33-chap40.htm))
- **Genuinely useful — for low-energy incidents.** The US **National Research Council**'s
  assessment of the OPA-90 double-hull mandate found double hulls cut expected oil outflow by
  roughly **two-thirds**, with nearly all the benefit from *eliminating* small spills in
  low-energy casualties (harbour contacts, soft groundings) where the ~2–3 m ballast space
  absorbs the damage without breaching cargo tanks.
  ([NRC 1998, *Double-Hull Tanker Legislation: An Assessment of OPA-90*, National Academies
  Press](https://nap.nationalacademies.org/catalog/5798/double-hull-tanker-legislation-an-assessment-of-the-oil-pollution))
- **Little protection in high-energy casualties.** A powered collision or grounding on rock at
  transit speed penetrates both skins. Post-incident analyses estimated a double hull would have
  reduced the **Exxon Valdez** outflow by only **~25–60%** — a smaller catastrophe, not none
  (the ship grounded at ~12 kn and opened 8 of 11 cargo tanks).
  ([NTSB Marine Accident Report, Exxon Valdez, 1990](https://www.ntsb.gov/investigations/AccidentReports/Pages/marine.aspx))
- **The modern proof case — MT *Sanchi* (6–14 January 2018).** A 2008-built, fully double-hulled
  Suezmax carrying **~136,000 t (~960,000 bbl) of natural-gas condensate** — the same ultra-light,
  volatile hydrocarbon family used as dilbit's diluent — was struck by the cargo ship *CF Crystal*
  in the East China Sea. The cargo ignited on impact; the tanker burned and drifted for **eight
  days** while explosions and toxic vapour kept rescue and salvage crews away, then sank with the
  loss of **all 32 crew** and effectively the **entire cargo** — the world's worst tanker loss in
  decades, double hull notwithstanding. Two lessons transfer directly: hull design does not cap
  the high-energy tail, and a volatile-hydrocarbon cargo can make the casualty **unapproachable
  by responders** — the same first-48-hours dynamic as dilbit's benzene-rich diluent plume (§3).
  ([Joint marine safety investigation, China MSA / Panama Maritime Authority / IMO GISIS
  casualty report](https://gisis.imo.org/); media summaries *(context)*)
- **What no hull design changes:** the **benzene/VOC plume** off any release (§3, §4) and
  weathered dilbit's ability to **submerge/sink beyond boom-and-skimmer response** (NASEM 2016,
  §3). Both hazards begin the moment cargo meets water, however the tank was opened.

---

## 3. How dilbit behaves when spilled — and why that drives the hazard

Diluted bitumen ≈ **~70% heavy bitumen + ~30% light diluent/condensate** (the Kalamazoo blend).
([InsideClimate News](https://insideclimatenews.org/news/26062012/dilbit-primer-diluted-bitumen-conventional-oil-tar-sands-alberta-kalamazoo-keystone-xl-enbridge/))
Its two-phase behaviour creates **two separate hazard footprints** the app models independently:

1. **Air hazard (early, fast):** the light diluent — containing **benzene** and other VOCs —
   **evaporates within hours to days**, producing an airborne, wind-driven plume. This is the
   acute human-health / evacuation driver. At Kalamazoo most diluent evaporated over **~9 days**.
   ([InsideClimate News](https://insideclimatenews.org/news/26062012/dilbit-diluted-bitumen-enbridge-kalamazoo-river-marshall-michigan-oil-spill-6b-pipeline-epa/))
2. **Water/sediment hazard (persistent):** as diluent leaves, the residual bitumen **weathers,
   becomes denser than water, and can submerge/sink**, especially with sediment and wave energy.
   Sunken oil defeats conventional booms/skimmers and can require **dredging** — the reason
   dilbit cleanups run long and expensive.
   ([Frontiers in Env. Sci.](https://www.frontiersin.org/journals/environmental-science/articles/10.3389/fenvs.2022.910365/full),
   [Macleans](https://macleans.ca/society/does-spilled-pipeline-bitumen-sink-or-float/))
   **Authoritative source (ends the "does dilbit sink?" debate):** the U.S. **National Academies of
   Sciences, Engineering, and Medicine (NASEM, 2016)**, *Spills of Diluted Bitumen from Pipelines: A
   Comparative Study of Environmental Fate, Effects, and Response*, concluded that weathered diluted
   bitumen behaves **fundamentally differently** from most conventional crudes: once the light diluent
   evaporates, the dense residue can **submerge and sink**, and readily forms **oil–particle
   aggregates** in sediment-laden water (as at Kalamazoo) that settle and are extremely difficult to
   recover. Note the nuance the model keeps everywhere: dilbit *floats first, then can sink* — not
   "sinks instantly."
   ([NASEM 2016, National Academies Press](https://nap.nationalacademies.org/catalog/21834/spills-of-diluted-bitumen-from-pipelines-a-comparative-study-of),
   [Environment Canada oil-properties database](https://www.canada.ca/en/environment-climate-change/services/science-technology/products-database-crude-oil-petroleum.html))

**Benzene air concentrations actually measured at Kalamazoo** (used to scale the app's health
view): mostly **<50 ppb**, up to **200 ppb** in the community, with spikes of **550 ppb** and,
over oil patches/recovery sites, **1,450–10,000 ppb**.
([InsideClimate News](https://insideclimatenews.org/news/26062012/dilbit-diluted-bitumen-enbridge-kalamazoo-river-marshall-michigan-oil-spill-6b-pipeline-epa/))
Benzene is a **known human carcinogen** (leukemia) with acute effects (headache, dizziness,
nausea) at high exposure. ([CDC](https://www.cdc.gov/chemical-emergencies/chemical-fact-sheets/benzene.html))

### Reference spills (the model's calibration points)

| Event | Volume | Key outcomes | Source |
|---|---|---|---|
| **Enbridge Kalamazoo (Line 6B), 2010** | ~843,000 US gal ≈ **3,190 m³ ≈ ~20,000 bbl** dilbit | Oil **sank**; **~5-yr** cleanup; **>US$1.2 B**; **61 homes** evacuated for benzene; **320+** people reported benzene-consistent symptoms; **US$177 M** settlement (2016). | [US EPA — Enbridge spill response](https://www.epa.gov/enbridge-spill-michigan), [NTSB PAR-12/01](https://www.ntsb.gov/investigations/AccidentReports/Reports/PAR1201.pdf), [Pipeline Safety Trust](https://pstrust.org/what-do-you-get-for-a-million-gallon-spill-a-billion-dollar-clean-up-and-four-years/), [ICN (narrative)](https://insideclimatenews.org/news/20072016/enbridge-saga-end-department-justice-fine-epa-kalamazoo-river-michigan-dilbit-spill/) |
| **Westridge Terminal, Burnaby, 2007** | **~224 m³ (~1,400 bbl)**; ~70,000 L reached Burrard Inlet | Contractor's excavator hit the line; **~225 people / ~50 homes** evacuated; **~$15 M** cleanup; **~95% recovered** (a *land* spill, best-case recovery). | [TSB report](https://www.tsb.gc.ca/eng/rapports-reports/pipeline/2007/p07h0040/p07h0040.html), [Burnaby Now](https://www.burnabynow.com/local-news/the-day-oil-rained-down-on-burnaby-3055710) |
| **Exxon Valdez, 1989** (scale reference) | **260,000 bbl** | Cleanup **US$3.5 B** (≈US$6.3 B infl-adj); only **~14%** of oil ever recovered. | [City of Vancouver econ report](https://vancouver.ca/images/web/pipeline/Bjarnason-et-al-oil-spill-economic-impact-report.pdf) |

**[MODEL ANCHOR]** On-water recovery is low: the widely-cited real-world range is **~10–15%**
of spilled oil recovered (Exxon Valdez ~14%), and *less* in bad weather, darkness, or when oil
submerges. The model's recovery term is capped accordingly and reduced at night/high sea state.

---

## 4. Prior risk studies & emergency planning

### City of Vancouver / Tsleil-Waututh / Burnaby modelling (Genwest + Nuka, 2015)
- **Worst-case scenario modelled: 16 million litres (~100,000 bbl)** — about **one-fifth of a
  laden tanker**. ([Genwest report PDF](https://vancouver.ca/images/web/pipeline/Genwest-oil-spill-model-report.pdf),
  [CBC](https://www.cbc.ca/news/canada/british-columbia/vancouver-oil-spill-report-predicts-dire-consequences-for-burrard-inlet-1.3076740))
- Finding: **50–90% of spilled oil reaches shorelines within *hours*, not days**; within **72 h**
  oil spreads through Burrard Inlet to Indian Arm, Port Moody Arm and out past the harbour.
- **Nuka Research** (contingency-planning experts) judged Trans Mountain's Westridge modelling
  **"unrealistic"** — it assumed booms are always correctly placed and always work, and ignored
  **re-floating of beached oil**. ([Nuka debrief PDF](https://vancouver.ca/images/web/pipeline/NUKA-Oil-Spill-Debrief-and-Scenario-Workshop.pdf))
- A companion study estimated a spill could kill **>100,000 birds**.
  ([Business in Vancouver](https://www.biv.com/news/environment/oil-spill-proposed-trans-mountain-pipeline-expansi-8243232))

### Economic-cost studies
- **UBC Fisheries Economics Research Unit** (for the City): a **16 ML** Burrard Inlet spill could
  cause **C$0.38 B–C$1.23 B** in losses to ocean-dependent sectors (fishing, port, tourism,
  recreation) **before cleanup costs**. ([CTV](https://www.ctvnews.ca/business/trans-mountain-oil-spill-could-cost-vancouver-s-economy-1-2b-report-1.2386361),
  [CBC](https://www.cbc.ca/news/canada/british-columbia/kinder-morgan-pipeline-spill-could-cost-vancouver-1-2-billion-1.3084001))
  **Those are 2015 dollars.** Canadian consumer prices have risen **~30 %** since 2015 (Bank of Canada
  CPI), so in **2026 dollars** the same estimate is roughly **C$0.5 B–C$1.6 B before cleanup** — a
  useful reframing because it makes the hazard feel current rather than a decade old. (Method: Bank of
  Canada inflation calculator, 2015→2026; we keep the original 2015 figure for transparency and treat
  the +30 % as an order-of-magnitude adjustment, not a precise revaluation.)
  ([Bank of Canada inflation calculator](https://www.bankofcanada.ca/rates/related/inflation-calculator/))
- **T. Gunton et al. (SFU REM)** produced an independent **spill-risk assessment** for the TMEP
  review. ([SFU REM PDF](http://rem-main.rem.sfu.ca/papers/gunton/km_tig_spill_risk_final_report_Upper_Nicola_Band_Expert_Report.__An_Assessment_of_Spill_Risk_for_the_TMEP_(00250905xC6E53)_-_A4Q1T7.pdf))

**[MODEL ANCHOR]** The **cost view** splits the economic/amenity block into the four benefit-transfer
categories that dominate spill economics — **tourism, beaches/recreation, property, recreational
fisheries** — each on the driver it actually depends on, with their **sum kept in the UBC/City
C$0.38–1.23B band** (which already bundles fishing + port + tourism + recreation) for a 100k-bbl
Burrard spill. Methods, by category:
- **Tourism** — lost visitor-spending ∝ oiled shoreline × season (summer peak). Scale reference:
  Deepwater Horizon Gulf tourism losses ran into the billions over ~1,000+ km oiled.
- **Beaches / recreation** — non-market lost-use value via the **travel-cost method** (~$10–40/beach-day
  of consumer surplus); NOAA assessed DWH lost recreational use at ~US$520M.
- **Property** — a **hedonic** decrement that is **temporary** (coastal values typically recover in
  ~1–3 yr), scaled by nearby property stock (population-density proxy) — ~nil on the remote outer coast.
- **Recreational fisheries** — lost angler-days ∝ closed water area × fishery value × season, with a
  **salmon surcharge for Fraser-connected waters** (links to the Fraser-fish view; per-angler-day
  consumer surplus ~$30–110 in the literature).
- **Caveats:** these are benefit-transfer estimates (Gulf/Alaska → Salish Sea), so treat as a **range**;
  beware **displacement** (visitors shift within-region) and **double-counting** across the categories.

### Response capacity — WCMRC
- **Western Canada Marine Response Corporation (WCMRC)** is the certified responder. Post-TMX
  enhancement gives a **20,000-tonne planned response capacity**, **~80+ vessels**, **8 bases**,
  and **900+ Geographic Response Strategies**.
  ([WCMRC](https://wcmrc.com/preparedness/strategies/),
  [Trans Mountain](https://www.transmountain.com/marine-response))
- **Planned response times: ~2 hours** in the Port of Vancouver, **~6 hours** out to the western
  entrance of Juan de Fuca Strait. ([WCMRC — Our Story](https://wcmrc.com/about/our-story/))
- Independent reviewers note planned *capacity* ≠ realized *recovery*; weather, darkness, currents
  and dilbit submergence routinely cut effectiveness well below plan.
- **Cargo-tonnage context for the 20,000-t figure.** A loaded TMX Aframax carries **~550,000–600,000
  bbl of dilbit ≈ 85,000–90,000 tonnes** (Aframax class = 80,000–120,000 DWT; density of dilbit
  ~0.92–0.94 t/m³ × 0.159 m³/bbl) — so the coast-wide **20,000-tonne planning capacity is less than a
  quarter of one cargo**. The **VLCCs proposed for Roberts Bank (~2 M bbl ≈ ~300,000 tonnes**, VLCC
  class = 200,000–320,000 DWT) would each carry **~15× the planning capacity**. Realized recovery of
  ~10–15% of a full Aframax cargo would itself be ~9,000–13,000 tonnes of oil handled — near the
  planning ceiling — while the rest stays in the water and on shorelines.
  ([EIA — tanker size classes](https://www.eia.gov/todayinenergy/detail.php?id=17991),
  [Clear Seas — Oil Tankers](https://clearseas.org/oil-tankers/),
  [Western Standard/reporting on first TMX Aframax loading ~550k bbl](https://www.thewestshore.ca/p/tanker-traffic-trans-mountain-pipeline))

**Response-base map layer (🛟).** The app shows the six WCMRC TMX-enhancement bases — **Vancouver
Harbour, Fraser River (Shelter Island, Richmond), Nanaimo (Vancouver Island hub), Sidney, Beecher
Bay (Sc'ianew First Nation territory) and Port Alberni** — each with a popup giving its role and
stationed equipment *and* its response limitations, so viewers see both sides in one click.
([WCMRC — Bases](https://wcmrc.com/preparedness/bases/),
[Trans Mountain — response enhancements](https://transmountain.com/news/2022/update-marine-spill-response-enhancements))

**The weather ceiling (Clear Seas).** Clear Seas' emergency-towing research — the **Emergency Towing
Vessel Needs Assessment (2018)**, the **Vessel Drift & Response Analysis for Canada's Pacific Coast
(2018)** and the **Tugs-of-Opportunity availability study** — found that in sustained winds above
**33 knots** (the 99th-percentile "severe" condition tested) **no available tug of opportunity on the
coast could rescue the largest ships**, and even at **27 knots** (95th percentile) the large and very
large container ships were already beyond available capability; the studies conclude large, dedicated
ETVs are needed to cope with Pacific-coast conditions. **Winter southeasterly gales in the Salish Sea
and Juan de Fuca routinely exceed 33 knots** — i.e., the rescue system's tested envelope is weaker
than ordinary winter weather, which is precisely when drift-grounding risk peaks.
([Clear Seas — ETV Needs Assessment](https://clearseas.org/research/emergency-towing-vessel-needs-assessment/),
[Clear Seas — Vessel Drift & Response Analysis](https://clearseas.org/research/vessel-drift-response-analysis-canadas-pacific-coast/),
[Clear Seas — Tugs of Opportunity](https://clearseas.org/en/research_project/availability-of-tugs-of-opportunity-in-canadas-pacific-region),
[Clear Seas — Pacific vessel-traffic forecast](https://clearseas.org/research/vessel-traffic-forecast-pacific/))

**[MODEL ANCHOR]** Response effectiveness in the model = f(response-time by location, daylight,
sea state), capped so realized recovery stays in the **~5–20%** band and drops toward the low end
at night / high sea state — consistent with the record above.

---

## 5. Prevailing winds along the corridor (plume direction)

Winds set **which way the benzene/VOC plume drifts**, so the app's weather + time-of-day controls
map onto real regimes (ECCC **1991–2020 normals**, YVR):

- **Summer (fair weather): onshore westerly / southwesterly sea breeze.** Daytime solar heating
  drives an **inflow** from cool water toward warm land — plume pushed **inland (eastward)** by day.
  ([UBC EOAS](https://www.eoas.ubc.ca/courses/atsc113/sailing/met_concepts/10-met-local-conditions/10b-inflows-and-outflows/),
  [ECCC Canadian Climate Normals — Vancouver Intl](https://climate.weather.gc.ca/climate_normals/))
- **Diurnal flip:** at **night** the sea breeze reverses to a weaker **land breeze / outflow**,
  nudging a plume back **offshore (westward)** — so *time of day changes plume direction*, which is
  exactly why the app couples the time-of-day toggle to wind direction.
- **Winter: southeasterlies** ahead of Pacific systems, typically **~10–15 km/h**.
  ([ECCC Canadian Climate Normals — Vancouver Intl](https://climate.weather.gc.ca/climate_normals/))
- **Arctic outflow (Fraser Valley):** cold continental air drains **down the Fraser Valley and out
  over the Strait**, **1–3× per winter**, reaching **~25–30 kt** in gaps like Howe Sound — a strong
  **east→west** regime that would blow a Burnaby-area plume out over the water.
  ([UBC EOAS](https://www.eoas.ubc.ca/courses/atsc113/sailing/met_concepts/10-met-local-conditions/10b-inflows-and-outflows/))

**[MODEL ANCHOR]** Wind-direction presets: Summer-day = onshore **W→E (~250°, 12 km/h)**;
Summer-night = offshore **E→W (~90°, 6 km/h)**; Winter-SE = **SE→NW (~135°, 13 km/h)**;
Arctic-outflow = **E→W (~75°, 45 km/h)**. Wind speed also controls plume dilution: light wind =
short but *concentrated* plume; strong wind = long, diluted, fast-moving plume.

**Live wind option.** Besides the presets, the app can pull the **current observed wind** from
**Environment and Climate Change Canada's open data** — the MSC **`swob-realtime`** surface-observation
collection served (keyless, CORS-enabled) via **GeoMet-OGC-API** (`api.weather.gc.ca`). It takes the most
recent observation within ~0.7° of the selected source, parses wind speed + direction defensively
(tolerant of SWOB element-name and unit variations), and feeds it into the model as a *"Live · station ·
time"* regime; it falls back to the presets if the request is blocked or returns nothing. A **Windy.com**
`embed2` iframe adds an animated real-time wind map as a purely visual layer (Windy's data API needs a key
that can't be secured on a static site, so it is used only for the visual). Because this is a *what-if*
tool, "live wind" means *"if a spill happened right now"* — and a station's wind is not identical to the
wind at the exact spill point.

---

## 5b. Seasonal Fraser River flow, tides, king tides & storm surge — and their interaction

These water-movement factors are **as pivotal as wind** for where spilled oil goes and how hard it is
to contain, so the app models them explicitly.

### Fraser River flow is ~10× seasonal
- **Freshet (May–Jul, snowmelt):** flows at Hope peak **>9,000 m³/s**; **summer discharge can be ~10×
  winter**. ([ECCC Water Survey of Canada — Fraser River at Hope, station 08MF005](https://wateroffice.ec.gc.ca/report/historical_e.html?stn=08MF005))
- **Winter low flow (Dec–Mar):** frequently **<1,000 m³/s** (record low **340 m³/s**, Jan 1916). Mean
  annual ~**2,700 m³/s** at Hope / ~**3,600** at Mission.
- **Spill consequence:** a **summer-freshet** Fraser spill is *swept rapidly seaward into the Strait of
  Georgia, some oil reaching the Gulf Islands* — wider spread, more dilution, **shorter in-river
  residence**. A **winter low-flow** spill lingers: weak seaward flushing means longer estuary
  residence and more sediment interaction (→ dilbit sinking). ([Richmond News](https://www.richmond-news.com/local-news/oil-spill-would-spell-disaster-for-fraser-river-salmon-raincoast-3081094))
- Freshet also coincides with **peak salmon out-migration**, raising ecological stakes.

### Salt wedge — tide × flow coupling
The Fraser is a **salt-wedge estuary**; intrusion is set by **both discharge and tidal stage**.
([MDPI JMSE](https://www.mdpi.com/2077-1312/6/4/130), [Springer](https://link.springer.com/chapter/10.1007/978-3-642-75413-5_29))
- **Freshet + ebb:** wedge is flushed *offshore of Sand Heads*; all salt removed on the greater ebb.
- **Low flow + flood tide:** salt can reach **~25 km upriver** (past New Westminster). This is the
  **oil-trapping** regime — a flooding tide pushes the wedge (and floating/neutrally-buoyant oil)
  **upstream**, against a weak river current, extending residence time.

### Tidal range & king tides
- **Mixed semidiurnal** regime. Spring range: **~5.0 m** at the Strait / Fraser mouth; **~4 m** in
  Burrard Inlet. ([ScienceDirect — tidal propagation](https://www.sciencedirect.com/science/article/abs/pii/S0272771421005448))
- **King tides** (the year's highest) occur around the **winter solstice (Dec–Jan)**, the same window as
  Pacific storms — so extreme high water and storms routinely *coincide*. ([Vancouver Is Awesome](https://www.vancouverisawesome.com/highlights/where-will-king-tide-be-biggest-in-metro-vancouver-8092635))

### Storm surge — and why coincidence is everything
- Surge = low pressure (water rises) + wind pushing water onshore; **moderate–strong SE winds** are the
  regional driver. ([Weather Network](https://www.theweathernetwork.com/en/news/weather/forecasts/b-c-coast-braces-for-king-tides-as-stormy-weekend-looms-flooding-flood-coastal-coast-british-columbia-canada-tide-water))
- **Dec 15, 2006:** a severe windstorm produced a **0.94 m residual (surge) at Point Atkinson** — but
  because it **did not coincide with high tide, no significant flooding occurred**.
  ([Storm Surges in the Strait of Georgia, *Atmosphere-Ocean* 2015](https://www.tandfonline.com/doi/full/10.1080/07055900.2015.1108899))
  The same 0.94 m surge landing on a **king tide** would have overtopped defences. **The hazard is the
  coincidence, not any single factor** — which is exactly the user's "king tide + winter storm" case.
- High water + waves **overtop containment booms** and carry oil into marshes, storm drains and streets,
  widening shoreline oiling and defeating recovery (Vancouver has closed the seawall for such events).
  ([Daily Hive](https://dailyhive.com/vancouver/seawall-closed-storm-surge-flood-risk-king-tide))

**[MODEL ANCHOR]** Tidal high-water offsets (m above mean high, illustrative): neap **+0.4**, average
**+1.0**, spring **+1.8**, king **+2.6**. Storm-surge slider **0–1.5 m** (2006 = 0.94 m). *Elevated water
level* = tide offset + surge; a **coastal-flood / boom-overtopping** flag trips when elevated level +
wave set-up ≥ **2.5 m** (so a lone 0.94 m surge on an average tide ≈ 1.9 m does **not** trip it — matching
2006 — but on a king tide ≈ 3.5 m it does). Overtopping cuts recovery, lengthens shoreline oiled, and
raises cost. Fraser **flush factor**: low **0.6**, mean **1.0**, freshet **1.9** — scales seaward spread
up and in-river residence/duration down; low-flow + flood + spring/king adds a **salt-wedge trapping**
penalty. A **compound-extreme** flag lights when winter + king tide + surge ≥ 0.6 m + rough seas coincide.

---

## 5c. Reference spills: Nestucca (1988) & the West Coast Oil Ports Inquiry

**Nestucca (23 Dec 1988)** is the key BC-coast calibration case. The barge *Nestucca* spilled
**~875,000 L (~230,000 gal, ~5,500 bbl) of Bunker C** off Grays Harbor, Washington. The oil — a
*persistent* heavy fuel, like weathered dilbit — **drifted north for ~11 days** and oiled the outer
coast of Vancouver Island (first reported 3 Jan 1989). Documented impacts (attached DFO reports;
[WA Ecology](https://ecology.wa.gov/blog/december-2020/the-nestucca), [Sightline](https://www.sightline.org/2015/09/15/washington-state-has-forgotten-its-own-bp-oil-spill/)):

- **~116 km of beaches oiled** on Vancouver Island, with oil-impact points spanning the **entire
  ~500 km outer coast (Victoria → Cape Scott)**, plus **110+ miles of Washington beaches**.
- **~56,250 seabirds killed** (range 47,500–68,500), dominated by Common Murres.
- **~2 months** of intensive response; crab fishery closed to **26 June 1989** (~5–6 months);
  **re-oiling after storms**.

**Why this reshaped the model.** A compact-slick model badly *understated* this: 5,500 bbl oiled
116 km of shore because persistent oil, spilled offshore, was carried for weeks by winter storms and
currents. This drove three model additions, each anchored here:

**[MODEL ANCHOR]** (1) **Long-range drift** — persistent uncontained oil on an *exposed* shore gets
an alongshore drift multiplier (wind + tidal current + uncontained fraction), tuned so a
Nestucca-type event reaches **~110–120 km oiled** (drift ≈ ×8–10). (2) **Lingering by shoreline
energy** — *sheltered* coasts hold oil for decades (Exxon Valdez ~25–35 yr in Prince William Sound)
while *exposed high-energy* coasts weather off in **~5–8 yr** (Nestucca). (3) **Seabird mortality** —
scales with oiled-shore extent × habitat sensitivity × season, anchored to Nestucca (**~56,000**);
for scale, Exxon Valdez killed **~250,000** (PWS's exceptional density) and the Genwest Burrard study
estimated **>100,000**.

**[MODEL ANCHOR] Mega-spill ceilings — Valdez recalibration (added after review).** The parametric
oiled-shore length follows a √volume law calibrated to the *historical* BC-scale events above
(Nestucca ~5.5k bbl → ~116 km; Kalamazoo ~20k → ~50–60 km; a ~100k-bbl "credible large" case →
~100 km). Its geographic **ceilings** by coast type were raised to Valdez-anchored values (exposed
600 → **2,100 km**, moderate 350 → 1,200, sheltered 180 → 600), since the old exposed cap was itself
falsified 3.5× by Exxon Valdez alone (**~2,100 km of shore oiled from 257k bbl**); these are safety
ceilings that stop a catastrophic exposed spill being clipped below the one historical analog, and
they rarely bind for realistic Salish Sea cases. A log-linear **mega-spill tail multiplier**
(`megaShoreK`) was *briefly* added to lift the VLCC-scale tail toward the particle-drift layer's
~310 km — but that target proved **phantom-inflated** (the layer had no land barrier, so oil crossed
Vancouver Island; see the particle-model section). With the barrier added, the physical layer is
~245 km for a 2 M bbl Roberts Bank spill — just *below* the √-law card's own value (~285 km) — so the
tail was **neutralized** (`megaShoreK = 0`): the two independent estimates now bracket ~245–285 km
without either being inflated. The card at 2 M bbl reads ~285 km / ~125k seabirds, still conservative
against Valdez but no longer clipped by an indefensibly low ceiling. Every historical anchor
(Nestucca, Kalamazoo, Westridge, Genwest 100k) is unchanged.

### Southern Resident Killer Whales (SRKW)

The tanker route runs **straight through the SRKW's designated critical habitat** (Haro Strait,
Boundary Pass, Juan de Fuca, southern Strait of Georgia), so the app models a dedicated SRKW-impact
variable — high in the outer straits, ~nil for an inner-harbour spill.

- **The population is ~74 and Endangered** (COSEWIC/SARA); *"small population size… puts this species at
  risk for a catastrophic event that could affect the whole population"* — one poorly-timed spill can
  hit the whole population.
- **[MODEL ANCHOR]** *Jarvela Rosenberger et al. (2017), Table 6* overlaid a modelled **15,000 m³ dilbit
  spill at Turn Point / Haro Strait** (using Trans Mountain's own **EBA-2013** trajectory model) with
  SRKW critical habitat and found **22–80% of critical habitat oiled** (depending on oil-presence
  probability). The app takes ~45% as the representative value at that reference volume/location and
  scales it with volume^0.4 (cap ~85%) × a per-node critical-habitat weight (Haro 1.0, S. Georgia 0.7,
  inner Burrard Inlet ~0).
- **[MODEL ANCHOR]** Exposure/mortality use analogues (no SRKW-specific oil dose-response exists): the
  **Exxon Valdez** killer-whale pods that swam through the slick lost **33–41%** (AB pod −13/33%; AT1
  −9/41%, all reproductive females) and **have not recovered** 20+ yr on; **Robson Bight** — ~25% of a
  resident population passed through a diesel spill. The model translates *habitat oiled × seasonal
  presence* into an exposed fraction, then applies a ~30% Exxon-analog loss — clearly illustrative.
- **Season:** peak presence **May–Sep** in Haro Strait / Strait of Georgia (the model's summer);
  they shift to Puget Sound / the outer coast Oct–Jan (off-peak).
- **Chronic (non-spill) pressure:** the expansion adds **~696 tanker transits/yr** through the critical
  habitat — underwater noise, disturbance and strike risk that scale with the 2 M bpd proposal, on top
  of any spill. ([SRKW Deterrence Task Force, NWAC RRT 10, 2024](https://www.nwacp.org/))

### Fraser River fish (sturgeon, sockeye, chinook, steelhead)

The pipeline crosses the **Fraser River** — the largest salmon river on the Pacific coast — and its
tanker corridor runs through the **Strait of Georgia**, the main migration route to and from that
river. Because **dilbit sinks**, a Fraser or estuary spill is uniquely dangerous to fish that live on
or spawn in the riverbed, so the app models a dedicated Fraser-fish index over four species. It is
high for an in-river (Fraser crossing) spill, moderate on the Strait migration corridor, and ~nil for
a Burrard-Inlet spill (a **separate watershed**).

- **White sturgeon** — *benthic, resident, long-lived (100+ yr).* They feed on the river bottom, exactly
  where **submerged dilbit settles** (cf. Kalamazoo, where sunken dilbit forced years of riverbed
  dredging). The lower-Fraser population is large, but several BC white-sturgeon populations are
  **Endangered** (SARA). Highest vulnerability weight, and **river/estuary-only** (≈0 in the open Strait).
- **Sockeye** — the world-famous Fraser runs (e.g. the **Adams River**). Adults ascend **Jul–Oct**
  (the model's summer), eggs incubate in gravel over winter, and juveniles out-migrate at **freshet** —
  so *when* a spill happens drives how many fish are in the water.
- **Chinook** — present much of the year (spring/summer/fall runs) and the **primary prey of the
  endangered Southern Resident orcas**, so a Fraser Chinook hit links directly to the SRKW view.
- **Steelhead** — **Interior Fraser (Thompson/Chilcotin)** steelhead run up the Fraser in **fall/winter**
  and are COSEWIC-assessed **Endangered** (returns in the low hundreds), so a well-timed winter spill is
  disproportionately serious.
- **[MODEL ANCHOR]** No Fraser-dilbit fish-kill dataset exists to calibrate to, so the per-species index
  is an explicitly **illustrative composite**: Fraser-habitat overlap × spill load (∝ released-bbl^0.35,
  with **Kalamazoo** ~20k bbl as the load≈1 reference) × a **dilbit-sinks benthic amplifier**
  (freshwater > marine > land) × seasonal presence × water-type affinity × vulnerability, with the river
  flow term reusing the freshet/low-flow eco multiplier from §5b.

**West Coast Oil Ports Inquiry (1977–78, Kitimat).** The federal inquiry's core scientific
conclusion — *"if an oil port is established at Kitimat there will inevitably be oil spills on the
adjacent coast of British Columbia"* — plus a highly sensitive coast and prolonged recovery, led to
the de-facto north-coast tanker moratorium, later formalized as the **Oil Tanker Moratorium Act
(Bill C-48, 2019)**. ([WCEL](https://www.wcel.org/tanker-moratorium)) Its lesson — that over years of
operation spills move from *possible* to *inevitable* — is a **frequency/probability** dimension this
tool does *not* model (it renders a single spill's consequences, not its likelihood).

### The DFO scientific assessment behind the Inquiry

The Inquiry's technical basis is **"Potential Pacific Coast Oil Ports: A Comparative Environmental
Risk Analysis"** — a **Fisheries and Environment Canada Working Group on West Coast Deepwater Oil
Ports** report, **February 1978** (Working Group chaired by **C. McAllister**; chief editor R.
Sherwood, assistant editor M. Waldichuk). It compared candidate deepwater oil-port sites and tanker
routes (Port Simpson, Kitimat, Roberts Bank, Port Moody, Cherry Point, Esquimalt, etc.) on
**biological, economic and social risk indices scaled to 100**. Its findings **validate this tool's
model design** and supply several anchors:

- **Design "major coastal spill": 50,000 tons** (~**366,000 bbl**) — the standard slick chosen for
  comparison; **design tanker 325,000 DWT** (validating the VLCC-scale hypothesis). A slick-modelling
  horizon of **7 days** and **surface drift at ~3% of wind speed**. **[MODEL ANCHOR]** the app's
  drift term now uses exactly this 3%-of-wind rule as a *bounded alongshore reach* (fixing an earlier
  version that over-amplified large spills).
- **Persistence by shoreline energy** — *"Shorelines protected from wave action (low-energy beaches)
  may show evidence of an oil spill for as long as **five years or more**"* while *"high-energy
  beaches will usually be cleansed of oil residues rapidly."* **[MODEL ANCHOR]** this is precisely the
  tool's sheltered-vs-exposed lingering factor. Ecosystem *"generally 90% restored after 3 or 4
  years,"* residual change at **12 years** (Tampico Maru); **salmonid impacts could last decades** —
  matching the two-horizon (active vs lingering) duration split.
- **Highest-risk routes are the southern ones** near the populated Lower Mainland — **Route 18, Port
  Moody via Juan de Fuca/Haro = 100/100/100** (max biological/economic/social) — while northern
  routes (Port Simpson) score lowest. This matches the tool weighting Salish-Sea/Haro sources and
  cross-border exposure most heavily.
- Biological weighting used: biological capability **1.00**, salmon escapement **0.875**, other
  fisheries **0.875**, marine birds **0.750**, marine mammals **0.375**; herring eggs under a slick
  *"100% mortality might be anticipated."* Case studies: Torrey Canyon **~10,000 birds**; a
  1973 Burrard Inlet spill (~100 t) cost **>$500,000** to clean.

*(Volume I holds the spill-frequency/return-period tables; the machine-readable copy here is Volume
II — Supplementary Appendices.)*

---

## 5d. Spill likelihood & return period — the "how often" axis

The consequence views answer *how bad*; the app's **likelihood panel** answers *how often*, because
risk = probability × consequence. It reports the **return period**, **annual probability**, and
**probability over a project lifetime** for a spill of at least the selected size, from **three
documented bases** that span the public debate:

| Basis | Any-size spill | Credible worst case | Source |
|---|---|---|---|
| **TERMPOL / DNV** (primary; with project) | **1-in-46 yr** | **1-in-456 yr** (16,500 m³) | [TC TERMPOL Review Committee report, 2014](https://www.transmountain.com/termpol) (DNV QRA) |
| **TM fully-mitigated** (proponent, optimistic) | 1-in-237 yr | 1-in-2,366 yr | Trans Mountain (proposed tug escort + exclusion zone credited) |
| **Independent** | 43–87% over 50 yr | 10–29% over 50 yr | [Gunton (SFU) / Tsleil-Waututh](http://rem-main.rem.sfu.ca/papers/gunton/km_tig_spill_risk_final_report_Upper_Nicola_Band_Expert_Report.__An_Assessment_of_Spill_Risk_for_the_TMEP_(00250905xC6E53)_-_A4Q1T7.pdf), US OSRA |

*Methodology note (DNV casualty data).* These QRA frequencies rest on a global tanker-casualty base
rate: DNV's TERMPOL casualty-data survey (from the Lloyd's Register Fairplay 1990–2006 database) puts
the **all-severity oil-tanker incident frequency at ~0.018 per ship-year — about one incident every
~55 years per operating tanker** (65% minor / 34% major / 1.3% total loss), scaled to local traffic
and conditions. ITOPF's record shows large (>700 t) spills fell from ~8/yr (1990s) to ~3.5/yr (2000s),
i.e. the base rate is *declining* — a downward pressure on frequency the model does not separately apply.

**Key finding:** the primary **TERMPOL/DNV** numbers and the **independent** estimates broadly *agree*
(a worst-case spill roughly **1-in-210 to 1-in-460 years**, ~**10–29% over 50 years**); it is Trans
Mountain's **fully-mitigated** case (1-in-2,366) that is the ~5–10× optimistic outlier. Other TERMPOL
anchors the model reproduces: **any-size transit spill 1-in-46 yr**; **Westridge terminal small spill
1-in-34 yr**, large **1-in-234 yr**; Project tankers' share of accidents **20%→63%**; traffic
**60→408 tankers/yr** at **up to ~630,000 bpd**; credible worst case **16,500 m³** (Aframax, from a
50,000-case Monte-Carlo outflow simulation).

**[MODEL ANCHOR] — straight from the DNV QRA exceedance curve.** The transit frequency is not a fitted
power law; it interpolates **piecewise (log-log) through the three anchor points of DNV TERMPOL 3.15
Table 34** — *any spill*, *mean case (8,250 m³)*, and *credible worst case (16,500 m³)* — for each
mitigation case:

| Case (basis) | Any spill | Mean (8,250 m³) | Worst case (16,500 m³) |
|---|---|---|---|
| Case 1 — with project (**TERMPOL/DNV**) | 1-in-46 | 1-in-91 | 1-in-456 |
| Case 1b — all mitigation (**TM proponent**) | 1-in-237 | 1-in-473 | 1-in-2,366 |
| **Independent** (Gunton/TWN/OSRA) | ~1-in-33 | ~1-in-67 | ~1-in-200 |

The curve's shape is the important part: **shallow up to the mean case, then steep (frequency falls
~5× per doubling of volume, slope ≈ −2.3, into the tail)** — because a modern double-hull breach tends
to spill either little or a lot (the QRA's Monte-Carlo P50 outflow given a spill is already 8,250 m³).
So mid-size spills are *nearly as likely as any spill*, and only the largest are rare — a single power
law would have understated the middle. Area-factor lifts the confined inner harbour ×1.5 over the
route average; lifetime probability = 1 − (1 − P)^years, flagged *more likely than not* past 50% — the
quantitative form of the Inquiry's **"inevitable."** Raising throughput toward **2 M bpd** multiplies
loadings/transits and raises frequency proportionally. (Source: DNV, *TERMPOL 3.15 General Risk
Analysis*, Trans Mountain, Nov 2013 — MARCS traffic model + NAPA/MARPOL Monte-Carlo outflow; provided
by the user.)

**Per-incident-type breakdown (accident-type selector).** The QRA decomposes the transit spill
frequency by cause (**Tables 32/33**), and the app scales the total curve by each cause's share, so
picking *collision* vs *grounding* shifts the return period. At the mean case (Case 1), the causes and
their share of the total are: **drift grounding ~1-in-161 (the single largest), collision ~1-in-452,
powered grounding ~1-in-2,579, fire/explosion ~1-in-4,713, structural failure ~1-in-7,022** — i.e.
grounding (drift+powered) ≈ **60%** of spill frequency and collision ≈ **20%**. The shares are
constant from the mean case to the credible worst case, so a **grounding spill is ~3× more likely than
a collision spill** of the same size. The mitigated case (proponent) applies a tug escort that cuts
**drift grounding ~8×** (1-in-161 → 1-in-1,265) and an exclusion zone that cuts **collision ~4×**, so
grounding's dominance falls. The panel shows the selected cause's return period and the *all-causes
combined* total. (DNV notes MARCS likely **over-predicts drift grounding** — only ~20% of breakdowns
are "sudden no-choice" — so the grounding share is conservative.)

**Terminal track (Westridge cargo transfer).** A berth loading spill has its own TERMPOL frequencies
and is physically different from a transit accident, so the app switches to a dedicated track when the
source is the Westridge terminal with a loading-arm accident: **[MODEL ANCHOR]** small-scale spill
**1-in-34 yr**, large-scale (including the **103 m³ (~648 bbl) berth credible worst case**, boom-
contained in 1,500 m³ capacity) **1-in-234 yr** — reproduced exactly. A loading spill is bounded near
that 103 m³ CWC; if the slider is pushed above it the panel flags that a larger release implies a
hull/transit failure, not a loading spill. Because terminal-spill frequency scales with the number of
loadings, the **2 M bpd** proposal roughly halves the terminal return period (e.g. a small-scale berth
spill moves from ~1-in-34 to ~1-in-15 yr).

---

## 6. Quick reference — numbers the model uses

| Quantity | Value used | Basis |
|---|---|---|
| Baseline throughput | 890,000 bpd | TMX actual |
| Stress-test throughput | up to 2,000,000 bpd | user hypothetical |
| Aframax cargo | ~550,000–600,000 bbl (~80% load) | TMX/port |
| VLCC cargo (hypothetical) | ~2,000,000 bbl | user hypothetical |
| Tanker loadings | ~34/month (≈1–2/day) | TMX/port |
| Genwest worst case | 16 ML ≈ 100,000 bbl | City of Vancouver |
| Kalamazoo | ~20,000 bbl; >$1.2 B; ~5 yr; 61 homes; 320+ symptomatic | NTSB/EPA/press |
| 2007 Westridge | ~1,400 bbl; 225 evacuated; $15 M; ~95% recovered (land) | TSB |
| Exxon Valdez | 260,000 bbl; ~14% recovered; ~US$3.5 B | reference |
| On-water recovery | ~10–15% (best case) | literature |
| WCMRC response | 2 h (Port) / 6 h (Juan de Fuca); 20,000 t capacity | WCMRC |
| Benzene (Kalamazoo air) | <50–200 ppb; spikes 550–10,000 ppb | ICN |
| Summer sea breeze | onshore W→E, ~12 km/h daytime | ECCC/UBC |
| Winter SE | ~10–15 km/h | ECCC |
| Arctic outflow | E→W, ~25–30 kt, 1–3×/winter | UBC EOAS |
| Fraser freshet peak | >9,000 m³/s (May–Jul); ~10× winter | Water Survey/Wikipedia |
| Fraser winter low | <1,000 m³/s (record 340) | Water Survey |
| Salt-wedge intrusion (low flow) | ~25 km upriver on flood tide | MDPI/Springer |
| Spring tidal range | ~5 m Strait/Fraser mouth; ~4 m Burrard Inlet | ScienceDirect |
| King tides | winter (Dec–Jan), coincide with storms | VIA/DFO |
| Storm surge (Dec 2006) | 0.94 m at Point Atkinson (no flood — missed high tide) | Atmosphere-Ocean 2015 |
| Nestucca (1988) | ~5,500 bbl Bunker C; ~116 km oiled; ~56,250 birds; ~500 km coast affected | DFO reports / WA Ecology |
| Exxon Valdez cleanup | ~3 yr active (to 1992); lingering oil 25–35+ yr | NOAA / EVOSTC |
| Long-range drift | ~3% of wind speed (DFO 1978); bounded alongshore reach ~100–230 km | DFO 1978 |
| DFO design spill | 50,000 t (~366k bbl); design tanker 325,000 DWT | DFO 1978 |
| Low-energy-beach persistence | oil evidence 5 yr+ (sheltered); high-energy flushes fast | DFO 1978 (ARROW) |
| Ecosystem recovery | ~90% in 3–4 yr; residual at 12 yr; salmonids decades | DFO 1978 (Tampico Maru) |
| Highest-risk route | Port Moody via Juan de Fuca/Haro = 100/100/100 | DFO 1978 |
| Seabird mortality | Nestucca ~56k; Exxon ~250k; Genwest >100k; Torrey Canyon ~10k | studies |
| Spill frequency (DNV QRA, w/ project) | any 1-in-46; mean 8,250 m³ 1-in-91; worst-case 16,500 m³ 1-in-456 | DNV TERMPOL 3.15 (2013), Table 34 |
| QRA outflow given a spill | collision P50 8,250 m³ / P90 16,500 m³; grounding P50 5,700 / P90 15,750 m³ | DNV TERMPOL 3.15 |
| Spill frequency (TM fully-mitigated) | any-size 1-in-237 yr; worst-case 1-in-2,366 yr | Trans Mountain |
| Spill probability (independent, 50 yr) | 43–87% any-size; 10–29% worst-case | Gunton / TWN |
| Westridge terminal spill | small 1-in-34 yr; large 1-in-234 yr (unmitigated) | TERMPOL 2014 |
| Tanker traffic | 60 → 408 tankers/yr (34/mo); ~2 transits/day | TERMPOL 2014 |

---

## 7. Caveats

- **The app is a communication / what-if tool, not a dispersion or emergency-management model.**
  Outputs are order-of-magnitude and driven by transparent formulas in `model.js`, calibrated to
  the anchors above. Real spill behaviour depends on release dynamics, bathymetry, tides,
  real-time meteorology and response performance that a browser toy cannot capture.
- Several figures are contested between proponent and independent studies (esp. recovery rates and
  boom effectiveness). The model deliberately sits toward the **independent/precautionary** end and
  labels every coefficient so users can adjust them.
- The **2M bpd / daily-VLCC** case is included because the requester asked for it as a scenario; it
  is **not** a description of any approved operation.

## Sources
*(Primary/official and peer-reviewed sources anchor every technical number; media and encyclopedia
entries are retained for narrative context only and are labelled as such.)*
- [Trans Mountain — Lower Mainland](https://www.transmountain.com/lower-mainland)
- [CER — Trans Mountain market snapshot](https://www.cer-rec.gc.ca/en/data-analysis/energy-markets/market-snapshots/2025/market-snapshot-trans-mountain-expansion-eases-pipeline-constraints-and-increases-exports-to-overseas-markets.html)
- [Trans Mountain pipeline — Wikipedia *(context)*](https://en.wikipedia.org/wiki/Trans_Mountain_pipeline)
- [CBC — Burrard Inlet dredging approved](https://www.cbc.ca/news/canada/british-columbia/burrard-inlet-dredging-approved-9.7248180)
- [Times Colonist — dredging / Aframax loading](https://www.timescolonist.com/local-news/dredging-of-burrard-inlet-approved-to-make-room-for-big-oil-tankers-12469336)
- [National Observer — dredging approval (2026)](https://www.nationalobserver.com/2026/06/25/news/dredging-vancouvers-burrard-approved-make-room-big-oil-tankers)
- [InsideClimate News — Dilbit primer](https://insideclimatenews.org/news/26062012/dilbit-primer-diluted-bitumen-conventional-oil-tar-sands-alberta-kalamazoo-keystone-xl-enbridge/)
- [InsideClimate News — The Dilbit Disaster (Kalamazoo)](https://insideclimatenews.org/news/26062012/dilbit-diluted-bitumen-enbridge-kalamazoo-river-marshall-michigan-oil-spill-6b-pipeline-epa/)
- [Frontiers — Diluted Bitumen weathering & recovery](https://www.frontiersin.org/journals/environmental-science/articles/10.3389/fenvs.2022.910365/full)
- [US EPA — Enbridge Kalamazoo spill response](https://www.epa.gov/enbridge-spill-michigan)
- [NTSB — Enbridge Line 6B accident report PAR-12/01](https://www.ntsb.gov/investigations/AccidentReports/Reports/PAR1201.pdf)
- [Kalamazoo River oil spill — Wikipedia *(context)*](https://en.wikipedia.org/wiki/Kalamazoo_River_oil_spill)
- [Pipeline Safety Trust — Kalamazoo cost/cleanup](https://pstrust.org/what-do-you-get-for-a-million-gallon-spill-a-billion-dollar-clean-up-and-four-years/)
- [Genwest oil-spill model report (City of Vancouver)](https://vancouver.ca/images/web/pipeline/Genwest-oil-spill-model-report.pdf)
- [Nuka Research spill debrief (City of Vancouver)](https://vancouver.ca/images/web/pipeline/NUKA-Oil-Spill-Debrief-and-Scenario-Workshop.pdf)
- [UBC/City economic impact — CTV](https://www.ctvnews.ca/business/trans-mountain-oil-spill-could-cost-vancouver-s-economy-1-2b-report-1.2386361)
- [Gunton (SFU REM) TMEP spill-risk assessment (PDF)](http://rem-main.rem.sfu.ca/papers/gunton/km_tig_spill_risk_final_report_Upper_Nicola_Band_Expert_Report.__An_Assessment_of_Spill_Risk_for_the_TMEP_(00250905xC6E53)_-_A4Q1T7.pdf)
- [WCMRC — Our Story / response times](https://wcmrc.com/about/our-story/)
- [WCMRC — Strategies](https://wcmrc.com/preparedness/strategies/)
- [Trans Mountain — Marine response](https://www.transmountain.com/marine-response)
- [Trans Mountain — Westridge 2007 spill](https://www.transmountain.com/westridge-2007-spill)
- [TSB — 2007 Westridge investigation P07H0040](https://www.tsb.gc.ca/eng/rapports-reports/pipeline/2007/p07h0040/p07h0040.html)
- [CDC — Benzene fact sheet](https://www.cdc.gov/chemical-emergencies/chemical-fact-sheets/benzene.html)
- [UBC EOAS — Inflows and outflows (sea breeze / Arctic outflow)](https://www.eoas.ubc.ca/courses/atsc113/sailing/met_concepts/10-met-local-conditions/10b-inflows-and-outflows/)
- [ECCC Canadian Climate Normals (Vancouver Intl)](https://climate.weather.gc.ca/climate_normals/)
- [ECCC Water Survey of Canada — Fraser River at Hope (08MF005)](https://wateroffice.ec.gc.ca/report/historical_e.html?stn=08MF005)
- [Climate of Vancouver — Wikipedia *(context)*](https://en.wikipedia.org/wiki/Climate_of_Vancouver)
- [Fraser River — Wikipedia *(context)*](https://en.wikipedia.org/wiki/Fraser_River)
- [Modelling the Salt Wedge in the Fraser River — MDPI JMSE](https://www.mdpi.com/2077-1312/6/4/130)
- [Salt wedge & tidal flow — contaminant pathways in the Fraser Estuary (Springer)](https://link.springer.com/chapter/10.1007/978-3-642-75413-5_29)
- [Tidal propagation in the Lower Fraser River — ScienceDirect](https://www.sciencedirect.com/science/article/abs/pii/S0272771421005448)
- [Storm Surges in the Strait of Georgia — Atmosphere-Ocean (2015)](https://www.tandfonline.com/doi/full/10.1080/07055900.2015.1108899)
- [Where will king tide be biggest in B.C.? — Vancouver Is Awesome](https://www.vancouverisawesome.com/highlights/where-will-king-tide-be-biggest-in-metro-vancouver-8092635)
- [Vancouver closes seawall over storm surge and flood risk — Daily Hive](https://dailyhive.com/vancouver/seawall-closed-storm-surge-flood-risk-king-tide)
- [Oil spill would spell disaster for Fraser River salmon — Richmond News](https://www.richmond-news.com/local-news/oil-spill-would-spell-disaster-for-fraser-river-salmon-raincoast-3081094)
- [The Nestucca — Washington State Dept of Ecology](https://ecology.wa.gov/blog/december-2020/the-nestucca)
- [Washington State Has Forgotten Its Own BP Oil Spill (Nestucca) — Sightline](https://www.sightline.org/2015/09/15/washington-state-has-forgotten-its-own-bp-oil-spill/)
- [Barge Nestucca Bunker Fuel Oil Spill — USGS/DOI case](https://www.cerc.usgs.gov/orda_docs/CaseDetails?ID=961)
- [Has Prince William Sound Recovered? (Exxon lingering oil) — NOAA](https://response.restoration.noaa.gov/oil-and-chemical-spills/significant-incidents/exxon-valdez-oil-spill/prince-william-sound-recovered.html)
- [Lingering Oil — Exxon Valdez Oil Spill Trustee Council](https://evostc.state.ak.us/status-of-restoration/lingering-oil/)
- [Tanker Moratorium (West Coast Oil Ports Inquiry history) — West Coast Environmental Law](https://www.wcel.org/tanker-moratorium)
- Fisheries & Environment Canada, Working Group on West Coast Deepwater Oil Ports (chair C. McAllister), *Potential Pacific Coast Oil Ports: A Comparative Environmental Risk Analysis*, Vol. II, Feb 1978 (DFO catalogue 40591190; provided by the user)
- [Transport Canada — TERMPOL Review Process Report on the Trans Mountain Expansion Project (2014, DNV Marine QRA)](https://www.transmountain.com/termpol) (provided by the user)
- DNV, *TERMPOL 3.8 Casualty Data Survey* (Enbridge Northern Gateway Project, Apr 2010) — global tanker-casualty base rates from Lloyd's Register Fairplay / ITOPF / TSB / CCG (provided by the user)
- Det Norske Veritas (U.S.A.), *TERMPOL 3.15 General Risk Analysis and Intended Methods of Reducing Risks*, Trans Mountain Pipeline ULC, Doc. 167ITKV-9, Rev. 0, 25 Nov 2013 — the primary marine QRA (MARCS + NAPA/MARPOL Monte-Carlo); Table 34 spill-size frequencies (provided by the user)
- [T. Gunton (SFU REM) — An Assessment of Spill Risk for the Trans Mountain Expansion Project](http://rem-main.rem.sfu.ca/papers/gunton/km_tig_spill_risk_final_report_Upper_Nicola_Band_Expert_Report.__An_Assessment_of_Spill_Risk_for_the_TMEP_(00250905xC6E53)_-_A4Q1T7.pdf)
- [ITOPF — Oil Tanker Spill Statistics 2025](https://www.itopf.org/knowledge-resources/data-statistics/oil-tanker-spill-statistics-2025/)
- [West Coast Environmental Law — Tanker Moratorium (Oil Ports Inquiry history)](https://www.wcel.org/tanker-moratorium)
- Jarvela Rosenberger, MacDuffee, Rosenberger & Ross (2017), *Oil Spills and Marine Mammals in British Columbia: Development and Application of a Risk-Based Conceptual Framework*, Arch. Environ. Contam. Toxicol. 73:131–153 — SRKW critical-habitat overlap (Table 6); provided by the user
- Robertson, Giles, Frayne, Noviello & Dykens (2024), *NWAC RRT 10 Southern Resident Killer Whale Deterrence Task Force Final Report* — SRKW spill response, +696 transits/yr, Exxon analog; provided by the user

---

## Shoreline-oiling layer (which shores get oiled, and how badly)

The **🔥 Shoreline oiling** map toggle estimates which coastlines a spill is likely to
oil under the current wind and tide, and shades each affected shore segment on a
maroon→blood-red ramp by **severity** (or, in the other mode, by **probability** of
oiling). It is an illustrative browser-side model (`js/shoreline-oiling.js`), not an
operational spill trajectory model — but every input is real, provincial/federal data.

### Method (stochastic Lagrangian transport + shoreline stranding)

1. **Release** ~500 virtual oil particles at the spill source.
2. **Advect** each hourly for up to 7 days (14 days for very large spills, whose oil
   demonstrably keeps moving for weeks) by the sum of:
   - **Wind drift** = ~3 % of wind speed toward the downwind direction (the standard
     surface-oil "3 % rule" used by NOAA and response agencies), with each particle's
     heading drawn from the site's **real seasonal wind rose** so the plume fans out;
   - **Tidal drift** = an oscillating flood/ebb current along the site's **real tidal-
     ellipse axis** (amplitude by tide state) — mostly reversing, small net set;
   - **Diffusion** = a random walk (horizontal eddy diffusivity) so the ensemble spreads.
3. **Weather** the oil in two components: the volatile ~30 % flashes off with a ~60 h
   half-life, while the dense persistent residue — the part that actually oils
   shorelines (NASEM 2016) — leaves the surface much more slowly (dispersion/
   submergence), faster in strong winds (whitecap entrainment rises steeply with wind).
4. **Strand**: when a particle comes within ~0.9 km of a ShoreZone shore-unit segment it
   grounds there and sheds a **fraction** of its remaining oil (~30 % in calm water,
   most of its load in gale-driven surf); the rest re-floats on the next tide and
   drifts on, stringing the footprint down-coast. Sticky shores hold what lands;
   exposed rock can refloat it (refloat probability rises with wave-exposure class).
5. **Score** each shore segment: *probability of oiling* = the fraction of the ensemble's
   independent sub-realizations (the parcels split into 32 groups, each with its own
   wind-rose draws) that reach this shore — a proper "how consistently is this beach oiled
   across wind/tide realizations", so a shore in the core drift path reads ~60–100 % and a
   fringe shore reads low (earlier this was parcels-hitting ÷ total-parcels, which read ~0 %
   even for a certainly-oiled beach because oil spreads over hundreds of segments); *oil
   load* = stranded (weathered) mass; **severity = load × oil-residency weight**, where
   residency is the BC ShoreZone `OIL_RESIDENCY_INDEX` — so estuaries and mud flats
   (residency 5, oil persists for years) glow far hotter than an exposed rock ramp
   (residency 1, days).

### Data sources (all real; converted offline in `north-coast/tools/`)

- **Shoreline classification & oil residency** — BC **ShoreZone** *Shore Unit
  Classifications (Lines)*, `WHSE_ENVIRONMENTAL_MONITORING.SHZN_SHORE_UNIT_CLASS_LINES_SV`
  (BC Data Catalogue, Open Government Licence – BC). Each shore unit carries a physical
  coastal class (34-class system) and a province-assigned `OIL_RESIDENCY_INDEX`
  (1 short/days .. 5 long/years) with definitions — this **is** the severity weight, so
  the ranking is government-authored, not invented here. Ref: *British Columbia Physical
  Shore-Zone Mapping System* (Howes et al.).
- **Tidal currents** — DFO/IOS **WebTide** *Northeast Pacific* barotropic tidal model
  (8 constituents: M2 S2 N2 K2 K1 O1 P1 Q1). The current ellipse (major-axis bearing +
  peak speed) is extracted at each spill source from the model mesh. Sanity checks: Race
  Rocks ≈ 1.0 m/s, Dixon Entrance ≈ 0.34 m/s M2 — consistent with the Coast Pilot and
  Sailing Directions.
- **Winds** — DFO/ECCC **moored-buoy** historical records (stations 46131/46134/46145/
  46146/46147/46181/46183/46185/46205/46206), reduced to 8-point **seasonal wind roses**;
  each spill source is assigned its nearest buoy. The roses reproduce the documented
  climatology (SE gales in Hecate/Dixon in winter, the NW summer regime off Juan de Fuca).

### Honesty / limits

Parametric currents (a tidal ellipse per site, not a full circulation field), a constant
wind rose over the drift window, no Stokes drift or shoreline-holding-capacity accounting,
and a coarse (~65–110 m simplified) shoreline. Coefficients (3 % wind factor, eddy
diffusivity, evaporation half-life, capture/refloat) are order-of-magnitude values from
the literature and are listed in `CFG` at the top of `js/shoreline-oiling.js`. Read the
output as *comparative and directional* — where oil tends to go and which shores would
suffer most — not as a calibrated prediction.

**Volume scaling (added after review).** Each particle now carries a real share of
the spill volume (`spill ÷ N particles`), and every shore segment has a finite
**oil-holding capacity** (∝ its length × stickiness, sticky = high-residency). When a
segment fills, further oil **re-floats and drifts on** to the next shore — so the
oiled footprint grows with spill size (a 2 M bbl release marches tens of km along the
coast; a small spill stays local) instead of being fixed. A segment is only counted as
"oiled" once its **areal loading** (bbl deposited per km of shore) clears a visible
threshold, so a small spill's thin trace deposits don't inflate the footprint. This
keeps the map consistent: bigger spills, and spills in shore-rich estuaries, oil more
coastline — but a 15 k bbl spill never out-paints a 2 M bbl one.

**Footprint calibration against history (added after review).** An earlier version let a
particle dump its **entire** remaining load at its first unsaturated shore contact and
weathered the whole mass away on a single 60 h half-life. Both choices bias a mega-spill's
footprint badly low: oil piles up at first landfall instead of stringing along the coast,
and particles "evaporate" before they can travel — the 2 M bbl Roberts Bank scenario
painted only ~170 km of shore while **Exxon Valdez oiled ~2,100 km of Prince William
Sound / Gulf of Alaska coast from 257 k bbl** (NOAA; Alaska Oil Spill Commission). The
current engine deposits partially per contact, keeps the persistent residue afloat for
weeks in calm water (stripped faster by storm-wave entrainment, and stranded harder per
contact in surf), extends the drift horizon and ensemble size for very large volumes,
and applies a **tide-stage stranding efficiency**: oil strands mainly on a falling tide
and skirts past shore on a rising one (~half of encounters in calm water; nearly all in
storm surf), which is what lets a real slick travel hundreds of km down-coast — Valdez
oil reached shorelines 750 km from the wreck — instead of exhausting itself on the
first bay.

**Land barrier (added after review — the key correction).** The particle stepper
originally treated the shoreline as a *magnet*, not a *wall*: it stranded a particle
that came within capture distance of a shore segment, but nothing stopped a particle
from stepping straight **across a landmass**. Under a NW-ward wind a Roberts Bank slick
would drift clear across Vancouver Island and beach on the outer Pacific coast (Barkley
Sound, Nitinat) — physically impossible without rounding the island. The engine now tests
each step for a **shoreline crossing** (segment-intersection against the ShoreZone lines,
grid-indexed) and, on a hit, strands the particle water-side and **slides it along the
coast** (keeping the drift component parallel to the shore, dropping the into-land
component) — so oil strings *along* a coastline and can never transit land. This removed
a large slug of phantom oiling: the 2 M bbl Roberts Bank scenario drops from a
land-crossing-inflated ~310 km to a physical **~245 km**, with the westernmost oiled
shore now inside Juan de Fuca / the Gulf Islands rather than on the open west coast.

The result was cross-checked against the app's **independent parametric card** and
history. The two now *bracket* the estimate rather than being force-matched: the particle
layer (which respects the land barrier) reads ~245 km for the 2 M bbl Roberts Bank case,
the parametric √-law card ~285 km — a ~15 % spread that honestly reflects model
uncertainty. A 20 k bbl Fraser-crossing rupture oils ~70–90 km of river bank and estuary
(Kalamazoo oiled ~60 km from a similar volume); footprints stay monotone in spill volume.
All still far *below* a Valdez-scaled extrapolation — the Salish Sea is a smaller, more
confined domain and the model caps at its mapped region — so read the footprint as
conservative. On the map, oiled-shore line widths are **zoom-aware**: constant-pixel
strokes made a ~1 km oiled segment collapse to a 2–3 px speck at overview zoom, visually
under-reporting the model's own footprint; strokes now widen at low zoom (as a SCAT map
shades oiled coast) and thin back out as you zoom in.

**Land sources are excluded from the marine sim (added after review).** Dropping particles at an
inland point and drifting them with marine physics painted nonsense (a Sumas Prairie rupture
"oiling" Bellingham). The Sumas, Coquitlam-corridor and Burnaby tank-farm sources now show an
explanatory note instead of a marine footprint — naming the real receptors (aquifer/farmland and
the Sumas/Vedder → Fraser system; the Coquitlam/Brunette watercourses; downhill neighbourhoods and
storm drains, the 2007 Westridge pathway) and pointing to the Fraser-crossing or Westridge sources
for the modelled water pathways.

**Riverine oiling — the lower Fraser (added after review).** BC ShoreZone maps the
*marine* shoreline only, so the Fraser's banks upstream of the delta front have no
mapped shore units — which originally meant a Fraser-crossing spill could not oil the
river it was spilled into. The engine now (a) **synthesizes bank segments** along an
approximated lower-Fraser main/south-arm centerline (crossing → New Westminster →
Annacis → Deas → Steveston → Sand Heads), offset to the ~0.8 km channel width, with
residency 4 (riprap/industrial upstream) and 5 (estuarine marsh reaches) and a
very-protected exposure class; and (b) gives Fraser-source particles a **riverine
transport leg**: they ride the net downstream current (~1.8 km/h winter low flow,
~3.6 km/h mean, ~8 km/h freshet, from the app's river-flow control) with cross-channel
mixing, deposit **partially** on each bank contact (so oiling strings out for tens of
km, as at Kalamazoo, rather than dumping at the source), then switch to normal marine
drift on clearing Sand Heads. The synthetic banks are clearly an approximation — a
hand-drawn centerline, not surveyed shore units — and are labelled as such here; the
tidal reversal of the lower Fraser at low flow is subsumed into the *net* transport
speed. Result: a ~20 k bbl Kalamazoo-scale rupture at the crossing now oils both banks
downstream through the estuary (~tens of km), matching the documented behaviour of the
Kalamazoo River spill (~60 km of river oiled).

**Empirical validation & the residual current (Salish Sea drift-card study).** The net
transport direction is anchored to the *Salish Sea Drift Card Study* (Georgia Strait
Alliance / Raincoast Conservation Foundation, A. Rosenberger, 2013), which released
1,644 drift cards at nine locations — several coinciding with this app's spill sources
(Second Narrows, Pt. Grey, the Fraser mouth, East Point, Turn Point, Kelp Reef,
Discovery Island). Recovered cards showed a consistent **net movement south and out the
Juan de Fuca Strait**, travelling **200–300 km within weeks** (net ~0.25–0.65 km/h, with
~1 km/h initial bursts). To reproduce this the model adds a small **persistent estuarine
residual current** that nudges floating oil toward the open-ocean outlet (`SEA_EXIT`;
`CFG.residualKmh`), on top of the oscillating tide and wind. The study also corroborates
the model's behaviour: confined-inlet spills beach locally within days then a fraction
escapes to the wider sea, while open-water sources (e.g. Kelp Reef, 6% recovery) largely
transit out to the Pacific without intercepting land. The South-Coast shoreline domain
was widened west/south accordingly (Barkley Sound, Clayoquot/Tofino, Port Renfrew, outer
Juan de Fuca) so this far-field oiling can display. Caveats from the authors: cards are a
*conservative* proxy for a major oil spill's spread, and this was one season / one set of
weather conditions. US (Olympic Peninsula) shorelines lie outside the BC ShoreZone data
and are not drawn.

## Benzene benchmark ladder (health view)

The Health view anchors the abstract "peak benzene (ppb)" reading against recognised
exposure thresholds on a log scale, with a headline that adapts to the value's risk
band and an ⓘ teaser on the Health card. Thresholds shown: **ATSDR** chronic minimal
risk level **3 ppb** (public, 24/7); **ACGIH** TLV **20 ppb** (8-h workday); **NIOSH**
REL **100 ppb** (8-h); **OSHA** PEL **1,000 ppb** (8-h legal limit) and STEL **5,000
ppb** (15-min ceiling); with the reminder that **1 ppm = 1,000 ppb**. Because a spill
plume peak is short-lived, the note flags that a peak is most fairly compared to the
short-term ceiling, while the chronic public target is shown for context — so the
comparison stays defensible rather than matching a transient peak against a year-round
limit. Benzene is a known human carcinogen (IARC Group 1); there is no single "safe"
level, which is why the ladder spans public-air targets through occupational limits.
