Overview
The Cropland module monitors in-season crop conditions using the Water Requirement Satisfaction Index (WRSI), applied to cultivated agricultural land. It provides an early-warning indicator of potential yield deficits before harvest.
Seasons
The module covers 4 crop seasons for East Africa:
| Season | Period | FEWS NET Code |
|---|---|---|
| Season 1 — Long Rains (grains) | April – November | eastl |
| Season 2 — Short Rains | October – February | eastt |
| Season 3 — Belg (secondary rains) | March – September | eastk |
| Season 4 — Long Rains (maize) | March – November | easte |
Data Layers (per dekad, per season)
- Current WRSI — Accumulated WRSI value for the crop season to date.
- Forecast WRSI — Projected end-of-season WRSI (end-of-season outlook).
- Anomaly — Deviation of current WRSI from the long-term mean for the same dekad.
Data Model
| Model | Level | Key Fields |
|---|---|---|
| CroplandSeason | Configuration | title, season_start, season_end |
| RegionCropland | IGAD Region | dekad, start_date, end_date, season, file_current, file_forecast, file_anomaly |
| CountryCropland | Country | country, dekad, season, min, max, mean |
| AdminCropland | Admin Unit | admin, dekad, season, min, max, mean |
Unique constraint: ['dekad', 'season'] — one record per season per dekad at region level.
Interpreting Cropland WRSI
| WRSI Value | Crop Condition | Harvest Outlook |
|---|---|---|
| 80 – 100 | Good | Normal to above-normal harvest expected |
| 60 – 79 | Moderate | Near-normal harvest, some losses possible |
| 40 – 59 | Poor | Below-normal harvest likely |
| < 40 | Crop failure risk | Significant yield losses; food security implications |
Views Available
- Map (
/cropland/map) — Interactive map with season selector, dekad selector, and data type toggle (Current / Forecast / Anomaly). - Upload (
/cropland/upload/) — Upload three GeoTIFF files (Current, Forecast, Anomaly) for a selected season and dekad. The server clips, compresses, and calculates zonal statistics automatically.
Data Collection
python manage.py collect_cropland # Collect all 4 seasons
python manage.py collect_cropland --dry-run # Preview without saving
python manage.py collect_cropland --season 1 # Long rains (grains) only
python manage.py collect_cropland --season 2 # Short rains only
python manage.py collect_cropland --season 3 # Belg only
python manage.py collect_cropland --season 4 # Long rains (maize) only
python manage.py collect_cropland --dekad 202605 # Specific dekad
python manage.py collect_cropland --latest 3 # Last 3 dekads per season
The command downloads WRSI zip archives from USGS FEWS NET (separate URL directories per season), extracts three TIF files, clips to the IGAD boundary, and populates Country and Admin level statistics.
Interpretation Guidance
WRSI below 50 during critical growth phases (flowering or grain-filling, typically mid-season) is a strong indicator of significant yield reduction. Cross-reference with NDVI percentage-of-mean and rainfall anomaly to build a composite crop stress assessment.