Help
Everything about Jharia Fire Watch: what it does, how to read the dashboard, and how to run it.
Nothing in the help matches that search.
Getting started
Jharia Fire Watch watches the underground coal fires of the Jharia coalfield in Jharkhand from space. Every time a Landsat satellite photographs the area, it finds the hot ground, follows each fire over time, predicts where it is heading and decides what to do about the roads above it.
Who it's for
- People who use the roads: check Road status on the homepage. No sign-in needed.
- Mine safety staff: open the dashboard to review fires and approve or refuse road closures.
- Judges and visitors: follow the guided tour.
Signing in
The dashboard asks for a user name and password. On the demo they are demo and demo. Your browser remembers them until you close it.
How it works
Landsat 8 and Landsat 9 pass over Jharia every 8 days between them. Each new photo goes through four steps, the same four shown along the top of the dashboard.
1. Satellite photo
Along with a normal colour photo, Landsat records heat (its thermal band). Fire Watch turns that into ground temperature and uses the photo's cloud mask to ignore anything under cloud.
2. Hot ground found
First the new photo is lined up with earlier ones, because a shift of one pixel would look like a fire moving 30 m. OpenCV does this twice, with two independent methods, and checks that they agree. Then Fire Watch works out how hot each spot should be: dark coal and bare dumps warm up in the sun, so heat explained by the surface is removed. What is left, ground hotter than it should be, is a hot spot. Factories and coke ovens are recognised by their neat rectangular shape, extreme heat and mapped location, and ignored.
3. Spread predicted
Each hot spot is matched to the same fire on earlier photos, so Fire Watch knows whether it is growing and which way it is moving. It then runs a small simulation 24 times to predict where the fire could reach in the next 48 days. That area is drawn on the map as a dashed outline.
4. Roads protected
An AI agent looks at each fire, gathers more evidence if it needs to (older photos, a sharper Sentinel-2 photo, a third alignment check) and decides one of four things: close the road, ask a person, keep watching, or ignore it as factory heat. See Making decisions for the safety rules.
Using the dashboard
The dashboard opens on the latest photo. Everything on screen describes the date shown at the top.
Making decisions
The one rule that never changes: Fire Watch may close a road on its own, but it can never reopen one. Only a person can.
When Fire Watch closes a road by itself
All of these must be true: the fire is high risk, it is close to the road, Fire Watch is at least 70% confident in the measurement, and it is not under a cloud edge. A separate safety check repeats these tests before anything happens.
On real Landsat data "close" means within 100 m, because roads in Jharia are packed tightly around the mines, and the agent only closes mine haul roads by itself. A public road or highway always comes to you. On the demo data the distance is 250 m.
When it asks you
- The fire isn't at the road yet, but its predicted spread reaches it. The next photo arrives before the fire would.
- It is medium risk, or half hidden by cloud, or the measurement is doubtful.
- On real data, the road at risk is a public road rather than a mine haul road.
- A fire that was closed has stayed quiet for two clear photos, so it suggests reopening the road.
What the buttons do
- Yes, close it closes the road sections listed. Barriers go up on the map and trucks re-route.
- Not now or Dismiss records your answer and leaves the road as it is. Fire Watch will ask again only if the risk goes up.
- Yes, reopen opens the sections again and brings the trucks back. Keep closed leaves them shut.
- Add a note saves a short reason with your decision, so others can see why.
Every decision is recorded with who made it and when.
Guided tour
Five minutes on the demo season. Open the dashboard and use the dots along the bottom to jump to each date.
- 4 October 2025: factory heatOpen "Factory heat" in the fire list. The hottest thing on the map is a coke oven, and Fire Watch checked for a factory before anything else because of its rectangular shape.
- 5 November 2025: asking firstOpen Fire 6 near the pit 2 haul road. It is 436 m from the road, but its predicted spread reaches 247 m, so Fire Watch asked a person instead of closing.
- 23 December 2025: closingFire 6 is now 218 m away. Fire Watch closed three sections of the haul road itself. Barriers go up and the trucks from pit 2 wait.
- 25 February 2026 and later: reopeningThe fire has gone quiet. A reopen suggestion appears under "Needs your decision". Approve it and the road and trucks come back.
- Play the seasonPress Play at the bottom left to watch every photo in order, or switch the map to Heat first.
Running it yourself
Fire Watch runs on a laptop with no GPU and no AWS account. It needs Python 3.12 or newer.
With real Landsat data (Mac)
In Terminal, inside the project folder:
bash get_real_data.sh
This downloads the Jharia part of every clear Landsat 8 and 9 photo from the last 12 months (free, from Microsoft Planetary Computer, no account needed), plus roads, mines and plants from OpenStreetMap. It is about 400 to 500 MB. If it stops, run it again and it carries on.
bash run_real.sh
This installs everything, processes the photos and opens the homepage at http://localhost:8000.
With the demo data
python3 -m venv .venv && . .venv/bin/activate
pip install -r requirements-dev.txt && pip install --no-deps -e .
firewatch download-models
firewatch demo --fresh
firewatch serve
To watch the agent work one photo at a time, start with firewatch demo --fresh --passes 1 and press "Process next photo" in the dashboard.
Words explained
- Landsat
- A pair of NASA and USGS satellites (8 and 9) that photograph every place on Earth, together every 8 days.
- Thermal band
- The part of a Landsat photo that records heat instead of light.
- Hot spot
- A patch of ground hotter than it should be on one photo.
- Fire (Fire 6)
- The same hot spot followed across photos. The number stays the same for the whole season.
- Heat above normal
- How much hotter a spot is than its surroundings, after removing the heat the sun explains, in °C.
- Spread prediction
- The area a fire could reach in the next 48 days, drawn as a dashed outline.
- Risk
- High, medium or low, from how hot the fire is, how fast it is growing or moving, and how close it or its spread is to a road.
- Confidence
- How sure Fire Watch is about the measurement. Cloud, a poor alignment or a first sighting lower it.
- Road section
- About 400 m of road with a code such as R2-04 or H2-04. Roads are closed one section at a time.
- Factory heat
- Heat from coke ovens, power plants and other industry. Recognised and ignored, so it doesn't cause false alarms.
- Agent
- The part of Fire Watch that decides what to do about each fire, and records why.
- Demo data
- A computer-made coalfield with known fires, used to test that every number is right. The badge at the top says which data you are looking at.
Questions
Is this real data?
The badge in the dashboard header says which. "Real Landsat data" means real satellite photos of Jharia. "Demo data" means a simulated coalfield used for testing.
How often is it updated?
Every time Landsat passes over, about every 8 days. Cloudy photos are skipped, so in the monsoon there are fewer.
Why is my road closed?
A fire is close to it (100 m on real data) and Fire Watch is confident, or a person approved the closure. Open the dashboard and click the fire next to the road to see why.
Why wasn't a road closed when a fire is near it?
Either Fire Watch wasn't confident enough (for example because of cloud) and asked a person, or the fire is near the road only on the prediction. Both show under "Needs your decision".
Can Fire Watch reopen a road by itself?
No. It can only suggest reopening after two quiet photos. A person has to approve it.
How accurate is it?
On the simulated coalfields, which have known answers, it found 86 to 97% of fire sightings with no false alarms, and its temperatures were off by about 0.1 °C on average. Very young fires, less than about 4 °C hotter than their surroundings, are missed until they grow. The full results are in the project's reports folder.
Can it see through cloud?
No. Ground under cloud is left out, and a fire half under cloud is sent to a person.
Troubleshooting
The dashboard keeps asking for a password
Use the user name and password from the configuration. On the demo both are demo.
The map around the coalfield is grey
The satellite map outside the coalfield comes from the internet. Without a connection only the coalfield photo shows.
"No photos yet"
Nothing has been processed. Run firewatch demo --fresh, or for real data bash get_real_data.sh and then bash run_real.sh.
"Needs Python 3.12 or newer"
Install Python from python.org or with brew install python@3.13, then run the script again.
The download stopped halfway
Run bash get_real_data.sh again. Finished photos are kept and it carries on from where it stopped.