# HydroSense-Kenya: Scientific Computing Capstone
HydroSense-Kenya is a Python-based scientific computing system designed for smart irrigation, water balance simulation, and climate-aware decision support. It processes daily weather and soil-sensor data to model water availability, simulate uncertainty, and recommend optimized irrigation schedules.
## Project Structure
- `data/raw/`: Original sensor and weather datasets (contains deliberate anomalies).
- `data/processed/`: Cleaned and unified dataset generated via Pandas.
- `notebooks/`: Six Jupyter notebooks demonstrating the cumulative scientific workflow.
- `src/`: Reusable Python modules for numerical methods, simulation, and optimization.
- `tests/`: Automated test suite using `pytest` to verify mathematical correctness.
- `reports/`: Final presentation and scientific report PDFs.
## Setup and Installation
1. Ensure Python 3.10+ is installed.
2. Clone this repository and navigate to the project root.
3. Create a virtual environment: `python -m venv venv`
4. Activate the environment:
- Windows: `venv\Scripts\activate`
- Mac/Linux: `source venv/bin/activate`
5. Install dependencies: `pip install -r requirements.txt`
## Running the Tests
To verify the numerical engine and simulation logic, run the test suite from the root directory:
```bash
pytest tests/