Kenya 2026 Drought Analysis Recent NDVI and rainfall trends vs. historic context – All counties

An early-warning view of the 2026 drought across all 47 counties. It combines two satellite measures — how green the land is (vegetation health) and how much rain has fallen — each compared with the last ten years, to show how conditions compare. Recolour the map by any indicator, and click a county to see how its greenness and rainfall so far this year compare with the normal range and with 2025.

Counties Sub-counties

Cropland agreement mask

Where the 500 m PRUE multi-product cropland-agreement layer says cropland exists across Kenya, rendered at its full native ~9 m source resolution. Each pixel's value (0–8) counts how many of the underlying cropland products agree; toggle between a binary mask (agreement ≥ 5) and the full 1–8 agreement strength. Pan/zoom over Bing aerial imagery or OpenStreetMap; tiles are read directly from the source Cloud-Optimized GeoTIFF via HTTP range requests.

Ground observations

Field photographs collected by county teams provide an on-the-ground view of maize conditions alongside the satellite indicators above. Each point is a photograph with a usable geolocation; click a point to view the image, and use the map control to filter by county. Human-confirmed or corrected locations are shown together with observations whose extracted location passed review.

What’s changed since 26 June

Unit-by-unit movement from the late-June observation to the latest comparable data point. Negative NDVI means browning; negative rainfall means less rain; positive temperature means warming; negative ESI means increasing evaporative stress. ESI uses the nearest weekly observation to each canonical date.

NDVI follows the active cropland-mask setting. Rainfall, temperature and ESI are county-wide. The latest incomplete rainfall and temperature windows are excluded.

Cropland planting window — Sentinel-2 10 m

A separate, much higher-resolution view (and a different dataset) for the seven western / Rift-Valley counties — Bungoma, Kakamega, Busia, Trans Nzoia, Uasin Gishu, Vihiga, Elgeyo-Marakwet. The 2026 long-rains run is split into five consecutive 14-day windows (20 Jan–30 Mar); every 10 m cropland pixel is coloured by which window its Sentinel-2 NDVI is lowest — the bare-soil trough just before the crop greens up, a proxy for planting timing. (This is distinct from the VIIRS NDVI-over-time analysis above.)

95% press space to toggle on/off

How greenness is responding to the rainfall deficit

Each dot is a mapped administrative unit: its recent rainfall anomaly (mm vs the 10-yr normal, over a ~3-week window ending some days before) against its current NDVI anomaly. The upward tilt means areas that missed rain are now browner than normal — greenness follows the water with a lag of a couple of weeks. Choose the lag to see where the response is tightest; the fit is moderate (trees, irrigation and the arid north add scatter).

Methods & data

Product. GIMMS S-NPP VIIRS GVNP09H1 — NASA GSFC's GIMMS/GLAM 8-day NDVI at 500 m, derived from the VIIRS VNP09 surface-reflectance record, quality-screened and temporally gap-filled, and published as global Cloud-Optimized GeoTIFFs in EPSG:4326. Files are read anonymously (no login) straight from gimms.gsfc.nasa.gov; we range-read only the Kenya window of each global COG. Because it is an 8-day composite produced in near-real-time (within ~12 h of each window's close), it runs ~8 days more current than the 16-day VNP13A1 vegetation-index product.

QA & encoding. NDVI is an 8-bit value scaled by 0.004 over positive NDVI [0.0–1.0]; codes 251–255 (out-of-range, cloud, water, unfilled) are dropped. GIMMS applies the VIIRS quality screening and gap-filling. (Cross-check: county means track the standard VNP13A1 product at r ≈ 0.99.)

Aggregation. For each mapped administrative unit — county, or sub-county when the Sub-counties toggle is selected (geoBoundaries ADM1/ADM2) — and each 8-day period we average all valid 500 m NDVI pixels within it, giving a per-period unit mean (the seasonal cycle). Averaging those over a calendar year gives the annual mean; the map's overall mean is the average of the ten annual means (2016–2025) and the interannual σ is their standard deviation. The NDVI pixels selector switches this average between all pixels in the unit and cropland only — pixels where the 500 m PRUE crop-count is ≥ 5. In arid areas cropland (irrigated / riverine) is markedly greener than the surrounding rangeland; a few far-northern counties (Turkana, Garissa, Wajir) have no PRUE ≥ 5 cropland and are blank in that mode.

The cropland mask (PRUE). The PRUE layer is an ensemble of eight independent cropland / land-cover products, resolved to a common 10 m grid. Each product's cropland classes are rasterised to that grid, and the crop-count at a pixel is simply how many of the eight layers call it cropland (0–8). We keep a pixel as cropland where at least 5 of the 8 layers agree (crop-count ≥ 5) — a majority-vote that suppresses any single product's errors. The source layers:

DatasetResolutionCropland classesReference
ASAP Crop Mask v04500 mValue > 0 (fractional cover)Rembold et al. [2019]
ESA GlobCover 2009300 m11, 14, 20, 30Arino et al. [2012]
ESA CCI Land Cover 2020300 m10, 11, 12, 20, 30, 40Copernicus Climate Change Service (C3S) [2019]
Copernicus Global LC 100 m v3100 mClass 40Buchhorn et al. [2020]
GLAD Cropland 201930 mClass 1Potapov et al. [2022]
Esri 10 m LULC 202110 mClass 5Karra et al. [2021]
Digital Earth Africa 201910 mClass 1 (Africa only)Burton et al. [2022]
ESA WorldCereal 202110 mClass 100Van Tricht et al. [2023]

Seasonal cycle (unit detail). Composites sit on the fixed 8-day day-of-year grid, so periods align across years. The grey band is the per-period min–max across the ten baseline years and the dashed line is their mean; 2025 and the current 2026 (through the latest available composite) are drawn on top, so a year tracking the bottom of the envelope is anomalously dry.

NDVI anomaly (latest observation). Pick the NDVI anomaly metric to colour the map by how the most recent 2026 NDVI compares with the 10-year (2016–2025) normal for that same period. The score is normalized to the historical range so its endpoints land exactly on the extremes: 0 = the 10-yr mean, −1 = exactly the 10-yr minimum ever recorded for that period, and +1 = the 10-yr maximum (a departure below normal is divided by the mean-to-minimum gap, above normal by the mean-to-maximum gap — this handles skewed years correctly). So a value below −1 means 2026 is browner than anything seen in that seasonal window in the past decade (the point sits below the grey band), while a point inside the band always scores between −1 and +1 — red = below normal, green = above. The click panel also gives the latest NDVI value, the raw NDVI-point anomaly, the change versus 2025, and flags if the latest value is at a 10-yr low. It reflects current condition from the latest observation — no forecasting/extrapolation. (For where the recent trend is heading, the seasonal chart shows the 2026 curve against the 10-yr band; the combined index adds rainfall.)

Recent rainfall vs normal. The Rainfall anomaly map metric sums each unit's CHIRPS rainfall over the last month (up to four complete 8-day periods, ~32 days) of 2026 and compares it with the 10-year (2016–2025) normal for those same periods — the map colours the anomaly (brown = drier than normal, teal = wetter; neutral = normal), and the click panel reports it as a % of the normal (100% = normal). The detail-panel rainfall chart shows 2026 (green bars) against the 10-yr mean, its min–max envelope, and 2025, plus the CHIRPS-GEFS 15-day forecast (purple bars); a companion chart tracks cumulative season-to-date rainfall with the same forecast continuation. Because rainfall drives greenness, a rainfall deficit here typically precedes the NDVI decline above (e.g. Bungoma's mid-May rainfall collapse ahead of its falling NDVI).

Cropland planting window (Sentinel-2 10 m, 2026 — separate section). For the seven western / Rift-Valley counties, each 10 m cropland pixel is coloured by which of five fixed 14-day windows (20 Jan–30 Mar) its cloud-masked Sentinel-2 NDVI is lowest — the pre-greenup soil trough that tracks bare-soil / planting timing. Cropland is the high-resolution PRUE crop-count layer (~9 m, the full-resolution source of the 500 m product) thresholded at ≥ 5 and clipped to the county boundary; windows are fixed calendar fortnights so counties compare directly. Pixels whose true seasonal-minimum NDVI falls outside 20 Jan–30 Mar (checked against the full Jan–Jun series, not just these five windows) are put in a grey "excluded" class rather than forced into the nearest window — these are typically later-troughing perennials / double-cropped or forest-adjacent pixels (roughly a fifth to a third of cropland). Tiles are 10 m native (z14), overzoomed to z16.