All projects

Personal project

KarhutlaWatch

Satellite thermal detections, placed in geographic and temporal context across Indonesia.

Investigation question

Where and when do satellite fire detections concentrate across Indonesia?

Public data & scope

KarhutlaWatch uses NASA FIRMS VIIRS NOAA-20 near-real-time thermal detections. Each record describes an observed pixel, not a separately confirmed wildfire. geoBoundaries provides the administrative context.

This exhibit fixes the period at 29 September–5 October 2026 UTC, using the public repository snapshot retrieved on 7 October. It includes all three confidence categories. The latest stored date, 6 October, is excluded because that snapshot may still be partial.

From observations to a question

The Python pipeline transforms FIRMS observations with Polars, assigns province and district labels through spatial joins, and stores the results in Parquet. The Streamlit interface makes geographic, time, and confidence filters available alongside maps and daily trends.

For this case study, I retained the project’s region assignments, counted records by province and UTC acquisition date, and divided each provincial count by the national total. The map and both charts use exactly the same seven-day subset; a downloadable CSV and accessible tables make the result inspectable.

Analytical exhibit

Indonesia map of 58,099 satellite thermal-detection records for 29 September–5 October 2026. Concentrations appear in southern Kalimantan, southern Sumatra and southern Papua.
View data table
Detection records by project province label, 29 September–5 October 2026 UTC. All confidence levels.
ProvinceDetectionsShare
Central Kalimantan14,53025.0%
Papua9,69516.7%
South Sumatra7,99813.8%
West Papua4,0126.9%
East Kalimantan3,2505.6%
Maluku2,5394.4%
South Kalimantan2,4744.3%
North Maluku2,2153.8%
West Kalimantan2,2073.8%
Central Sulawesi1,2432.1%
South Sulawesi1,1872.0%
East Nusa Tenggara1,0281.8%
Southeast Sulawesi1,0181.8%
Bangka-Belitung Islands8221.4%
West Nusa Tenggara7711.3%
Lampung6721.2%
Jambi6131.1%
East Java5500.9%
North Sulawesi3360.6%
Gorontalo1740.3%
Central Java1650.3%
West Java1550.3%
West Sulawesi1450.2%
North Kalimantan1180.2%
Riau810.1%
Banten450.1%
Bali100.0%
North Sumatra100.0%
Riau Islands90.0%
Special Region of Yogyakarta70.0%
Aceh60.0%
Bengkulu60.0%
West Sumatra60.0%
Jakarta Special Capital Region20.0%

The geographic view

Enlarged figure. Scroll within the image to inspect its full extent.

A week of NOAA-20 observations, kept at their recorded locations. Overlapping points show where detections concentrate; the table gives provincial totals.

Period
29 Sep–5 Oct 2026 UTC · snapshot retrieved 7 Oct 2026
Aggregation
58,099 records · all confidence levels · project province labels
Limitations
Detections are not confirmed fires or burned area. Older boundary labels are retained.
Public data snapshot

Decisions that keep context visible

A fixed snapshot makes the exhibit reproducible. Counts keep the first comparison simple; a daily-share view then tests whether the weekly concentration holds evenly through time. It does not.

The application separately groups nearby detections with approximately 5 km DBSCAN clustering and tracks them across days. Its monitoring-priority ranking combines activity, radiative power, persistence, and growth. I keep that heuristic ranking separate from this descriptive exhibit: it is not an official fire-risk score.

A concentration worth examining

Central Kalimantan contributes 14,530 of 58,099 detections: 25.0%, the largest provincial total in the selected week. Its daily share ranges from 3.2% to 37.0%, so the weekly figure conceals substantial day-to-day variation.

The defensible conclusion is limited to recorded thermal activity in this snapshot. It identifies a useful starting point for further investigation; it does not rank confirmed incidents, determine their cause, or measure their severity.

What the evidence cannot say

Repeat observations can describe the same source. Clouds, smoke, overpass timing, pixel size, and detection thresholds influence coverage. Confidence describes the satellite retrieval, not incident severity. Detection counts are neither burned area nor an area-adjusted risk measure.

The exhibit retains the repository’s older province labels. The map backdrop uses geoBoundaries’ 2017 ADM1 reference; it does not imply current administrative divisions. The published snapshot also inherits the project’s spatial-assignment and refresh behavior.

The live pipeline is scheduled every three hours, with a separate previous-day refresh. A successful refresh need not contain a newer satellite acquisition. Near-real-time records can change, and a seven-day sample cannot establish a seasonal baseline.

Further exploration

The next useful comparison is sensitivity to confidence filtering, followed by weather, land cover, and a longer seasonal baseline. Those additions could help explain the observed concentration; they are not evidence supplied by this exhibit.

Explore the public dashboard for alternative time and province selections, or inspect the repository to follow the transformations and monitoring heuristics.

Personal contribution

I built the public dashboard and automated pipeline: ingesting NASA FIRMS data, assigning regions, aggregating observations, and tracking repeated activity.