news 2026/7/10 13:18:14

WOFOST模型经典输入与替换

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
WOFOST模型经典输入与替换

“参数 + 天气 + 农事 → 交给 ParameterProvider → 选模型 → run_till_terminate() → get_output() → DataFrame”

四类数据分别怎么来

类别代码里变量名文件格式 / 来源读取类一句话备注
作物参数cropd.crop(CABO) 或.yml(YAML)CABOFileReaderYAMLCropDataProvider官方.crop在 WOFOST Control Centre;YAML 例程见 ajwdewit/WOFOST_crop_parameters
土壤参数soild.soil(CABO) 或.jsonCABOFileReader同一下载包,ec3.soil = “medium fine sand”
站点sited代码字典WOFOST72SiteDataProvider(WAV=10, CO2=360, LAT=..., LON=...)WAV 是最关键字段:初始土壤含水量 mm
农事管理agromanagement.agro(YAML)YAMLAgroManagementReader指定播/收日期、最大持续天数、灌溉事件等
逐日天气weatherdataprovider.xlsx/.csv/ NASA-POWER 在线ExcelWeatherDataProvider/CSVWeatherDataProvider/NASAPowerWeatherDataProvider列名必须含 DAY、IRRAD、TMIN、TMAX、VAP、WIND、RAIN

模型怎么选(import 哪一行)

生产级别对应类说明
潜在生产 PotentialWofost72_PP不缺水、不缺氧、无病虫害,上限产量
水分限制 Water-limitedWofost72_WLP_CWB加入土壤水平衡,可配灌溉,最常用的“实际产量”
氮素限制 Nutrient-limitedWofost72_WLP_NWB需要土壤氮素参数文件,再做施肥情景

最小可运行模板
from pathlib import Path
from pcse.input import CABOFileReader, YAMLAgroManagementReader
from pcse.util import WOFOST72SiteDataProvider
from pcse.base import ParameterProvider
from pcse.models import Wofost72_WLP_CWB # 水分限制
from pcse.db import NASAPowerWeatherDataProvider
import pandas as pd

d = Path(“data”) # 1. 改这里
cropd = CABOFileReader(d / “crop” / “SUG0601.crop”)
soild = CABOFileReader(d / “soil” / “ec3.soil”)
sited = WOFOST72SiteDataProvider(WAV=10, CO2=360, LAT=52.0, LON=5.2)
params = ParameterProvider(cropdata=cropd, soildata=soild, sitedata=sited)

agro = YAMLAgroManagementReader(d / “agro” / “sugarbeet_calendar.agro”)
weather = NASAPowerWeatherDataProvider(latitude=52.0, longitude=5.2, year=2020)

wofost = Wofost72_WLP_CWB(params, weather, agro)
wofost.run_till_terminate()
df = pd.DataFrame(wofost.get_output()).set_index(“day”)
df.to_csv(“sugarbeet_wlp.csv”)

快速换自己的数据
**换作物:**把 SUG0601.crop 换成你自己的 .crop 或 .yml,并在 YAML 管理文件里同步 crop_name
**换土壤:**换 ec3.soil 即可,WAV 初始值可在 sited 里再微调
换气象:
– 本地 Excel → ExcelWeatherDataProvider(“nl1.xlsx”)
– 本地 CSV → CSVWeatherDataProvider(“meteo.csv”)
– 在线 NASA → NASAPowerWeatherDataProvider(lat, lon, year)
**换播期:**直接改 .agro 文件里的 crop_start_date / emergence_date / harvest_date

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 3:21:48

互联网大厂Java求职者面试故事

场景: 谢飞机是一位准备应聘某互联网大厂的Java程序员,他对自己的技术水平充满信心,虽然有些方面略显不足,但他相信凭借自己的聪明才智,定能过五关斩六将。面试官则是一位经验丰富的技术大牛,以严谨著称。 …

作者头像 李华
网站建设 2026/7/9 21:51:08

《零基础学 PHP:从入门到实战》·PHP Web 安全开发核心技术与攻防实战演练-SQL 注入防御深度实战

第 3 章:数据库守卫战——SQL 注入防御深度实战 章节介绍 学习目标 通过本章学习,你将能够: 深入理解 SQL 注入漏洞的产生原理与多种攻击形态掌握使用 PHP 的 PDO 与 MySQLi 扩展的预处理语句进行有效防御具备审计简单 PHP 代码中 SQL 注入风险的能力亲手将存在漏洞的应用修…

作者头像 李华
网站建设 2026/7/10 10:45:10

中移 ML307R SDK 定时器原理

先看相关API接口的定义 /*** @brief Create and Initialize a timer.** @param[in] func function pointer to callback function.* @param[in] type @ref osTimerOnce for one-shot or @ref osTimerPeriodic for periodic behavior.* @param[in] …

作者头像 李华
网站建设 2026/7/10 11:34:44

智能体开发的多Agent协同

《AI Agent智能体开发实践 邓立国 邓淇文著 五大实战案例掌握AI Agent开发 LangChain示例 人工智能技术丛书 清华大学出版社》【摘要 书评 试读】- 京东图书 多Agent协同(Multi-Agent Collaboration,MAS)是指多个具备自主决策能力的智能体&a…

作者头像 李华
网站建设 2026/7/10 4:19:49

Ridit检验 R代码实现

一、公式声明需要声明,这一实现使用的标准组的Ridit方差为贝塞尔校正版本,而卡方统计量的公式采用如下形式:——式子1其中:注意以下公式默认了有序评分对应的隐连续得分是服从均匀分布的,因此才将,然后把式…

作者头像 李华