使用Metpy precipitable_water函数遇参数单位错误问题求助
Metpy precipitable_water函数调用错误原因分析
你的代码逻辑本身没问题,但实际运行时犯了两个低级错误:
参数顺序完全颠倒
错误栈显示你实际调用的是mpcalc.precipitable_water(dew, pressure),但Metpy的precipitable_water函数(1.0版本后调整过参数顺序)要求先传入露点温度(dewpoint),再传入气压(pressure)。你把气压和温度的位置搞反了,导致单位校验失败——函数期望pressure参数是压强单位,结果收到了温度单位;dewpoint参数期望温度单位,结果收到了压强单位,直接触发了单位不匹配报错。变量名错误
代码里你定义的露点变量是dewpoint,但实际调用时用了未定义的dew,不过因为参数顺序错误先触发了单位校验错误,这个问题被掩盖了。
修正后的代码
import metpy.calc as mpcalc from metpy.units import units import numpy as np pressure = np.array([1000, 500]) * units.hPa dewpoint = np.array([11.5, -25]) * units.degC # 修正参数顺序,使用正确的变量名 pw = mpcalc.precipitable_water(dewpoint, pressure) print(pw)
内容的提问来源于stack exchange,提问作者bayouwxman
相关产品推荐
相关产品推荐

