作物模型校准AI代理接口

DSSAT-MCP是一个将DSSAT作物模拟模型封装为MCP服务器的项目,通过自然语言交互实现作物模型校准,适用于农业研究和气候场景分析。

  • by BeomseokForWork
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 BeomseokForWork/dssat-mcp

使用说明

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兼容客户端


安装

步骤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).