A Google Colab notebook that quantifies how much of the world's cropland is already exposed to elevated growing-season temperatures, and how that exposure has evolved across three decades. Analysis runs at three geographic scales — global, continental, and country level — for wheat, maize, and rice.
The notebook combines four open datasets to produce crop-specific, spatially explicit warming exposure metrics:
- GISTEMP v4 (NASA) — observed surface temperature anomalies since 1880
- CropGrids v1.08 — global harvested area at 0.05° resolution for wheat, maize, and rice
- GGCMI Phase 3 — crop-specific planting and maturity calendars at 0.5° resolution, used to gate warming stripe series to the relevant growing season
- Natural Earth 50m — country boundaries with UN M49 continent attribution, used to build country and continental masks
- Open
cropland_warming_final_1_.ipynbin Google Colab - Run Runtime → Run all
- Approve the Google Drive mount popup when it appears
- First run downloads ~850 MB of data to
My Drive/cropland_warming/data/and takes roughly 20–30 minutes - Subsequent runs skip all downloads and complete in ~10–15 minutes
All figures and CSV exports are saved to My Drive/cropland_warming/outputs/.
cropland_warming_final_1_.ipynb Main notebook — open in Google Colab
README.md This file
Key parameters are defined in cells 0.4 and 0.5 and can be changed without touching anything else:
| Parameter | Cell | Default | Description |
|---|---|---|---|
COUNTRY_FIGURES |
0.5 | ['China', 'India', 'United States of America', 'Brazil'] |
Countries for individual figures. Set to None for all ~200 countries |
CROP_HA_CUTOFF |
2.4 | 100.0 |
Minimum harvested area (ha) per 2° cell to be included in analysis |
EXCEEDANCE_THRESHOLD |
5.5 | 1.0 |
Warming threshold (°C) for the first-exceedance map |
SMOOTH_WINDOW |
5.5 | 5 |
Years of centred running mean used in first-exceedance map |
Country and continental masks are built by rasterising Natural Earth 50m polygons onto the GISTEMP 2° grid. Continental groupings follow UN M49 (Africa, Asia, Europe, North America, South America, Oceania). Individual country figures are produced for the countries listed in COUNTRY_FIGURES; set it to None to generate figures for all countries with cropland.
CropGrids harvested area fractions are coarsened from 0.05° to the GISTEMP 2° grid by block-mean averaging. Cells with less than CROP_HA_CUTOFF hectares of harvested area are excluded. All temperature series are weighted by harvested area × cos(latitude).
Spiral radius represents the crop-area-weighted monthly temperature anomaly relative to the 1951–1980 baseline. Each year forms one loop; colour encodes year from blue (early) to red (recent). No GGCMI seasonal gating is applied — all 12 months contribute. Three panels per figure: wheat, maize, rice.
Each stripe shows one year's crop-area-weighted growing-season temperature anomaly, gated to the GGCMI Phase 3 calendar for that crop. Winter wheat and spring wheat are kept as separate rows. Rice uses season 1 only (the dominant global harvesting season). Four rows per figure: winter wheat, spring wheat, maize, rice.
The 30-year mean anomaly (1995–2024 vs 1951–1980 baseline) is computed per grid cell and assigned to warming tiers (≥1°C, ≥1.5°C, ≥2°C, ≥3°C, ≥4°C). Decadal maps show the same tier scheme for 1995–2004, 2005–2014, and 2015–2024 separately. The first-exceedance map shows the earliest year a 5-year centred running mean crossed 1°C at each cropland cell.
OLS regression of continental crop-weighted annual anomaly against land-surface mean anomaly over 1960–2024. The slope β quantifies how much faster cropland in each continent warms relative to the land surface mean. The decadal scatter shows how this relationship has evolved across 1995–2004, 2005–2014, and 2015–2024.
| File | Description |
|---|---|
fig1_spirals_global.png |
Global climate spirals — wheat, maize, rice |
fig1_spirals_[continent].png |
Continental spirals — one file per continent |
fig1_spirals_[country].png |
Country spirals — one file per country in COUNTRY_FIGURES |
fig2_stripes_global.png |
Global warming stripes — winter wheat, spring wheat, maize, rice |
fig2_stripes_[continent].png |
Continental stripes — one file per continent |
fig2_stripes_[country].png |
Country stripes — one file per country in COUNTRY_FIGURES |
fig3_exposure_bars.png |
Exposed cropland area (Mha) by threshold and crop |
fig3b_exposure_map.png |
Decadal warming tier maps — three side-by-side panels |
fig3c_paris_maps.png |
Side-by-side Paris 1.5°C vs 2.0°C exposure maps |
fig3d_first_exceedance.png |
First year sustained 1°C exceedance per cropland cell |
fig4_amplification_bars.png |
Amplification factor β per continent and crop |
fig4b_amplification_scatter.png |
Continental vs land anomaly scatter by decade |
exposure_table.csv |
Exposed cropland area (Mha) per threshold and crop |
amplification_table.csv |
β and R² per continent and crop |
| Dataset | Citation |
|---|---|
| GISTEMPv4 | GISTEMP Team (2025). GISS Surface Temperature Analysis v4. NASA GISS. https://data.giss.nasa.gov/gistemp/ |
| GISTEMPv4 | Lenssen, N. et al. (2024). A GISTEMPv4 observational uncertainty ensemble. J. Geophys. Res. Atmos., 129, e2023JD040179 |
| CropGrids v1.08 | Tang, H. et al. (2024). CROPGRIDS: a global geo-referenced dataset of 173 crops. Scientific Data, 11, 413. doi:10.1038/s41597-024-03247-7 |
| GGCMI Phase 3 | Jägermeyr, J. et al. (2021). Climate impacts on global agriculture emerge earlier in new generation of climate and crop models. Nature Food, 2, 873–885. doi:10.5281/zenodo.5062513 |
| Natural Earth 50m | Made with Natural Earth. Free vector and raster map data @ naturalearthdata.com |
The notebook installs all dependencies automatically via pip in cell 0.1. The key libraries are xarray, cartopy, geopandas, netCDF4, scipy, and tqdm. No local installation is required beyond a Google account with Drive access.