Smart Irrigation
Machine learning and IoT integration for optimized irrigation management in Morocco’s agricultural zones.
Read publication
Introduction
Turning climate, crop, and field signals into irrigation decisions.
This research develops a scalable irrigation recommender for Morocco’s water-scarce agricultural regions. Local Random Forest models use NASA POWER meteorological data and IoT inputs to predict reference evapotranspiration (ET0), then combine FAO crop coefficients to estimate crop water demand (ETc) for a farmer’s crop, growth stage, and nearest zone.
- 30 Agricultural zones modelled
- 100+ Supported crop types
- 0.0099 Lowest reported RMSE
System concepts
Process
From local weather signals to a crop-specific watering recommendation
-
01
Collect
NASA POWER supplies daily temperature, humidity, wind, precipitation, and solar-radiation data for 30 representative agricultural zones; IoT devices extend the system with real-time field signals.
-
02
Prepare
Missing values are addressed through interpolation and filling; meteorological features are normalised and combined with FAO crop-coefficient values for each crop stage.
-
03
Predict
A dedicated 100-tree Random Forest model per zone estimates ET0 from local weather features. ET0 is then multiplied by the crop coefficient to calculate ETc.
-
04
Recommend
A Flutter app collects city, crop, growth stage, and meteorological inputs, while a Flask endpoint returns ET0 and ETc in a clear irrigation recommendation flow.
Efficient irrigation needs to reflect the field in front of the farmer: local climate, the selected crop, its growth stage, and a changing water context, not a one-size-fits-all schedule.
Precision agriculture for water-scarce regions
Solution & Outcome
A locally adaptive irrigation system
The system integrates NASA POWER historical weather data, IoT-ready environmental inputs, FAO crop coefficients, locally trained Random Forest models, and a cross-platform Flutter application. Flask handles model selection, input validation, ET0 prediction, and ETc calculation through a dedicated API endpoint.
- Zone-specific ET0 models trained on an 80/20 temporal split
- FAO Penman-Monteith calculation and crop-stage Kc values for ETc
- Flutter interface for city, crop, growth-stage, and weather inputs
- Flask API with validation, logging, error handling, and CORS support
Accurate, scalable recommendations for the field
The 30 local Random Forest models followed seasonal variation closely, with reported RMSE values from 0.0099 to 0.0180 and MAE values from 0.0064 to 0.0103. The study shows how a modular decision-support system can help conserve water without sacrificing crop-specific guidance.
- 30 agricultural zones selected for climate and crop diversity
- Over 100 crops and initial, mid, and end growth-stage coefficients
- Real-time IoT integration designed to keep recommendations current
- Future work: higher-resolution data and ground-station validation