GPM IMERG Final V07 · 1998 to 2025

hujan‑badai

Every storm over Indonesia for 28 years, as an object with a birth, a track, a life and a death. Not rainy pixels: 13.4 million individual storms, each with a volume, a duration, a peak intensity and a path.

The approach follows the spatiotemporal object-based rainfall analysis of Laverde‑Barajas et al. (2019, 2020), who treated a storm as one contiguous object in space and time rather than as a field, and built a catalogue of monsoon rainstorms for the Lower Mekong on that basis. This work applies the same idea to a domain about fourteen times larger and a record about five times longer, which required a different way of cutting the rainfall field into objects. Section 1 is that difference.

What counts as one storm

Worth fixing before any number below means anything, because roughly 480,000 storms a year is a statement about this definition as much as about the weather.

  1. Wet. A grid cell at one half‑hourly step counts as raining when IMERG reports at least 1.0 mm/hr. The data is an intensity, so over a 30‑minute step that is 0.5 mm of depth. Cells at 0.1 degrees, about 11 km.
  2. Connected. Wet cells touching each other in latitude, longitude or time belong to the same object: 26‑neighbour connectivity in a three‑dimensional cube. This is what gives a storm a duration and a track rather than a series of unrelated snapshots.
  3. Split. Connectivity alone is not enough here, because rain over the maritime continent is close to continuous and everything joins into one object. Each local intensity maximum starts its own storm, and it survives as a separate storm only if its peak stands at least h = 4.0 mm/hr above the lowest saddle joining it to a bigger peak. That prominence is the single scale parameter. Section 11 is its sensitivity.
  4. Big enough. An object must span at least 6 cell‑timesteps to be kept, which removes single‑pixel speckle.

So a storm here is a convective system of a few hours, not a monsoon surge lasting days: the median lasts about 4 hours. Longer‑lived weather appears in section 12 as a family of linked storms. Change h and the count changes a great deal; the total rainfall barely moves at all.

1. Why the objects are cut differently here

Connected-component labelling, the step that turns a rainfall field into objects in the source method, is well matched to a catchment. The Lower Mekong work applied it over about 150,000 km² for a monsoon season and produced a clean population of around 1,700 storms.

Indonesia is a different regime. Convection here is close to continuous across 5,200 km of ocean and islands, so at the same 1 mm/h threshold the wet cells form one connected mass: a single object holds 90% of all wet voxels across the whole domain and the whole window. That object is not a storm, it is the intertropical convergence zone. Sub-dividing the domain does not help; at 5x5 degrees the largest object still holds 70%.

This is a property of the domain, not a defect in the published work. It does mean the object-cutting step had to be replaced before anything downstream could be trusted, and the rest of this section is what replaced it.

2. The flood night over the whole country

31 December 2019 to 1 January 2020, across the full area of interest. Every storm alive in those two days, drawn as the track of its volume‑weighted centre. Section 3 zooms into the same two days over Jakarta, under the same rule, so the two maps can be compared directly.

Colour by

How each of these is measured

3. Jakarta, 31 December 2019 to 1 January 2020

The New Year flood that put much of the capital under water and killed at least 60 people. Every storm whose track starts or ends over Jakarta, Banten or West Java during those two days. Click any track to see what that storm was doing hour by hour.

Colour by

Life cycle of one storm

No storm selected. Click a track on the map above, and its half‑hourly history appears here: how much rain it was delivering, how large it was, and how hard it was raining at its core.

Storms per 3 hours

Storm starts, binned. Times are UTC; local is UTC+7.

Volume against peak intensity

4. What the storm objects do not capture

A flood answers to accumulated depth over a catchment, and no single storm object represents that. The panel below reads the IMERG grid directly rather than the catalogue, and widens to 30 December to 2 January: a catchment responds to the build-up as well as to the peak, and section 12 shows that the window length changes the answer more than almost anything else.

Rain over Jakarta, hour by hour

Total over the four days

Where these storms sit in 28 years

5. The seasonal cycle

Share of the year's rainfall falling in each calendar month, over the full record. The band is the 10th to 90th percentile across individual years, which is wide: a single year cannot rank the months.

6. Year to year

Rainfall volume

Storm count

7. The domain average hides the strongest signal

Three regions, derived from the catalogue's own seasonality rather than drawn by hand. Each line is a region's rainfall shape through the year.

8. The day and night cycle, which nobody asked the method to find

Where storms are born, by hour. Land and sea separate cleanly and in opposite phase. This was never a target of the method, which makes it the strongest available evidence that the objects are physically real rather than artefacts of the segmentation.

9. A few storms carry most of the rain

10. Warning time comes from coastal geometry, not climate

A storm that forms at sea and then makes landfall has spent time over water where it could in principle have been watched. How much time depends on how far offshore storms form, which is a property of the coast, not of the climate region.

Offshore distance against lead time

Hours at sea before landfall

Bigger storms give more warning

11. The one parameter, and its honest sensitivity

Segmentation takes a single scale parameter: the intensity prominence h, in mm/hr, that a peak must clear to count as its own storm. There is no optimum. h chooses the size of weather system counted, so it has to be quoted with every number taken from the catalogue.

Storm count against h

Rain captured against h

12. Severity: ranking cells, and ranking events

Section 4 ended on a problem. A severity class built from individual convective cells said nothing useful about a flood, because a cell is not the thing a flood responds to. This section has both scales, so the difference is visible.

Per storm: one convective cell

Per family: one linked event

What does work: rank the rainfall, not the object

Neither object layer identifies this flood, so the object is the wrong thing to rank. A flood responds to how much rain fell over a catchment in a window, which is a quantity no single object carries. Ranked that way, against the annual maximum for the same area and window length in each of the 27 complete years:

The answer depends on the area and the window

Choosing the band rates by measurement

The largest events in the record

Storm families by age

What this is not