How cloud cover still limits usable imagery over arid conflict zones

Most monitoring officers assume cloud cover is a non-issue once you're working in a desert theater. Mesopotamia, the Sahel, the Levant: these aren't exactly known for overcast skies. So when a tasking order comes back with a gap in the archive, the first reaction is usually to check the sensor log for a collection problem.

The sky is the more likely culprit, more often than people expect.

Arid doesn't mean clear

Cloud-free isn't the same as atmosphere-free. A site in northern Syria or western Iraq can sit under a clean blue sky and still be unusable for change detection because of haboob dust, regional haze from agricultural burning, or the low-angle sun glare that comes with certain times of year. VHR optical sensors read through all of it the same way they read through cloud: as noise that either obscures the ground or shifts the color balance enough that a pit dug last quarter doesn't look different from bare soil disturbed by wind.

Then there's the wet season problem, which catches people off guard in regions they've mentally filed as permanently dry. Parts of the Fertile Crescent, the Sahel, and highland sites in Central Asia get a real rainy window, short but dense, and that window tends to land exactly when cloud bands move through and stay. A site that's been clean for three straight quarters can suddenly have six weeks with no usable VHR pass at all, right when a monitoring officer most wants to know whether anything moved while attention was elsewhere.

What this does to your revisit frequency

The nominal revisit rate quoted for a constellation is a best-case number. Over an arid conflict zone it gets eaten by three things at once: tasking conflicts with higher-priority collections elsewhere, dust events that make a captured frame technically available but practically worthless, and the seasonal cloud window described above. Stack those and a site nominally covered "every few days" can easily go a full month between frames clean enough to actually compare against the last baseline.

That matters more for looting than for most other change types, because looting leaves a shallow signature. A fresh pit is a few tens of centimeters of disturbed soil and a tire track. Give it one dusty season to weather and it starts blending into the background noise the sensor was already struggling with. Every week the archive sits empty is a week the evidence trail goes cold.

Working with the cadence you actually get, not the one on the brochure

A few things help in practice. Treat the tasking calendar for a site as a function of season, not a flat schedule: expect worse luck in the wet window and plan extra tasking attempts around it rather than being surprised when the first attempt fails. Keep a tolerance for off-nadir or slightly hazy frames in the archive rather than discarding them outright. A frame that's borderline for visual inspection can still be usable once it's paired against the right baseline and the comparison is done consistently, because the disturbance signature often survives haze better than the fine detail does. And when a frame finally does come in clean after a long gap, review it against whatever the last usable baseline was, however many weeks back that sits, so you're not missing a pit that opened in week two of a six-week gap just because you're comparing week six to week six.

That last part is where most of the manual effort goes, and where it's easiest to lose track across a portfolio of sites with staggered gaps. Looting Monitoring handles that comparison step: feed it the VHR pair you've got, whatever the interval between them, and it returns a dated count of fresh pits and vehicle tracks against the last clean baseline, flagged on a before/after image rather than buried in a frame dump you have to eyeball site by site. You can see how that works at lootingmonitoring.com.

If dust, haze, and a seasonal cloud window keep breaking your review cycle, it's worth seeing what a consistent comparison looks like once the imagery finally clears.

Get startedBack to the blog