Skip to content

Instantly share code, notes, and snippets.

@stvhay
Last active April 1, 2026 02:25
Show Gist options
  • Select an option

  • Save stvhay/9e9a5722384102c5397ebba0471d94e3 to your computer and use it in GitHub Desktop.

Select an option

Save stvhay/9e9a5722384102c5397ebba0471d94e3 to your computer and use it in GitHub Desktop.
GCAM viewpoint analysis: Iran/oil/conflict coverage across political spectrum (proof of concept)

Iran/Oil/Conflict Coverage Analysis

Proof-of-concept: using GDELT GCAM data to characterize how different media viewpoints cover the same geopolitical story.

Entry point: "Iran Might Use Its Economic-Doomsday Option" (The Atlantic, 2026-03-20)

Topic: The Iran-Israel-US conflict, its impact on oil prices and global energy markets, and the diplomatic/military response.

Date range scanned: 2026-03-19 to 2026-03-31 (661 cached GKG files, 2.7 GB)


Cluster Overview

Metric Value
Total related articles found 48,438
Theme overlap threshold 4+ of 11 key themes
Articles with bias rating 6,846 (14%)
Unrated (mostly international/local) 40,978 (85%)

Distribution by political bias

Bias Articles % of rated
Left 653 9.5%
Lean Left 2,064 30.1%
Center 3,225 47.1%
Lean Right 580 8.5%
Right 324 4.7%

Emotional Profiles by Bias

All scores are LIWC density (% of words matching), averaged across articles in each group.

Bias N Tone Affect% NegEmo% Anger% Anxiety% Sadness% PosEmo%
Left 653 -4.04 6.0 3.5 2.0 0.4 0.7 2.5
Lean Left 2,064 -3.46 5.8 3.2 1.7 0.4 0.7 2.4
Center 3,225 -3.79 5.8 3.4 1.9 0.4 0.7 2.3
Lean Right 580 -3.45 6.0 3.2 1.6 0.5 0.7 2.7
Right 324 -3.67 6.4 3.6 2.0 0.4 0.7 2.8

Key observations

  • Tone is uniformly negative across all bias groups (-3.4 to -4.0). War coverage is negative regardless of political orientation.
  • Left outlets are the most negative (tone -4.04) — slightly more so than Right (-3.67).
  • Right outlets have the highest affect density (6.4%) and the highest positive emotion (2.8%) alongside high negative emotion (3.6%) — the most emotionally charged overall, mixing positive framing (strength, resolve) with threat language.
  • Lean Right outlets show the lowest anger (1.6%) and highest anxiety (0.5%) — more worried/uncertain framing than combative.
  • Anger is highest at the poles — Left (2.0%) and Right (2.0%) vs Center (1.9%) and Lean categories (1.6-1.7%).
  • Sadness is identical across all groups (0.7%) — the humanitarian cost is covered uniformly.

Moral Foundations (all groups)

All bias groups share the same top 3 moral foundations:

  1. HarmVice — harm, suffering, cruelty (dominant across all coverage)
  2. IngroupVirtue — loyalty, patriotism, collective defense
  3. AuthorityVirtue — respect for authority, institutions, leadership

This suggests the moral frame of the story is consistent regardless of bias — it's fundamentally about harm + loyalty + authority. The differences show up in emotional intensity and what aspect gets the most words.

Top emotions by bias (WordNet Affect 1.1)

Bias Dominant emotions
Left stir, ambiguous-expectation, liking, security, sadness
Lean Left stir, security, closeness, fearlessness, sadness
Center stir, security, fearlessness, sadness, closeness
Lean Right stir, security, satisfaction, closeness, sadness
Right ambiguous-expectation, stir, love, stupefaction, hopelessness

Notable: Right outlets uniquely show "stupefaction" and "hopelessness" in the top emotions, suggesting a sense of shock/dismay at how events are unfolding. "Fearlessness" appears in Lean Left and Center but not in Left or Right — the center of the spectrum frames the response with more resolve.


Framing Analysis (from article content)

8 of 10 representative articles were successfully fetched. Patterns by viewpoint:

Left (The Atlantic, Guardian, Boston Globe)

  • 2 of 3 blocked by paywall/bot protection
  • The Atlantic piece (article 7, our entry point) frames Iran's oil weapon as an "economic doomsday option" — emphasizing the vulnerability of the global economy to energy disruption.
  • Framing: systemic risk, structural vulnerability, consequences of policy choices

Lean Left (NBC, AP wire via local papers)

  • AP wire coverage emphasizes contradictory diplomatic claims — Trump says negotiations are happening, Iran denies it.
  • Focus on humanitarian toll, mounting casualties, and the gap between rhetoric and reality.
  • Framing: diplomatic confusion, human cost, factual contradiction

Center (Irish Times, KSL)

  • Most comprehensive factual reporting: casualties, military developments, economic data, international responses.
  • Irish Times specifically covers domestic policy responses to energy price shocks (cost-of-living relief).
  • Framing: neutral chronicle, global impact, policy response

Lean Right (ZeroHedge, Washington Examiner)

  • ZeroHedge offers strategic analysis: economic blockade as superior to ground invasion, Iran collapses in 5 weeks.
  • Washington Examiner frames Trump as crisis manager, furious at both Israeli "provocation" and Iranian retaliation.
  • Framing: strategic calculation, presidential leadership, optimal path to victory

Right (Breitbart, NewsBusters)

  • Breitbart runs AP wire with emphasis on Iran's threat escalation (targeting tourist sites worldwide).
  • NewsBusters doesn't cover the conflict — it covers media bias in covering the conflict, arguing networks omitted intelligence supporting the administration's position.
  • Framing: threat amplification, media criticism as proxy for policy debate

Methodology

  1. Entry point: Single article URL → extract GDELT GKG themes, persons, organizations
  2. Cluster discovery: Scan cached GKG files for articles sharing 4+ of 11 topic-specific themes
  3. Bias classification: AllSides canonical database matched to GKG source domains
  4. Emotional profiling: LIWC affect categories and WordNet Affect 1.1 emotions, normalized by word count
  5. Content analysis: WebFetch on 2-3 representative articles per bias group, summarized by LLM
  6. Data source: GDELT GKG v2.1 files downloaded directly (no BigQuery), disk-cached

Limitations

  • 85% of articles are from sources not in AllSides database (international/local outlets)
  • Article content fetching is blocked by some paywalled outlets
  • GCAM scores are word-count based lexicon matches, not contextual NLP — they capture what words are used, not what is meant
  • The "Unknown" bias group (40K+ articles) likely contains the most geographically diverse perspectives but cannot be categorized

Conclusion

GCAM data provides measurable signal for characterizing coverage differences across the political spectrum. The differences are subtle but real:

  • Emotional intensity varies more than emotional direction — all groups are negative, but Right outlets pack more emotion per word
  • Moral framing is identical across groups (harm + loyalty + authority) — the story's moral structure transcends political orientation
  • The real differentiation is in framing, which GCAM captures partially through word-choice patterns but which article content analysis reveals more clearly: Left focuses on systemic risk, Center on factual chronicle, and Right on strategic victory paths and media criticism
  • GCAM is most useful as a clustering and screening tool — it identifies the story cluster and flags emotional outliers, then content analysis provides the interpretive layer

The Same War, Told Thirteen Ways

How different corners of the world covered Iran's "economic doomsday option" — and what their language reveals about their fears.

Analysis of 48,438 articles from 661 GDELT GKG files, 2026-03-19 to 2026-03-31.


On February 28, 2026, the United States and Israel launched strikes on Iran. Within three weeks, Iran's IRGC had seized effective control of the Strait of Hormuz, oil prices had spiked 50%, and the world was watching the same crisis through very different lenses. Using GDELT's sentiment and emotional data across nearly 50,000 articles, we identified thirteen distinct viewpoint clusters — not just left-vs-right, but Israeli-vs-Iranian, energy-importer-vs-exporter, and close-to-the-conflict vs watching-from-afar. Each tells the same story differently.


The Belligerents

Iranian State Media (PressTV, Tehran Times)

142 articles. Tone: -4.91. Top emotions: hostility, aggression.

PressTV calls it "the imposed war." Day 29 dispatches catalogue strikes on Iranian civilian infrastructure alongside Iranian counterattacks, framing a "stalemated war of attrition" with explicit parallels to Ukraine. The economic damage — oil spikes, supply disruption — is attributed entirely to Western aggression. Iran's leadership rejects American peace proposals as "one-sided and unfair." Every military action is described as defensive. The emotional signature confirms this: Iranian state media is the angriest coverage in the entire dataset (3.1% anger density), with "hostility" and "aggression" as its dominant emotions. This is not reportage. It is a war communiqué.

Israeli Press (JPost, Ynet, Haaretz)

402 articles. Tone: -3.75. Top emotions: security, fearlessness, closeness.

Israeli coverage is notably less negative than Iranian coverage — and than most of the world. The dominant emotional register is "security" and "closeness," the language of a society closing ranks. Ynet's most striking piece doesn't even focus on the battlefield. It argues that Iran's real vulnerability is internal: 46% inflation, a currency in freefall, food rationing. The subtext is that regime change will come from within, not from bombs. The Jerusalem Post, meanwhile, curates Arab press commentary about Hezbollah's collapse and the Strait of Hormuz, framing Israel as one actor in a regional crisis rather than its instigator. Where Iranian media sees an invader, Israeli media sees a security operation with an expiration date.


The Regional Witnesses

Gulf and Arab Media (Gulf News, The National, Al Jazeera, Al-Monitor)

384 articles. Tone: -4.39 to -4.49. Top emotions: lost-sorrow, fearlessness, sadness.

The Gulf states are caught in the middle — geographically, economically, and diplomatically. Their coverage bleeds grief. "Lost-sorrow" appears prominently in the emotional data, a term that captures mourning for something being destroyed. Qatar's LNG operations have been struck. Kuwait's Mina Al-Ahmadi refinery (730,000 barrels/day) has been damaged. Iraq has declared force majeure on production. Gulf outlets privately report their governments arguing against ending operations until Iran is "decisively defeated," but their journalism reads like watching your neighborhood burn. Al-Monitor reports that Israeli strikes have "decimated" Iran's war readiness; Al Jazeera tracks the Houthis opening a new front. This is coverage from people who live inside the blast radius.


The Energy Anxiety Belt

Indian Media (Economic Times, The Hindu, LiveMint, NDTV)

3,179 articles. Tone: -3.63. Anxiety: 0.5% (highest). Top emotions: lost-sorrow, sadness.

India is the world's third-largest oil importer, and it shows in the coverage. Indian outlets run the same AP wire stories as everyone else, but their original reporting orbits a single question: what does this mean for prices here? The anxiety in the GCAM data is measurable — Indian and South Asian outlets show the highest anxiety density (0.5%) of any region. "Lost-sorrow" recurs alongside "sadness." This is the emotional profile of a country watching its energy security evaporate through no action of its own.

East Asian Media (Xinhua, China Daily, Korea Herald)

464 articles. Tone: -3.60. Unique moral framing: HarmVirtue (care/compassion).

Chinese state media takes a clear editorial line: the US is losing. China Daily calls the war illegitimate, argues it has unified the Iranian population, and positions the US as "a major source of global instability." Xinhua's daily briefs meticulously catalogue every energy facility damaged — Qatari LNG, Iranian gas fields, Kuwaiti refineries — building a case that Western recklessness is destabilizing the global economy.

But the more interesting signal is structural. East Asia is the only region where the moral framing shifts from "AuthorityVirtue" (respect for institutions, leadership) to "HarmVirtue" (care, compassion, protecting from harm). Every other region in the world — the US, Europe, the Middle East, Africa — frames this as a story about authority and power. East Asian coverage, across multiple countries, frames it as a story about who is being hurt. Whether this reflects genuine humanitarian concern or strategic positioning against Western hegemony, the linguistic data can't say. But the pattern is real and unique.

Southeast Asian Media (Straits Times, Free Malaysia Today, Bangkok Post)

427 articles. Tone: -3.18. Lowest anger (1.5%). Top emotions: lost-sorrow, security.

Southeast Asia is the calmest coverage in the dataset — low anger, low negativity, high "security" language. These are countries that depend on the Strait of Hormuz for energy imports but have no ability to influence the conflict. Their coverage reads as careful, measured, and quietly worried. The emotional profile is strikingly similar to South Asia's anxiety pattern but without the emotional intensity — more suppressed concern than open distress.


The Western Perspectives

European Quality Press (Irish Times, BBC, DW, France24)

7,741 articles. Tone: -3.66. Top emotions: sadness, affection.

European coverage is the largest cluster and the most emotionally distinctive. "Sadness" and "affection" appear together in the top emotions — a combination unique to European outlets. This is the language of empathy and grief. The Irish Times tracks casualties (3,000 dead in Iran, 1 million displaced in Lebanon) alongside economic data ($500 million/day in global costs) with equal weight. DW probes the fracture between US and Israeli war aims — did Netanyahu drag Trump in? European coverage doesn't focus on winning or losing. It focuses on cost.

The Irish government's response — cost-of-living relief measures for energy price shocks — is reported alongside military developments, giving European readers a domestic anchor for a distant conflict. This is coverage that says: this war is happening to us too.

Australian Media (ABC, SBS)

2,802 articles. Tone: -3.21. Top emotions: hopelessness, depression.

The most revealing emotional outlier in the entire dataset. Australia is geographically remote but economically tied to Asian energy markets, and the emotional signature shows it: "hopelessness" and "depression" appear in the top emotions — words that appear in no other region's top list. ABC runs an explainer on the Strait of Hormuz specifically asking whether Australia could run out of fuel (it has minimal strategic reserves). The tone is the least negative of any region (-3.21), with the lowest anger (1.4%), but the dominant feeling isn't neutrality — it's powerlessness. This is what it looks like when a country watches a crisis it cannot influence determine its economic future.


The American Spectrum

US Mainstream (CNN, CBS, AP)

Tone: -3.53. Top emotions: ambiguous-expectation, favor.

CNN frames the story as institutional drama: "Inside Trump's Most Difficult War Decision Yet." The question is whether to put boots on the ground, and the article reads like a West Wing episode — near-daily briefings, a Republican Navy SEAL congressman warning against invasion, a press secretary offering "maximum optionality." CBS takes the consumer angle: the Strategic Petroleum Reserve release, the Jones Act waiver, the Russia sanctions lift. Are these working? ("Too little, too late," say experts.) American mainstream coverage is procedural. It asks "what should we do?" rather than "what is happening?"

US Progressive (The Atlantic, Slate)

Tone: -4.04. Top emotions: stir, ambiguous-expectation.

The Atlantic's original article — our entry point — frames Iran's oil weapon as an "economic doomsday option," emphasizing America's systemic vulnerability to energy disruption. Slate warns that oil at $120/barrel is "only the opening act" and accuses the administration of "headstrong moves" that could trigger a 1970s-style supply shock. Progressive coverage treats the crisis as a policy failure with foreseeable consequences. The blame is domestic: this was a choice, not a fate.

US Conservative (Washington Examiner, Breitbart)

Tone: -3.67. Top emotions: ambiguous-expectation, stir.

The Washington Examiner produces the most narratively surprising coverage on the American right. Trump is "furious" — not at Iran, but at Israel and Iran equally for attacking Gulf energy infrastructure. The framing is notably even-handed, presenting Trump as a pragmatic deal-maker trying to impose discipline on rogue actors threatening the global economy. This is not the reflexive Israel-defense one might expect from a conservative outlet. It's an America-first energy story. Breitbart, meanwhile, runs AP wire with emphasis on Iran threatening tourist sites worldwide — amplifying the threat's geographic scope.

US Libertarian/Alternative (ZeroHedge, Lew Rockwell)

Tone: -3.45. Top emotions: stir, security.

ZeroHedge publishes what might be the most analytically rigorous piece in the entire cluster: a game-theory analysis arguing that Iran's economy collapses within five weeks without oil tanker passage through Hormuz. The proposal is elegant and cold — naval blockade, not ground invasion; economic strangulation, not military occupation. America's Asian allies have two months of reserves before genuine crisis. The implicit argument: we hold the cards, if we're willing to play them and accept the collateral damage to allies. This is the only coverage cluster that treats the conflict primarily as an optimization problem.

Financial Press (CNBC, Bloomberg, Reuters)

Top emotions: stir, security, ambiguous-expectation.

CNBC names the core problem investors face: "We don't know how Trump wants the Iran war to end." Without a clear endpoint — regime change? Negotiated ceasefire? Seizing Iranian oil? — markets can't price the risk. The "TACO trade" (Trump Always Chickens Out — buying the dip on de-escalation rhetoric) has stopped working. This is coverage that has no opinion on who is right. It wants to know one thing: when does this end, and how?


What the Data Shows

The sharpest differences in how this story is covered are not left-vs-right. They are near-vs-far.

Iranian state media and Israeli press share the same events but occupy opposite emotional universes. Gulf coverage grieves. Indian and Southeast Asian coverage worries. Australian coverage despairs. European coverage empathizes. American coverage debates. Chinese coverage accuses. Financial coverage calculates.

The moral framing is nearly universal — harm, loyalty, authority — but the emotional tone diverges sharply by proximity to the conflict and dependence on the energy it disrupts. The closer you are, the angrier the coverage. The more dependent you are on the oil, the more anxious. The further away and more powerless, the more hopeless.

GCAM doesn't tell you what people think. It tells you what words they use, and in what proportions. But those proportions, across 48,000 articles from every continent, paint a picture of a world watching the same fire from very different distances.


Methodology: GDELT GKG v2.1 files, disk-cached. GCAM emotional analysis via LIWC, WordNet Affect 1.1, and Moral Foundations Dictionary, normalized by word count. Source classification via AllSides media bias database (political) and TLD/domain mapping (geographic). Article content via direct web fetch with LLM summarization. Entry point: Atlantic article on Iran's economic-doomsday option; cluster discovery via GDELT theme overlap (4+ of 11 topic-specific themes).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment