A project for monitoring irrigation using weather data, soil sensor data and crop data
# HydroSense-Kenya
**ICS 2207 Scientific Computing | Capstone Project**
A Python scientific-computing system for smart irrigation, water balance simulation, and climate-aware decision support in a Kenyan smallholder farm context.
---
## Project Overview
HydroSense-Kenya models the discrete soil water balance:
```
S(t+1) = S_t + R_t + I_t - ET_t - D_t
```
It answers the central scientific question: *How can we model water availability, estimate water deficit, simulate future soil moisture, and recommend an efficient irrigation plan that minimises water use without exposing crops to moisture stress?*
---
## Folder Structure
```
HydroSense-Kenya/
├── data/
│ ├── raw/
│ │ ├── weather_daily.csv
│ │ ├── soil_sensor_data.csv
│ │ └── crop_zone_parameters.csv
│ └── processed/
│ └── cleaned_irrigation_dataset.csv
├── 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_Final_Integration.ipynb
├── src/
│ ├── __init__.py
│ ├── data_cleaning.py
│ ├── numerical_methods.py
│ ├── simulation.py
│ ├── optimization.py
│ └── visualization.py
├── tests/
│ ├── test_root_finding.py
│ ├── test_integration.py
│ ├── test_linear_systems.py
│ └── test_simulation.py
├── reports/
│ └── (plots and final report)
├── AI_USE_LOG.md
├── README.md
└── requirements.txt
```
---
## Installation and Setup
```bash
# Clone or download the repository
cd HydroSense-Kenya
# Install dependencies
pip install -r requirements.txt
# Run all tests
python -m pytest tests/ -v
# Launch notebooks
jupyter notebook notebooks/
```
---
## Running the Project
Execute the notebooks in order (Level 1 → 6). Each level is self-contained but builds on outputs from previous levels.
| Level | Notebook | Key Output |
|---|---|---|
| 1 | Level_1_Problem_Framing | Data dict …