Videos from our #SoilHealthNow conference at WICC, #Wageningen are now available for watching (almost 12hrs of videos). Read more about what are the key takeaways and what to expect in 2026 in this report: https://opengeohub.medium.com/how-earth-observation-spectroscopy-and-ai-are-changing-soil-use-forever-and-how-can-we-turn-soil-e0d04c110683
Looking for soil data for the EU? Check our https://EcoDataCube.eu to access the soil health data cube at 30m resolution and covering period 2000-2022+.
Videos are at: https://www.youtube.com/playlist?list=PLXUoTpMa_9s2JkR0EDIucxo2GT8Itdmyj
Funded by @REA #AI4SoilHealth project
How Earth Observation, Spectroscopy, and AI are changing soil use forever and how can we turn soil health research into thriving businesses? Key takeaways from the Soil Health Now! conference 2025

Prepared by: Tom Hengl (OpenGeoHub), Koen van Seijen (RegenEarth), Naeem Lakhani (The First Thirty), and Ichsani Wheeler (OpenGeoHub) Soil Health Now! was held at the Wageningen International…

Medium
I made long-term estimates of soil moisture at 1km for EU (quarterly 2014-2024) based on 3728 daily rasters from Copernicus Land Monitoring Service (Surface Soil Moisture 2014-present Europe, daily – version 1). I tried also producing monthly/bimonthly aggregates, but these have too many artifacts. It is still not ARD data because there are still gaps and issues, but if you test it and give me some feedback we can look how to improve this data together: https://doi.org/10.5281/zenodo.14833052
#AI4SoilHealth
Surface soil moisture for Europe 2014-2024 at 1 km annual and quarterly aggregates

Copernicus Land Monitoring Services provides Surface Soil Moisture 2014-present (raster 1 km), Europe, daily – version 1. Each day covers only 5 to 10% of European land mask and shows lines of scenes (obvious artifacts). This is the long-term aggregates of daily images of soil moisture (0–100%) based on two types of aggregation: Long-term quarterly (winter, spring, summer and autumn), Annual quantiles P.05, P.50 and P.95, The soil moisture rasters are based on Sentinel 1 and described in detail in:  Bauer-Marschallinger, B. ; Freeman, V. ; Cao, S. ; Paulik, C. ; Schaufler, S. ; Stachl, T. ; Modanesi, S. ; Massari, C. ; Ciabatta, L. ; Brocca, L. ; Wagner, W. Toward Global Soil Moisture Monitoring With Sentinel-1: Harnessing Assets and Overcoming Obstacles. IEEE Transactions on Geoscience and Remote Sensing 2019, 1 - 20. DOI 10.1109/TGRS.2018.2858004 Aggregation has been generated using the terra package in R in combination with the matrixStats::rowQuantiles function. library(terra) library(matrixStats) g1 = terra::vect("/mnt/inca/EU_landmask/tilling_filter/eu_ard2_final_status.gpkg") ## 1254 tiles tile = g1[534] nc.lst = list.files('/mnt/landmark/SM1km/ssm_1km_v1_daily_netcdf/', pattern = glob2rx("*.nc$"), full.names=TRUE) ## 3726 ## test it #r = terra::rast(nc.lst[100:210]) agg_tile = function(r, tile, pv=c(0.05,0.5,0.95), out.year="2015.annual"){ bb = paste(as.vector(ext(tile)), collapse = ".") out.tif = paste0("./eu_tmp/", out.year, "/sm1km_", pv, "_", out.year, "_", bb, ".tif") if(any(!file.exists(out.tif))){ r.t = terra::crop(r, ext(tile)) ## each tile is 100x100 pixels 365 days r.t = as.data.frame(r.t, xy=TRUE, na.rm=FALSE) sel.c = grep(glob2rx("ssm$"), colnames(r.t)) ## remove everything outside the range t1s = cbind(data.frame(matrixStats::rowQuantiles(as.matrix(r.t[,sel.c]), probs = pv, na.rm=TRUE)), data.frame(x=r.t$x, y=r.t$y)) #str(t1s) ## write to GeoTIFFs r.o = terra::rast(t1s[,c("x","y","X5.","X50.","X95.")], type="xyz", crs="+proj=longlat +datum=WGS84 +no_defs") for(k in 1:length(pv)){ terra::writeRaster(r.o[[k]], filename=out.tif[k], gdal=c("COMPRESS=DEFLATE"), datatype='INT2U', NAflag=32768, overwrite=FALSE) } rm(r.t); gc() tmpFiles(remove=TRUE) } } ## quarterly values: lA = data.frame(filename=nc.lst) library(lubridate) lA$Date = ymd(sapply(lA$filename, function(i){substr(strsplit(basename(i), "_")[[1]][4], 1, 8)})) #summary(is.na(lA$Date)) #hist(lA$Date, breaks=60) lA$quarter = quarter(lA$Date, fiscal_start = 11) summary(as.factor(lA$quarter)) for(qr in 1:4){ #qr=1 pth = paste0("A.q", qr) rs = terra::rast(lA$filename[lA$quarter==qr]) #agg_tile(rs, tile, out.year=pth) x = parallel::mclapply(sample(1:length(g1)), function(i){try( agg_tile(rs, tile=g1[i], out.year=pth) )}, mc.cores=20) for(type in c(0.05,0.5,0.95)){ x <- list.files(path=paste0("./eu_tmp/", pth), pattern=glob2rx(paste0("sm1km_", type, "_*.tif$")), full.names=TRUE) out.tmp <- paste0(pth, ".", type, ".sm1km_eu.txt") vrt.tmp <- paste0(pth, ".", type, ".sm1km_eu.vrt") cat(x, sep="\n", file=out.tmp) system(paste0('gdalbuildvrt -input_file_list ', out.tmp, ' ', vrt.tmp)) system(paste0('gdal_translate ', vrt.tmp, ' ./cogs/soil.moisture_s1.clms.qr.', qr, '.p', type, '_m_1km_20140101_20241231_eu_epsg4326_v20250206.tif -ot "Byte" -r "near" --config GDAL_CACHEMAX 9216 -co BIGTIFF=YES -co NUM_THREADS=80 -co COMPRESS=DEFLATE -of COG -projwin -32 72 45 27')) } } ## per year ---- for(year in 2015:2023){ l.lst = nc.lst[grep(year, basename(nc.lst))] r = terra::rast(l.lst) ## test it: pth = paste0(year, ".annual") x = parallel::mclapply(sample(1:length(g1)), function(i){try( agg_tile(r, tile=g1[i], out.year=pth) )}, mc.cores=40) ## Mosaics: for(type in c(0.05,0.5,0.95)){ x <- list.files(path=paste0("./eu_tmp/", pth), pattern=glob2rx(paste0("sm1km_", type, "_*.tif$")), full.names=TRUE) out.tmp <- paste0(pth, ".", type, ".sm1km_eu.txt") vrt.tmp <- paste0(pth, ".", type, ".sm1km_eu.vrt") cat(x, sep="\n", file=out.tmp) system(paste0('gdalbuildvrt -input_file_list ', out.tmp, ' ', vrt.tmp)) system(paste0('gdal_translate ', vrt.tmp, ' ./cogs/soil.moisture_s1.clms.annual.', type, '_m_1km_', year, '0101_', year, '1231_eu_epsg4326_v20250206.tif -ot "Byte" -r "near" --config GDAL_CACHEMAX 9216 -co BIGTIFF=YES -co NUM_THREADS=80 -co COMPRESS=DEFLATE -of COG -projwin -32 72 45 27')) } }

Zenodo
Looking for a #Pedometrics job? OpenGeoHub foundation is looking for 1–2 assistant researchers / post-doctoral researchers in the field of pedometrics 🌍 geo-computation, soil data modeling and geoinformatics 🤓 (programming in R, Python, Bash, Julia), specifically focused on using state-of-the-art geocomputing frameworks/algorithms and GIS software to help import, organize and model multivariate static & dynamic soil variables #AI4SoilHealth #OpenEarthMonitor To apply: https://opengeohub.org/jobs/post-doctoral-researcher-dynamic-soil-landscape-modeling/
Post-doctoral researcher: dynamic soil-landscape modeling – OpenGeoHub Foundation: Connect | Create | Share | Repeat

Our 2cent contribution for the #WorldSoilDay the #AI4SoilHealth project has produced the first ever 30-m spatial resolution dynamic map 🗺️ (2000-2022) predicting the soil carbon density [kg/m3] trends across pan-EU (https://www.researchsquare.com/article/rs-5128244/v1);
The data and code 👩‍💻 used are publicly available under open license from https://zenodo.org/communities/ai4soilhealth/ and https://gitlab.com/AI4SoilHealth.
Interested in using and extending the Soil Health Data Cube for Europe? Please come to https://2025.ai4soilhealth.eu
Spatiotemporal prediction of soil organic carbon density for Europe (2000--2022) in 3D+T based on Landsat-based spectral indices time-series

The paper describes a comprehensive framework for soil organic carbon density (SOCD) (kg/m3) modeling and mapping, based on spatiotemporal Random Forest (RF) and Quantile Regression Forests (QRF). 22,428 SOCD measurements and a wide range of covariate layers—particularly the 30m Landsat-based ...

I often wonder if what I do helps the world, enough?
I remember @harari_yuval & Matan Gavish describing agriculture as a crucial field for social good.

This group bridges agricultural information gaps, with NLP!
https://arxiv.org/abs/2407.04721

#AI #ai4soilhealth #NLP #NLProc #machinelearning #ml

AgriLLM: Harnessing Transformers for Farmer Queries

Agriculture, vital for global sustenance, necessitates innovative solutions due to a lack of organized domain experts, particularly in developing countries where many farmers are impoverished and cannot afford expert consulting. Initiatives like Farmers Helpline play a crucial role in such countries, yet challenges such as high operational costs persist. Automating query resolution can alleviate the burden on traditional call centers, providing farmers with immediate and contextually relevant information. The integration of Agriculture and Artificial Intelligence (AI) offers a transformative opportunity to empower farmers and bridge information gaps. Language models like transformers, the rising stars of AI, possess remarkable language understanding capabilities, making them ideal for addressing information gaps in agriculture. This work explores and demonstrates the transformative potential of Large Language Models (LLMs) in automating query resolution for agricultural farmers, leveraging their expertise in deciphering natural language and understanding context. Using a subset of a vast dataset of real-world farmer queries collected in India, our study focuses on approximately 4 million queries from the state of Tamil Nadu, spanning various sectors, seasonal crops, and query types.

arXiv.org
I've created the annual mean, max and standard deviation for (1) bare soil fraction, and (2) photosynthetic and (3) non-photosynthetic vegetation annual at 500 m resolution for 2001–2023 (the original data source is explained in Hill and Guerschman, 2022 / MCD43A4 product). You can access the data from: https://zenodo.org/doi/10.5281/zenodo.11961219
If you spot an issue or bug, please post here.
#OpenData #AI4SoilHealth #OpenEarthMonitor
We are hiring! Communication officer (Communication, Events, Multimedia) to support our Horizon Europe projects #OpenEarthMonitor (2022–2026); #AI4SoilHealth (2023–2026) and the int. projects such as WRI Land Carbon Lab / Global Pasture Watch (2022–2026). Do you have 3+ yrs experience in PR, event management and multimedia? Do you have a graphic design eye and can handle ultra-enthusiastic researchers from 5 continents? We might be a match. Deadline: 1st of July 2024. https://opengeohub.org/jobs/2024-communication-officer/
Communication officer - OpenGeoHub Foundation: Connect | Create | Share | Repeat

Application deadline: 1st of July 2024Possible start date: 1st of August 2024Duration: 2+ yearsJob location: Waldeck Pyrmontlaan 14, 6965HK Doorwerth, The

OpenGeoHub Foundation: Connect | Create | Share | Repeat
Within the #AI4SoilHealth project we are building #opendata to help monitor soil health across pan-EU. The Landsat-based biophysical indices (bimonthly, annual, 17TB of data) covering 2000-2022 are now ready for use as COGs; systematically listed at: https://github.com/AI4SoilHealth/SoilHealthDataCube. The technical documentation is at: https://www.researchsquare.com/article/rs-4251113/v1. The trends maps for NDVI, NDWI, minNDVI and BSF reveal where EU soils are changing i.e. are potentially degraded. If you discover an issue or bug please report it!
GitHub - AI4SoilHealth/SoilHealthDataCube: Soil Health Data Cube for Europe

Soil Health Data Cube for Europe. Contribute to AI4SoilHealth/SoilHealthDataCube development by creating an account on GitHub.

GitHub

Are you a data scientist, pedometrician and/or spatial modeler developing methods for monitoring #soil properties & supporting #landrestoration projects? We have 2 exciting hackathons for you:
1. "ESA EO4SoilProtection 2024: Predicting SOC Density"
https://www.kaggle.com/competitions/esa-eo4soilprotection-2024-predicting-soc-density/
2. "ESA EO4SoilProtection 2024: Predicting Erosion Categories"
https://www.kaggle.com/competitions/esa-eo4soilprotection-2024-predicting-erosion-cat/

The winners will be announced at the https://www.eo4soilprotection.org/ workshop at ESRIN. #OpenEarthMonitor #AI4SoilHealth
May the best team win!

ESA EO4SoilProtection 2024: Predicting SOC Density

In this hackathon, participants are invited to develop innovative models for predicting SOC density in space and time.

Today is the World #SoilDay (https://www.un.org/en/observances/world-soil-day) a day to raise awareness of soils and why #soil conservation (from erosion, compaction, salinization, loss of biodiversity, loss of organic carbon) needs to start now.

Within the #AI4SoilHealth project we are building a Soil Health Data Cube and a mobile phone app for pan-EU. Some first data sets will be released in early 2024 as open data.

If you are new to soils please watch this short video by @bbcworld : https://www.youtube.com/watch?v=OiLITHMVcRw

World Soil Day | United Nations

World Soil Day (WSD) is held annually on 5 December as a means to focus attention on the importance of healthy soil and advocating for the sustainable management of soil resources.

United Nations