FAO Penman-Monteith + differential-evolution optimization for crop irrigation water demand — 21.82% error on real data.
DCWRISM-CropIrrigation is a crop irrigation water demand model that blends the FAO-56 Penman-Monteith reference evapotranspiration with an empirical crop coefficient, then tunes the parameters with differential evolution. The result is a light, reproducible model that predicts crop water demand with only 21.82% error.
Note
中文项目:物理经验混合的智能灌溉需水模型,基于 FAO Penman-Monteith 与差分进化(DE)参数优化。
git clone https://github.com/Windyhhh/DCWRISM-CropIrrigation.git
cd DCWRISM-CropIrrigation
pip install -r requirements.txt
# Load data and run the base model
python dcwrism_model.py
# Advanced DE-optimized model
python FINAL_OPTIMIZED_HONEST_MODEL.py- FAO Penman-Monteith ET₀ — reference evapotranspiration from weather inputs.
- Differential-evolution tuning — auto-searches crop coefficients and soil factors.
- Honest, reproducible — final model with verified 21.82% error on real regional data.
DCWRISM-CropIrrigation/
├── dcwrism_model.py # core irrigation water demand model
├── data_loader.py # load & parse weather / region data
├── ADVANCED_OPTIMIZATION_MODEL.py
├── FINAL_OPTIMIZED_HONEST_MODEL.py # final DE-tuned model
└── requirements.txt
项目采用扁平结构,核心代码位于根目录。
- DataLoader
evaluate_model,evaluate_test_years,load_weather_data,load_crop_area
核心框架/库:NumPy, pandas
主要 import:
import sys
import pandas as pd
import numpy as np
from scipy.optimize import minimize, differential_evolution
from data_loader import DataLoader
from dcwrism_model import DCWRISMModel
import io
import sys
import pandas as pd
import numpy as np- 以
DataLoader为核心类,封装主要业务逻辑 - 通过
evaluate_model等函数实现核心流程编排 - 基于 NumPy, pandas 构建,保证技术栈成熟稳定
- 代码结构清晰,模块间低耦合,便于扩展和维护
MIT — free to use, modify and distribute.