Overview
Global Spatially-Disaggregated Crop Production Statistics Data for 2020 Version 2.0 Release 2, represented as a gridded crop production data cube. The record describes crop area, harvested area, production, and yield by crop and production technology at 5 arc-minute resolution.
Important note
Derived from available subnational statistics; local national or subnational data providers may hold more precise source statistics for some locations.
Quick start
import xarray as xr
url = "https://digital-atlas.s3.amazonaws.com/cdh/data/mapspam2020-v2r2/spam2020-v2r2.zarr"
ds = xr.open_zarr(url)
import rioxarray
url = "https://digital-atlas.s3.amazonaws.com/cdh/data/mapspam2020-v2r2/cog/spam2020-physical_area-all.tif"
da = rioxarray.open_rasterio(url, masked=True)library(stars)
url <- 'ZARR:"/vsicurl/https://digital-atlas.s3.amazonaws.com/cdh/data/mapspam2020-v2r2/spam2020-v2r2.zarr"'
ds <- read_mdim(url, proxy = TRUE)
library(terra)
url <- "/vsicurl/https://digital-atlas.s3.amazonaws.com/cdh/data/mapspam2020-v2r2/cog/spam2020-physical_area-all.tif"
r <- rast(url)Intended uses
- global and regional analysis of crop area, production, and yield patterns
- food security and agricultural systems assessment
- spatial targeting at national and sub-national scale
Not recommended for
Why: the grid is too coarse for field-scale operational decisions.
Use instead: local survey or administrative production data.
Commodities
Access & use
Files, endpoints, and worked examples for each distribution.
Data
Zarr representation of the source MAPSPAM files.
Format: Zarr — best for cloud-native analysis, reading just the slices you need from the full cube
Variables: physical_area, harvested_area, production, yield
Dimensions: cell × crop × technology
Access the data
https://digital-atlas.s3.amazonaws.com/cdh/data/mapspam2020-v2r2/spam2020-v2r2.zarr
Usage examples
import xarray as xr
url = "https://digital-atlas.s3.amazonaws.com/cdh/data/mapspam2020-v2r2/spam2020-v2r2.zarr"
ds = xr.open_zarr(url)
# Clip a window (East Africa) — subsets every variable in the store
window = ds.sel(x=slice(28, 52), y=slice(18, -12))
# ...or sample a single point
point = ds.sel(x=36.8, y=-1.3, method="nearest")Other access methods
Cloud Optimized GeoTIFFs, one per variable and technology, with one band per crop in the order of the crop dimension.
Format: Cloud-Optimized GeoTIFF — best for single-file downloads, visualisation, and traditional GIS tools
Variables: physical_area, harvested_area, production, yield
Dimensions: cell × crop × technology
List of files 12 filesDownload CSV
Individual file
https://digital-atlas.s3.amazonaws.com/cdh/data/mapspam2020-v2r2/cog/spam2020-physical_area-all.tif
Usage examples
import rioxarray
url = "https://digital-atlas.s3.amazonaws.com/cdh/data/mapspam2020-v2r2/cog/spam2020-physical_area-all.tif"
da = rioxarray.open_rasterio(url, masked=True)
# Clip a window (East Africa)
window = da.rio.clip_box(
minx=28, miny=-12, maxx=52, maxy=18
)
# ...or sample a single point
point = da.sel(x=36.8, y=-1.3, method="nearest")library(terra)
url <- "/vsicurl/https://digital-atlas.s3.amazonaws.com/cdh/data/mapspam2020-v2r2/cog/spam2020-physical_area-all.tif"
r <- rast(url)
# Clip a window (East Africa)
window <- crop(r, ext(28, 52, -12, 18))
# ...or sample a single point
point <- extract(r, cbind(36.8, -1.3))Other access methods
File pattern: spam2020-{variable}-{technology}.tif
Additional assets
Dimension code list for crop values.
Format: application/json
Data dictionary
What each file holds. A layout describes how the data is stored in a file: its variables, the dimensions they vary over, and any keys.
File layouts
In every file
Variables
| Variable | Type | Unit | Description |
|---|---|---|---|
| physical_area | float32 | ha | Physical crop area allocated to each grid cell. |
| harvested_area | float32 | ha | Harvested crop area allocated to each grid cell. |
| production | float32 | t | Crop production allocated to each grid cell. Absolute quantity; regional summaries should sum values across cells. |
| yield | float32 | kg ha-1 | Crop yield for each grid cell. Relative quantity; do not sum yield values across grid cells. Regional summaries should use a weighted mean with harvested_area as the weight.
|
Dimensions
5 arc-minutes (~10km at equator).
Grid spacing: 0.08333333 degree
MAPSPAM crop code.
wheaWheatriceRicemaizMaizebarlBarleymillSmall MilletpmilPearl MilletsorgSorghumocerOther CerealspotaPotatoswpoSweet PotatoyamsYamscassCassavaortsOther RootsbeanBeanchicChickpeacowpCowpeapigePigeon PealentLentilopulOther PulsessoybSoybeangrouGroundnutcnutCoconutoilpOilpalmsunfSunflowerrapeRapeseedsesaSesame SeedooilOther Oil CropssugcSugarcanesugbSugarbeetcottCottonofibOther Fibre CropscoffArabic CoffeercofRobusta CoffeecocoCocoateasTeatobaTobaccobanaBananaplntPlantaincitrCitrustrofOther Tropical FruittemfTemperate FruittomaTomatoonioOnionvegeOther VegetablesrubbRubberrestRest of Crops
Show all 46 valuesShow fewer
MAPSPAM production system; all is the sum of irrigated and rainfed.
allirrigatedrainfed
Technical metadata
The full spatial, temporal, and modeling detail behind the summaries elsewhere on this page.
Spatial
- CRS
- EPSG:4326
- Extent (W S E N)
- [-180, -90, 180, 90]
- Coverage
- World
- Grid spacing
- 5 arc-minutes (~9.3 km at the equator)
Temporal
- Reference date
- 2020
Provenance
Ordered processing steps, from source to publication.
- source2026-04-22
Original MAPSPAM 2020 v2 release.
- cloud-optimize2026-07-07
Conversion of source MAPSPAM files to a consolidated Zarr data cube.
How to cite
Please cite the dataset and any associated peer-reviewed publications.
International Food Policy Research Institute (IFPRI) (2026) Global Spatially-Disaggregated Crop Production Statistics Data for 2020 Version 2.0 Release 2. Version v2r2. Harvard Dataverse. https://doi.org/10.7910/DVN/SWPENT. Accessed through the CGIAR Climate Action Data Hub, https://cgiar-climate-data-hub.github.io/catalog/spam2020_v2r2/.
BibTeX
@misc{spam2020_2026,
title = {Global Spatially-Disaggregated Crop Production Statistics Data for 2020 Version 2.0 Release 2},
author = {{International Food Policy Research Institute (IFPRI)}},
year = {2026},
version = {v2r2},
publisher = {Harvard Dataverse},
doi = {10.7910/DVN/SWPENT},
note = {Accessed through the CGIAR Climate Action Data Hub, https://cgiar-climate-data-hub.github.io/catalog/spam2020_v2r2/}
}Contacts
Who produced this dataset, and who to reach about it.