How to read a CHIRPS rainfall anomaly map
Why the deficit looks small on the map but big on the ground
CHIRPS stands for Climate Hazards Group InfraRed Precipitation with Station data, and that name is the whole story. It's a rainfall estimate built from infrared satellite imagery, corrected with actual rain gauge readings where gauges exist. Most anomaly maps built on CHIRPS show a single number per pixel or per zone: this period's rainfall as a percent of what that same period normally delivers, based on a multi-decade average for that location.
That last part matters more than the color itself. A zone showing "70% of normal" during a dry-season dekad might mean almost nothing, because 70% of a near-zero baseline is still near zero. The same 70% reading during the peak of the growing season, against a baseline that usually delivers most of the year's moisture, is the number that should move a trigger. Read the anomaly in the context of where you are in the calendar, not as a standalone score.
The color ramp on most CHIRPS-derived maps runs from dark red or brown (well below normal, often under 60% of climatology) through yellow near 100%, up to dark blue or green for well above normal. Check the legend every time. Some products use a ratio to normal, others use a standardized anomaly in units of standard deviation, and the two scales don't line up the same way across different ranges of rainfall variability.
Rainfall estimate vs gauge data: why the blend matters
Raw satellite rainfall estimates, the kind built purely from cloud-top temperature, run cold and wet biases in different terrain. Mountain areas and coastal zones are notorious for this. A pure satellite product can overestimate rainfall over a ridge that's catching less moisture than the imagery suggests, because convective cloud tops look similar whether or not they're dropping rain where your zone sits.
Gauge data fixes the bias problem but has the opposite weakness. Ground stations are sparse across a lot of cropping and grazing country, and a single gauge tells you about rainfall at that one spot, which can run well ahead of or behind conditions a few kilometers off. CHIRPS runs a blend: satellite coverage everywhere, gauge correction wherever a station exists nearby, interpolated in between. That's why CHIRPS tends to hold up better than either raw satellite estimates or a thin gauge network alone across data-sparse regions. It's also why the anomaly in a zone with a dense gauge network should carry more confidence than the same anomaly in a zone running on satellite alone, even though the map shows you one color either way.
None of this means treat the number as gospel. It means know what's under the hood before you read a 65% anomaly as a hard trigger versus a flag worth a second look.
Reading it against the calendar, not in isolation
A single month's anomaly, pulled and plotted on its own, tells you less than the same number read next to last month's and the one before that. A cropping zone that's been tracking 85 to 90% of normal for two straight dekads and then drops to 60% is a different situation than a zone that's been bouncing between 60 and 140% all season, because the second one is just noisy, not trending.
This is what turns a rainfall anomaly map from a curiosity into something an anticipatory-action calendar can run on: the zone-level number tracked month over month against the seasonal norm, logged in the same place the trigger decision gets made. Food Security Warning pulls that comparison monthly for cropping and grazing zones and puts one number per zone next to the trigger, so reading the map isn't a separate step from running the calendar.
If your calendar still runs on a manual pull-and-plot each month, it might be worth seeing what a standing feed of that same comparison looks like.