DhuanTrace

Finds the farm fires satellites miss after 4 p.m., traces whose smoke is reaching your city, and drafts the alert for the district that can act.

Fires, smoke paths and air quality · Madhya Pradesh

Fires
Now
Satellite fire detection Citizen photo report Where the air came from (36 h) Smoke path to the city Hidden hotspot Citizen sensor Industrial corridor

Analyse a city

or click any spot on the map
AQI now
…
Peak in next 24 h
…
Farm-fire smoke now
…
AQI points added
Smoke on the way
…

Whose fires are in this air

AQI forecast

CAMS model (satellite fires only) Likely range (80%) DhuanTrace (+ citizen-reported fires)

When do the satellites look? · fire detections by hour, last 48 h

Table
Hour (IST)Detections

Track 02 problem statement → what DhuanTrace does → proof

Every part of the problem statement, the features that meet it, a live check against this running app, and the automated tests that prove it. A test fails if any listed proof stops existing.

#Track 02 asks forWhat DhuanTrace doesLive check nowProof
Checking…

Stop these fires first · across 12 cities

Districts ranked by how many people breathe their smoke now or within 24 hours. Farmers mostly burn between 4 and 7 p.m., so teams sent before 4 p.m. can prevent the next round.

#DistrictPeople exposedAQI addedFires
Loading…

Ask DhuanTrace

Ask in Hindi, English or any of the listed languages. Answers use only the numbers on this page. The language follows the alert language picker below.

Satellite check · Gemini reads the real image

Pulls NASA's true-colour VIIRS image over a fire cluster and asks Gemini whether the smoke drifts the way our wind model predicts. Yellow rings are satellite fire detections; the blue arrow is the model's smoke direction.

Pick a district and press Check with satellite.

How accurate is this? · live check

The model's AQI at each CPCB station compared with what that station reports right now.

…average error (AQI points)
…same CPCB category
…bias (model minus station)
StationCPCBModelDiff

Hidden hotspots · pollution the models can't explain

Every CPCB station and citizen sensor is compared with what the CAMS model plus traced farm-fire smoke expects. Places far above the rest point to a local source: a factory, burning garbage, dust. Citizen reports, nearby industry and NASA's satellite layers for aerosol and NO₂ are added as evidence. In the satellite pictures the circle is the spot; the app compares it with the ring around it. These are daily daytime views of the whole air column, not ground readings.

Checking every measuring point…

Economic corridors · next 48 hours

The worst air along each industrial corridor, hour by hour, with an alert when it moves into a worse CPCB category or jumps by 50+ in six hours.

Forecasting corridors…

Forecast ledger · written before, checked after

Every hour the app writes down its forecast for 3, 6, 12 and 24 hours ahead, before that time comes. When it arrives, the forecast is checked against the CPCB reading. Nothing is filled in or changed afterwards.

Smoke across state borders

How much farm-fire smoke Madhya Pradesh receives from each neighbouring state, and how much of its smoke reaches big cities across the border. States can read this as an open bulletin at /api/interstate.

StateInto this regionFrom this region
Loading…

Cities learning together · federated model

Each city learns how far the CAMS forecast is off at its own CPCB stations and shares only its model weights, never its data. The average (FedAvg) corrects forecasts for every city, including ones without history.

Other states join by posting their weights to /api/federated/update; the shared model is at /api/model.

Alert log · from draft to result

Saved alerts move from drafted to resolved. Six hours after action, the app compares the AQI change with the change the model expected from weather alone.

No alerts saved yet. Draft one below and press Save to alert log.

Federated network · separate nodes that share only weights

Four separate programs, each with its own process, port and memory, stand in for the regions and neighbouring states of this node (named in the table). Each keeps its own air-quality history. The coordinator sends out the shared model; each node trains on its own data and sends back five numbers. Every message is signed, and any reply carrying anything beyond the protocol's fields is refused.

Real deployment: run node fednode.js on each state's server with FED_REGION and a shared FED_SECRET, and list their addresses in FED_PEERS. Protocol: dhuantrace.fednet/1.

Report smoke or burning

Gemini reads the photo, names the smoke source and adds it to the map. Evening reports fill the gap the satellites leave. 🔒 Your photo and its rough location (about 1 km) appear on the public map. No name or phone number is asked or stored. Please keep faces and vehicle number plates out of the photo.
Send a sensor reading Have a low-cost PM2.5 meter? Enter its reading. It uses the location above and is calibrated against the nearest CPCB station.

Alert for authorities

Choose a language and press Draft alert. Gemini writes it using only the numbers shown on this page.

This is a draft for an official to check and send. DhuanTrace never sends an alert by itself, and it names districts, never farmers.

Shared forecast packet

Each city node publishes its forecast and fire attribution in one open JSON format, so neighbouring cities and states can load each other's results. Machine endpoint:

Loading…

System health · is every part working right now?

Each data source says whether it is live or on labelled sample data, and why. Request counts and response times are measured by the server itself. API reference: API docs · /api/openapi.json

SourceStateDetail
…running for
…requests served
…server errors
Busiest endpointsCallsMedian95%Refused