Every field has a season
Click a field. This page takes its outline and crop from the Fields of the World harmonized field data, finds every Sentinel-2 image of that year in which the field is clear, and measures how green it is. Next to it: the rain and warmth of that year, against a normal one. Winter wheat greens up in March and is cut in July, maize waits until June, grass dips at every cut.
Zoom in to pick a field
NDVI, median of the field probably haze or a missed cloud normal, 1991–2020
Examples
Fields from the map, each through one year. The curves are measured from the same images the map reads; click one to see it there.
About the data
- Fields
- The newest edition of each collection in the Fields of the World harmonized field data, read from its single PMTiles archive. The crop belongs to the year of that edition, which the year menu starts with; in other years the field may have grown something else, or had another outline. Collections of field blocks, which repeat the fields of the same country without crops, are left out.
- Images
- Sentinel-2 level 2A from Microsoft's Planetary Computer, read while you watch: one image every two to five days, 10 m cells. An image counts when its scene classification calls at least 80 % of the field clear; one is read every four days at most, the clearest first. NDVI, (near infrared − red) / (near infrared + red), is close to 0 on bare soil and near 0.9 on a dense green crop; the curve shows the median of the field's cells.
- Weather
- Daily mean temperature and rain from the Open-Meteo historical weather API (ERA5 reanalysis, cells of about 10–25 km), summed from the start of the season: 1 January, or 1 July south of the equator. Degree days add up each day's mean temperature above 5 °C, a common measure of the warmth crops grow on. The normal is the average of 1991–2020 at the same place.
- Caveats
- Thin cloud, haze and shadows are not always caught by the scene classification; a lone low point between two high ones is marked as probably one of those. The weather is that of a grid cell, not of the field.
- Built with
- OpenLayers, ol-pmtiles and geotiff.js; everything is computed in your browser. Code on GitHub.