AquaCrop 与气象驱动接口

AquaCrop 关注作物对水分条件的产量响应,适合在明确土壤、气象和管理输入下开展田块情景比较。FAO 明确其田块尺度计算采用内部均一假设,因此本项目需要用响应单元表达地块间差异,而不能指望单次运行解析田内所有空间过程。FAO 模型介

AquaCrop 与气象驱动接口封面

在论文链条中的位置

AquaCrop 关注作物对水分条件的产量响应,适合在明确土壤、气象和管理输入下开展田块情景比较。FAO 明确其田块尺度计算采用内部均一假设,因此本项目需要用响应单元表达地块间差异,而不能指望单次运行解析田内所有空间过程。FAO 模型介绍

本项目使用的是 AquaCrop-OSPy 实现。软件实现、版本和实际启用过程需要单独记录,不能把 FAO 模型的全部能力都视为当前 Python 脚本已经验证的能力。

WRF 提供天气 → AquaCrop 计算田块响应,是单向离线衔接。AquaCrop 策略结果没有在当前流程中实时反馈给 WRF。

气象接口不是“改一下列名”

当前脚本向 AquaCrop 传入 MinTemp、MaxTemp、Precipitation、ReferenceET 和 Date。正式输入至少应满足以下契约:

检查项必须明确
温度℃;每天最低温不高于最高温
降水每日 mm;缺测与无雨严格区分
ET0每日 mm;记录方法和所需输入来源
日期原始日期连续且唯一,覆盖预定模拟期
网格每个响应单元找到自己的合法天气,不借其他网格兜底
版本天气运行编号、处理版本、时间区间可追溯

三种常见时间与单位错误

  1. 从启动时刻累计的降水不能逐行求和当日雨量;需要按实际变量定义求增量,并处理重启。
  2. W/m² 是能流密度,MJ/m²/day 是日能量。若是全天平均 W/m²,乘 0.0864 才得到 MJ/m²/day;非完整采样应按时间间隔积分。
  3. “某日”必须说明时区。跨日聚合边界改变,会影响极端温度和降水分配。

ET0 与 ET 不能混用

ET0 是统一参考表面的蒸散需求,实际 ET 还受到作物和水分状况影响。FAO-56 Penman–Monteith 方法综合辐射、温度、湿度和风等输入;若改用温度型经验方法,必须明确披露,不能仍标成 FAO-56 计算结果。FAO-56 第 2 章

当前 WRF CSV 转换函数在输入 ET0 全缺失且满足相关条件时,尝试 Hargreaves 估算;这不是已经实现完整的 Penman–Monteith 链条。直接提供 ET0 时也必须核实它是日值还是时段值。

现有试跑设置意味着什么

当前代码使用通用 Maize、土壤纹理类别代理、初始水分 FC,并分别创建每种策略的模型对象。历史三种策略是 B0_rainfed、B1_db65_smt、B2_high_trigger;它们是流程比较基线,不是已经率定的当地最佳制度。

初始田间持水量、通用品种和土壤代理都可能影响灌溉收益,应纳入敏感性分析。WRF 的 LAI 校准不会自动校准 AquaCrop。

本地代码暴露的正式运行缺口

位置当前行为风险
build_weather_wrf_csv降水按组 sum全缺失组可能变成 0,掩盖缺测
同上对输入列做数值化但未统一物理单位同名变量可能口径不同
finalize_wrf_weather只有传入 progress 参数且未绕过时才查完成状态未传参数不能保证源 WRF 已成功结束
同上查总体网格覆盖及部分变量缺失比例不保证每个网格完整覆盖全季
run_baseline缺目标网格时改取第一个网格地块与天气关联可能错误
同上按 sow_date 和记录条数重建日期缺日或晚开始数据可能被错配到其他日期
同上雨量缺失补 0;质量标签固定为 smoke 口径正式与试跑没有充分隔离

这里是基于 S07 的静态检查;本次没有改代码,也没有声称触发了所有分支。完整验收清单见 05 正式实验前的检查与待办。

完成接口后仍需科学验证

输入合法只说明可以开展正式试验。还需验证物候、冠层、ET、产量及胁迫响应,尤其明确所用实现对高温和生殖期损伤的处理,不能把“有 Tmax 输入”当成“已验证高温减产机制”。

依据:S06—S08,以及文中 FAO 官方材料。关联 04 校准验证与不确定性。