| # 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. `````` |