The Signal Lab

How early can a wildfire
be detected?

The Signal Lab is the research program behind Fire Nearby. Around the clock, our fusion engine watches independent early indicators of fire, and every candidate it raises is tracked to a verified real-world outcome. This page is where we publish what that work is teaching us, updated as the research progresses.

Active research programEmber v3 scoring live candidatesLast updated 1 September 2026

What we’re building

Official wildfire maps wait for an incident to be declared, which can lag hours behind a brand-new fire. We are working on the opposite end of that gap: identifying likely new fires from open signals alone, as early as the data physically allows, and proving how often we get it right. The work runs in three loops:

Fuse

Independent signals (satellite heat, satellite fire-detection AI, live dispatch traffic, lightning, air-quality anomalies) are merged into scored candidates when they agree in the same place and window of time.

Verify

Every candidate is matched against official incident records.[4] Hits record how many minutes we were ahead of the official discovery; candidates that never become fires are logged as misses.

Learn

The labeled outcomes become training data. A statistical model learns which combinations of evidence actually precede real fires, and each version has to beat the last on held-out data before it ships.

A five-year labeled dataset, built from scratch

A live system only accumulates evidence at real-time speed, so in August 2026 we rebuilt the past instead. We swept five years of archived satellite fire detections[1] through the exact clustering, suppression, and scoring rules our live engine uses, then matched every resulting cluster against official incident records[4] to label its outcome. Each cluster was also stamped with the conditions at the moment it formed: archived lightning activity,[2] drought status,[3] and the location’s own fire history, and in August 2026 the enrichment was completed with hour-matched historical weather, two weeks of trailing rainfall, dead-fuel moisture, terrain, vegetation condition, and land cover for every confirmed fire plus a large population sample. The result is a research dataset that does not exist anywhere else.

17.1M
satellite heat detections swept from the NASA FIRMS archive
887,730
candidate heat clusters formed by the same rules as our live engine
3,605
clusters matched to officially named wildfires under the audited, burn-scar-verified match rule
5
full fire seasons covered, August 2021 through August 2026
8.27M
lightning grid cells sampled from the GOES Geostationary Lightning Mapper archive
260
weekly US Drought Monitor snapshots stamped onto clusters as they formed

Only 0.4% of these clusters ever earned an official fire name, a figure we re-verified in August 2026 by cross-checking claimed matches against satellite burn scars and tightening the match rule accordingly. That imbalance is the core of the problem. Almost everything hot a satellite sees (controlled agricultural burns, industrial heat, small fires that are out before anyone logs them) never becomes an incident, and a useful early-warning system has to tell the 0.4% apart from the rest.

What five years of outcomes taught us

With every cluster labeled, we can measure exactly how much each piece of evidence shifts the odds that a satellite heat cluster becomes a real, named wildfire. The figure below shows the strongest observed condition for each factor, expressed as a multiple of the 0.43% baseline conversion rate for US clusters (95% confidence intervals computed on every bin):

Figure 1. Conversion lift by factor, strongest bin vs the 0.43% base rate
Peak heat intensity (FRP)5.3x
150+ megawatts
Forecast wind, next 24 hoursNew4.8x
30+ mph
Terrain steepnessNew4.6x
15-30 degree slopes
Air dryness at detection (VPD)New3.9x
30+ hPa
Dead-fuel dryness (100-hr fuel moisture)New3.6x
below 8%
Fire history at that location3.5x
10+ fires/yr nearby
Persistence across satellite passes2.3x
5-8 overpasses
Drought severity2.0x
D4 exceptional drought
Population: 887,730 satellite heat clusters, Aug 2021 to Aug 2026, measured against the corrected, burn-scar-verified labels (August 2026 audit). Factors marked new come from the environmental enrichment and are measured on a population-weighted sample (every confirmed fire plus a 1-in-37 sample of the rest); their confidence intervals exclude 1.0x. Factors are not independent of one another; the model below learns them jointly.

Physics leads

The strongest signals are physical: how hot the detection burns,[1] how hard the wind will blow over it, and how steep the ground under it is. Detections above 150 megawatts convert at 5.3x base rate, the faintest at 0.4x; a 30+ mph forecast wind nearly matches that. These outrank every bureaucratic or geographic cue, which is exactly what an honest label should produce.

History still matters

A heat cluster in a cell that historically sees 10+ fires a year is 3.5x more likely to become a named fire, while a cluster somewhere with no fire history converts at a quarter of the base rate. Where fire has been tells you a lot about where it will be, just less than the physics of the moment.

Lightning surprised us

The literature on lightning-initiated fires[5] led us to expect recent strikes to raise the odds. On their own they do not: heat near strikes from the prior 24 hours converts slightly below heat with no strikes in two weeks, largely because thunderstorms bring rain. Rainfall context explains the inversion: strikes that arrived with wetting rain converted at 0.5x base rate, while strikes hitting ground that had stayed dry for two weeks ran near 3x, a six-fold spread (the dry-strike sample is still small, so we hold that number loosely). Findings like this are why we measure instead of assume.

Geography ties all of these findings together. In the map below, every dot is a place where satellite heat clustered over the five years. The size of the dot is how much heat the satellites saw there; the color is how often that heat went on to become a named wildfire. The same raw signal means almost opposite things depending on where it lands:

Figure 2. Five years of satellite heat, judged by outcomes
Flint HillsMississippi DeltaNorthern Rockies
Share that became named wildfires:Never became a wildfireUnder 1% (near base rate)1-4%4-10%10%+ fire country
3,307 half-degree cells covering 773,110 US heat clusters, Aug 2021 to Aug 2026, judged by the corrected labels. Dot area scales with cluster count; cells with fewer than 5 clusters and Alaska/Hawaii are not shown. Nearly two-thirds of all cells (2,125) never produced a single named wildfire in five years. Notice that the biggest dots on the map are green: the places satellites see the most fire are the places it least often means a wildfire, and that broad green heart of the country is the subject of the next section.

Mapping the fires that are not wildfires

The biggest source of confusion in satellite fire detection is not technology, it is intent: enormous amounts of American landscape are burned on purpose, on schedule. Kansas Flint Hills ranchers burn pasture every April, Mississippi Delta rice country burns stubble every fall, and Idaho’s Camas Prairie burns after every August harvest. These are real fires that satellites correctly detect; they are simply never going to become wildfires with names and evacuation zones.

Because every cluster in our dataset carries a verified outcome, we could turn that burning calendar into a map. We identified the cells of the country where satellite heat returns in the same weeks across multiple years, yet five years of outcomes show it essentially never converting to a named wildfire. Burning rotates between fields from year to year, so the map is judged at neighborhood scale rather than field scale. The result held up better than we expected:

44,348
map cells flagged as recurring managed-burn areas, from the Flint Hills to sugarcane country
634,000+
historical heat clusters formed inside those flagged areas over five years
0.00%
of them became a named wildfire: not one, against a 0.43% national base rate
Figure 3. What the flagged cells are, by how much of the year they burn
55% burn 1-3 months a year: the classic agricultural and prescribed-burn signature, tied to harvests and spring green-up.
33% burn 4-9 months: longer burning seasons and mixed-use land.
12% are hot 10-12 months: year-round industrial heat, mostly oil-field flaring, caught here as a backstop.

This map is one layer of a deliberately layered defense. Known industrial heat (gas flares, steel plants, landfills) is identified separately and removed before candidates ever form, because a refinery can never be a new wildfire. Seasonal burn country is different: an escaped field burn is a real ignition source, so Ember treats the map as evidence to weigh rather than a reason to look away. A candidate in the Flint Hills in April starts heavily discounted, but if independent signals keep piling up, it can still surface.

Meet Ember, our early-detection model

The five-year dataset trains Ember, the statistical model at the center of the lab. It began with a single question, the probability that a brand-new heat cluster becomes an officially named wildfire, and has grown into a set of calibrated probabilities covering a fire’s whole opening arc. The name fits the job: an ember is the small, persistent heat that exists before anyone calls it a fire, which is exactly the moment this model lives in. Each Ember release is versioned, so you can always see which iteration produced a number and what changed between them.

The first two Ember versions, v0 and v1, were trained before the August 2026 label audit and were retired with it: models are only as honest as their labels, and theirs had been over-crediting distant coincidental matches. Ember v2 was the first version trained end to end on the corrected, burn-scar-verified labels, and it now serves as the baseline. Ember v3, its recalibrated successor trained under a frozen, pre-registered protocol, is the current model: it scores every live candidate, and every prediction is logged and tracked to a verified outcome.

One candidate, three questions

Ember is one system asking three questions about the same heat cluster, each answered by its own calibrated probability. All three ride the identical pipeline: the same candidates, the same full-picture context, the same discipline of logging every prediction and grading it against a verified outcome under a frozen protocol. They differ only in the question they answer.

P(concern)

Will this become a fire of concern?

The flagship number. Trained on official wildfire outcomes with negatives certified by Sentinel-2 burn scars, it estimates the chance that brand-new heat becomes a fire someone must act on. This is the probability our internal dashboard ranks by, and the one whose holdout evaluation is running now.

Ember v3 artifact · shadow-scoring every live candidate since 23 August
P(real fire)

Did the ground truly burn?

Plenty of real fire never earns a name: a landowner knocks it down, a local crew handles it, no record forms. This companion head predicts physical burning as judged by Sentinel-2 burn scars, an evidence source independent of naming bureaucracy. It keeps the concern head honest and gives real-but-unnamed fire a score of its own.

Same v3 artifact · shown beside P(concern) on the internal dashboard
P(growth)

If it is real, how big, how fast?

The newest heads (31 August 2026). Growth g0 is a separate model trained on reconstructed growth history (daily incident-size reports and perimeter archives back to 2021). From first detection it stamps two probabilities on every candidate: reaching 1,000 acres ever, and reaching 100 acres within 24 hours, with claims deliberately capped while the evidence is still weak.

Growth g0 artifact · shadow stamps, graded prospectively in January 2027

Together they cover a fire’s whole opening arc: is this heat worth attention, is it physically real, and how large could it get. Every head is versioned, every stamp is logged, and none of the numbers reach the public map until its registered evaluation passes.

Model card: Ember v3Updated: 23 August 2026
VersionEmber v3 (live scoring)
StatusScores every eligible live US cluster; every prediction is logged and tracked to a verified outcome. Nothing it says affects the public map yet
PopulationUS satellite heat clusters
LabelsFires of concern, not just officially named fires: real wildfire outcomes with negatives certified by Sentinel-2 burn scars, and ambiguous cases excluded rather than guessed. Size-scaled incident matching, re-audited automatically as new fires arrive
DesignTime-sliced hazard framing (the model re-answers "is this a fire of concern?" at fixed ages: 1h, 3h, 6h, 12h, 24h, 48h) behind a full-picture gate: no probability is printed until weather, terrain, land cover, and fire-history context have all arrived
Two headsOne head predicts a fire of concern, P(concern); a second predicts whether the ground truly burned (satellite burn-scar label), P(real fire), because plenty of real fire never earns a name. The growth probabilities are a separate artifact, growth g0, scored on the same candidates
Internal validation (May-Aug 2026)ROC-AUC 0.945 at the 6-hour checkpoint, with precision concentrated 160x over base rate; calibration error 0.05 points. All pre-registered stress gates passed
Headline evaluationReserved. A pre-registered untouched holdout window (23 August to 21 November 2026) is scored once, in early 2027, after outcome labels mature. Negative controls must pass first

Why you don’t see Ember’s numbers on the map yet

Ember scores every eligible live cluster and every prediction is logged and tracked to a verified outcome, but nothing it says affects what the public map shows. Strong results on historical data are a promising start, not proof; a model earns its way onto the map only by proving itself on live fires it has never seen, in an evaluation whose rules were written down before training began. That bar applies to every head the same way: P(concern), P(real fire), and P(growth) all run in shadow until their registered evaluations pass. Those holdout windows are running now and are scored once, in early 2027.

Accountability, in public

A prediction system you can’t audit is just marketing. Everything on Fire Nearby is timestamped and sourced, and Ember will be held to the same standard: when it goes live, this page will carry a running public scoreboard of every call it makes, correct and incorrect, with lead times on the hits and an honest count of the false alarms. Until then, here is the live research pipeline at work:

2,919
early signals fused in the last 24 hours
35,140
live candidates tracked to a verified real-world outcome

Detection is becoming free. Judgment is not.

Wildfire detection is entering a golden age. New satellite constellations are being launched to scan every point on Earth for fires within minutes, and AI camera networks already spot many ignitions before the first 911 call. We think that is excellent news, and not just for the obvious reason: every new sensor is another raw signal our fusion engine can ingest.

But our five-year dataset shows why detection alone was never the hard part. Satellites already flag millions of heat anomalies, and only 0.4% ever become a named wildfire. As sensors multiply, that flood of raw detections grows, and the scarce resource shifts from seeing heat to knowing which heat matters. A response system cannot roll trucks to every warm pixel; it needs a trustworthy probability, and a reason to trust it.

Our position: as detection becomes abundant, the product is the judgment layer on top of it. A calibrated probability for every candidate, verified against official outcomes, with the track record published for anyone to audit.

That judgment cannot be launched on a rocket. It has to be learned from years of candidate-versus-outcome history, each candidate stamped with the conditions at the moment it formed, and that record only grows in real time. Every sensor that comes online makes the sensing side cheaper and the outcome record more valuable, which is exactly why the Signal Lab logs its own calls, right and wrong, every day.

Methods, briefly

For readers who want the rigor without the full paper:

  • Temporal holdout. Ember v3 trains only on data through early May 2026; its headline evaluation is a pre-registered, untouched holdout window (23 August to 21 November 2026) scored exactly once after outcome labels mature, so its headline numbers describe prediction, not memorization.
  • No peeking at the future. Every training example is featurized only from signals that had arrived by that moment, verified by a deterministic proof (deleting later signals must reproduce the identical features), and the fire history feature is built strictly from records that predate the evaluation window.
  • Labels are audited by machine. In August 2026 we cross-checked our claimed detections against Sentinel-2 burn scars, found the incident-matching radius over-crediting, corrected the rule, and re-derived every label. A standing automated audit now re-verifies claimed credit against the incident record, burn scars, and a displacement placebo on an ongoing basis, and a failed audit freezes our public claims until explained.
  • Uncertainty is reported. Every conversion rate in the audit carries a Wilson 95% confidence interval, and thin bins are treated as inconclusive rather than as findings.
  • The label is conservative. Ember v3 predicts fires of concern, and a claim only counts in its favor once an official record or a satellite burn scar proves the fire. Plenty of real fires are knocked down by landowners or local crews before any record exists, and every one of those counts against the model until physical evidence lands. Measured precision is therefore a floor, not a ceiling, on precision against real fires.
  • Known limitations. The historical dataset is satellite-driven; the live engine also sees dispatch traffic and other fast human signals that archives cannot reconstruct. Canadian clusters are currently excluded from training because official Canadian labels lag by years. We publish limitations here for the same reason we timestamp everything else.

Research log

New entries are added as the work progresses.

18 August 2026

Five-year dataset completed; Ember v0 trained and moved to shadow evaluation

Rebuilt five fire seasons of satellite history through the live engine’s rules (887,732 labeled clusters), audited every scoring assumption against outcomes, corrected the ones the data disagreed with (heat intensity now weighted in production), and trained Ember v0 (holdout AUC 0.878). The model now scores live clusters silently while we compare it against the current system.

18 August 2026

Managed-burn map built from outcomes; Ember v1 protocol pre-registered

Mapped 43,141 cells of recurring managed-burn country directly from five years of verified outcomes (0.00% wildfire conversion across 627,000+ clusters) and began stamping it onto live candidates. Also froze the Ember v1 evaluation protocol before any v1 training run: population, metrics, and the exact bars v1 must clear are now written down in advance, so its results will be predictions rather than selections. Collection of v1’s dry-lightning ingredient, precipitation history at every candidate, is underway.

19 August 2026

Ember v1 trained; both models now shadow-score every live candidate

With the environmental enrichment finished across all five years, we trained Ember v1 on the full feature stack. In rolling backtests (train on the past, test on a full unseen fire year, repeat for three years) it scored AUC 0.849 to 0.863, and its sharpest top-0.1% slice converted to named fires at 25 to 29 times the base rate. The single biggest gain came not from weather but from the managed-burn map: knowing which heat is routine agriculture removes false alarms that no forecast can. v1 now scores live clusters beside v0; its one-shot holdout evaluation, the promotion decision, runs in early September when outcome labels mature.

21 August 2026

Labels audited against physical ground truth; Ember rebuilt as v2

Cross-checking our claimed detections against Sentinel-2 burn scars, an evidence source independent of every human reporting system, showed the incident-matching radius had been over-crediting: a distant, coincidental incident could claim a cluster that never burned. We corrected the match rule (size-scaled radius, discovery time window, nearest incident wins), re-derived every historical and live label, and made the check permanent as an automated audit. Ember v0 and v1 were trained on the superseded labels, so both were retired without their planned promotions. Ember v2, trained on the corrected labels with a time-sliced design and a second physical-burn head, now shadow-scores every live candidate, and every number on this page was re-measured against the corrected labels.

23 August 2026

Ember v3 live; ground truth completed; the tracking record opens

Ember v3, a recalibrated successor trained under a frozen, pre-registered protocol, began scoring every live candidate with a full-picture gate: no probability is printed until weather, terrain, land cover, and fire-history context have all arrived. An audit prompted by two missed Florida fires found the national incident feed silently dropping active fires (1,326 of 1,678 recent wildfires were missing or deactivated), so we rebuilt ground truth: the year-to-date national record with our own activity rule, plus direct state forestry feeds (Florida, South Carolina, Kentucky) and Alaska’s interagency feed. Heat from the flanks of already-known fires is now mechanically attributed to those fires instead of being graded as a new claim. With the answer key complete, our internal tracking record started fresh on August 23; a retrain on five years of recovered state-fire labels was registered, trained, and honestly failed its ship bar (certification lag in the newest labels), so it waits for the labels to mature rather than shipping on a technicality.

26 August 2026

Population rules built on independent ground truth; a fourth state feed

In the days after v3 went live, engineering audits added a set of registered population mechanics to grading. Heat on the flanks of already-known fires is attributed to those fires using corrected multi-part perimeter geometry and a footprint buffer. Military live-fire ranges get a dedicated channel: satellite-only heat on a published DoD range with no human signal and no incident match is excluded rather than graded. Confirmations proven only by a burn scar leave the concern-graded numbers (the physical-burn head keeps them), including dispatch-center dispositions that arrive late. Texas A&M Forest Service incidents now flow in as a fourth direct state feed beside Florida, South Carolina, and Kentucky, and every dispatch entry is kept in a permanent log so feed coverage itself can be audited later. One standing rule governs all of it: a population filter may key only on independent ground truth (incident geometry, published military boundaries, Sentinel-2 burn scars, dispatch dispositions), never on the model’s own inputs, and no decided cluster is ever restamped.

29 August 2026

January grading pre-registered as two populations, side by side

The single-shot January evaluation will report every metric twice, on identical rows: a raw column with no filters, which remains the registered headline for the shared August-to-November window, and a filtered column with the population rules applied. The filters are symmetric by construction: an exclusion removes would-be wins exactly as it removes would-be false alarms, and every excluded count is published. Registering both columns now, in advance, means the choice of which population to quote can never be made after seeing the results.

30 August 2026

Ember v5 registered: the whole system, frozen before its window opens

v5 registers no new weights. It registers the system: the byte-identical v3 artifact operating inside the audited engine, with four population filters (flank attribution, military ranges, cross-border heat, scar-only confirmations) as registered rules rather than engine policy. Its evaluation window is fully prospective: 1 September to 21 November 2026, opening two days after the freeze, sitting entirely inside the untouched holdout, graded once in January 2027 in the same sitting as v3. Registered alongside it: a grading runner that refuses to run before 5 January 2027 and fails closed without authorization; ground-truth coverage tiers, so states where our label network is thin are reported as such instead of silently counting against the model; a named canonical database (the always-on collector, so overnight laptop sleep cannot bias the population); and an underpowered clause: if an unusually quiet fall produces fewer than 300 decided positives, the window extends once, automatically, rather than letting a thin sample masquerade as a verdict.

30 August 2026

History mining opens the v6 docket; the cross-border filter goes into v5

A mining pass over the pre-lock five-year history (nothing after 10 August was touched) asked where the model stamps meaningful probabilities on clusters that structurally cannot become named US fires. The clearest theme: heat just across the Canadian and Mexican borders carrying a US state label, 3.1% of all historical clusters, matching at 0.50% against 2.96% nationally, because US incident feeds cannot see across the border. That cross-border exclusion was adopted into v5 before its window opened, with its symmetric cost disclosed: 121 would-be wins are excluded along with the noise. Two further candidates (recurring agricultural practice burns keyed on burn-scar recurrence, and a second tier of intermittent industrial heat) are documented for v6 with the constraints that kept them out of v5. Also measured, on history alone: filtering by itself shifts per-band observed rates upward by 0.3 to 4.1 points, a denominator effect now on record so that in January it can never be mistaken for a calibration change.

31 August 2026

The growth program: from “is it real?” to “how big, how fast?”

Ember now asks a second question about every candidate: if this heat is a real fire, will it become a big one? An engineering audit found the day-by-day story of every fire’s growth was being thrown away (official feeds keep only the latest perimeter per fire), so the engine now archives every perimeter shape it ever sees, plus aerial infrared mission shapes from California’s intel flights, burned-area footprints from Sentinel-2, and five-minute power curves as outage insurance. On the historical side, daily incident-size reports and perimeter archives back to 2021 were joined to the five-year cluster history, producing growth labels for every pre-lock cluster. On those labels we trained growth g0, two calibrated probabilities stamped on live candidates from their first detection: reaching 1,000 acres ever, and reaching 100 acres within 24 hours. It shipped the same way every Ember model ships: negative controls first (its first artifact failed two stress gates and was mechanically blocked from stamping until the fix passed), probability claims capped by what weak evidence can support, and a frozen protocol registering a fully prospective evaluation window (1 September to 21 November 2026) graded once in January 2027. The stamps are shadow-only and dashboard-only: growth numbers reach the public map only after a passed registered evaluation, announced here.

1 September 2026

Planning for noise: Ember v5.1 registered before its window opens

A contingency question surfaced an arithmetic fact about January: v5’s band-honesty criterion is a strict point test, and a probability band can fail it on sample noise alone. An observed rate of 4% in the 1-to-3% band is statistically indistinguishable from a true 3% at any sample size a single fall can produce; separating them cleanly would take roughly 1,500 decided clusters in that one band. The discipline here leaves only one honest response: v5’s bar cannot be touched now that its window is open, so it stays exactly as frozen and will fail on noise if noise comes, with the confidence interval printed beside every band so the run log can say which case occurred. Instead, we registered a successor the same day. Ember v5.1 is the identical system, graded over a longer window (2 September 2026 to 28 February 2027) with the band criterion in its statistically correct form: a band fails only when its whole 95% confidence interval sits outside the stated range. The freeze predates the window by a day, so it is fully prospective; the January sitting is registered in advance as the single interim look, with every parameter fixed now so nothing learned there can steer the April 2027 grading. The failure plan itself is also pre-registered while still outcome-blind: if a band truly misses, the fix is recalibration validated on a fresh window, and the band edges never move to fit a graded result.

Planned: early 2027

Ember v3 and v5 holdout evaluations and promotion decisions

The pre-registered single-shot evaluation of Ember v3 (against the v2 baseline) on the untouched 23 August to 21 November 2026 window, scored once after outcome labels mature (burn-scar labels freeze 45 days after a fire), with pre-registered negative controls required to pass first. The same sitting grades the v5 system registration on its 1 September to 21 November window. A second sitting in April 2027 grades v5.1, the same system on its longer 2 September to 28 February window under the interval-form honesty criterion. If the models clear their bars, they become eligible to put their numbers on the public map; we flip that switch deliberately, not automatically, and announce it here.

Sources

  1. [1]NASA FIRMS: VIIRS and MODIS active fire detections (LANCE/ESDIS). firms.modaps.eosdis.nasa.gov/
  2. [2]NOAA GOES-R Series Geostationary Lightning Mapper (GLM). www.goes-r.gov/spacesegment/glm.html
  3. [3]US Drought Monitor, National Drought Mitigation Center, University of Nebraska-Lincoln / USDA / NOAA. droughtmonitor.unl.edu/
  4. [4]NIFC Wildland Fire Interagency Geospatial Services (WFIGS): official incident records and discovery times. data-nifc.opendata.arcgis.com/
  5. [5]Schultz, C. J. et al. (2019). Spatial, Temporal and Electrical Characteristics of Lightning in Reported Lightning-Initiated Wildfire Events. Fire 2(2), 18. doi.org/10.3390/fire2020018

Dataset statistics and model metrics on this page are from the Fire Nearby historical replay and evaluation pipeline, August 2026. Questions about the methodology are welcome: firenearbysupport@gmail.com.

See the signals yourself

The early-signal layers this research is built on (satellite heat, 5-minute geostationary scans, live dispatch reports) are already on the live map, and the About page documents every source and its freshness in real time.