Overview
SoilGrids 2.0 predicts eleven soil properties for the globe on a 250 m grid at six standard depth intervals from 0 to 200 cm: bulk density, cation exchange capacity, coarse fragments, clay, sand, silt, total nitrogen, pH in water, organic carbon content, organic carbon density, and organic carbon stock (0 to 30 cm only). Quantile regression forests are fitted on about 240,000 soil profiles from the WoSIS database and some 400 environmental covariates. Each property, depth and statistic is one map, with the mean, the median, the 5th and 95th percentiles of the prediction distribution, and a relative uncertainty layer. ISRIC serves every map as a GDAL virtual raster (VRT) that mosaics a folder of GeoTIFF tiles in place, so the maps open remotely with GDAL-based tools without downloading them.
Important note
The maps are in the Interrupted Goode Homolosine projection, not latitude and longitude, so reproject points or windows before sampling. Values are stored as int16 in scaled units with no scale factor in the files; divide by the factor given in each variable's note to get conventional units. The VRTs reference their tiles by relative path, so open them over HTTPS with GDAL's /vsicurl rather than downloading the .vrt alone, and read windows: a full global read touches thousands of tiles. Known gaps include New Zealand and parts of Siberia. The "latest" folder is a rolling release and ISRIC may replace maps in place. The WRB soil class maps in the same folder are aggregated from the 2017 predictions and in EPSG:4326, so they have their own record, soilgrids-wrb.
Quick start
import rioxarray
url = "https://files.isric.org/soilgrids/latest/data/landmask/landmask_SG_052020_COG512.tif"
da = rioxarray.open_rasterio(url, masked=True)library(terra)
url <- "/vsicurl/https://files.isric.org/soilgrids/latest/data/landmask/landmask_SG_052020_COG512.tif"
r <- rast(url)Intended uses
- soil inputs to crop, hydrological, and carbon models at national to global scale
- soil constraint and land suitability mapping
- baseline soil organic carbon stocks for sequestration and emissions accounting
Not recommended for
Why: values are 250 m model predictions with wide prediction intervals, not measurements.
Use instead: local soil surveys or soil tests.
Why: the maps are a single static prediction with no reference date.
Access & use
Files, endpoints, and worked examples for each distribution.
Data
GeoTIFF tiles, one folder per property, depth and statistic at {variable}/{variable}_{depth}_{stat}/ (about 5 GB per map, 128x128 blocks). Each property folder has a list_vrts.txt naming its maps and a checksum.sha256.txt.
Format: image/tiff
Variables: bdod, cec, cfvo, clay, nitrogen, ocd +4 more
Dimensions: cell × depth × stat
File indexes
GDAL VRThttps://files.isric.org/soilgrids/latest/data/{variable}/{variable}_{depth}_{stat}.vrt240 files
One VRT per map beside its tile folder, with a .vrt.ovr overview file
List of files 240 filesDownload CSV
Individual file
https://files.isric.org/soilgrids/latest/data/bdod/bdod_0-5cm_mean.vrt
Usage examples
import rioxarray
# The VRT opens as one raster; its tiles are read on demand
da = rioxarray.open_rasterio("https://files.isric.org/soilgrids/latest/data/bdod/bdod_0-5cm_mean.vrt", masked=True)library(terra)
# The VRT opens as one raster; its tiles are read on demand
r <- rast("/vsicurl/https://files.isric.org/soilgrids/latest/data/bdod/bdod_0-5cm_mean.vrt")# The VRT opens as one raster; its tiles are read on demand
gdalinfo /vsicurl/https://files.isric.org/soilgrids/latest/data/bdod/bdod_0-5cm_mean.vrtOther access methods
The tiles of the four ocs maps for 0-30cm, laid out like the other prediction maps.
Format: image/tiff
File indexes
GDAL VRThttps://files.isric.org/soilgrids/latest/data/{variable}/{variable}_{depth}_{stat}.vrt4 files
List of files 4 filesDownload CSV
Individual file
https://files.isric.org/soilgrids/latest/data/ocs/ocs_0-30cm_mean.vrt
Usage examples
import rioxarray
# The VRT opens as one raster; its tiles are read on demand
da = rioxarray.open_rasterio("https://files.isric.org/soilgrids/latest/data/ocs/ocs_0-30cm_mean.vrt", masked=True)library(terra)
# The VRT opens as one raster; its tiles are read on demand
r <- rast("/vsicurl/https://files.isric.org/soilgrids/latest/data/ocs/ocs_0-30cm_mean.vrt")# The VRT opens as one raster; its tiles are read on demand
gdalinfo /vsicurl/https://files.isric.org/soilgrids/latest/data/ocs/ocs_0-30cm_mean.vrtOther access methods
The tiles of one uncertainty map per property and depth, laid out like the prediction maps.
Format: image/tiff
File indexes
GDAL VRThttps://files.isric.org/soilgrids/latest/data/{variable}/{variable}_{depth}_uncertainty.vrt60 files
List of files 60 filesDownload CSV
Individual file
https://files.isric.org/soilgrids/latest/data/bdod/bdod_0-5cm_uncertainty.vrt
Usage examples
import rioxarray
# The VRT opens as one raster; its tiles are read on demand
da = rioxarray.open_rasterio("https://files.isric.org/soilgrids/latest/data/bdod/bdod_0-5cm_uncertainty.vrt", masked=True)library(terra)
# The VRT opens as one raster; its tiles are read on demand
r <- rast("/vsicurl/https://files.isric.org/soilgrids/latest/data/bdod/bdod_0-5cm_uncertainty.vrt")# The VRT opens as one raster; its tiles are read on demand
gdalinfo /vsicurl/https://files.isric.org/soilgrids/latest/data/bdod/bdod_0-5cm_uncertainty.vrtOther access methods
The tiles of the single ocs uncertainty map for 0-30cm.
Format: image/tiff
File indexes
GDAL VRThttps://files.isric.org/soilgrids/latest/data/{variable}/{variable}_{depth}_uncertainty.vrt1 files
List of files 1 filesDownload CSV
Individual file
https://files.isric.org/soilgrids/latest/data/ocs/ocs_0-30cm_uncertainty.vrt
Usage examples
import rioxarray
# The VRT opens as one raster; its tiles are read on demand
da = rioxarray.open_rasterio("https://files.isric.org/soilgrids/latest/data/ocs/ocs_0-30cm_uncertainty.vrt", masked=True)library(terra)
# The VRT opens as one raster; its tiles are read on demand
r <- rast("/vsicurl/https://files.isric.org/soilgrids/latest/data/ocs/ocs_0-30cm_uncertainty.vrt")# The VRT opens as one raster; its tiles are read on demand
gdalinfo /vsicurl/https://files.isric.org/soilgrids/latest/data/ocs/ocs_0-30cm_uncertainty.vrtOther access methods
Google Earth Engine images projects/soilgrids-isric/{property}_mean, curated by ISRIC. Mean maps only; one image per property with one band per depth, named like the files (soc_0-5cm_mean). Same scaled integer units as the VRTs, with nodata masked.
List of files 11 filesDownload CSV
Individual file
https://earthengine.googleapis.com/v1/projects/soilgrids-isric/assets/bdod_mean
Other access methods
File pattern: {variable}_mean
Single cloud-optimized GeoTIFF on a slightly larger grid than the property maps.
Format: Cloud-Optimized GeoTIFF — best for single-file downloads, visualisation, and traditional GIS tools
Access the dataOpen
https://files.isric.org/soilgrids/latest/data/landmask/landmask_SG_052020_COG512.tif
Usage examples
import rioxarray
url = "https://files.isric.org/soilgrids/latest/data/landmask/landmask_SG_052020_COG512.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://files.isric.org/soilgrids/latest/data/landmask/landmask_SG_052020_COG512.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))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
| Files | Format | Variables | Dimensions | No data |
|---|---|---|---|---|
| predictions | image/tiff | bdod, cec, cfvo, clay +6 more | cell × depth × stat | -32768 |
| ocs-predictions | image/tiff | ocs | cell × depth × stat | -32768 |
| uncertainty | image/tiff | bdod, cec, cfvo, clay +6 more | cell × depth | -32768 |
| ocs-uncertainty | image/tiff | ocs | cell × depth | -32768 |
| gee-mean | bdod, cec, cfvo, clay +6 more | cell × depth | -32768 | |
| gee-mean | ocs | cell × depth | -32768 | |
| landmask | Cloud-Optimized GeoTIFF | landmask | cell | -32768 |
In every file
Dimensions
250 m cells in the Interrupted Goode Homolosine projection.
Grid spacing: 250 m
Only in predictions
Variables
| Variable | Type | Unit | Description |
|---|---|---|---|
| bdod | int16 | cg cm-3 | Bulk density of the fine earth fraction. Divide by 100 for kg/dm3. |
| cec | int16 | mmol kg-1 | Cation exchange capacity of the soil at pH 7. Charge-equivalent mmol(c)/kg; divide by 10 for cmol(c)/kg. |
| cfvo | int16 | cm3 dm-3 | Volumetric fraction of coarse fragments larger than 2 mm. Divide by 10 for volume percent. |
| clay | int16 | g kg-1 | Proportion of clay particles smaller than 0.002 mm in the fine earth fraction. Divide by 10 for mass percent. Clay, silt and sand are compositional and sum to 100%. |
| nitrogen | int16 | cg kg-1 | Total nitrogen. Divide by 100 for g/kg. |
| ocd | int16 | hg m-3 | Organic carbon density. Divide by 10 for kg/m3. |
| phh2o | int16 | 1 | Soil pH in water, stored as pH times 10. Divide by 10 for pH units. |
| sand | int16 | g kg-1 | Proportion of sand particles larger than 0.05 mm in the fine earth fraction. Divide by 10 for mass percent. Clay, silt and sand are compositional and sum to 100%. |
| silt | int16 | g kg-1 | Proportion of silt particles between 0.002 and 0.05 mm in the fine earth fraction. Divide by 10 for mass percent. Clay, silt and sand are compositional and sum to 100%. |
| soc | int16 | dg kg-1 | Soil organic carbon content in the fine earth fraction. Divide by 10 for g/kg. |
Dimensions
Standard depth interval below the surface, top to bottom, the {depth} token of the file names.
Type: string
Unit: cm
0-5cm5-15cm15-30cm30-60cm60-100cm100-200cm
Statistic of the per-cell prediction distribution, the {stat} token of the file names.
Type: string
meanMean (expected value; above the median for right-skewed properties)Q0.055th percentile (lower bound of the 90% prediction interval)Q0.5MedianQ0.9595th percentile (upper bound of the 90% prediction interval)
Only in ocs-predictions
Variables
| Variable | Type | Unit | Description |
|---|---|---|---|
| ocs | int16 | t ha-1 | Organic carbon stock in the 0-30 cm topsoil. Divide by 10 for kg/m2. Computed from point observations, not from the ocd maps, so the two do not match exactly.
|
Dimensions
Topsoil interval, the {depth} token of the file names.
Type: string
Unit: cm
0-30cm
Statistic of the per-cell prediction distribution, the {stat} token of the file names.
Type: string
meanMean (expected value; above the median for right-skewed properties)Q0.055th percentile (lower bound of the 90% prediction interval)Q0.5MedianQ0.9595th percentile (upper bound of the 90% prediction interval)
Only in uncertainty
Variables
| Variable | Type | Unit | Description |
|---|---|---|---|
| bdod | int16 | 1 | Relative prediction uncertainty of bdod. Width of the 90% prediction interval relative to the median, (Q0.95 - Q0.05) / Q0.5, times 10. Divide by 10 for the ratio. |
| cec | int16 | 1 | Relative prediction uncertainty of cec. Width of the 90% prediction interval relative to the median, (Q0.95 - Q0.05) / Q0.5, times 10. Divide by 10 for the ratio. |
| cfvo | int16 | 1 | Relative prediction uncertainty of cfvo. Width of the 90% prediction interval relative to the median, (Q0.95 - Q0.05) / Q0.5, times 10. Divide by 10 for the ratio. |
| clay | int16 | 1 | Relative prediction uncertainty of clay. Width of the 90% prediction interval relative to the median, (Q0.95 - Q0.05) / Q0.5, times 10. Divide by 10 for the ratio. |
| nitrogen | int16 | 1 | Relative prediction uncertainty of nitrogen. Width of the 90% prediction interval relative to the median, (Q0.95 - Q0.05) / Q0.5, times 10. Divide by 10 for the ratio. |
| ocd | int16 | 1 | Relative prediction uncertainty of ocd. Width of the 90% prediction interval relative to the median, (Q0.95 - Q0.05) / Q0.5, times 10. Divide by 10 for the ratio. |
| phh2o | int16 | 1 | Relative prediction uncertainty of phh2o. Width of the 90% prediction interval relative to the median, (Q0.95 - Q0.05) / Q0.5, times 10. Divide by 10 for the ratio. |
| sand | int16 | 1 | Relative prediction uncertainty of sand. Width of the 90% prediction interval relative to the median, (Q0.95 - Q0.05) / Q0.5, times 10. Divide by 10 for the ratio. |
| silt | int16 | 1 | Relative prediction uncertainty of silt. Width of the 90% prediction interval relative to the median, (Q0.95 - Q0.05) / Q0.5, times 10. Divide by 10 for the ratio. |
| soc | int16 | 1 | Relative prediction uncertainty of soc. Width of the 90% prediction interval relative to the median, (Q0.95 - Q0.05) / Q0.5, times 10. Divide by 10 for the ratio. |
Dimensions
Standard depth interval below the surface, top to bottom, the {depth} token of the file names.
Type: string
Unit: cm
0-5cm5-15cm15-30cm30-60cm60-100cm100-200cm
Only in ocs-uncertainty
Variables
| Variable | Type | Unit | Description |
|---|---|---|---|
| ocs | int16 | 1 | Relative prediction uncertainty of ocs. Width of the 90% prediction interval relative to the median, (Q0.95 - Q0.05) / Q0.5, times 10. Divide by 10 for the ratio. |
Dimensions
Topsoil interval, the {depth} token of the file names.
Type: string
Unit: cm
0-30cm
Only in gee-mean
Variables
| Variable | Type | Unit | Description |
|---|---|---|---|
| bdod | int16 | cg cm-3 | Bulk density of the fine earth fraction. Divide by 100 for kg/dm3. |
| cec | int16 | mmol kg-1 | Cation exchange capacity of the soil at pH 7. Charge-equivalent mmol(c)/kg; divide by 10 for cmol(c)/kg. |
| cfvo | int16 | cm3 dm-3 | Volumetric fraction of coarse fragments larger than 2 mm. Divide by 10 for volume percent. |
| clay | int16 | g kg-1 | Proportion of clay particles smaller than 0.002 mm in the fine earth fraction. Divide by 10 for mass percent. Clay, silt and sand are compositional and sum to 100%. |
| nitrogen | int16 | cg kg-1 | Total nitrogen. Divide by 100 for g/kg. |
| ocd | int16 | hg m-3 | Organic carbon density. Divide by 10 for kg/m3. |
| phh2o | int16 | 1 | Soil pH in water, stored as pH times 10. Divide by 10 for pH units. |
| sand | int16 | g kg-1 | Proportion of sand particles larger than 0.05 mm in the fine earth fraction. Divide by 10 for mass percent. Clay, silt and sand are compositional and sum to 100%. |
| silt | int16 | g kg-1 | Proportion of silt particles between 0.002 and 0.05 mm in the fine earth fraction. Divide by 10 for mass percent. Clay, silt and sand are compositional and sum to 100%. |
| soc | int16 | dg kg-1 | Soil organic carbon content in the fine earth fraction. Divide by 10 for g/kg. |
Dimensions
Standard depth interval below the surface, top to bottom, the {depth} token of the file names.
Type: string
Unit: cm
0-5cm5-15cm15-30cm30-60cm60-100cm100-200cm
Only in gee-mean
Variables
| Variable | Type | Unit | Description |
|---|---|---|---|
| ocs | int16 | t ha-1 | Organic carbon stock in the 0-30 cm topsoil. Divide by 10 for kg/m2. Computed from point observations, not from the ocd maps, so the two do not match exactly.
|
Dimensions
Topsoil interval, the {depth} token of the file names.
Type: string
Unit: cm
0-30cm
Only in landmask
Variables
| Variable | Type | Description |
|---|---|---|
| landmask | int16 | Soil mask of the prediction domain, derived from the ESA CCI land cover map. Cells inside the domain hold their ESA CCI land cover class code; cells outside it are nodata.
ISRIC does not document this file; class codes follow the ESA CCI Land Cover legend. |
Technical metadata
The full spatial, temporal, and modeling detail behind the summaries elsewhere on this page.
Spatial
- CRS
- ESRI:54052
- Extent (W S E N)
- [-180, -56, 180, 83]
- Coverage
- World
- Grid spacing
- 250 m
Temporal
- Reference date
- 2020
Provenance
Ordered processing steps, from source to publication.
- source2020-05-11
Quantile regression forests (ranger, 200 trees) fitted per property on WoSIS soil profile observations and global environmental covariates (climate, terrain, vegetation, land cover), predicted at the six standard depths and tiled by ISRIC (Poggio et al. 2021; outputs version RUN18, code v2.0.0). Aggregated 1 km and 5 km mean maps are also published but not listed here.
How to cite
Please cite the dataset and any associated peer-reviewed publications.
L. Poggio, L. M. de Sousa, N. H. Batjes, G. B. M. Heuvelink, B. Kempen, E. Ribeiro, D. Rossiter (2021) SoilGrids 2.0: producing soil information for the globe with quantified spatial uncertainty. Version 2.0. SOIL. https://doi.org/10.5194/soil-7-217-2021. Accessed through the CGIAR Climate Action Data Hub, https://cgiar-climate-data-hub.github.io/catalog/soilgrids_2.0/.
BibTeX
@misc{soilgrids_2021,
title = {SoilGrids 2.0: producing soil information for the globe with quantified spatial uncertainty},
author = {Poggio, L. and de Sousa, L. M. and Batjes, N. H. and Heuvelink, G. B. M. and Kempen, B. and Ribeiro, E. and Rossiter, D.},
year = {2021},
version = {2.0},
publisher = {SOIL},
url = {https://doi.org/10.5194/soil-7-217-2021},
note = {Accessed through the CGIAR Climate Action Data Hub, https://cgiar-climate-data-hub.github.io/catalog/soilgrids_2.0/}
}Contacts
Who produced this dataset, and who to reach about it.