The Oil Must Flow: A Global Map of Energy
An open, cited map of the world's oil and gas system: what its disruption scenarios show about exposure to Hormuz and three pipelines, what they cannot show, and how one person and five Claude models built it between May and September 2026.
- On 2024 trade data, 27.9% of the world's recorded crude imports came from Gulf exporters along routes through the Strait of Hormuz. Pakistan, the Philippines, Japan (73.3%) and South Korea (61.9%) depend on it most by share; China is the largest by volume, at about 3.5 million barrels a day.
- Exposure has moved east. Run over twenty years, the same calculation shows the United States falling from 19% Hormuz-dependent in 2005 to 7.9% in 2024 while China's at-risk volume more than quadrupled. Hormuz-routed LNG fell from 30% of recorded world LNG imports in 2015 to 19% in 2024, but Pakistan (88%) and India (54%) remain tied to it.
- Against the 2026 closure, a static exposure map is a good first sort of who gets hurt and a poor guide to how much. It named the importers and the LNG buyers who were hit; it could not see India buying Russian crude, Saudi Arabia pushing 7 million barrels a day west to the Red Sea, or Bangladesh, whose 2024 LNG imports the trade data barely record.
- The open trade statistics every such model depends on barely record Iran after 2019. The map's own data shows where the barrels went: 'Malaysian' crude into China rising from 33,000 to 833,000 barrels a day between 2016 and 2024.
- Five Claude models built the map across two working periods. The decisive step was a cross-model review told to use the product as a researcher would, not a model upgrade. It found the default view had been wrong since the first phase, under a green test suite.
Disclosure: I built the Global Energy Map, and it is hosted on the domain of Marain, my company. It was built with Anthropic’s Claude models acting as coding agents, and this report was researched and drafted with Claude as well, under the no-fabrication rules this site publishes by: every figure below carries a link to its source or to the reproducible query that produced it, and where sources disagree the report says so.
Executive Summary
On 28 February 2026, US and Israeli strikes on Iran killed its supreme leader, Ali Khamenei. Two days later the Islamic Revolutionary Guard Corps declared the Strait of Hormuz closed, and traffic through a waterway that carried about 20 million barrels of oil a day in 2025 — a quarter of the world’s seaborne oil trade — fell to about five vessels a day. The International Energy Agency called it “the largest supply disruption in the history of the global oil market”. As I write, six and a half months later, the strait is still largely shut.
On 15 May, eleven weeks after the first strikes, I started building a map. The Global Energy Map is an interactive, openly licensed atlas of the world’s oil and gas system — reserves, extraction sites, pipelines, refineries, LNG terminals and voyages, storage and ports, from 1990 to 2024 — with disruption scenarios for the Strait of Hormuz (crude and LNG) and for the Druzhba, Baku–Tbilisi–Ceyhan and Caspian Pipeline Consortium pipelines. Every number on it traces to a cited public source. The code is MIT-licensed, the openly licensed data files are downloadable with checksums, and the eighteen route shares that drive the scenarios each carry a citation.
This report does three things.
It explains what the scenarios measure and what they show. They do exposure accounting: for a closed route, what share of each country’s imports in a given year had been travelling along it. On 2024 trade data, 27.9% of the world’s recorded crude imports were Hormuz-routed. By share, Pakistan (78.2%), the Philippines (77.1%), Japan (73.3%) and South Korea (61.9%) were most exposed; by volume, China (3.5 million barrels a day), India (1.9) and Japan (1.7). Twenty years of the same calculation show the exposure moving east: the United States fell from 19% to 7.9%, and China’s at-risk volume rose from 0.8 to 3.5 million barrels a day. Hormuz LNG exposure has fallen for the world (30% of recorded LNG imports in 2015, 19% in 2024) but not for Pakistan, India or Italy.
It tests the map against the war. A static exposure measure turns out to be a good first sort of who would be hurt: the countries it ranks highest are the ones that declared energy emergencies, released stocks, capped prices or cut the working week, and the LNG buyers Qatar named in its long-term force majeure — Italy, Belgium, South Korea and China — sit near the top of its LNG ranking. It is a poor guide to how much. It does not model substitution (India replaced Gulf barrels with Russian ones), bypass capacity (Saudi Arabia ran its East–West pipeline at 7 million barrels a day, not the fixed 12% bypass the map assumes) or stocks. And the trade statistics underneath it record almost none of Bangladesh’s 2024 LNG imports and none of Iran’s recent oil exports.
It documents how the map was built. One person and five Claude models — Opus 4.7 and Sonnet 4.6 in May, Fable 5.1, Sonnet 5 and Opus 5 in September — produced it across two working periods separated by a four-month pause. Phases 7 to 10 — about 23,000 added and 8,700 removed lines — ran in about 22 hours of wall-clock time, from the start of a review on 10 September to the fourth merge the next morning. The finding that matters most for anyone building research software with agents is not about speed. After six phases of test-driven work, a review by a different model, instructed to use the product the way a researcher would, found that the map’s headline layer had been painting the wrong quantity since the first day, that its basemap had never rendered in production, and that its newest feature was reachable only by the tests.
The map is built to be used and extended by people who know more about energy security than I do. Section 12 says how to cite it, what can be downloaded and remixed, and which research questions it is best placed to help answer.
1. Why a Map, and Why Me
I am not an energy economist. I have spent twenty-eight years working across journalism, marketing and technology, and the thread through all of it is measurement — the gap between what a system is doing and what its instruments say it is doing. I wrote about that gap in The Counting Problem. Energy is where I first saw it at the scale of countries.
At Xynteo, where I was Chief Digital Officer, I worked on the architecture of India 2022, a business-led coalition whose executive committee was the chief executives of Hindustan Unilever, the IKEA Foundation, Shell, Technip and GE South Asia. A later coalition I proposed under Marain was organised around the four problems that actually constrain the country: energy, food, water and work. One of India 2022’s four tracks, Energise, set out to produce enough energy for the daily requirements of ten million people, against the Indian government’s goal of universal round-the-clock power; its pilots included waste-to-energy, rural solar and fly-ash reuse. In each of those programmes energy was on the short list of things everything else depends on. A later study my own company produced for Xynteo’s Europe Delivers programme — twenty-nine countries read by machines and analysts together — had a green and resilient economy as one of its four themes.
That is where the curiosity comes from. The war made it urgent. By mid-May the strait had been effectively closed for ten weeks, Brent had traded more than 60% above its pre-war level, Pakistan had moved its government to a four-day week, and the Philippines had declared a national energy emergency. The public answer to the question underneath all of it — who depends on this strait, and for how much — was mostly a handful of aggregates: twenty million barrels a day, a fifth of world consumption, a quarter of seaborne trade. I wanted to see the structure beneath those figures: which importers, which refineries, which LNG terminals, through which routes, and how that had changed over thirty years — and to be able to check every number.
It was an ambitious “attempt to vizualize the world’s energy linkages.” That’s what the first README commit read in the github repo (which has been public all along).
The design specification written on the first day states the goal in terms I would still use: to build a map of the world’s hydrocarbon system as “an OSINT resource for academics, energy-policy researchers, IR scholars, and economists who think in systems”, surfacing global energy dependencies “as inspectable, time-varying, scenario-testable structure rather than as opinion or narrative.” Its first locked decision was the first scenario: a Strait of Hormuz closure.
If you came for how this was built with AI rather than for the energy analysis, skip to section 8 and read sections 8 to 11 on their own: the models and the phases, the cross-model review that found the map was wrong, what I actually did, and what I would tell anyone building research software this way. The energy sections stand on their own too, and section 12 is the invitation.
2. The Strait, Closed
This section sets out the closure as the record shows it, with the sources’ disagreements left visible, because the scenarios have to be read against it. There were two wars. The first, in June 2025, did not close the strait. Israel began major strikes on Iran on 13 June; the United States struck three nuclear sites including Fordow on 22 June; a ceasefire followed on 24 June (Congressional Research Service). Iran’s parliament was reported to back closing Hormuz, but the decision was never adopted, and Brent had fallen back to $67.14 — below its pre-war level — by the day of the ceasefire. The second began on 28 February 2026 and did close it.
| Date | Event |
|---|---|
| 28 Feb 2026 | US–Israeli strikes kill Ayatollah Ali Khamenei; Iran strikes across the Gulf and asserts control of the strait (AP) |
| 2 Mar | IRGC declares the strait closed; traffic falls to about five vessels a day (Al Jazeera). QatarEnergy halts LNG production after attacks on Ras Laffan and Mesaieed (Al Jazeera) |
| 11 Mar | IEA members agree a 400-million-barrel emergency stock release, the largest in the agency’s history; the US commits 172 million barrels from its Strategic Petroleum Reserve (IEA; DOE) |
| 18–19 Mar | Iranian missile strike on Ras Laffan; QatarEnergy says two trains, 12.8 Mtpa or about 17% of its exports, will take three to five years to repair (CEEnergyNews, quoting QatarEnergy) |
| 24 Mar | QatarEnergy declares long-term force majeure on some contracts, including for buyers in Italy, Belgium, South Korea and China (Al Jazeera) |
| 7 Apr | Two-week ceasefire, mediated by Pakistan (AP) |
| 13 Apr | US blockade of Iranian ports begins (CRS) |
| 17 Jun | US–Iran memorandum: blockade lifted, passage “with no charge, for 60 days only”; crossings rise to about 45 a day by Kpler’s count (Al Jazeera’s daily average is 20) but never regain pre-war levels (CRS; Kpler) |
| 7–8 Jul | Iran strikes three ships including the LNG carrier Al Rekayyat; the US strikes Iran; the ceasefire is declared over (AP; Kpler) |
| 14 Jul | US blockade resumes; traffic falls back to about five vessels a day (Al Jazeera) |
| 17 Aug | The memorandum’s 60-day window lapses; Iran announces mandatory transit permits and tolls (Kpler) |
| late Aug – Sep | A renewed tanker war; the US says it has cleared mines from the recognised lanes, Iran disputes it (Al Jazeera) |
| 10 Sep | Brent settles at $107.63, its highest since 19 May (Bloomberg via Rigzone) |
Table: The 2026 closure of the Strait of Hormuz, as reported
The baseline the closure removed is well documented. The IEA puts 2025 flows at about 20 million barrels a day of crude and products — nearly 15 million of it crude, about 34% of global crude trade — with 93% of Qatar’s and 96% of the UAE’s LNG exports, 19% of global LNG trade, also passing through. EIA’s figures are close: 20.9 million barrels a day in the first half of 2025, about 20% of world petroleum liquids consumption. EIA then measured what the closure did: 4.9 million barrels a day through the strait in the second quarter of 2026, against 21.6 million in the last quarter of 2025. The IEA’s own count for March to May is lower still, 2.7 million barrels a day.
Prices are harder to state in one number, because the sources measure different things. Brent futures were around $72 on 27 February. The IEA says futures peaked in late April at more than 60% above pre-conflict levels; reported peaks range from a $114.40 highest close to more than $126. The physical benchmark, North Sea Dated, reached an all-time high of $144 a barrel in early April. Asian LNG rose 51% and European gas 35% in the eight weeks after the closure, while US Henry Hub fell 9%. War-risk insurance on a tanker went from about 0.25% of hull value to between 3% and 10%. At least twenty seafarers and port workers had been killed in 68 incidents confirmed by the International Maritime Organization by late August.
Two of the other routes the map models were under attack in the same months, for reasons unrelated to Iran. Russian crude to Hungary and Slovakia through Druzhba stopped for nearly three months after the line was damaged on 27 January — Kyiv blames a Russian strike, Budapest and Bratislava called the halt political, and no independent inspection has settled it. The Caspian Pipeline Consortium terminal at Novorossiysk, which carries about 80% of Kazakhstan’s oil exports, was repeatedly shut by Ukrainian drone strikes on tankers and moorings; in July, Kazakhstan’s output fell from about two million barrels a day to roughly one. The Baku–Tbilisi–Ceyhan pipeline was not attacked; Azerbaijan and Israel say they foiled Iranian plans to hit it.
3. What the Map Is
The map is a single web page with no backend. The browser downloads a set of Parquet and GeoJSON files — about 17 MB in all — and draws them with deck.gl over a MapLibre basemap. Everything shown is computed from those files, which are the same files anyone can download from the Data page.
| Layer | Features | Source (licence) | Time behaviour |
|---|---|---|---|
| Proved reserves, oil and gas | 49–51 countries, 1990–2020 | Energy Institute Statistical Review 2025 (view only) | 2020 value shown for 2021–24, badged |
| Extraction sites | 5,008 | Global Energy Monitor, GOGET July 2023 (CC BY 4.0) | 22% dated |
| Oil and NGL pipelines | 1,185 | GEM Global Oil Infrastructure Tracker (CC BY 4.0) | 64% dated |
| Gas pipelines | 2,772 | GEM Global Gas Infrastructure Tracker (CC BY 4.0) | 74% dated |
| Refineries | 1,163 (capacity known for 350) | US DOE NETL GOGI (public domain) + OpenStreetMap (ODbL) | Undated |
| LNG terminals | 312 | LNG-T3, Zhou (2026) (CC BY 4.0) + GEM | 98% dated |
| LNG voyages | 17,592, 2020–2024 | LNG-T3 (CC BY 4.0) | By year |
| Basins · storage · ports | 1,046 · 7,733 · 3,694 | NETL GOGI (public domain) | Undated |
| Bilateral crude and LNG trade | 53,727 country-pair-years, 1995–2024 | CEPII BACI, release V202601 (Etalab 2.0) | By year |
| Scenario route shares | 18, each cited | EIA, IEA, Argus (Kpler), GEM | Static |
Table: Layers, counts and sources. Counts from the project’s data and coverage notes
Three modes organise it. Infrastructure shows what exists and since when. Flows shows the LNG voyages and trade. Scenarios closes a route and shades every importing country by its exposure, ranks the importers by share and by volume, and ranks the refineries and LNG terminals carrying the most attributed at-risk supply. Hovering anything gives its value, unit, year and source. Every view has a URL that reproduces it, and Share / cite produces an APA or BibTeX reference for that exact view along with the as-of date and licence of every source behind it.
The build is reproducible. A single command, scripts/build_all.py, downloads pinned source releases and rebuilds every shipped file; two runs over the same inputs are byte-identical, and every file’s SHA-256 is published. The test suite, as of launch week, runs to 394 TypeScript unit tests, 244 Python tests over the transforms and the shipped data, and 68 browser tests, including an accessibility scan and pixel probes that check the map actually draws.
What the map deliberately leaves out matters as much. It has no price model, no rerouting, no strategic stocks, no daily flows, no refined products and no coal. Where a source is weak the map says so on screen — reserves frozen at 2020, LNG voyages covering only part of world trade, refinery capacity known for under a third of plants. A thirteen-item list of things that will mislead you is part of the documentation, and I would ask anyone using the map to read it first.
4. Exposure Accounting
Every scenario answers one narrow question: if a route were closed, what share of each country’s imports in a given year had been moving along it?
For a scenario, a commodity and a year, the calculation is:
at risk (importer) = Σ over exporters X of imports(X → importer, year) × share(route, X, importer)
% at risk (importer) = at risk (importer) ÷ total imports (importer, year)
The imports are annual bilateral quantities in tonnes from CEPII’s BACI database — HS 2709 (crude petroleum) for the oil scenarios, HS 271111 (liquefied natural gas) for Hormuz-LNG. Pipeline gas is excluded because it does not cross a chokepoint. The share is the fraction of exporter X’s shipments to that importer that travel along the route. A worked case from the project’s scenario method: in 2022 BACI records 110,000 barrels a day of crude imports into Slovakia, 104,000 of them from Russia; Druzhba’s share for Russia → Slovakia is 1.0 and no other supplier has a Druzhba share, so Slovakia’s exposure is 104 ÷ 110, or 95.1%.
This is first-order exposure accounting, and it sits at the simple end of a large literature. Cherp and Jewell define energy security as low vulnerability of vital energy systems, and vulnerability as “a combination of exposure to risks and resilience capacities”; the map measures the first half and none of the second. In the Asia Pacific Energy Research Centre’s framing that gave the field its “four As”, it operationalises one factor, accessibility “in terms of the availability of related energy infrastructure and energy transportation infrastructure”. Its closest methodological relatives are transit-risk indices such as Le Coq and Paltseva’s for European gas, and two chokepoint studies built, like the map, on BACI or a global trade base: Pratson (2023), which assigns bilateral flows to eleven chokepoints through a network of shipping lanes and models alternative routing, and Verschuur, Lumma and Hall (2025), who combine a global maritime transport model with hazard data for 24 chokepoints and observe that “the exposure of countries to these disruptions has not been comprehensively assessed.” What the map deliberately does not do is what impact models do — convert a shortfall into sectoral losses through input–output tables, as Chen et al. (2024) do for a Malacca blockage, or separate supply from demand shocks in prices, as Kilian (2009) does. Emmerson and Stevens state the limit in one line: the impact of a chokepoint disruption “depends on its extent and duration”, neither of which exposure accounting represents.
What the map offers against that literature is narrower and, I think, useful: a row-level citation for every routing assumption, attribution down to individual refineries and LNG terminals, and data that any reader can rebuild byte for byte. That answers a specific call. Pfenninger and colleagues argued in 2017 that energy research “ostensibly lags behind other fields in promoting more open and reproducible science,” and Pfenninger (2024) that open code and data are not enough — the goal is understandability. Every number on the map can be traced to two inputs a reader can inspect: a row of trade data and a route share.
The route shares are the part of the model most open to dispute, so each one carries a document and a derivation, and the map grades them.
| Scenario | Exporter → importer | Share | Source | Strength |
|---|---|---|---|---|
| Hormuz (crude) | Saudi Arabia → all | 0.88 | Argus, citing Kpler (2026) | Computed from quoted volumes (≈5.5 mb/d via Hormuz vs ≈0.76 via Yanbu) |
| Iraq → all | 0.90 | IEA (2026) | Partly outside the cited source | |
| UAE → all | 0.65 | IEA (2026) | Computed (2.02 mb/d via Hormuz vs ≈1.1 via Fujairah) | |
| Iran, Kuwait, Qatar, Bahrain → all | 1.00 | IEA (2026) | Structural: “vast majority” of exports rely on the strait | |
| Hormuz (LNG) | Qatar, UAE → all | 1.00 | IEA (2026) | Structural: loading terminals inside the Gulf |
| Hormuz (both) | Gulf exporter → other Gulf state | 0 | — | Structural: the cargo never leaves the Gulf |
| Druzhba | Russia → Belarus | 1.00 | GEM.wiki (2026) | Structural |
| Russia → Slovakia, Hungary, Czechia | 1.00 | IEA (2022) | Computed from branch volumes | |
| Russia → Poland, Germany | 0.47 | IEA (2022) | Computed; northern branch allocated pro rata | |
| BTC | Azerbaijan → all | 0.83 | EIA (2025) | Directly quoted |
| CPC | Kazakhstan → all | 0.80 | EIA (2025) | Directly quoted |
| Russia → all | 0.035 | — | Analyst estimate, unsourced, flagged on screen |
Table: The route shares behind every scenario, with the project’s own grading of each
Two properties of these shares shape every result. They are static: each describes one period, mostly 2021–2025, and is applied unchanged from 1995 to 2024, because no open source gives exporter-by-route splits year by year. A Baku–Tbilisi–Ceyhan scenario for 1998 therefore applies 0.83 to Azerbaijan’s exports eight years before the pipeline opened, and Germany’s 0.47 still applies to whatever Russian crude BACI records after Germany stopped taking it. And they are fixed at normal-times use of bypasses, not at bypass capacity. Saudi Arabia’s 12% bypass is how much of its crude used the East–West pipeline before the war, not how much could.
Six of the sixteen shares then in the table were changed on 10 September after research during the build found them unsupported — Druzhba to Poland had been set at 0.95 against sources suggesting 0.35 to 0.65 — and the old values are recorded in each row’s note. The agents doing that research were instructed to flag disputed numbers rather than change them; the change was made only when I said to.
An independent check for this report, against each row’s cited document and the latest figures, found every sourced share either matching its source (Saudi Arabia, the UAE, BTC, CPC–Kazakhstan, the LNG shares and the Gulf 1.0s) or openly flagged as a derivation. Three are dated by events after their source period: the Czech government announced in April 2025 that non-Russian oil through the expanded TAL pipeline would “fully replace the suspended deliveries of Russian oil from the Druzhba pipeline”; Germany and Poland stopped receiving Russian oil through the northern branch in early 2023; and Iraq’s Kirkuk–Ceyhan line resumed exports on 27 September 2025 after a two-and-a-half-year halt. And all of the Hormuz shares were overtaken by the 2026 closure itself. The map should be read as a pre-crisis baseline: its route shares describe 2021–2025, and its trade data end in 2024.
5. What the Scenarios Show
All figures in this section are computed from the published files using the query in the project’s scenario method, as of 11 September 2026. Crude volumes are BACI tonnes converted at 7.33 barrels per tonne and shown as annual-average thousand barrels a day (kb/d). Anyone can reproduce them from the two downloadable files, and each subsection links to the view on the map.
5.1 Hormuz, crude, 2024
Open the view. On 2024 trade, about 12.6 million barrels a day — 27.9% of all crude imports recorded in BACI — came from Gulf exporters along routes through the strait. Saudi Arabia contributes 5.46 million barrels a day of that, Iraq 3.14, the UAE 2.39, Kuwait 0.97 and Qatar 0.67.
| By share | % at risk | At risk / total (kb/d) | By volume | At risk (kb/d) | % at risk | |
|---|---|---|---|---|---|---|
| Pakistan | 78.2% | 156 / 199 | China | 3,518 | 33.8% | |
| Philippines | 77.1% | 100 / 130 | India | 1,877 | 38.6% | |
| Japan | 73.3% | 1,721 / 2,347 | Japan | 1,721 | 73.3% | |
| South Korea | 61.9% | 1,699 / 2,743 | South Korea | 1,699 | 61.9% | |
| Malaysia | 51.7% | 250 / 484 | United States | 533 | 7.9% | |
| Taiwan | 46.1% | 491 / 1,067 | Taiwan | 491 | 46.1% |
Table: Crude importers most exposed to a Hormuz closure, 2024
The two orderings answer different questions. Share is dependence: Japan relies on the Gulf for most of its crude. Volume is scale: China buys more Gulf crude than anyone but also buys heavily elsewhere, so a closure takes a smaller fraction of a much larger number. On the refinery list, Japanese plants dominate the capacity at risk — ExxonMobil’s Kawasaki refinery carries 434,000 of its 592,000 barrels a day — with Reliance Jamnagar and ExxonMobil Singapore near the top. The published aggregate figures are of the same order: the IEA says nearly 34% of global crude trade crossed the strait in 2025. The denominators differ (BACI’s recorded imports against the IEA’s crude trade), so the comparison checks the order of magnitude, not the digit.
5.2 Twenty years of the same question
Because the trade data runs from 1995, the map can ask the same question of earlier years. The route shares stay fixed, so the year-to-year movement comes entirely from who bought what from whom.
| Year | World share at risk | Total at risk (kb/d) | United States | China | Japan | South Korea | India |
|---|---|---|---|---|---|---|---|
| 2005 | 30.2% | 12,810 | 19.0% · 1,958 | 31.5% · 773 | 74.7% · 3,195 | 66.3% · 1,527 | n/a |
| 2010 | 30.8% | 13,404 | 15.9% · 1,541 | 36.0% · 1,696 | 73.3% · 2,617 | 70.3% · 1,708 | 52.0% · 1,594 |
| 2019 | 31.4% | 14,128 | 13.4% · 733 | 34.2% · 3,349 | 72.6% · 2,111 | 61.3% · 1,805 | 51.1% · 2,253 |
| 2024 | 27.9% | 12,635 | 7.9% · 533 | 33.8% · 3,518 | 73.3% · 1,721 | 61.9% · 1,699 | 38.6% · 1,877 |
Table: Hormuz crude exposure over time (% at risk · kb/d at risk). India 2005 is marked n/a because BACI’s recorded Gulf crude into India that year is implausibly small (8 kb/d at risk) — one of the data-quality problems section 7 describes
The world’s dependence on the strait barely moved for fifteen years and dipped only in 2024. What moved was whose dependence it was. The United States went from importing nearly two million barrels a day of Hormuz-routed crude in 2005 to about half a million in 2024, as its own production rose — visible on the map as a fading red on one country. China’s at-risk volume more than quadrupled over the same period. Japan stayed at about three-quarters dependent throughout, on a total that shrank by nearly half. India’s share fell from about half to under 40% between 2019 and 2024, the years in which it began buying Russian crude at scale — BACI records Russian crude into India rising from 51 kb/d in 2019 to 1,848 kb/d in 2024. Section 6 shows the same move again in 2026.
5.3 Hormuz, LNG
Open the view. With the gas axis selected the scenario uses LNG shares — Qatar and the UAE at 100%, because the UAE’s Fujairah bypass carries crude, not LNG — and BACI’s LNG trade.
| Importer | 2015 | 2019 | 2024 | 2024 at risk / total (Mt) |
|---|---|---|---|---|
| Pakistan | 28.6% | 62.2% | 88.2% | 6.7 / 7.5 |
| India | 64.5% | 56.9% | 53.8% | 14.5 / 26.9 |
| Italy | 97.3% | 33.4% | 44.9% | 4.8 / 10.6 |
| Belgium | 99.8% | 61.2% | 32.7% | 1.9 / 5.8 |
| China | 19.3% | 16.8% | 25.2% | 19.2 / 76.2 |
| South Korea | 37.5% | 28.9% | 20.1% | 9.3 / 46.4 |
| Japan | 23.6% | 14.4% | 5.8% | 3.8 / 65.9 |
| United Kingdom | 92.9% | 58.8% | 10.4% | 0.6 / 5.6 |
| World | 30.2% | 23.4% | 18.8% | 71.1 |
Table: Hormuz LNG exposure by importer (% of each country’s recorded LNG imports)
Here the world’s exposure did fall, from 30% of recorded LNG imports in 2015 to 19% in 2024. Europe’s fall is the largest: Belgium, Italy and the United Kingdom were almost entirely Gulf-supplied in 2015 and were at 33%, 45% and 10% by 2024. Japan’s is the largest by volume, from nearly a quarter of 85 million tonnes to under 6% of 66. Pakistan moved the other way, from 29% Hormuz-exposed in 2015 to 88% in 2024, on a total that grew nearly tenfold. The countries at the top of the 2024 list are ones for which Qatari LNG is not one supplier among several but the supply. The Wood Mackenzie view from the other side of the ledger agrees: Pakistan sourced almost all of its 2025 LNG from Qatar, and India more than half.
At terminal level the map uses the LNG-T3 voyage dataset for 2020–2024 to say where within a country the exposure sits. In 2023, Incheon, Pyeongtaek and Tongyoung in South Korea, Shandong in China and Sodegaura in Japan carry the most capacity at risk. LNG-T3 covers only 22–41% of the world LNG trade reported by GIIGNL, so it is used only to split a country’s BACI total among its terminals, never for volumes, and a terminal with no observed voyages is marked as a data gap, not as zero risk.
5.4 Druzhba, BTC and CPC
The pipeline scenarios produce smaller world totals and sharper local ones.
Druzhba, on 2021 trade, puts 866 kb/d at risk: Belarus 96.7%, Slovakia 95.3%, Czechia 61.8%, Hungary 60.2%, Poland 27.2% and Germany 14.8%. On 2022 trade Belarus drops out entirely — not because it stopped importing Russian crude, but because BACI records no Russia → Belarus crude from 2022 onward. The largest refineries at risk are MOL’s Százhalombatta in Hungary and Slovnaft in Bratislava. PCK Schwedt, the German refinery Druzhba actually feeds, is in the data without a capacity, so the model cannot attribute Germany’s exposure to it; this is exactly the kind of limit the documentation spells out.
Baku–Tbilisi–Ceyhan, on 2024 trade, puts 395 kb/d at risk, 0.9% of world crude imports. By volume the largest exposure is Italy’s (171 kb/d, 13.5% of its imports); by share, Israel’s (47.5%) and Croatia’s (43.3%). The Israeli figure is of the same order as Reuters’ description of BTC as carrying roughly a third of Israeli oil imports.
The Caspian Pipeline Consortium, on 2024 trade, is three times larger: 1,212 kb/d at risk, 2.7% of world crude imports. Romania (46.0%) and Austria (45.7%) are the most dependent by share, then Turkey (30.4%), Serbia (28.8%), Greece (19.6%) and Italy (19.5%); Italy and the Netherlands are the largest by volume. CPC is the scenario that most closely resembled 2026 events, with Kazakh loadings at Novorossiysk repeatedly halted, and the map’s exposure list is a first guide to which European refiners felt it. Its one unsourced share, Russian crude through CPC at 0.035, is small and flagged.
6. The Model Against the War
A static exposure map built on 2024 trade is not a forecast and cannot be scored as one. The war is still the best available test of what first-order exposure accounting is good for.
It sorted the victims well. The countries the map ranks most dependent on Hormuz crude by share are the countries whose governments acted first and hardest. Pakistan (78.2% in the map) moved to a four-day government work week and closed schools. The Philippines (77.1%) declared a one-year national energy emergency and moved government offices to a four-day week. Japan (73.3%) began releasing 80 million barrels, 45 days of demand, on 16 March. South Korea (61.9%) imposed its first fuel price cap in nearly three decades. Sri Lanka (65.0%) introduced nationwide QR-code fuel rationing. On LNG, the long-term force majeure QatarEnergy declared on 24 March named buyers in Italy, Belgium, South Korea and China — four of the most exposed importers on the map’s LNG list — and Pakistan, at 88%, saw its LNG supply come to a halt, with only three Qatari cargoes since the conflict began, and rolling blackouts.
It could not say how much. The IEA reports what importers’ seaborne crude imports actually did between February and April. Set beside the map’s 2024 at-risk volumes, the comparison is instructive precisely because the two measures are different things.
| Importer | Map: 2024 Hormuz crude at risk | IEA: fall in seaborne crude imports, Feb → Apr 2026 | What explains the gap |
|---|---|---|---|
| China | 3.52 mb/d | −3.6 mb/d | Close. China held a record crude inventory and cut imports by nearly half |
| Japan | 1.72 mb/d | −1.9 mb/d | Close; the IEA figure covers all seaborne crude, not only Gulf |
| South Korea | 1.70 mb/d | −1.0 mb/d | South Korea committed 22.5 million barrels to the IEA release; the rest of the gap is not explained by the sources here |
| India | 1.88 mb/d | −0.76 mb/d | Substitution: India imported 2.66 mb/d of Russian crude in June |
Table: The map’s static exposure against observed import falls. IEA figures from the May 2026 Oil Market Report. The measures are not the same quantity; the table shows where the model’s assumptions fail, not an error rate
Three things the model holds fixed turned out to be where the action was. The first is bypass capacity. The map gives Saudi Arabia a 12% bypass because that was the East–West pipeline’s normal use; by 28 March the pipeline was reported pumping at its full 7 million barrels a day, with Yanbu exports at about 5 million, and the UAE pushed its total oil exports from 1.9 million to 4.3 million barrels a day between March and early June through Fujairah and along the Omani coast. The second is substitution: India’s Russian barrels, and the roughly 70% of lost LNG replaced by US and Canadian supply. The third is stocks: the 400-million-barrel collective release was adding 2.5 million barrels a day to the market by May. Each of these is a choice the model’s documentation states up front, because each needs data or behavioural assumptions that cannot be sourced openly and cited row by row. The war is a measure of how much those choices cost.
It could not see some of the most exposed countries at all. Bangladesh is the clearest case. It shut its universities and limited fuel sales in the first week of March; four of its five state urea plants shut down for lack of gas; by August its gas supply was around 2,100 million cubic feet a day against demand of about 3,800. Qatar and the UAE supply nearly three-quarters of its LNG. In the map, Bangladesh’s 2024 Hormuz LNG exposure is 0%: BACI records only 0.46 million tonnes of LNG imports into Bangladesh that year, and none from Qatar. The same file recorded 3.2 million tonnes in 2019, 85% of it Hormuz-routed, so the country was visible and then faded from the data. A researcher looking at the 2024 ranking would not find the country that, by several measures, was hit hardest, and no better route share would fix that; the gap is in the open trade statistics the whole model rests on.
7. The Country the Data Cannot See
Iran, the country the war is about, is close to invisible in BACI after 2019.
BACI records Iranian crude exports of about 111 million tonnes in 2010, 28 million in 2019, 4 million in 2020, 31 million in 2022, and effectively zero — one near-zero bilateral pair — in 2023 and 2024. The oil did not stop. Kpler estimates China took 1.38 million barrels a day of Iranian oil in 2025, more than 80% of Iran’s shipped exports, mostly through independent “teapot” refiners in Shandong. Chinese customs have recorded no oil from Iran since 2022, because the barrels are relabelled. The US Treasury’s April 2026 alert to refiners names the method: Iranian oil is blended or relabelled as the product of another jurisdiction, “most commonly as ‘Malaysian blend’”. Columbia’s Center on Global Energy Policy notes that China now imports more “Malaysian” crude than Malaysia produces; EIA reached the same conclusion about 2023.
The map’s own trade file carries the signature. BACI records Malaysian crude into China rising from about 33 kb/d in 2016 to 143 kb/d in 2019, 423 kb/d in 2022 and 833 kb/d in 2024 — against a Malaysian crude production of around 508 kb/d in 2023. Because Malaysia has no route share in the Hormuz scenario, those barrels count as safe. So the model understates China’s Hormuz exposure by an amount on the order of the entire relabelled flow, and understates the dependence of the specific refiners who buy it. The map says this on screen, in an amber note on every Hormuz scenario from 2019 onward. What it cannot do is correct for it without abandoning the principle that every number traces to a published source.
This is the report’s most general finding, and it is not specific to this map. Any open, reproducible model of energy exposure is built on official trade statistics, and official trade statistics are least reliable precisely where energy security is most contested — sanctioned exporters, shadow fleets, ship-to-ship transfers, countries whose customs data lag or go unreported. The shipping literature has documented a milder version of the same problem in ordinary times: Ådland, Jia and Strandenes (2017) find that AIS-derived crude export volumes align with official figures in aggregate but diverge substantially by country and period, “due to the use of pipelines and transshipment.” The honest response is not to hide the gap but to publish it next to the result, which is what the map tries to do.
8. Five Models, Two Sprints
The second half of this report is about how the map was made. I think it is worth documenting in detail, for two audiences: researchers deciding whether to trust software built this way, and people building research software with coding agents who want to know what worked.
The record comes from the repository’s git history and pull requests, the specifications and plans committed alongside the code, and the transcripts of the September working sessions. The May transcripts are no longer on disk, so for that period the evidence is commit metadata and the documents.
| Period | Phases | Orchestrator | Implementers | Reviewers | Lines (+ / −) | What shipped |
|---|---|---|---|---|---|---|
| 15–17 May | 1–5 | Claude Opus 4.7 | Sonnet 4.6 (task commits), Opus 4.7 | — | ≈ +38,100 / −3,900 | Reserves, extraction, Hormuz; pipelines, refineries, four scenarios; gas, LNG; basins, storage, ports, shareable URLs; NETL refineries, time filtering |
| 19 May | 6 (started) | Opus 4.7 | Opus 4.7 | — | (in Phase 6) | LNG-T3 ingest, validation against GIIGNL, spec and ten plan tasks |
| 19 May – 9 Sep | — | — | — | — | — | Pause |
| 9 Sep | 6 (finished), v1.0.0 | Claude Fable 5.1 | Sonnet 5 agents (auditing and implementing) | 4 Opus 5 agents; Fable final review | +6,346 / −828 | BACI-anchored LNG attribution, voyages layer, CI, MIT licence, citation file |
| 10 Sep | Review | Opus 5 | — | Fable 5.1 (plus two Fable sub-agents) | — | 270-line refactor and redesign review; roadmap for Phases 7–10 |
| 10–11 Sep | 7–10 | Opus 5 | 13 parallel tracks + 2 second-wave agents, all Opus 5 | Orchestrator, in the browser | +22,989 / −8,653 | Correctness, consolidation, product redesign, launch hardening |
| 11 Sep | Launch and fixes | Opus 5 | One Opus 5 docs agent; otherwise the orchestrator alone | — | ≈ +2,900 / −260 | Domain, researcher and AI documentation, trade-data repair, scenario fixes, performance |
Table: Who built what. Line counts from the squash commits on main
The May pattern: vertical slices
The first five phases took three days. Each began with a design specification and a long, checkbox-by-checkbox implementation plan — between 1,853 and 2,390 lines each — written by Opus 4.7 and executed task by task by sub-agents, with Sonnet 4.6 credited on most feature commits. Each phase was a vertical slice: one or two new layers or scenarios taken end to end, from ingest script to map layer to scenario engine to tests. The memory note recording the working policy that week says Opus is “reserved for the main orchestrator and for escalation,” with sub-agents on Sonnet by default. It also records that I chose the most ambitious option on every design axis — an interactive public app, every hydrocarbon in the schema from day one, a full time series, scenario tools — and asked the agents to make the reasonable call and keep going rather than stop for questions.
On 19 May the sixth phase, measured LNG voyages from the LNG-T3 dataset, got its specification, its plan and its first ten tasks. Then work stopped for sixteen weeks. The repository records no reason. The branch was left about 60% complete, with uncommitted wiring that no longer compiled.
September 9: a hierarchy of models
When I came back, the models had changed underneath the project. I asked Fable 5.1 to review the repository as we had left it, write a plan to finish and publish it, and then “get Opus and Sonnet agents to actually do the work, with Opus agents reviewing and escalating to you only when they get stuck. The final review will be done by you.” Fable had three Sonnet 5 agents audit the repository read-only, wrote a plan with seven workstreams and a dependency graph, and dispatched them: Sonnet 5 agents implementing, Opus 5 agents reviewing each workstream’s diff, nineteen sub-agents in all over the day.
The audit found something the May work had missed. The Phase 6 specification had an escalation gate — if the AIS-derived voyages covered too little of world LNG trade, fall back to trade statistics — and the gate had fired and not been acted on. The May engine used raw voyage volumes as absolute quantities, on data covering only a quarter to two-fifths of the trade, mixed with trade-statistic tonnes for earlier years, “and nothing in the UI says so.” I chose the fix Fable recommended: trade-statistic totals, voyage-derived shares within each country. That is the design the map still uses.
Later that day I stopped the work and asked whether we should rewrite the code from scratch, because there was a lot of cruft. Fable advised against it — a targeted refactor was warranted, a rewrite would spend weeks rediscovering the same stack — and I took the advice. Phase 6 merged that afternoon and was tagged version 1.0.0.
One detail from that day is worth recording for anyone who studies provenance in AI-written code. The Sonnet 5 and Opus 5 agents were told to end their commits with a Fable 5.1 attribution line, so the branch history credits Fable with code other models wrote. When the branch was squash-merged, GitHub concatenated every commit message and then appended a final co-author paragraph naming only Opus 4.7, which wrote the May half of the phase — and that final paragraph is the one standard git tooling reads as the trailer. The same mechanism makes Phase 2 look like Sonnet 4.6’s work alone. Commit trailers are not a reliable record of which model wrote which code. Transcripts are.
9. The Review That Found the Map Was Wrong
After Phase 6 the project looked finished. Every phase had shipped, continuous integration was green, and the code was, by the review’s own later assessment, “genuinely above-average.” The next planned phase was more consolidation.
Instead, on 10 September I asked the Opus 5 session to get a Fable sub-agent to review the repository and propose how to refactor and redesign it. The reviewer ran for about fifteen minutes and made 58 tool calls, delegating two sub-reviews to further Fable agents: an audit of the Python data pipeline and a walk through the live site in a browser at desktop and phone widths. Its method line reads: full read of the source, scripts, tests, docs, CI and data; health checks run locally; live site walked in Chrome; shipped files inspected with DuckDB. The review is in the repository. Its first findings:
- The headline layer had been wrong at its default view since Phase 1. The reserves parser read the Energy Institute workbook’s trailing “change” and “share of world” columns as additional years. For 2020 — the default year — each country had three rows: the value, the change and the share. The map kept the last one and painted each country’s share of world reserves, a number between 0 and 0.17, which rendered as a uniform grey.
- The basemap had never rendered in production. The map container computed to zero pixels tall because of a stylesheet ordering collision. Nobody noticed, the review notes, because “on a white background the choropleth borders look like a minimal basemap.”
- The newest feature was unreachable. The year slider stopped at 2020; the LNG voyages ran from 2020 to 2024. Only the end-to-end tests, which wrote
?year=2023into the URL by hand, ever exercised them. - The scenario colouring was misleading. Every importer was painted the same dark red whatever its exposure, and a BACI aggregate code, which turned out to be Taiwan, appeared in the ranking as if it were a country.
- The data pipeline was not reproducible, and the hand-maintained catalogue listed a file that did not exist.
The diagnosis was one sentence: “The problem is not code quality; it is that six vertical slices were each ‘done’ without anyone ever using the product as a researcher would.” The review proposed a sequence — correctness, then consolidation, then a redesign for the actual audience, then launch hardening — and listed seven decisions it said belonged to me rather than to the agents: whether to go public, on what data terms, whether to keep the in-browser database, the visual direction, phones, what to do about reserves frozen at 2020, and the provenance of the scenario shares. I answered them in two short messages (“1. Ok 2. Keep it 3. Light 4. Banner”, then “5. Freeze it at 2020, later years TBD 6. Yes 7. Ok”).
The next twenty-two hours ran the four phases. Each followed the same loop, which the project has since written up as a reusable agent playbook. The Opus 5 orchestrator wrote a plan that split the work into three or four tracks with exclusive file ownership and written contracts between them. One Opus 5 agent per track implemented its part without committing. The orchestrator reviewed each report, committed the files in logical groups, resolved cross-track fallout, and then built the production site, opened it in a real browser, and used it.
That last step kept finding things the tests had passed. “Top refineries at risk” was six copies of the same small Myanmar refinery, because the NETL source lists some plants up to three times under different names. Port icons blanketed every coastline once rendering moved into the basemap. Countries importing a few hundred tonnes of LNG were painted 100% red, so Liberia briefly topped a ranking. The LNG scenario was applying crude routing shares, which understated the UAE’s exposure because its Fujairah bypass carries only oil. One test asserted the buggy behaviour: it expected natural-gas-liquids pipelines to be excluded, and 187 of them had never been drawn. Writing the documentation for researchers found more — BACI quantities wrong by one to three orders of magnitude while the values were right (Saudi crude into the Philippines in 2023 recorded at 80.9 million tonnes, at $26 a tonne), intra-Gulf trade counted as crossing the strait, and more than six thousand leaking underground fuel tanks sitting in the “storage” layer. Each became a test and a fix; the trade-quantity repair re-estimated 9,655 rows and flags every one.
Passing tests and shipped phases are not evidence that research software works. Six phases of test-driven slices had produced a well-engineered prototype with a wrong default view. A reviewer on a different model, told to use the product and not just read the code, found it in fifteen minutes. The project’s own write-up puts the hindsight in one line: do the “use it like a researcher” review after the first phase, not the sixth. I have made a version of this argument about organisations before — the automation works and nobody uses it — and it applies to the builders as well. The missing user in this case was me.
10. What the Human Did
“The AI built it” is not an accurate description of this project, and neither is any account that inflates the human part. The transcripts allow a precise one.
I did not write the code. I decided what the map was for and who it was for, chose the first scenario, and asked for the review that changed its direction. I answered the decisions the agents surfaced: go public after the redesign, keep the in-browser database, a light interface, a phone banner, reserves frozen at 2020 with a visible badge, a citation on every route share, no rewriting of git history. I chose the basemap when the first provider began watermarking its tiles, chose the domain, and — the one data decision that changes every scenario result — told the agents to replace six unsupported route shares with sourced values (“Update them”). I reported what looked wrong in my own browser; once it was the old production build rather than the new code, and that became a test and a rule about checking which deployment a report refers to. I gave the agent a Cloudflare API token so it could add the DNS record itself rather than wait for me; it changed no existing record. And I merged the launch myself, because the permission system blocked the agent from doing it.
A pattern in those decisions deserves stating, because a critical reader will notice it. Across seven rounds of structured questions, I picked the option the model had marked as recommended in all but one — the domain, where I chose a subdomain of Marain over a new standalone name — and my free-text answers to the review’s seven decisions all matched its recommendations. I read that as a sign that the options were well framed. It is also an accurate description of a working relationship in which the model does most of the analysis behind a decision and the human mostly exercises a veto. Researchers evaluating software built this way should know that is what the human review consisted of.
11. Notes for Anyone Building Research Software With Agents
These are observations from one project, not a study. The published evidence on AI agents doing research software is still mostly benchmarks, and sobering ones: on CORE-Bench, which asks agents to reproduce the computations in published papers, the best agent scored 21% on the hardest tasks. I found no peer-reviewed study of coding agents building energy-security or energy-system models. A July 2026 preprint on agentic scientific software puts the standard such work should meet in one sentence I agree with: “Scientific software is judged less by raw code quality than by whether it can be cited, audited, reproduced, and extended.” What follows is how this project tried to meet it.
Separate the builder from the judge, and give the judge a different model and a different instruction. The review that mattered was not more of the same work done harder. It was a different model asked a different question — use this as a researcher would — with access to the live site and the data, not just the code.
Put a test on what the user sees on day one. A single pixel probe on the default view — read the colour of Saudi Arabia on the map and check it is not the colour of the ocean — would have failed on the first day of the grey reserves layer and the invisible basemap. The project now has one.
Make agents flag disputed data and forbid them to fix it. Every scenario result flows from eighteen hand-set numbers. The rule that implementers report a disputed share with its sources and leave the value alone, and that the commit records old value, new value and derivation when a human changes it, is the reason the data changes in this project are auditable.
Keep the orchestrator as the only committer on a shared tree. On 9 September, one implementing agent ran git add -A and swept its documentation into another agent’s commit. From 10 September, tracks owned disjoint files and never committed; the orchestrator did, with explicit paths. That held across thirteen tracks in four phases, and no track ever committed.
Do not trust commit trailers for provenance. If it matters which model wrote which code — and for research software it might — keep the transcripts.
Measure honestly. The launch-week performance claim is that a cold load fell from 4.85 to 1.20 seconds. That figure comes from a controlled test with an emulated 40 Mb/s connection. On the real network from my own machine, a first visit took about 3.5 seconds. The agent reported both, unprompted, and said which one to quote.
The limits of this report. Three belong in one place. The May working sessions are no longer on disk, so model attribution for Phases 1 to 5 rests on commit trailers, which section 8 shows to be unreliable; the September attribution rests on transcripts. The comparison in section 6 sets the map’s annual Hormuz-routed volumes beside the IEA’s monthly falls in all seaborne crude imports — related physical quantities, not the same one — so it shows where the model’s assumptions fail, not how large its error is. And I built the map and wrote this report about it: the argument has been reviewed by a second model, not by an energy economist. The invitation in the next section is, among other things, a request for that review.
12. An Invitation
The map is meant to be used, argued with and extended. It is a starting structure, built by a generalist rather than an energy economist, and I would rather it became a shared instrument than stayed a personal one.
Use it. The map is at energymap.marain.space. The researcher documentation has a tour, five worked examples with links, the scenario method in plain language, a layer-by-layer account of coverage and bias, and a FAQ. Before relying on a number, read the list of things that will mislead you and run the sanity checks in the scenario method.
Cite it. Nag, N. (2026). Global Energy Map (Version 1.0.0) [Computer software]. https://energymap.marain.space. For a specific figure, use Share / cite → Cite this view, which records the exact view, the access date and every source’s as-of date, and archive the scenario table CSV alongside your analysis, because a URL reproduces the view but not a frozen copy of the data. Cite the underlying sources as well; several licences require it, and the attribution lines are listed on the Data page. To cite this report: Nag, N. (2026). The Oil Must Flow: A global map of energy (Research Report No. 2). narendranag.com. https://narendranag.com/research/2026-q3-global-energy-map/
Remix it. The code is MIT-licensed and the repository is public at github.com/narendranag/global-energy-map. The openly licensed data files — the asset table without the OpenStreetMap rows, pipelines, basins, LNG voyages, the repaired BACI extract and the route-share table — are downloadable with SHA-256 checksums; per-source terms are in the plain-language LICENSE-DATA.md. The whole build reruns from pinned sources with one command. The text of this report is published under a Creative Commons Attribution 4.0 International licence (CC BY 4.0): copy, adapt and build on it for any purpose, with attribution. For an agent or a language model, there is a machine interface — URL grammar, schemas and query recipes — and an llms.txt.
Extend it. These are the questions I think the map is best placed to help answer, each grounded in a gap the literature itself names.
- Validate exposure against the 2026 closure. Section 6 is a first, informal pass. A proper test would ask whether 2024 exposure rankings predicted which importers saw the largest physical shortfalls, stock draws and delivered-price premia, using EIA’s quarterly chokepoint flows, IEA emergency-response records and the 2026 BACI release when it lands. Verschuur and colleagues observe that country exposure to chokepoint disruption has not been comprehensively assessed; an observed closure of this size is the best test such measures will get.
- Add the resilience half. Combine at-risk volumes with bypass capacity (the IEA estimates 3.5 to 5.5 million barrels a day available) and with strategic stocks (IEA members must hold at least 90 days of net imports) to produce days-of-cover per importer and per refinery. That is the step from Cherp and Jewell’s exposure to their vulnerability, and it is what the IEA’s own MOSES model pairs with risk. Winzer (2012) would call the missing dimension “sustention.”
- Make the route shares move. Replace the eighteen static shares with annual or monthly shares estimated from tanker AIS and pipeline throughput, so a 1998 BTC scenario returns zero and the Kirkuk–Ceyhan shutdown, the Druzhba exits and the 2026 Yanbu rerouting all appear. Ådland et al. (2017) and the IMF’s AIS nowcasting work show what AIS can and cannot supply; Månsson, Johansson and Nilsson (2014) name the “mainly static perspective” as a gap in the field.
- Compare cited shares with network assignment. Recompute the Hormuz scenarios on the same BACI base using lane-network assignment, as Pratson (2023) does, and extend to Bab el-Mandeb, Suez, Malacca and the Turkish Straits, where a cargo can cross several chokepoints. The map’s route layer could also be expressed as an edge attribute on the trade networks studied by Yang et al. (2015) and Kharrazi, Rovenskaya and Fath (2017).
- Couple exposure to impact. Use the scenario table as the shock vector for an input–output model such as Chen et al. (2024) or a structural oil-market model such as Kilian (2009), and test when a physical-exposure ranking diverges from an economic-loss ranking. UNCTAD’s 2026 analysis of the price burden on least-developed and small island states suggests the divergence is large.
- Fill the gaps in the trade data. Mirror statistics, national customs data or AIS-derived cargoes could restore countries BACI under-records, beginning with Bangladesh; the LNG-T3 voyages already show some of them. Section 7’s Malaysian signature is a crude estimate of Iranian flows into China inside open data, and a careful reconciliation of exporter-side, importer-side and tracker figures would be a contribution in its own right.
- Cross carriers and go down the supply chain. Refined products, pipeline gas, coal and power interconnectors are all outside the model, as is crude-quality-aware refinery attribution. The IEA’s account of 2026 says the most acute effect in Europe was on jet fuel; in Japan it was on naphtha. Månsson and colleagues name the habit of studying each energy carrier separately as the field’s other gap.
Corrections are as welcome as extensions. If you find an error in the data, the method or this report, open an issue on the repository — the map’s error panel pre-fills one — and I will correct it in public, with a dated note, the way this site handles every correction.
Sources
All sources were retrieved on 11 September 2026.
Reproducing this report’s figures. Every scenario number in sections 5 to 7 that is not attributed to a source below was computed from two files on the map’s Data page: trade_flow.parquet (53,727 rows, SHA-256 beginning 1058bf48) and disruption_route.parquet (72 rows, SHA-256 beginning ce4cffd2), catalogue version 6. The query is the one printed in the project’s scenario method, run in DuckDB with the scenario, HS code (2709 for crude, 271111 for LNG) and year substituted; the “world” figures are the sums of the at-risk and total columns across all importers. Crude tonnes were converted at 7.33 barrels per tonne and divided by 365 to give kb/d; LNG is reported in million tonnes. The map’s panel additionally drops importers below 0.1% of world imports, so the rankings quoted here follow that rule. The figures were recomputed for this report on 11 September 2026 and matched the map. If the data files are refreshed, the numbers will change; the hashes above identify the version used.
The Global Energy Map
- Nag, N. (2026). Global Energy Map (Version 1.0.0) [Computer software]. https://energymap.marain.space · repository: github.com/narendranag/global-energy-map
- Project documentation: design specification (15 May 2026) · refactor and redesign review (10 September 2026) · scenario method · data and coverage · phase history · agent playbook
- Build history: git log and pull requests #1–#26 of the repository; Claude Code session transcripts of 9–11 September 2026 (not published)
Datasets used by the map
- Gaulier, G., & Zignago, S. (2010). BACI: International trade database at the product-level. The 1994–2007 version (CEPII Working Paper No. 2010-23). CEPII. Release used: HS92, V202601, Etalab Open Licence 2.0. https://doi.org/10.2139/ssrn.1994500
- Global Energy Monitor. Global Oil Infrastructure Tracker (GeoJSON 2025-04-09), Global Gas Infrastructure Tracker (map file 2026-02-20), Global Oil and Gas Extraction Tracker (July 2023). CC BY 4.0. globalenergymonitor.org
- Sabbatino, M. (2018). Global Oil & Gas Features Database [Data set]. National Energy Technology Laboratory. https://doi.org/10.18141/1427300
- Zhou, C. (2026). Global Marine LNG Terminals, Tankers & Trade (LNG-T3) [Data set]. Zenodo. CC BY 4.0. https://doi.org/10.5281/zenodo.19571058 · companion paper: Zhou, C., Ciais, P., Mittakola, R. T., Zhu, B., Su, Y., & Xu, Y. (2026). Scientific Data, 13, 1153. https://doi.org/10.1038/s41597-026-07454-2
- Energy Institute. (2025). Statistical Review of World Energy 2025 (74th ed.). energyinst.org/statistical-review
- OpenStreetMap contributors (ODbL 1.0); Natural Earth, Admin 0 – Countries, 1:110m (public domain)
Energy security, chokepoints and modelling literature
- Ådland, R., Jia, H., & Strandenes, S. P. (2017). Are AIS-based trade volume estimates reliable? The case of crude oil exports. Maritime Policy & Management, 44, 657–665. https://doi.org/10.1080/03088839.2017.1309470
- Asia Pacific Energy Research Centre. (2007). A quest for energy security in the 21st century: Resources and constraints. Institute of Energy Economics, Japan. PDF
- Cerdeiro, D. A., Komaromi, A., Liu, Y., & Saeed, M. (2020). World seaborne trade in real time: A proof of concept for building AIS-based nowcasts from scratch (IMF Working Paper). https://doi.org/10.5089/9781513544106.001
- Chen, H., Zhang, W., Huang, X., & Wang, X. (2024). Estimating the dynamic economic impacts of oil supply disruptions on China: A case study of Malacca Strait block. Resources Policy, 98, 105376. https://doi.org/10.1016/j.resourpol.2024.105376
- Cherp, A., & Jewell, J. (2014). The concept of energy security: Beyond the four As. Energy Policy, 75, 415–421. https://doi.org/10.1016/j.enpol.2014.09.005
- Emmerson, C., & Stevens, P. (2012). Maritime choke points and the global energy system: Charting a way forward (Briefing Paper EERG BP 2012/01). Chatham House. PDF
- Jewell, J. (2011). The IEA Model of Short-term Energy Security (MOSES) (IEA Energy Papers). OECD/IEA. https://doi.org/10.1787/5k9h0wd2ghlv-en
- Kharrazi, A., Rovenskaya, E., & Fath, B. D. (2017). Network structure impacts global commodity trade growth and resilience. PLOS ONE, 12, e0171184. https://doi.org/10.1371/journal.pone.0171184
- Kilian, L. (2009). Not all oil price shocks are alike. American Economic Review, 99(3), 1053–1069. https://doi.org/10.1257/aer.99.3.1053
- Le Coq, C., & Paltseva, E. (2012). Assessing gas transit risks: Russia vs. the EU. Energy Policy, 42, 642–650. https://doi.org/10.1016/j.enpol.2011.12.037
- Månsson, A., Johansson, B., & Nilsson, L. J. (2014). Assessing energy security: An overview of commonly used methodologies. Energy, 73, 1–14. https://doi.org/10.1016/j.energy.2014.06.073
- Pfenninger, S. (2024). Open code and data are not enough: Understandability as design goal for energy system models. Progress in Energy, 6, 033002. https://doi.org/10.1088/2516-1083/ad371e
- Pfenninger, S., DeCarolis, J., Hirth, L., Quoilin, S., & Staffell, I. (2017). The importance of open data and software: Is energy research lagging behind? Energy Policy, 101, 211–215. https://doi.org/10.1016/j.enpol.2016.11.046
- Pratson, L. F. (2023). Assessing impacts to maritime shipping from marine chokepoint closures. Communications in Transportation Research, 3, 100083. https://doi.org/10.1016/j.commtr.2022.100083
- United Nations Conference on Trade and Development. (2026). Strait of Hormuz disruptions: The burden of oil price shocks on vulnerable economies. https://doi.org/10.18356/978921ri10
- Verschuur, J., Lumma, J., & Hall, J. W. (2025). Systemic impacts of disruptions at maritime chokepoints. Nature Communications, 16. https://doi.org/10.1038/s41467-025-65403-w
- Winzer, C. (2012). Conceptualizing energy security. Energy Policy, 46, 36–48. https://doi.org/10.1016/j.enpol.2012.02.067
- Yang, Y., Poon, J. P. H., Liu, Y., & Bagchi-Sen, S. (2015). Small and flat worlds: A complex network analysis of international trade in crude oil. Energy, 93, 534–543. https://doi.org/10.1016/j.energy.2015.09.079
AI agents and research software (preprints)
- Setiawan, L., Mittal, A., Core, C., Tambay, A., Garcia Jurado Suarez, C., et al. (2026). LLMoxie: Exploring agentic AI for scientific software development (arXiv:2607.02703). https://arxiv.org/abs/2607.02703
- Siegel, Z. S., Kapoor, S., Nadgir, N., Stroebl, B., & Narayanan, A. (2024). CORE-Bench: Fostering the credibility of published research through a computational reproducibility agent benchmark (arXiv:2409.11363). https://arxiv.org/abs/2409.11363
Agencies and governments
- International Energy Agency: Strait of Hormuz factsheet · Oil security and emergency response · The Middle East and global energy markets · Oil Market Report, March 2026 · Oil Market Report, May 2026 · Collective stock release, 11 March 2026 · Member country contributions, 19 March 2026 · How global oil supplies have readjusted (22 June 2026) · Executive Director statement, 21 July 2026
- US Energy Information Administration: World Oil Transit Chokepoints · Short-Term Energy Outlook, global oil (August 2026) · Today in Energy 67604, LNG prices after the closure · Today in Energy 61843, China’s 2023 crude imports
- Congressional Research Service: IF13032, Israel-Iran conflict, US strikes and ceasefire (June 2025) · R45281, The Strait of Hormuz (updated 7 August 2026)
- US Department of Energy: SPR release of 172 million barrels (11 March 2026)
- US Treasury, OFAC: Sanctions risk of dealing with teapot oil refineries (28 April 2026)
- Government of the Czech Republic: Prime Minister Fiala on ending dependence on Russian oil (April 2025)
- US Embassy Sri Lanka: Nation-wide fuel rationing (17 March 2026)
Research institutes and industry analysis
- Columbia Center on Global Energy Policy: Where China gets its oil (January 2026)
- CSIS: What are the implications of the Iran conflict for Japan?
- IEEFA: Breaking Pakistan’s LNG dependence cycle
- Kpler: Hormuz crossings drop 70% (July 2026) · No LNG tankers since July 11 · 60 days of a broken MoU (August 2026) · Drawing down: how the market is absorbing the Hormuz shock
- Global Energy Monitor wiki: Druzhba Oil Pipeline
- Wood Mackenzie: Strait of Hormuz closure threatens South Asia LNG supply
Reporting
- AP: A timeline of the Iran war and talks aimed at ending it
- Al Jazeera: QatarEnergy halts production (2 March 2026) · Bangladesh shuts universities (9 March) · Pakistan austerity measures (10 March) · QatarEnergy long-term force majeure (24 March) · Philippine energy emergency (25 March) · Oil prices back to pre-war levels (2 July) · A 95 percent drop in Hormuz traffic (27 August) · US and Iran engaged in tanker war (6 September) · Iraq resumes Kurdish oil exports to Türkiye (27 September 2025)
- Bloomberg: Inside China, Iran’s shadow oil trade hub (2024) · Oil soars as Hormuz risks rattle markets, via Rigzone (10 September 2026)
- CEEnergyNews: QatarEnergy force majeure (25 March 2026)
- CNBC: How the Iran war shook oil prices (21 April 2026) · South Korea braces for worst-case scenarios (25 March 2026)
- CNN: Oil at highest close of 2026 (5 May 2026)
- Fortune: Saudi East–West pipeline at 7 million barrels a day (28 March 2026)
- Free Malaysia Today (AFP): Six months of war, 20 dead in 68 incidents (25 August 2026)
- Global Voices: Bangladesh’s energy crisis worsens (12 April 2026)
- Nippon.com: Japan’s naphtha shock
- Oil & Gas Journal: Kazakhstan resumes CPC oil exports (28 July 2026)
- Reuters: Iran’s top security body to decide on Hormuz closure (22 June 2025) · Oil drops as ceasefire reduces supply risk (24 June 2025) · Azerbaijan says it foils Iranian plots (7 March 2026) · China’s heavy reliance on Iranian oil imports (21 March 2026) · Druzhba oil flows to Slovakia and Hungary (23 April 2026)
- The Daily Star: Lingering LNG crisis may drag power cut woes (August 2026)
- The Hindu: India boosts Russian, UAE oil purchases in June (21 June 2026)
- The National: War-risk shipping premium surges again (17 July 2026)
The author’s prior work cited
- Marain: India 2022 · Europe Delivers · A coalition for an Indian conglomerate
- This site: The Counting Problem · Nobody Uses It
End of report.
Prepared September 2026. Published 11 September 2026, revised 11 September 2026. Narendra Nag is a founder and media executive writing on attention, streaming, and the economics of live sports.