What really happens after Ukraine strikes a Russian oil refinery? Meduza analyzed unique satellite data to assess the damage.
Ukraine continues to attack Russian refineries. Sometimes drone strikes don’t have significant consequences; other times, production has to be halted for months. It’s hard to assess the campaign’s overall effectiveness: authorities don’t disclose information about the condition of refineries, and one can only rely on indirect data. The most important of these are exchange trading in petroleum products and reports from industry sources. But Meduza gained access to another analytical tool: high-resolution thermal satellite data collected by the company Constellr. Such images can potentially reveal, for any refinery, which equipment on the plant’s grounds is running and which has been shut down or taken offline for maintenance. We examined the situation at two plants for which we obtained images: the Moscow refinery in Kapotnya and the Nizhny Novgorod refinery in Kstovo. Here’s what that analysis showed.
Meduza thanks the company Vertical52 for its help preparing this report.
If you do not have time to read the full investigation, here are the key takeaways:
- Meduza obtained a series of thermal images from satellites operated by the German company Constellr. The images show which equipment at a refinery heated up or cooled down relative to its usual temperature before and after drone strikes.
- The images confirm that Ukrainian strikes damaged the main crude oil processing unit at the refinery in Kstovo. Another unit that industry sources had reported as damaged, however, never stopped operating.
- The images also let us identify damaged equipment at the Kstovo refinery that had never been reported in open sources before.
- At the Kapotnya refinery, satellite images likewise confirm damage to the main unit. But trading resumed at the exchange station linked to the plant before the damaged equipment came back online — a contradiction with several possible explanations.
- Taken together, the two refineries show that thermal images can reveal information no other source captures — but without those other sources, they can also mislead.
How satellite data reveal the impact of strikes on Russian refineries
Oil refining, at its most basic level, means separating crude oil into fractions by boiling point. At every refinery, oil that has already been desalted and dehydrated is heated first in distillation columns. Fractions with different boiling points are then drawn off and sent on for further processing.
Inside these columns — known in the industry as atmospheric-vacuum distillation units, or AVTs — the temperature rises smoothly from roughly 100 to 400 degrees Celsius, hottest at the bottom and coolest at the top. The units run around the clock and can reach several dozen meters in height. Secondary processing units that handle the separated fractions also generate heat and are similarly massive.
In other words, every refinery has large, hot equipment that gives off substantial heat during operation — and therefore “glows” in the infrared (IR) range. A production halt, by contrast, causes equipment to cool, which also shows up in infrared.
Until recently, satellite observation in the infrared range was severely limited. One of the best-known and most accessible tools for tracking thermal radiation from space is the American wildfire monitoring system FIRMS, but its spatial resolution isn’t fine enough to distinguish even large units on a refinery’s grounds — its “pixel” spans roughly 400 meters (1,312 feet). What’s more, FIRMS “hot spots” reflect flashes of infrared radiation rather than measured surface temperature. At a refinery, they can pick up a fire or the glow of flares burning off associated gas, but they can’t “tell” what condition the plant’s main equipment is in.
Data from Constellr’s Skybee satellite series fills that gap. It’s a young constellation: the first fully operational spacecraft, Skybee-1, launched into orbit only in early 2025. The Skybee satellites are equipped with infrared sensors that have a spatial resolution of 30 meters (98 feet) and high sensitivity to changes in surface temperature. That resolution makes it possible to see individual oil-processing units and separate their thermal radiation from that of surrounding buildings, pads, and roads.
But understanding what’s happening at a refinery takes more than high-resolution infrared images. Equipment temperature varies with the weather and time of day. The two infrared images below, of southeastern Moscow, were taken during the day and at night, and they show how differently objects glow depending on the hour: at night, the river runs significantly warmer than the average ambient temperature, while during the day, the pattern reverses.
To filter out those fluctuations and isolate real changes at a refinery, we used the difference-in-differences method. It starts by calculating how much higher an object’s temperature normally runs than the surrounding background — a gap known as the anomaly — and then compares that anomaly on days before and after an attack on the plant.
Running that calculation separately for every pixel produces a picture of which objects cooled or heated up relative to their normal state. Repeating the comparison across a series of days makes it possible to chart how a refinery’s units are operating over time.
The Kstovo refinery: how satellite data confirm the damage and reveal new details about the strikes’ impact
The Kstovo plant, “Nizhegorodnefteorgsintez,” owned by Lukoil, shows just how useful satellite imagery can be for gauging damage at a refinery. It’s one of the largest processing centers in European Russia, with a nominal capacity of 17 million tons of oil a year.
The Kstovo refinery came under fire several times in 2025, but we don’t have satellite data from that period. Here’s the timeline of attacks on Kstovo in 2026:
- On April 5, the plant came under drone attack. The governor of the Nizhny Novgorod region reported the strike, and OSINT analysts confirmed the raid, though no impact or fire was recorded. Reuters sources reported that production had to be halted, and exchange trading data later bore that out. The sources said fuel would be unavailable until the end of April, but the plant actually recovered two weeks sooner than that. No thermal satellite data exists for this strike.
- A new strike hit on May 20, when a Ukrainian drone destroyed the AVT-6 primary processing unit. The fire was recorded on geolocated video.
- The next attack came on June 24, which the governor reported as well. The strike’s aftermath wasn’t caught on video, but footage of a burned-out car near the plant confirms that the attack took place. Reuters sources reported damage to and a shutdown of AVT-5, a unit neighboring AVT-6.
- AVT-6 was attacked again on July 2, and the strike was captured on geolocated video showing the flash of the explosion.
Constellr provided Meduza with a series of thermal images of the plant taken between May 3 and July 18, which can be used to assess the impact of the last three strikes.
The image below compares the plant’s thermal radiation before and after the May 20 strike, using daytime images from May 19 and May 23. It reveals several incidental changes — some fields were plowed, and the Volga’s water temperature rose significantly — but the key finding is a sharp temperature drop at exactly the spot where the AVT-6 unit sits. The average temperature there fell by 3 degrees Celsius.
In other words, the satellite data confirm that the damage to Kstovo’s main oil-processing unit on May 20 was severe enough to force a shutdown. That much was already clear from the geolocated video. But satellite data offer something a single geolocated clip cannot.
- First, the images show that the shutdown wasn’t limited to the AVT — it also took down the units that depend on it: the gasoline catalytic reforming unit and the tar cracking unit.
- More important, the data clearly show that the plant’s other AVT units — four in total — kept operating, meaning the strike left them undamaged.
- Finally, comparing the pre-strike images with the most recent ones shows how long the shutdown lasted — and how effective a strike like this actually is. As of late July, AVT-6 still wasn’t running: its temperature remained below normal operating levels.
Thermal images also help clarify the impact of the later strikes, and reveal some other details besides.
Comparing the May 23 image, taken after the AVT-6 attack, with the next available image, from July 18, reveals a sharp temperature drop at a unit whose damage had never surfaced in source reports or geolocated footage.
The image shows that Kstovo had to shut down its catalytic cracking unit, whose temperature dropped sharply sometime between late May and late July. Two attacks fall within that window, on June 24 and July 2, and the equipment appears to have been damaged on one of those days.
Reuters sources said the AVT-5 unit was also hit, but that doesn’t appear to be true — its temperature remains at working levels. The catalytic cracking unit’s damage, by contrast, had gone unreported, yet it clearly stopped running. The shutdown may not even stem from the strikes themselves — a shortage of cracking feedstock, for instance, could explain it — but either way, it dented the plant’s overall production efficiency.
All three attacks also show up in exchange trading data. The AVT-6 strike cut fuel sales from the nearest loading point, or basis, by about a third. The June 24 attack halted sales altogether, though they quickly resumed. The July 2 strike — possibly the one that hit the catalytic cracking unit — knocked the plant out of normal operation for a full two weeks, and by this marker, production still hasn’t recovered.
The main takeaway from Kstovo is that having several primary processing units at a refinery makes it possible to offset drone strikes quickly and effectively: even with AVT-6 still down, the plant’s overall fuel output hasn’t suffered much.
The Kapotnya refinery: what the satellite data show, and why even that isn’t enough to fully assess the strikes’ impact
The situation at the Moscow refinery in Kapotnya, controlled by Gazprom Neft, is considerably simpler than at Kstovo.
The plant has one combined primary processing unit and a single AVT-6, and it was the AVT-6 that took a successful hit — just once in 2026, on June 16. The fire was filmed from multiple angles, leaving no doubt about the severity of the damage. Two days later, on June 18, the refinery came under another drone attack, but that time the drones struck oil storage tanks, which on its own couldn’t have affected processing capacity.
Before that, Kapotnya had come under attack only once, during a broader drone raid on Moscow on May 17. At the time, Reuters sources reported that “caused little damage to the plant, [but] operations were halted protectively to mitigate risks.” Yet the shutdown never showed up in exchange data — fuel sales from Yanichkino station, which is linked to Kapotnya, continued as usual.
Constellr provided Meduza with four thermal satellite images of the Moscow refinery, taken between May 23 and July 27. The nighttime image from May 23 makes clear that the shutdown Reuters sources described after May 17, if it happened at all, wasn’t prolonged: the plant glows brightly in infrared even without comparing separate dates. The brightest sources of radiation are the primary oil fractionation units — AVT-6 and its closest counterpart, the combined KUPN unit — along with the catalytic cracking unit, the gasoline and diesel hydrotreating units, and the hydrogen and sulfur production units. The picture looks essentially the same a week later, in the image from June 3.
Finally, there’s a single image of Kapotnya taken after the massive June 16 attack that confirmed damage to the AVT-6 unit — captured on July 27. Comparing it with a similar image from early June produces the temperature-difference map below.
Thermal radiation from almost every oil-processing unit dropped sharply compared to the pre-strike state. The one exception is a bright spot of heat between the KUPN unit and the visbreaking unit — the site of a cooling tower that cools process water. Towers like this don’t run continuously, only as needed, which explains the spot. It appears the cooling tower was idle when the June image was taken but running in July, which is why the comparison shows a sharp temperature increase there.
Unlike cooling towers — or, for that matter, flares burning off associated gas — oil-processing units run around the clock. So based on the available satellite data, one could conclude that the refinery was completely shut down for at least a month and hadn’t even partially resumed operations by July 27. That’s entirely consistent with Reuters sources’ prediction that repairs would take at least six months.
But exchange data complicate that picture. Day-by-day trading volumes for all petroleum products — mainly gasoline, diesel, and fuel oil — from Yanichkino station show that trading stopped after the June 16 strike but resumed a week and a half later, in late June, and volumes gradually recovered through July before leveling off in August. The August figure of 4,000 tons of petroleum products a day is lower than May’s 5,500, but that decline may reflect not a drop in the plant’s output but a reduction, from 15% to 10%, in the quota of petroleum products that oil companies must supply to the open market.
How, then, to explain the apparent mismatch between satellite data confirming that Kapotnya has “cooled off” and isn’t operating, and petroleum products once again shipping from the plant’s “home” rail station? There are two possible explanations for this apparent contradiction:
- The refinery may have been shut down for maintenance and repairs on July 27. If that shutdown lasted only a couple of days, it wouldn’t have affected processing capacity but could still show up in a single satellite snapshot. Under this explanation, the plant is fully operational overall, and the timing of the satellite image was simply unlucky.
- Petroleum products could have reached Moscow from other nearby refineries, either by rail or through so-called “product pipelines” — pipes, similar to oil pipelines, that carry petroleum products between refineries. Under this explanation, the Moscow refinery isn’t operating, and trading continues from the shipping station simply because companies find it logistically convenient to deliver fuel to Moscow and trade from there.
Sergey Vakulenko, a senior fellow at the Carnegie Russia Eurasia Center in Berlin, told Meduza that the plant may indeed have been briefly shut down for additional repairs after the drone attack. But he doesn’t put much stock in the idea that gasoline produced at other refineries is being traded through the Moscow hub:
Theoretically — very theoretically — fuel [at Yanichkino] could have been delivered through a product pipeline switched to reverse flow from Kstovo, Yaroslavl, or Ryazan, if those plants were operating but had a damaged loading rack. That’s the only thing that comes to mind [to explain that kind of shipping pattern with the capacity switched off].
The contradiction could be resolved with a few more thermal images of Kapotnya, which would confirm or disprove the brief-shutdown hypothesis. Each image costs several thousand euros on the commercial market — more than we can afford — but we hope Constellr or other companies will be able to provide new data for this research.
Taken together, these two refineries show that thermal images can offer unique information unavailable from any other source — but without those other sources, they can also mislead. If it turns out that a shutdown at the Moscow refinery alongside continued trading wasn’t an isolated case, that would mean exchange data need extremely cautious interpretation. Either way, only a combination of the most varied data — satellite images, exchange trading, geolocated video, and media source reports — makes it possible to understand what’s actually happening in Russia’s oil industry.
At Meduza, we are committed to transparency about our use of artificial intelligence in the newsroom. The story you’re reading was written by one of our living, breathing journalists and translated from Russian using an AI model configured to follow our strict editorial standards. This translation process is the result of extensive testing and refinements to ensure our English-language coverage is timely and accurate. A Meduza editor reviews every draft before publication.
If you find any errors in this translation, please contact us at [email protected].
To read Meduza’s exclusive content in English, please subscribe to our newsletter.
The Explainer Desk