我正在尝试使用metpy.calc 函数,但是每次我尝试使用metpy.units 分配单位时,它都不会运行。如果我允许它会坐在那里继续运行几个小时。过去,metpy 函数在使用相同数据集时对我来说工作得非常好,但由于某种原因将不再工作。我已经尝试更新metpy和spyder,并且还使用了多台笔记本电脑以确保它不仅仅发生在一台笔记本电脑上。我还尝试了 metapy.units 两种不同的方式。它使用单位('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)