How it works
How we know a change is real
A line on a chart that goes up is not yet a trend. We check that the data is consistent over time, test whether the change could be chance, and say clearly when it could.
Surface temperature and rainfall, plus the hazard events that follow them.
Every land grid cell in South Asia (5–38°N, 60–100°E), and eight hazard regions drawn by geography, not borders.
Sen's slope: the rate of change per decade, with a 95% confidence range.
A Mann–Kendall test corrected for autocorrelation, plus a map-wide false-discovery check.
1. Data
| Variable | Dataset | Used for |
|---|---|---|
| Temperature | NASA GISTEMP v4 (GISS), 2° grid, 1981–2025 | Trend analysis (anomalies vs 1951–1980) |
| Rainfall | GPCP v2.3 monthly precipitation (NASA GSFC / NOAA), 2.5° grid, 1981–2025 | Trend analysis (seasonal totals) |
| Wildfire | NASA FIRMS MODIS active fires (Terra + Aqua), 2003–2024 | Hazard events |
| Landslides | NASA Global Landslide Catalog, 2007–2017 | Hazard events |
| Floods | GDACS flood alerts (UN/EU), 2000–2025 | Hazard events |
| Map imagery | NASA GIBS: MODIS surface temperature and NDVI, MERRA-2, GLDAS | Satellite map (visual only) |
| Forest loss | Hansen/UMD Global Forest Change (Landsat), via Global Forest Watch | Satellite map |
We first used NASA POWER (MERRA-2) rainfall. When we plotted it, rainfall over the Bengal delta jumped from about 1,200 mm to about 1,800 mm a year in 1997, and to over 3,000 mm after 2015. Real rain doesn't do that; the jumps come from changes in the observations fed into the model. Its soil moisture inherits the same jumps. Trends from it would have been confidently wrong, so we switched to GISTEMP and GPCP, records built to stay consistent over decades. We now always plot a series before we trust its trend.
2. How much is it changing?
We use Sen's slope: the median of the slopes between every pair of years. Unlike a straight-line fit, one extreme year can't drag it. We report it per decade with a 95% confidence range (Gilbert 1987), so “+0.31 °C per decade (+0.27 to +0.36)” tells you both the rate and how sure we are of it.
3. Is it significant?
The Mann–Kendall test asks: if there were no trend, how likely would it be to see this many years higher than earlier years? A small p-value (below 0.05) means chance is an unlikely explanation.
Climate years aren't independent: a warm year is often followed by another. That makes the plain test report too many false trends, so we use the Hamed–Rao correction for autocorrelation.
A map tests hundreds of cells at once, so about 5% would look significant by luck alone. We apply a false discovery rate check (Benjamini–Hochberg, αFDR = 0.10, following Wilks 2016). Only cells that pass it are drawn solid with a dot.
We say so plainly: “No statistically detectable trend.” This means the ups and downs from year to year are too large, over this record, to separate a real trend from natural variability. It does not prove nothing is changing. A longer record or a larger area might show it.
Do other datasets agree?
We repeated the main trends with a completely separate climate record, CRU TS 4.10 from the University of East Anglia, which is built from weather stations with its own methods. Where both records tell the same story, we can be more confident. Where they don't, we say so.
| Region | Temperature, whole year (°C per 10 years) | Monsoon rain (mm per 10 years) |
|---|---|---|
| All of South Asia | +0.31* / +0.25* Agree | 0 / +14* Partly |
| Ganges-Brahmaputra-Meghna delta | +0.33* / +0.08 Partly | −66* / −60* Agree |
| Indus plain | +0.30* / +0.28* Agree | +37* / +14* Agree |
| Central Himalaya | +0.29* / +0.21* Agree | −55* / −4 Partly |
| Western Himalaya | +0.33* / +0.29* Agree | −5 / +26* Partly |
| Western Ghats | +0.18* / +0.16* Agree | −64* / +44* Disagree |
| Sri Lanka central highlands | +0.18* / +0.17* Agree | −20 / −9 Agree |
| Central Indian forest belt | +0.22* / +0.12* Agree | +9 / +43* Partly |
| Northeast India and Myanmar hills | +0.36* / +0.16* Agree | −56* / −42* Agree |
Each cell shows our value, then CRU's. * = a clear (statistically significant) change. The two agree on warming everywhere. For rain they agree on the headline pattern (Indus plain wetter; Bengal delta and Northeast hills drier) but not for every region, which is why rain findings get a lower “how sure” rating.
4. From trends to hazards
For each hazard region we count past events per year, then ask whether high-event years line up with unusual heat or rain. We use a Spearman correlation after removing each series' long-term trend, so two things that simply both rise over time don't look connected. A link only counts if it is significant and points the physically expected way (more fires with more heat, more landslides with more rain).
Where a link exists, the preparedness signal compares the latest season with the conditions seen in past high-event years. If they match, authorities could raise monitoring, ready resources and warn vulnerable areas. It never says a disaster will happen. Where no link exists, we give no signal at all.
5. Limitations
- Grids are coarse (2°–2.5°, about 200–280 km), so local extremes are smoothed out.
- Hazard regions are approximate rectangles, not exact watersheds or forest boundaries.
- Event records are incomplete: news-based landslide reports miss remote areas, satellites miss fires under cloud, and GDACS coverage improved over time.
- The landslide record covers only 11 years, which is too short for a trend in event counts.
- Correlation is not causation: land use, deforestation, road building and human ignition also drive these hazards.
6. Reproduce it
Everything is open source at github.com/ARNOB663/earths-hidden-signals. The analysis/ folder rebuilds every number on this site from the public data with python build.py and python build_hazards.py. No login is needed. Results generated 2026-09-29.
How to cite this work
Every chart on the site has a “Download the data (CSV)” button. If you use the data or the results, please cite:
Earth's Hidden Signals (NASA Space Apps 2026), https://earths-hidden-signals.vercel.app. Temperature: NASA GISTEMP v4 (GISTEMP Team, NASA GISS). Rainfall: GPCP v2.3 (Adler et al. 2018). Events: NASA FIRMS, NASA Global Landslide Catalog, GDACS.
References
- Lenssen, N. et al. (2019). Improvements in the GISTEMP uncertainty model. J. Geophys. Res. Atmos. 124.
- Adler, R. F. et al. (2018). The Global Precipitation Climatology Project (GPCP) monthly analysis (new version 2.3). Atmosphere 9(4).
- Hamed, K. H. & Rao, A. R. (1998). A modified Mann–Kendall trend test for autocorrelated data. J. Hydrology 204.
- Sen, P. K. (1968). Estimates of the regression coefficient based on Kendall's tau. J. Am. Stat. Assoc. 63.
- Gilbert, R. O. (1987). Statistical Methods for Environmental Pollution Monitoring. Van Nostrand Reinhold.
- Benjamini, Y. & Hochberg, Y. (1995). Controlling the false discovery rate. J. R. Stat. Soc. B 57.
- Wilks, D. S. (2016). “The stippling shows statistically significant grid points.” Bull. Am. Meteorol. Soc. 97.
- Hansen, M. C. et al. (2013). High-resolution global maps of 21st-century forest cover change. Science 342.
- Kirschbaum, D. et al. (2015). Spatial and temporal analysis of a global landslide catalog. Geomorphology 249.
- Giglio, L. et al. (2016). The Collection 6 MODIS active fire detection algorithm and fire products. Remote Sens. Environ. 178.