


I use satellite infrared data to track industrial activity for investment research refinery output, steel production, that kind of thing. So when the March 8 strikes happened, I already had the pipeline set up to pull NASA FIRMS fire detection data. After the March 8 strikes, everyone's seen the refinery videos on social media. I wanted to see what the data actually shows beyond one camera angle — how many sites were hit, how intense were the fires, and how long did they burn.
NASA runs a system called FIRMS that detects active fires from space every few hours using infrared sensors (VIIRS at 375m resolution and MODIS at 1km). It measures Fire Radiative Power (FRP) in megawatts — basically how much energy each fire is emitting. I pulled every detection over the Tehran metro area from March 6-10.
Pre-strike baseline (Mar 6-7): 11 fire detections, 13 MW total. Normal urban/industrial background.
Post-strike (Mar 8-9): 49 fire detections, 963 MW total. 76x increase in fire power.
Clustering the 49 detections by proximity (anything within 1.5 km = same site), I count 11 distinct fire sites* spread across the metro area. Two match known infrastructure within 3 km: Tehran Refinery (Shahr-e Rey) and the Aghdasieh oil warehouse.
The refinery alone accounts for 17 of the 49 detections and 80% of all fire power (777 MW). Peak single reading: 181.6 MW at 06:01 UTC on March 9 — for context, a typical industrial gas flare is 1-5 MW.
The burn duration chart is what I found most interesting. The refinery fire was caught by 7 separate satellite passes on March 9:
- 06:01 — 181.6 MW (peak, sensor near saturation)
- 09:32 — 95.9 MW (7 sub-detections across the site)
- 09:54 — 31.3 MW
- 11:21 — 70.6 MW
- 11:23 — 103.7 MW (second peak)
- 22:14 — 5.1 MW (dying down)
- March 10, all passes — nothing detected
So the fire burned intensely for roughly 16 hours (early morning to late evening Mar 9), then went completely undetectable. That pattern is consistent with stored fuel burning off rather than an ongoing structural fire — once the tanks empty, the fire dies.
by stockist420