Scientific Computing Capstone Project
# HydroSense-Kenya
**ICS 2207 Scientific Computing — Capstone Project**
Smart Irrigation Decision-Support System for a Kenyan Demonstration Farm
---
## Project Overview
HydroSense-Kenya uses 30 days of weather and soil sensor data from a demonstration farm to:
- Model daily soil water balance across three crop zones (tomato, kale, maize)
- Estimate evapotranspiration using an empirical formula
- Implement numerical methods from scratch: root finding, finite differences, numerical integration, and linear system solving
- Simulate soil moisture trajectories using Euler and Runge-Kutta (RK4) methods
- Quantify irrigation uncertainty using Monte Carlo simulation (1000 scenarios)
- Produce an optimised irrigation schedule that minimises water use while preventing crop stress
---
## Project Structure
```
hydrosense-kenya/
├── README.md ← You are here
├── requirements.txt ← Python dependencies
├── AI_USE_LOG.md ← Documented AI tool usage
│
├── data/
│ ├── raw/
│ │ ├── weather_daily.csv ← 30-day weather records
│ │ ├── soil_sensor_data.csv ← Soil sensor readings (3 zones × 30 days)
│ │ └── crop_zone_parameters.csv ← Zone crop and soil parameters
│ └── processed/
│ ├── weather_clean.csv ← Cleaned weather (generated by Level 4)
│ └── soil_clean.csv ← Cleaned soil data (generated by Level 4)
│
├── notebooks/
│ ├── Level_1_Problem_Framing.ipynb
│ ├── Level_2_Vectorization_and_Error.ipynb
│ ├── Level_3_Numerical_Methods.ipynb
│ ├── Level_4_Data_Analysis_and_Visualization.ipynb
│ ├── Level_5_Simulation_and_Optimization.ipynb
│ └── Level_6_AI_Testing_Presentation.ipynb
│
├── src/
│ ├── numerical_methods.py ← All numerical methods (from scratch)
│ └── simulation.py ← Euler, RK4, Monte Carlo, Optimisation
│
├── tests/
│ ├── test_numerical_methods.py ← 45+ tests for numerical methods
│ ├── test_wa …