我想使用metpyERA5 每小时再分析数据来计算近地表(即 2m)比湿度。我metpy昨天刚刚通过 pip 在本地安装,所以我假设我的代码是最新的。我的问题是我不断遇到以下错误。
这是我目前的代码:
# import modules
import numpy as np
import xarray as xr
from metpy.units import units
import metpy.calc as mpcalc
# read data
d2m = xr.open_dataset('netcdf/ERA5_dewpt2m_1992.nc')
sp = xr.open_dataset('netcdf/ERA5_pres_1992.nc')
# assign units (approach 1)
#d2m = d2m*units.kelvin
#sp = sp*units.pascal
# assign units (approach 2)
d2m = units.Quantity(d2m, "kelvin")
sp = units.Quantity(sp, "pascal")
# calculate specific humidity
aqh2m = mpcalc.specific_humidity_from_dewpoint(sp, d2m)
Run Code Online (Sandbox Code Playgroud)
如果我忽略“单位”步骤,那么该函数当然会抱怨缺少单位。请注意,我尝试了两种不同的方法来处理上面的单元,但它们都不起作用。
如果我尝试这种方法:
# assign units (approach 1)
d2m = d2m*units.kelvin …Run Code Online (Sandbox Code Playgroud) 在完成 MetPy 横截面示例后,我尝试将该示例推广到 NCEP NAM-12km GRIB2 文件,但没有成功。通过将我的文件的 DataArray 与示例文件(netCDF 文件)进行比较,我发现 xarray.open_dataset() 没有生成 x 和 y 坐标。它也没有在输入 GRIB 文件中找到足够的信息来生成 metpy_crs 坐标。我尝试将 GRIB 文件转换为 netCDF,但这并没有解决问题。
即使将输入文件视为非 CF 投诉,我发现我无法分配 x 和 y 坐标。通过检查横截面示例中使用的 netCDF 文件,可以清楚地看到 x 和 y 数组表示具有 GeoX 和 GeoY 坐标轴类型的空间网格。然而,我不清楚如何为我的文件创建类似的数组。
纬度和经度数组不适合尝试手动折叠它们(例如选择沿行的纬度模式,这是我创建适当的坐标向量的尝试。)
对于解决此问题的一些帮助将不胜感激。谢谢你!
以下是我正在运行的代码。
import sys
# pygrib is installed to the "herbie" environment, so we add the path
# to this so we can load those packages. Pygrib is used to get the
# complete set of keys …Run Code Online (Sandbox Code Playgroud) 我是 python 新手,并尝试使用 xarray 运行 Metpy 教程,之前没问题,但在我将 xarray 更新到新版本后,它显示错误
我尝试在 anaconda 提示符中创建另一个环境,并安装包括 metpy 在内的每个模块(xarray 已包含在内)
import metpy
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-1-4fe739b01247> in <module>
----> 1 import metpy
C:\ProgramData\Anaconda3\envs\cobaxarray\lib\site-packages\metpy\__init__.py in <module>
13
14 from ._version import get_versions # noqa: E402
---> 15 from .xarray import * # noqa: F401, F403
16 __version__ = get_versions()['version']
17 del get_versions
C:\ProgramData\Anaconda3\envs\cobaxarray\lib\site-packages\metpy\xarray.py in <module>
11
12 import xarray as xr
---> 13 from xarray.core.accessors import DatetimeAccessor
14 from xarray.core.indexing import expanded_indexer …Run Code Online (Sandbox Code Playgroud)