Python metpy.units函数是否存在问题?

Python metpy.units函数是否存在问题?,python,metpy,Python,Metpy,我正在尝试使用metpy.calc函数,但是每次尝试使用metpy.units分配单位时,它都不会运行。如果我允许的话,它会坐在那里继续运行数小时。metpy函数在过去使用相同的数据集时对我来说工作得非常好,但由于某些原因将不再工作。我尝试过更新metpy和spyder,还使用了多台笔记本电脑来确保它不会只发生在一台电脑上。我还尝试了两种不同的方法。它使用单位(“kg/kg”)运行,但实际上不会将单位分配给阵列。你有没有想过如何让它发挥作用 这是我的代码: import numpy as np

我正在尝试使用metpy.calc函数,但是每次尝试使用metpy.units分配单位时,它都不会运行。如果我允许的话,它会坐在那里继续运行数小时。metpy函数在过去使用相同的数据集时对我来说工作得非常好,但由于某些原因将不再工作。我尝试过更新metpy和spyder,还使用了多台笔记本电脑来确保它不会只发生在一台电脑上。我还尝试了两种不同的方法。它使用单位(“kg/kg”)运行,但实际上不会将单位分配给阵列。你有没有想过如何让它发挥作用

这是我的代码:

import numpy as np 
import matplotlib.pyplot as plt
from netCDF4 import Dataset
import metpy
import metpy.calc as mpcalc
from metpy.units import units

f = Dataset('C:/Users/hkenward/Desktop/MS/cm1out.nc', mode = 'r', format="NETCDF4")
mrv=f.variables['qv'][:]
pt=f.variables['th'][:]
p=f.variables['prs'][:]
p=p/100.
mrv=mrv*units('kg/kg')
p=p * units.hPa
pt=pt*units.kelvin

e=mpcalc.vapor_pressure(p,mrv)
Td=mpcalc.dewpoint(e)
T=mpcalc.temperature_from_potential_temperature(p, pt)
Te=mpcalc.equivalent_potential_temperature(p, T, Td)

metpy.calc
metpy.units
对我来说很好():

输出

0.014524968314683053 kilogram / meter ** 3

这是一个与Pint单元框架(MetPy使用)和屏蔽阵列(netCDF4-python默认情况下所使用的)的兼容性问题。最简单的解决方法是将左侧的单位相乘,如:

pt = units.kelvin * pt

这使一切顺利。希望通过使用像Xarray这样的东西,这样的事情将来会变得更好。

这里的“完全破坏我的脚本”是什么意思?你的密码是什么?你的错误是什么?你能发布失败的代码吗?这是找出问题所在的必要条件。
pt = units.kelvin * pt