Methodology
How ClimateWatch knows what it knows
Every number on this site traces back to one open dataset and a handful of explicit definitions. Here they are.
Source
Where the data comes from
All historical climate values come from ERA5 reanalysis via the free Open-Meteo Historical Weather API (1950–present).
ERA5 is a model-based reanalysis optimized for consistency over decades — the right basis for long-term trend analysis, and different from direct weather-station readings. A station moves, changes instruments, or goes offline; the reanalysis does not. That consistency is exactly what makes a comparison across the whole record meaningful.
Trace
One cell, followed end to end
Every number on this page comes from the same chain: a coordinate — -6.209°, 106.846° for Jakarta — resolves to the nearest ERA5 grid point, roughly a 30km square the model treats as one place. Open-Meteo returns one modelled value per day for that square; this site never reads a value finer than that square, and never claims to. Here is what happens to one month of it, in full.
Where the numbers come from
Every square in the grid below is one month. Here is one, day by day.
Jun 2026 in Jakarta — the most recent month with a reading for every single day.
- bar height = that day’s highest temperature
- 30° = the same number, in °C
- 1mm = that day’s rainfall
- 134°5mm
- 234°1mm
- 334°2mm
- 434°1mm
- 535°0mm
- 636°0mm
- 736°0mm
- 835°0mm
- 935°0mm
- 1035°1mm
- 1135°1mm
- 1234°2mm
- 1332°0mm
- 1432°9mm
- 1533°7mm
- 1632°1mm
- 1734°0mm
- 1835°0mm
- 1935°0mm
- 2035°8mm
- 2133°9mm
- 2232°11mm
- 2331°9mm
- 2433°2mm
- 2531°2mm
- 2633°1mm
- 2734°1mm
- 2833°2mm
- 2934°0mm
- 3033°0mm
28 of 30 days in Jun 2026 qualify.
Those 30 days collapse into three numbers. That is the whole of what “a month” means on this site:
- Add them up
- 75.5 mm
- Total rainfall. This is the value the Rainfall fingerprint paints for Jun 2026.
- Average them
- 33.7°C
- Mean daily high — not the hottest day, the typical one.
- Count them
- 28 days
- Days over the threshold. A count, so one very hot day counts the same as any other.
Checked against the stored record: the grid below holds 75.5 mm and 33.7°C for Jun 2026. Those are the same three operations on the same days, so they match what is shown above exactly — verified for all 90 cities, not assumed. Multiply this by 12 months and 77 years and you have the fingerprint.
That month’s total — 75.5 mm — is one cell in Jakarta’s Rainfall fingerprint, the exact colour shown here. Every cell on every Climate Fingerprint on this site is this same chain, once per month, repeated 924 times per city.
Definitions
How we define things
- Hot day (local)
- A day hotter than 95% of days in this city's 1951–1980 record. The threshold is computed per city and then held fixed — a baseline that drifted upward with the warming it measures would report no change at all. This is what the Hot Days fingerprint shows.
- Hot spell / heatwave
- The longest run of consecutive days above a threshold in a single year; a day with no data breaks the run rather than extending it, and runs do not carry across the New Year. City pages use the local threshold. The rankings table keeps the absolute 35°C version, because ranking cities against thresholds that differ per city would compare events that are not the same event — the cost is that 25 of 90 cities read “never” there.
- Hot day (absolute)
- Daily maximum above 35°C. Kept for cross-city ranking, where a shared threshold is the point, but not used on city pages: 25 of the 90 loaded cities have never recorded a single one in 77 years, so it renders as an empty grid across a quarter of Indonesia. Warming in the tropics does not look like new record highs — it looks like the ordinary day moving.
- Heavy rain day
- Daily rainfall above 50mm — roughly the point at which urban drainage in Indonesian cities starts to be overwhelmed. Above 100mm counts as extreme rain, a common flood-risk proxy. Both are round numbers chosen for legibility, not derived from a local damage study.
- Dry day
- Daily rainfall below 1mm — effectively a day with no usable rain. 1mm rather than 0mm because trace amounts evaporate before reaching the ground or a crop.
- Wet season onset
- The first 5 consecutive days after August 1 with cumulative rainfall ≥ 40mm — a simplified BMKG-style definition.
- Wet season end
- The last such 5-day spell before August 1 of the following year. This mirrors the onset rule rather than deriving from BMKG, so it is the weaker of the two definitions — and season length inherits the uncertainty of both.
- Wet season length
- Onset paired with the end of the same season, which falls in the next calendar year — a season beginning in October ends the following April. Seasons missing either endpoint are omitted, never interpolated.
- Saturated onset
- The onset rule scans forward from August 1, so a city whose rain never really stops triggers it almost immediately nearly every year. Where that happens in more than half of years, the onset date reflects where the search starts rather than a seasonal turn: 12 of 90 cities behave this way, and for them we show no onset trend and no season length at all.
Overlay
ENSO
El Niño / La Niña annotations use the Oceanic Niño Index (ONI) from the NOAA Climate Prediction Center. El Niño tends to bring drier conditions to Indonesia; La Niña wetter. Toggle the overlay on any Climate Fingerprint to see the pattern against the rainfall grid.
Ranking
How “what moved most” is chosen
Each city page leads with the one signal that changed most there, because the four charts below it are the same size everywhere and that quietly implies the four matter equally in every city. They do not.
The rule, in full: fit an ordinary least-squares line to the annual series (the same fit drawn on every trend line on this site), express the slope as change per decade, then divide by that series’ own standard deviation. The result is standard deviations of movement per decade, which puts millimetres and days on one comparable scale. It is a normalisation, not a weighting — no signal is declared more important than another. A signal needs at least 30 years of data to rank, the incomplete current year is excluded, and when nothing clears 0.15 standard deviations per decade the page says so rather than promoting the largest number in a flat field.
Caveats
What this is not
Reanalysis is a model. It is not a thermometer reading from your street, and it can smooth over local effects — urban heat islands, narrow valleys, coastal microclimates. Read the trends, not any single cell. Where a region's data coverage drops below 90%, the page says so.
Every trend line here is a straight line fitted across the whole record, which assumes the rate of change has been constant. It very likely has not been. A straight fit cannot show a flat stretch followed by a steep one, so read these as “how much, overall” and not as “when it started”.
Citation
Cite the source
Hersbach, H., et al. (2020). The ERA5 global reanalysis. Quarterly Journal of the Royal Meteorological Society, 146(730), 1999–2049.