q08·beginner
How much rainfall has my region had this year compared to the 30-year normal?
hydrologyprecipitationclimate-anomaly Datasets: 4 5–15 min
▶ Find the data for your area
Draw a rectangle to pick your area of interest, then see what NASA data covers it (live, here in your browser) or download a ready-to-run notebook with your AOI pre-filled. The notebook runs in any Python environment — it needs a free Earthdata Login to fetch the data.
Current AOI:
74, 18 → 78, 21 (Maharashtra agricultural belt)How much rainfall has my region had this year vs the 30-year normal?
What you can answer
- Year-to-date precipitation total for any AOI
- Comparison to 20-year IMERG climatology (2000-2024 baseline)
- Drought / wet anomaly index as % of normal
- Spatial pattern of the anomaly (which sub-regions are driest/wettest)
- Seasonal disaggregation (monsoon-vs-non-monsoon, wet-vs-dry season)
What you can NOT answer with these alone
- 30+ year climate-normal trends — IMERG starts 2000; older satellite era is TRMM (1997-2015, tropics only) or model reanalysis (MERRA-2 1980+).
- Snowfall water equivalent without ground stations or SnowEx data.
- Hourly extreme events outside the IMERG half-hourly grid.
Code template
import earthaccess
import xarray as xr
import numpy as np
earthaccess.login(strategy="netrc")
# AOI: Maharashtra agricultural belt
aoi = (74, 18, 78, 21)
this_year = 2025
clim_window = ("2000-06-01", "2020-12-31") # 20-yr climatology
# 1. Current year IMERG daily
current = earthaccess.search_data(short_name="GPM_3IMERGDF",
bounding_box=aoi,
temporal=(f"{this_year}-01-01",
f"{this_year}-12-31"))
# Open as xarray, sum precipitation_cal over time → year total per pixel
# 2. Climatology (2000-2020 baseline, mean annual rainfall per pixel)
clim = earthaccess.search_data(short_name="GPM_3IMERGM",
bounding_box=aoi, temporal=clim_window)
# Group by month, average across years → 12-month climatology
# 3. Anomaly = (current_year_total - climatology_mean) / climatology_mean × 100
# 4. Plot: anomaly heatmap + spatial mean line + monthly bars
Expected output
- Annual-total map: this year’s mm/yr per pixel
- Anomaly map: % of normal per pixel (red < 80%, green 80-120%, blue > 120%)
- Time-series: cumulative current-year rainfall vs climatology (with shading for normal range)
- Monsoon-season-specific bars: this year’s June-Sept total vs 20-year mean Jun-Sept
Caveats
- IMERG Final has 3.5-month latency — use Late (~12-hr) or Early (~4-hr) for NRT comparisons (with accuracy tradeoff)
- V07 is current; V06 deprecated. Reprocess any cached pre-2023 data
- Orographic underestimation: mountainous regions (Himalayas, Western Ghats) show systematic IMERG under-bias vs gauges
- 30-year normal isn’t actually 30 years for IMERG — only ~25 years available (2000+). For the WMO 30-yr normal use MERRA-2 or CHIRPS or gauge-based products
Cross-DAAC composition
GES DISC only — single DAAC, single auth.
Sources
- GPM IMERG: https://gpm.nasa.gov/data/imerg
- IMERG V07 user guide: https://gpm.nasa.gov/sites/default/files/2023-07/IMERG_V07_ReleaseNotes_230713-signed.pdf
Datasets used
📚 Problem Finder KB
2 matching entries in the Knowledge Base:
§14 Glossary
GPM
Global Precipitation Measurement (NASA mission)
IMERG
Integrated Multi-satellitE Retrievals for GPM