Drought Monitoring

DS-BL

Handling sensor transitions in a multi-decade NDVI baseline

A path winds along the boundary where green grass meets dry golden grass.

If you're pricing a trigger off a thirty-year NDVI record, you're not working with one instrument. You're working with at least three, stitched together, and each stitch point is a place where your anomaly can jump for reasons that have nothing to do with rainfall.

The public NDVI record runs from AVHRR (continuous data from roughly 1981), through MODIS (Terra from 2000, Aqua a couple years later), into VIIRS (Suomi NPP, operational from around 2012). Each sensor has different spectral band centers, different spatial resolution, different orbit geometry, and different atmospheric correction. None of that matters if you're only looking at this month's reading. It matters a great deal if this month's reading gets compared against a baseline that spans two or three of those sensors, because the index value itself shifts at the handoff even when the vegetation on the ground didn't change.

Why the splice shows up as a false signal

The failure mode is specific: a region sits at NDVI 0.52 under AVHRR for twenty years, the record switches to MODIS, and the new sensor reads 0.58 for the same ground condition. If your baseline statistics (mean, standard deviation, whatever percentile bands you're using to set severity classes) were built without correcting for that offset, the switch itself produces an anomaly. A trigger tuned to fire on, say, a 1.5 standard deviation departure can get tripped by the sensor change in the transition year, independent of any actual moisture deficit. For an index product where the payout logic reads the anomaly and nothing else, that's not a footnote. That's a basis risk nobody priced for.

The reverse failure is just as common: averaging through the splice without correction can mute a real drought signal in the transition years, because the sensor-driven offset partially cancels a genuine vegetation stress reading.

Handling the transition: overlap windows, not blind concatenation

The standard approach is to use the overlap period between sensors. MODIS and AVHRR both have multi-year windows where they were collecting simultaneously, same for the MODIS-VIIRS handoff, and you compute a per-pixel or per-region offset from that overlap. That overlap period is what lets you put every year of the baseline on a common footing before you calculate what counts as a departure from it.

A few things to check before you trust a baseline that crosses sensor generations:

  • Is the correction applied at the region level you're actually pricing, or borrowed from a coarser study area? An offset calculated for a continental study doesn't necessarily hold for a single administrative region with a different land cover mix.
  • Does the provider document which years sit on which sensor, and where the correction was applied? If you can't find the splice years in the methodology, you can't audit whether the transition was handled or just carried through.
  • Is severity classified from the corrected anomaly, or from raw index values that happen to straddle two sensor eras? Raw values compared across eras tell you almost nothing.
  • How is missing or degraded data in the transition years handled? Gaps get filled differently depending on the vendor, and that choice affects how stable your baseline statistics are right at the point you need them to be stable.

A baseline that runs back to the early 1980s carries two or three more multi-year drought episodes to calibrate severity bands against than one that only goes back fifteen years. More episodes means more data points to set where "moderate" ends and "severe" starts. That's the whole case for pricing off a long instrument record instead of a single season's rainfall gauge, provided the sensor handoffs in that record were corrected, not just concatenated. Ask the baseline provider directly how the AVHRR-MODIS-VIIRS handoffs were handled, and get a straight answer before you build a trigger on top of it.

This is also the reason we compute anomalies against a baseline built with the sensor transitions already reconciled, so the severity classification you're underwriting against reflects ground condition, not instrument history. If you're setting up a region-by-region trigger and want to see how that output looks month to month, the monthly anomaly and severity data behind this is the place to start.

Ask any provider for the splice-year documentation before the baseline goes into a pricing model.

Start a project

← Back to the blog