(runs ≥ 2 consecutive wet days)
(days/year)
(annual max mm)
timing shift
The prior finding here — that Saladita's rainy season looks essentially unchanged in annual totals — stands. But totals are a blunt instrument. A place could receive identical annual rainfall while becoming structurally drier in the dry months and more intense in the wet ones. That reorganization would matter for plants, the estuary, and anyone waiting for rain to stop or start.
This analysis runs five structural tests on ERA5 daily precipitation 1979–2025. The question is whether the shape of the rainy year has changed, not just the total. One test returns a clear signal. Four do not.
Wet events are grouping more tightly.
We counted the number of independent wet runs per year — sequences of two or more consecutive days with at least 1 mm of rain. A higher count means rain is arriving in tighter, more distinct bursts rather than scattered single days.
+1.0 additional wet run per decade (p=0.009, R²=0.14). Mean: ~19 wet runs per year.
This is the one structural signal that clears the significance threshold convincingly. The trend has held across the full 47-year record. It is modest in absolute terms — roughly one additional burst of wet days every decade — but it is real by the standards of this dataset. Rain is not falling more often; it is falling more often in clumps.
The R² of 0.14 means that calendar year explains about 14% of the variance in wet-run count — the rest is ENSO, storm-track variability, and noise. This is modest but coherent. The Bonferroni-corrected threshold for 5 tests at α=0.05 is p<0.01; this finding just clears it (p=0.009). Treat as indicative, not definitive.
Four of five tests find no significant change.
Each metric computed per year, linear regression against year. Slopes expressed per decade.
+10 mm/decade annual maximum, p=0.15. The most interesting null.
The slope is in the direction you'd expect from a more clustered regime — if rain concentrates into fewer, harder bursts, daily extremes should rise. At p=0.15 this doesn't cross significance, but it is directionally consistent with the clustering signal. Worth tracking as this record extends.
The monsoon arrives and leaves on the same schedule.
Onset defined as the first day after April 1 where the 7-day trailing average exceeds 5 mm/day; end as the last such day before November 1. Both regressions are flat.
Mean onset around June 9, mean end around October 24. Neither is shifting.
The envelope of the rainy season is holding steady. What is changing is what happens inside it: rain arrives in more discrete concentrated events, even as the season itself opens and closes on roughly the same calendar.
ERA5 is a ~31 km grid cell, not a rain gauge. Daily precipitation in ERA5 represents a spatial average over the grid box and is derived from model reanalysis assimilating observations, not from a local instrument. Point-scale rainfall events (tropical downpours, orographic enhancement) are smoothed. Absolute daily values are less reliable than the long-term trends.
Temporal autocorrelation reduces effective sample size. Annual metrics derived from daily data are weakly serially correlated. The effective n is probably 30–40 rather than 47. The single significant result (wet-run clustering, p=0.009) is robust to this correction; a result at p=0.05 would not be.
Multiple comparison: 5 tests at α=0.05. The naive Bonferroni threshold is p<0.01. The clustering result (p=0.009) just clears it. The single-day extreme trend (p=0.15) does not, and should not be treated as a positive finding.
ENSO dominates year-to-year variance. El Niño years tend toward suppressed Guerrero monsoon; La Niña years toward wetter conditions. The long-term trends reported here are estimated over the full ENSO cycle. ENSO-conditional analysis was not run for this piece; the clustering signal survives the pooled regression but has not been tested separately within ENSO phases.
The null results are informative. Dry spells are not getting longer. Wet spells are not getting longer. The monsoon is not arriving earlier or later. The absence of trends in four of five tests is a real finding, not a failure of the analysis.
The annual total is unchanged. The structure is not. Rain is arriving in tighter, more discrete bursts — one more cluster of wet days per decade, same seasonal envelope, same dry spell. The rain doesn't know it's changing. But it is.Synthesis · June 2026
Sources and method
Data: ERA5 daily precipitation sum at 17.5897°N, 101.4317°W via Open-Meteo archive API (archive-api.open-meteo.com/v1/archive?daily=precipitation_sum), 1979–2025 (47 years, 17,167 daily values). Re-fetch annually.
Metrics per year:
- Max dry-spell: longest run of consecutive days < 1 mm.
- Max wet-spell: longest run of consecutive days ≥ 1 mm.
- Wet-run count: number of independent runs of ≥ 2 consecutive wet days (≥ 1 mm/day).
- Annual max 1-day: maximum single-day total.
- Deficit days: days where 30-day trailing mean < 20% of long-term DOY climatology mean.
- Monsoon onset: first DOY after April 1 where 7-day trailing mean > 5 mm/day.
- Monsoon end: last DOY before November 1 where 7-day trailing mean > 5 mm/day.
Regression: scipy.stats.linregress (OLS) applied to each annual metric vs calendar year. p-values approximate — autocorrelation reduces effective n. Bonferroni threshold for 5 simultaneous tests: p<0.01. Scripts: scripts/analyze_rainfall_regime.py → functions/api/_findings_rainfall_regime.js.
Analysis run: June 2026