How it works

Satellites have spotted fires from space since 2000. In 2012 a sharper camera took over, and it sees many more fires. Here is how we make the old and the new camera count the same way, and how we checked it.

Loading the test results…

Who watched when

Four satellites photograph fires for us. Two carry MODIS, the older camera. Two carry VIIRS, the newer and sharper one. Our record uses one camera at a time.

Point at or tap a bar to see its years and what it does.

MODIS fills our record until 2011 and VIIRS from 2012, so the camera changes once, in 2012 (the dashed line). In November 2026 one VIIRS satellite handed over to the other.
For scientists: series sources by period

The series uses one source per period, so the method changes exactly once, in 2012, for MODIS:

  • November 2000 to June 2002: Terra MODIS only. Flagged as partial coverage and left out of the baseline.
  • July 2002 to December 2011: Terra and Aqua MODIS, weight 1.
  • January 2012 to the day before 2 November 2026: weighted S-NPP VIIRS, with NOAA-20 filling days S-NPP missed.
  • From 2 November 2026: weighted NOAA-20 VIIRS.

MODIS from 2012 on stays out of the series. It is the ground truth for the tests below, and the calendar's raw view.

Same fire, two cameras

MODIS sees the ground in squares 1 km across. VIIRS sees squares 375 m across: about seven fit inside one MODIS square. A small fire stands out more in a small square, so VIIRS spots fires that MODIS misses.

10 MW

MODIS sees 2 · VIIRS sees 6

MODIS 1 km squares

VIIRS 375 m squares

  • A fire on the ground
  • A square the camera reports as fire
For the same burning, VIIRS reports 3 to 10 times as many fires as MODIS. Simply adding the two up would make every year since 2012 look like a disaster.
For scientists: the problem, and this picture's simple rule

Raw hotspot counts jump in 2012, when VIIRS joins MODIS: its 375 m pixels catch small fires that MODIS's 1 km pixels miss, so it reports several times as many hotspots for the same burning, and every later month looks like a record fire year. The years 2000 to 2011 exist only in MODIS form and cannot be observed again, so VIIRS has to be brought to MODIS's scale, not the other way round. And MODIS is ending, so the correction has to keep working on VIIRS alone.

The picture is a toy: a square is reported when the fires inside it give off at least 10 MW per km² of square, which puts MODIS's limit near 10 MW and VIIRS's near 1.4 MW. Real detection also depends on the background temperature, day or night, and the viewing angle. The measured curve is in "When MODIS sees a fire" below.

How one VIIRS fire is counted

We count everything in MODIS fires. A MODIS fire counts as 1. A VIIRS fire counts as the chance that MODIS would have seen it too, times a factor for its region and month.

5 MW

The factor makes up for the extra looks MODIS had, like Terra's morning pass, which no VIIRS satellite makes. It is the same for every fire in a region and month.
For scientists: the weight w = s × k

Hot or Not counts each VIIRS hotspot as the number of MODIS hotspots it stands for, so the whole record, from 2000 to today, is in one unit: MODIS-equivalent hotspots. A MODIS hotspot counts 1. A VIIRS hotspot counts its weight w = s × k, and a month's harmonized value is the sum of the weights.

s, the detection share
The modeled chance that Aqua MODIS would have detected the same fire, shared among the VIIRS hotspots that fall inside one MODIS pixel, so a fire front with five VIIRS hotspots and one MODIS hotspot adds up to about 1, not 5. The model learns from 2012–2019 overpasses where Aqua and S-NPP looked at the same place within 15 minutes, including the times MODIS looked and missed. It uses VIIRS-side features only, so it scores any VIIRS hotspot, including near-real-time ones and those after MODIS ends.
k, the coverage factor
MODIS hotspots divided by the summed detection shares, per region and calendar month over 2012–2019. It carries the sampling differences s cannot see: Terra's mid-morning overpass, which no VIIRS satellite matches, and the outer part of the wider VIIRS swath.
The fallback, ratio_v1
Every VIIRS hotspot in a region and calendar month weighs r = MODIS count ÷ S-NPP count over 2012–2019. It needs no model, and it is the benchmark the model has to beat.

The diagram uses the all-land curve, which holds cluster size at 1 (a lone hotspot) and averages over pixel size and day or night, and the S-NPP k. NOAA-20 has its own k, scaled to S-NPP over the years both flew. The map's tooltips show each hotspot's actual weight.

Follow one real day

Over the whole record our pipeline works through about 13 million fire detections. These are the real ones from a single day over the Nile Delta, 13 September 2017, in the season when farmers burn rice straw. Step through what the pipeline does with them.

    Close-up 8 km across, the dashed square on the map

    • VIIRS on S-NPP
    • MODIS on Aqua
    • Set aside: not a vegetation fire
    • MODIS square, real size
    • 5 km square: its weights added up

    September 2017, day by day

    What happened

      Every dot is a real record from our pipeline. Out of 46 VIIRS fires, the day ends up counting as less than 4 MODIS fires: that is how the old and the new camera are made to count the same way.
      For scientists: this day, row by row
      How the Clean step catches a gas flare

      NASA has not labelled the newest months yet, so the Clean step needs a rule to tell a gas flare from a farm fire. A flare burns in the same spot day after day; a field burns once. Here are 90 real days near Idku, on the coast east of Alexandria.

      Day 1 of 90
      • Seen today, by day
      • Seen today, at night
      • A spot about 400 m across: the number is the days it showed heat
      • Seen on 20 days or more: a steady heat source

      Each square is a spot 0.004° across, about 400 m. A spot that shows heat on 20 or more days within 90 days is a steady heat source, such as a gas flare, and its detections are set aside. These are the numbers the pipeline uses.
      For scientists: the flare rule and this box

      Tested on years it never saw

      From 2012 to 2019 both cameras flew, so we know what MODIS really counted. We hide two years, learn from the other six, and check our count for the hidden years against MODIS. Four tests hide every year once.

      • Learned from
      • Hidden, then predicted

      Orange means we counted more than MODIS, blue fewer. The shaded band is within 15%. A harder test, on 2020 to 2025, is in the scores for scientists below.

      Month by month

      Each chart shows one region from 2012 to 2025: what MODIS counted, raw VIIRS, and our corrected count. Every corrected month comes from a test that never saw it.

      Turn it off to compare the corrected lines with MODIS at full height.
      For scientists: the held-out folds

      After 2012 both sensors flew, so real MODIS counts show what the harmonized series should be. Raw VIIRS should sit far above MODIS and harmonized VIIRS should track it. Every harmonized month here comes from a fit that never saw it: each pair of years in 2012–2019 is left out in turn and predicted from the other six, and 2020–2025 is predicted from a fit on 2012–2019. The shaded bands on the charts are the folds.

      What to keep in mind

      For scientists: the caveats in full
      • S-NPP ended on 2 November 2026. From that day the series runs on NOAA-20 alone, calibrated against S-NPP rather than against MODIS. NOAA-20 has had its own data gaps since 5 November 2026: a day with no NOAA-20 overpass marks its month as partial coverage, so an outage never reads as a quiet month.
      • MODIS orbit drift. Terra and Aqua have drifted from their nominal crossing times, which pulls Aqua's overpasses away from S-NPP's and changes what MODIS samples. We fit only on 2012–2019 and report 2020–2025 separately, so part of the larger error on those years is drift in the ground truth rather than in the harmonization. When MODIS ends, nothing in the series changes: it has used weighted VIIRS since 2012.
      • Gas-flare masking. Gas flares and other static heat sources trigger the same fire algorithm. The science-quality archive labels them and we drop them, but near-real-time data, which covers the most recent months, carries no label. We mask near-real-time hotspots close to a static source known from the archive, or seen at the same spot on many days within 90 days. In the Nile Delta flares outnumber farm fires, so recent months can still hold a few flares, or miss a fire next to one, until the archive replaces them.
      • Bolivia and Brazil are not covered. The Northern Argentina and Paraguayan Chaco region includes parts of Bolivia and Brazil, whose fire records we did not download. Cells centered there show as no data, never as zero, and an area drawn across them counts only the covered cells.
      • Partial and provisional months. Before July 2002 only Terra flew, so those months are flagged and left out of the 2003–2025 baseline. Near-real-time months are provisional until the archive replaces them, about five months later.

      For scientists

      The full scores on hidden years, the detection curve the model learned, the region factors, and the check on the second VIIRS satellite.

      The scores and the decision

      Two scores per region, both on hidden years: how far the yearly totals land from MODIS, and how closely the months line up. A method has to do well on both.

      The first is the mean error of annual totals against MODIS, the second the Pearson correlation of monthly totals with MODIS. Correlation alone cannot catch a change of scale, since raw VIIRS follows the seasons closely while counting several times too many, so the rule needs both. The model ships when it meets both limits in at least three of the four regions and beats the ratio method's annual error.

      When MODIS sees a fire

      This is the curve the model learned: the stronger the fire, the more likely MODIS saw it too. It comes from the moments both cameras looked at the same place.

      The detection share comes from a logistic regression on VIIRS fire radiative power (FRP), pixel size, day or night, land cover and cluster size. Its curve against FRP is why one ratio cannot fit every place: small agricultural burns, which MODIS mostly misses, get a low detection share, and large fires, which both sensors see, a high one.

      The region factors

      One factor per region and month: the one in "How one VIIRS fire is counted". Each cell shows its value.

      The coverage factor k: one value per region, satellite and calendar month, estimated over 2012–2019. Where a region and month had fewer than 50 MODIS hotspots in those years, it is pooled with the two adjacent months, and if that is still too thin, one value covers the region's whole year. NOAA-20 gets its own k, scaled to S-NPP over the years both flew.

      The hand-over to NOAA-20

      S-NPP stopped sending data on 2 November 2026. NOAA-20 carries the same camera and has flown beside it since 2018, so we checked that the two give the same counts.

      NOAA-20 carries the same VIIRS instrument and fire algorithm in the same orbit, about 50 minutes apart, and the two overlap from April 2018, so the second switch is calibrated VIIRS to VIIRS. On the years both flew, the series built on NOAA-20 has to track the one built on S-NPP.