# Predictive Irrigation Models This repository contains data preprocessing and analytics pipelines for the distribution of Predictive Irrigation Models, integrating data from field sensors, weather, soil, crop, and remote sensing sources. ## Project Structure ``` predictive_irrigation_models/ ├── config/ │ ├── params.yml │ ├── xgcast_params.yml │ ├── aquacrop_params.yml │ └── fieldsensor_irrigator_mapping_anonym.yaml.yml ├── pipelines/ │ ├── __init__.py │ ├── aquacrop_preparation_pipeline.py │ ├── data_collection_pipeline.py │ ├── aquacrop_preparation_pipeline.py │ ├── demo_run.py │ ├── model_preparation_pipeline.py │ ├── preprocessing_pipeline.py │ ├── resample_impute_pipeline.py │ ├── soilcast_pipeline.py │ ├── xgcast_pipeline.py │ └── xgcast_run.py ├── data/ │ ├── 03_primary/ │ ├── 04_model_input/ │ ├── 05_aquacrop_input/ │ ├── 05_xgcast_input/ │ ├── 06_aquacrop_output/ │ └── 06_xgcast_output/ ├── tools/ │ └── ... └── README.md ``` ## Features - **Prefect-based Pipelines:** Modular tasks and flows for data collection, transformation, and saving. - **Sensor & Weather Data Integration:** Reads and merges raw sensor and weather data for multiple consortia. - **Soil, Crop, and Remote Sensing Data:** Integrates geospatial and tabular data sources. - **Automated Testing:** Prefect tasks and flows for validating preprocessing results. - **Artifact Logging:** Data summary artifacts for monitoring pipeline outputs. ## Getting Started ### Prerequisites - Python 3.8+ - [Prefect](https://www.prefect.io/) - uv Install dependencies: ```uv sync``` Configuration Edit `config/params.yml` to specify consortia names, data folders, and other parameters. ### Running the Pipeline From the project root, run: ```python -m main``` ### Running Tests From the project root, run: ```python -m test.test_results``` ### Contributing Feel free to open issues or submit pull requests for improvements or bug fixes. ### License MIT License ### Contact For questions or collaboration, please contact the repository owner. ``````