使用说明
DSSAT-MCP:作物模型校准的AI代理接口
概念验证MCP(模型上下文协议)服务器,封装DSSAT CSM v4.8裁剪模拟模型,通过LLM代理(如Claude)实现自然语言交互。
纸张: “基于MCP的作物模型校准人工智能代理接口:DSSAT的概念验证” (正在审查中)
概述
作物模型校准传统上需要深厚的技术专长:编写实验文件、配置参数、解析输出。该项目演示了将DSSAT封装在MCP服务器中,允许LLM代理仅通过自然语言执行校准任务。
可用工具(9个MCP工具)
| 工具 | 说明 |
|---|---|
list_models |
列出支持的作物、站点和土壤 |
list_cultivars |
列出DSSAT的品种。CUL文件 |
list_stations |
浏览可用的天气文件 |
list_soils |
浏览可用的土壤剖面 |
run_simulation |
运行单个DSSAT模拟 |
run_batch |
在一批中运行多个场景 |
evaluate_simulation |
计算RMSE、d-指数、NSE、R² |
sensitivity_analysis |
一次一个参数灵敏度 |
estimate_cultivar_params |
根据观察结果估计品种参数 |
create_weather_station |
下载KMA天气数据→ WTH文件 |
get_result |
检索存储的模拟结果 |
支持的作物
| 作物 | 型号 | 韩国品种 |
|---|---|---|
| 玉米 | MZCER048 | KR0003(大城国) |
| 小麦 | WHCER048 | KR0001、KR0002 |
| 大麦 | CSCER048 | KR0001(塔戈尔),KR0002(石敦查尔) |
| 大米 | RICER048 | IB0012 |
| 大豆 | CRGRO048 | KR2828 |
| 马铃薯 | PTSUB048 | IB0001 |
| 高粱 | SGCER048 | IB0001 |
先决条件
1 DSSAT V4.8
从下载并安装 dssat.net (需要免费注册)。
默认安装路径: C:\DSSAT48
2.Python 3.10+
pip install -r requirements.txt
3.MCP兼容客户端
- 克劳德桌面版 --推荐
- 任何兼容MCP的LLM客户端
安装
步骤1:克隆此存储库
git clone https://github.com/YOUR_USERNAME/dssat-mcp.git
cd dssat-mcp
步骤2:安装Python依赖项
pip install -r requirements.txt
步骤3:将数据文件复制到DSSAT
# Weather files
copy data\SUWO2501.WTH C:\DSSAT48\Weather\
copy data\SUWO2601.WTH C:\DSSAT48\Weather\
# Soil profiles
copy data\KR.SOL C:\DSSAT48\Soil\
# Korean cultivar parameters
copy genotype\WHCER048.CUL C:\DSSAT48\Genotype\WHCER048.CUL
copy genotype\BACER048.CUL C:\DSSAT48\Genotype\BACER048.CUL
copy genotype\MZCER048.CUL C:\DSSAT48\Genotype\MZCER048.CUL
copy genotype\SBGRO048.CUL C:\DSSAT48\Genotype\SBGRO048.CUL
备注:CUL文件在
genotype/包含添加到原始DSSAT文件中的韩国品种条目。复制前备份原件。
步骤4:配置环境变量
copy .env.example .env
# Edit .env with your paths
步骤5:在Claude Desktop注册
编辑 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"dssat-mcp": {
"command": "python",
"args": ["C:/path/to/dssat_mcp_server.py"],
"env": {
"DSSAT_HOME": "C:/DSSAT48",
"DSSAT_BIN": "C:/DSSAT48/DSCSM048.EXE",
"DSSAT_WORK": "C:/dssat_jobs",
"DSSAT_WEATHER": "C:/DSSAT48/Weather",
"DSSAT_SOIL": "C:/DSSAT48/Soil"
}
}
}
}
快速开始
一旦Claude Desktop在注册了MCP服务器的情况下运行,您就可以自然地进行交互:
"Run a maize simulation for Suwon, sowing May 1 2025, 120 kg N/ha"
"Estimate cultivar parameters for Korean wheat sown Oct 25 2025,
heading date Apr 20 2026, maturity Jun 7 2026, yield 5200 kg/ha,
thousand grain weight 38g"
"Compare nitrogen rates 0, 60, 120, 180, 240 kg/ha for maize
at Suwon using sensitivity analysis"
"Evaluate simulation accuracy:
observed yield 5000, simulated 4919;
observed yield 6200, simulated 5850"
数据文件
天气(data/)
| 文件 | 站点 | 时段 | 来源 |
|---|---|---|---|
SUWO2501.WTH |
韩国水原(北纬37.26°,东经126.98°) | 2025年1月至12月 | KMA ASOS |
SUWO2601.WTH |
韩国水原 | 2025年10月至2026年12月 | KMA ASOS+气候学 |
土壤(data/)
| 配置文件ID | 描述 |
|---|---|
KR_JD_MAI1 |
Suwon Jungdong——粉质粘土,120厘米 |
KR_JD_MAI2 |
Suwon Jungdong——粉质壤土,120厘米 |
基因型(genotype/)
韩国品种参数添加到标准DSSAT中。CUL文件:
- 0003克朗 --玉米 大成国 (玉米多青玉)
- KR0001,KR0002 --小麦 塔戈尔/首尔 (密塔谷/西屯刹)
- KR0001,KR0002 --大麦 塔戈尔/首尔 (菩提塔谷/西屯刹)
- 2828克朗 --大豆 克鲁格2828 (大豆)
主要特点
校准(estimate_cultivar_params)
直接从田间观测中估计DSSAT品种参数——不需要优化循环:
- 第5页:从抽穗到成熟的GDD(所有作物)
- P1V:春化天数(小麦、大麦)
- G2/G3:千粒重中的粒重
- 估算后自动运行验证模拟
模型评估(evaluate_simulation)
模型性能评估的标准统计指标:
- RMSE、MAE、MBE(偏倚)
- Willmott d指数
- 纳什-萨克利夫效率(NSE)
- 皮尔逊R²
气候情景(run_batch)
# Example: RCP scenario comparison
run_batch(crop="maize", scenarios=[
{"label": "baseline", "sowing_date": "2025-05-01"},
{"label": "+2°C", "delta_temp": 2},
{"label": "RCP4.5", "delta_temp": 2, "co2_ppm": 550},
{"label": "RCP8.5", "delta_temp": 4, "co2_ppm": 700},
])
局限性
- 单AI代理(Claude)——可通过MCP协议扩展到其他LLM客户端
- 单作物模型(DSSAT)——架构支持添加APSIM、STICS等。
- 基于定义的校准:物候参数(P5、P1V)准确,没有开花生物量数据的产量参数不准确
- Windows原生;Linux/macOS需要Wine
系统架构
User (natural language)
│
▼
LLM Agent (Claude)
│ MCP Protocol (JSON-RPC over stdio)
▼
DSSAT-MCP Server (Python / FastMCP)
│
├── FileX writer (experiment file)
├── Weather handler (perturbation, KMA download)
├── Soil handler (profile lookup)
├── Cultivar estimator (parameter estimation)
└── Output parser (Summary.OUT, PlantGro.OUT, ...)
│
▼
DSSAT CSM v4.8 (DSCSM048.EXE)
引用
如果您使用此代码,请引用:
@article{yourname2025dssat,
title = {MCP-Based AI Agent Interface for Crop Model Calibration:
A Proof of Concept with DSSAT},
author = {Your Name et al.},
journal = {Computers and Electronics in Agriculture},
year = {2025},
note = {under review}
}
许可证
MIT许可证——见 许可证 了解详情。
DSSAT本身受其自身许可协议的约束(dssat.net).