观潮 · 模式预报与气象 AI 观察
FIFRACT 和 CROPTYPE 在 geo_em 里是空的:WPS 灌溉静态数据只覆盖美国本土
> 用 WRF 4.7.0 模拟漫灌水量,结果模拟灌溉量恒为零。发帖人排查后发现:GEOGRID.TBL 里相关条目都在、源数据路径也对,IRFRACT 正常,但 FIFRACT、SIFRACT、MIFRACT、CROPTYPE 在 geo_em.d01.nc 里全是空值。答案有两层:一是跑 geogrid.exe 时 GEOGRID.TBL 没有链到 GEOGRID.TBL.ARW.noahmp;二是 WPS 静态数据里 flood_fract、micro_fract、sprinkler 这几套只有美国本土(CONUS)的数据,全球可得的只有 IRFRACT。对中国、欧洲等域外用户来说,第二层才是根因,而且支持方明确说:自己造一份类似数据集不难,难的是这些变量的取值怎么定。
缺的是哪一块
发帖人的配置是 WRF 4.7.0、WPS 4.6.0、NOAH-MP 4.7.0,目标是模拟漫灌(flood irrigation)水量,但模拟出来的灌溉量是零,不知道问题出在哪。
他已经做过的排查很有代表性:查了论坛旧帖,知道 Noah-MP 的动态灌溉方案会用到 IRFRACT、FIFRACT、SIFRACT、MIFRACT,推测 CROPTYPE 也是必需的;然后发现除了 IRFRACT,其余四个在 geogrid.exe 生成的 geo_em.d01.nc 里全是空值;再回头看 GEOGRID.TBL,上述变量都在里面,源数据存在、路径也没写错。
这个排查路径说明问题不在「表里有没有」,而在「跑的时候用了哪张表」以及「源数据覆盖到哪儿」。
空值的两个原因
支持方给了两条,两条都可能同时成立:
原因 · 说明
表没链对 · 跑 geogrid.exe 时 GEOGRID.TBL 必须链到 GEOGRID.TBL.ARW.noahmp
源数据缺 · 没有灌溉所需的输入数据,例如 flood_fra
随后有用户在帖子里把第二条说得更具体:flood_fract、micro_fract 和 sprinkler 的源数据只有美国本土有,而 IRFRACT 的数据是全球覆盖的。支持方复核 WPS 静态数据后确认:「你说得对,这些变量只有 CONUS 的数据」,并补了一句判断——在你关心的区域上造一份类似的数据集并不难,但困难在于这些变量的取值如何确定。
对域外用户来说这条尤其要紧:即便表链对了,geo_em 里那几个灌溉比例字段仍然会是空的,因为源数据本身没有覆盖你的域。
与漫灌相关的变量有哪些
支持方列出的漫灌相关变量和诊断量:
变量 · 含义
FIFRACT · 漫灌比例
IRNUMFI · 漫灌事件次数
IRWATFI · 单次漫灌事件的水量
IRFIVOL · 漫灌累计水量
发帖人追问这些是「必须设置」还是「可选」。答复是:这些变量是可选的,只有在灌溉方案被激活时才会为它们分配空间。这解释了为什么在默认配置下看到的是空值而不是报错。
另外两个 namelist 开关的归属也在帖子里说清了:sf_surf_irr_scheme 是独立于陆面方案的选项,Noah 和 Noah-MP 都能用;irr_daily_amount 则在 sf_surf_irr_scheme 打开时才起作用。
两套方案不是一回事
发帖人还问了 sf_surf_irr_scheme 与 %noah_mp 段里的 opt_irr、opt_irrm 之间是什么关系、要不要同时用、如果只想跑漫灌该选哪些。支持方的答复只有一句:它们代表 WRF 里两套不同的灌溉方案,细节请查文献。帖子里没有给出推荐的参数组合。
也就是说,这个帖子能确定的是「谁归谁管」和「数据覆盖到哪」,不能确定的是「具体怎么配」。
冰川水量平衡报错没有答案
发帖人最后抛出的第三个问题是运行 wrf.exe 时报 NOAHMP GLACIER 的水量平衡错误,并猜测是自己改了参数导致的——他之前跑通过。支持方对这一条的答复是「我没有立刻能给出的答案,需要调试才能弄清问题出在哪」,帖子里没有给出解决方案。
边界与还没解决的部分
- 域外用户没有现成的灌溉静态数据。 flood_fract、micro_fract、sprinkler 只有 CONUS 数据,IRFRACT 全球可用;自建数据集的难点在取值确定。
- 两套灌溉方案没有官方参数推荐。 支持方指向文献,没有给出漫灌场景的可抄配置。
- 「这些变量是否必需」只给了原则性回答。 可选、激活时才分配空间——具体到某个方案哪些必填,帖子里没展开。
- 冰川水量平衡报错未解决。 明确记录为需要调试、暂无答案。
- 帖子里出现过一条关于 WRF-GPU v0.4.0 的回复,称其含实验性的 Noah-MP 灌溉选项和一处冰川物理修正,但同时声明这不会自动解决缺失的 FIFRACT/CROPTYPE 输入数据,也不保证修好具体个例。这条说明在本轮采集的多个不同主题帖子里都出现过,措辞高度一致。
一句话判断
geo_em 里灌溉字段为空,先确认 GEOGRID.TBL 链的是不是 noahmp 那一份;如果域不在美国本土,那更可能是根因——WPS 只随包提供 CONUS 的灌溉比例数据,剩下那一步得自己造数据,而真正的难点是数值怎么定。