You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SPEI包penman函数出现下标越界错误的原因及解决

SPEI包penman函数下标越界错误的解决

问题现象

使用SPEI包计算潜在蒸散量(PET)时,Hargreaves函数运行正常,但调用penman函数持续报错:

Error in Tmean[2, , ] : subscript out of bounds

按函数文档要求传入Tmax、Tmin等参数,额外传入Tmean参数后仍无法解决问题。

可复现代码

U2 <- 1.7 #m/s (average)
Ra <- 2.23 #MJ/day (average)
RH <- 89.65 #% (average)
lat <- 52.76624
Tmax <- 14.3 #(degrees C)
Tmin <- 6.9 #(degrees C)

penman<-penman(Tmin, Tmax, U2, Ra, lat, RH, z = 59, crop='short', na.rm = TRUE)

环境信息

  • R版本:4.3.2
  • R Studio版本:2023.12.1
  • SPEI包及所有依赖包已正确安装配置,尝试从Excel导入数据或使用常量变量均触发相同错误

问题解决

经排查,penman算法内部逻辑要求必须传入至少3个月的时间序列数据集,仅传入单月的常量数值会导致下标越界错误,提供符合长度要求的时序数据即可正常运行。

内容的提问来源于stack exchange,提问作者Lucy Crockford

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 11:52:04