标签: metpy

使用metpy计算比湿度时出错

我想使用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)

python netcdf python-xarray metpy era5

4
推荐指数
2
解决办法
1170
查看次数

无法将 y 和 x 坐标分配给 xarray.DataArray

在完成 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

4
推荐指数
1
解决办法
708
查看次数

ModuleNotFoundError:没有名为“xarray.core.accessors”的模块

我是 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)

python python-3.x python-xarray metpy

1
推荐指数
1
解决办法
8370
查看次数

标签 统计

metpy ×3

python-xarray ×3

python ×2

era5 ×1

netcdf ×1

python-3.x ×1