This project uses published marine-chokepoint simulation outputs to ask which countries are most structurally vulnerable to a simulated closure of the Strait of Hormuz. It compares all-open and StraitOfHormuzClosed routing outputs for cereals (HS2 10), mineral fuels (HS2 27), and fertilisers (HS2 31), then ranks country-level importer and exporter exposure. The principal result is that Hormuz risk is more differentiated than a simple oil-export bottleneck story: non-Gulf mineral-fuel importers carry the largest external losses, Gulf states are also import-vulnerable in cereals, and Gulf exporter continuity is highly uneven.
- In the matched routing universe, 931 Hormuz-exposed flows are lost under closure and 65 survive through reassignment.
- Importer-side losses are dominated by mineral fuels: about US$219.3bn and 514.7mn tonnes are lost, compared with about US$5.41bn in cereals and US$2.18bn in fertilisers.
- The largest non-Gulf mineral-fuel importer losses fall on China, India, South Korea, Japan, and Singapore.
- Gulf-side vulnerability is not only an export problem: cereal import losses are especially severe for Iran, Iraq, Kuwait, Qatar, and Bahrain.
- Gulf exporter continuity is sharply unequal. Saudi Arabia retains the clearest simulated continuity, while several Gulf exporters retain none of their baseline Hormuz-exposed mineral-fuel export value.
The analysis adapts Lincoln Pratson's marine-chokepoint framework but narrows the scope to one closure scenario and three HS2 commodity groups. The workflow joins bilateral trade records to selected route outputs, compares all-open and Hormuz-closure states, and classifies vulnerability across a 2x2 frame: Gulf vs non-Gulf countries and importers vs exporters. Losses are reported in value and weight, with relative loss shares used to distinguish large systemic exposure from concentrated national dependence.
notebooks/: reproducible audit and exposure-analysis notebooks.data/raw/: source workbooks that can be tracked within GitHub's size limit.data/processed/: analysis-ready country-level output.reports/: final PDF report, LaTeX source, figures, and result tables.src/ReplicationExplanatoryPackage/: retained source-package documentation and MATLAB scripts.
Create the project environment with Conda:
conda env create -f environment.yml
conda activate hormuz-chokepoint-simThe main dependencies are Python 3.12, Jupyter, pandas, NumPy, Matplotlib, seaborn, and openpyxl.
- Download the full source replication package from SciOpen: https://ets-data.sciopen.com/ETSD.2022.9190012.
- Place
MarineChokepointBlockagePaperMasterTradeAndChokepointTables.xlsxatdata/raw/MarineChokepointBlockagePaperMasterTradeAndChokepointTables.xlsx. - Run
notebooks/01_data_audit.ipynbto inspect workbook structure and scenario availability. - Run
notebooks/02_hormuz_exposure_analysis.ipynbto regenerate processed outputs, report tables, and figures.
The final report is available at reports/report.pdf.
The project uses Pratson's published replication data. Two smaller source workbooks are tracked in data/raw/; the master trade workbook is not tracked because it exceeds GitHub's 100 MB file size limit. It is intentionally ignored at both expected local paths:
data/raw/MarineChokepointBlockagePaperMasterTradeAndChokepointTables.xlsxsrc/ReplicationExplanatoryPackage/SecondaryDataSets/MarineChokepointBlockagePaperMasterTradeAndChokepointTables.xlsx
Derived, lightweight outputs are tracked in data/processed/, reports/tables/, and reports/figures/.
The results are a structural stress test, not a forecast of realised crisis losses. They are conditional on the matched routing universe rather than the full HS2 trade universe, and they inherit the assumptions of the published routing framework. The analysis identifies loss of route-feasible maritime access in the simulation; it does not model substitution across suppliers, stock drawdowns, price responses, insurance costs, naval protection, or welfare effects.
