Sakia

Research · shadow mode · does not change any advice

Sakia Lab: can a small learned model add anything to the physics?

The irrigation advice comes from a transparent FAO-56 water balance. Here we asked a harder question, in public: does a 106-tree CatBoost model (43 KB), trained on free satellite evapotranspiration of Kairouan cropland, track the satellite better than a calendar, and does it carry over to other places in Africa? The protocol was written before the full run; every later change is logged. The answers below include the ones we did not hope for.

Run it yourself, in your browser

Loading the weather and running the model…

What the model estimates is the average evapotranspiration of cropland around this place as a satellite would see it, from the weather alone. It is not your crop, not your field, and it does not change any irrigation advice.

How close to the satellite? (Kairouan, held-out years 2024–2025)

Error against satellite evapotranspiration, in mm/day (shorter is better). 92 cropland pixels in 14 weather cells. Intervals resample weather cells, because pixels in one cell share the same weather.

Reading: weather alone brings a modest gain over the calendar (about 9 %; R² 0.43 → 0.52), clearly better than the crude water balance, and the learned model is tiny. By season the gain is in autumn (0.114 vs 0.176) and winter, and zero in spring (0.338 vs 0.343), when cereals green up and weather alone does not know the crop calendar. Adding NDVI (M2) helps a lot, but it shares its sensor with the label, so we do not count it.

What did not work, on purpose published

Does it travel? The pipeline does; the trained model only partly

Every ingredient (MODIS, Open-Meteo, ESA WorldCover) covers all of Africa, so another region means changing one box in the code. We applied the Kairouan model, unchanged, to three other regions. Error in mm/day; “local calendar” is each region's own monthly average computed on its own data (optimistic for the calendar).

RegionPixels / weather cellsLocal calendarKairouan modelVerdict
Sidi Bouzid, Tunisia (near)21 / 40.1600.123Carries over
Haouz (Marrakech), Morocco39 / 90.2020.172Carries over
Gezira, Sudan (Sahel)40 / 140.3370.585Fails: needs local training

What we conclude: a model trained in one climate regime does not carry to another (the Sahelian rainy-season regime is not Kairouan's). The honest way to extend Sakia across Africa is to train one small model per regime, which this pipeline does with about 90 minutes of free public data per region. Sidi Bouzid has only 4 weather cells, so its apparent success is fragile.

How to check us

Protocol, amendment log, every number and the code are public: github.com/ag-algolab/sakia/tree/main/ml. The satellite label is itself a model product, so we only ever say “closer to the satellite”, never “more accurate”. What the AI does elsewhere in Sakia. Also measured: Sakia on a weak connection, against five other sites.