unrecognized engine cfgrib must be one of: [‘netcdf4‘, ‘scipy‘, ‘rasterio‘, ‘store‘]

原本年初稀里糊涂研究一通,能用python读grib2文件了,但是10月份python被我玩崩了,不会解决,就删除重下了新的anaconda,至此开始遇到各种奇怪的问题,比如现在遇到的这个运行过去读取grib2文件的代码会报错。

这里附上读取grib2文件的代码和报错截图:

import xarray as xr

filein = "D:\\apps\\baidu\\BaiduNetdiskDownload\\gfs.0p25.2023070300.f000.grib2"
data = xr.open_dataset(filein, engine='cfgrib', 
                       backend_kwargs={'filter_by_keys':{'typeOfLevel': 'isobaricInhPa','level':500}})
z500 = data['gh']
t500 = data['t']
lon = data.variables['longitude'][::]
lat = data.variables['latitude'][::]

print(z500)

看了一下午各种帖子没找到好的解决方法,我猜测了一下觉得还是因为我新下的python版本过高(3.12),因此创建了一个3.8版本的虚拟环境。

创建虚拟环境

 conda create -n grib2s1 python==3.8

激活虚拟环境

conda activate grib2s1

安装xarray

pip install xarray

安装eccodes

conda install -c conda-forge eccodes

安装cfgrib

conda install cfgrib

好了,现在让我们运行一下上面的代码:

可以看到已经读取到了我命名的变量z500,折磨了我一下午的问题就愉快地解决啦!

下面附上这个虚拟环境应用到的库的版本号,如果就想在基础环境中下载的话,也可以尝试一下傻瓜方式,我在另一个库版本对应不上的时候选择了这种傻瓜方式是可以的,这里没有尝试——按照现在这个虚拟环境中各个库的版本号挨个下载应该也可以解决这个问题。

(grib2s1) PS C:\Users\17745> conda list
# packages in environment at D:\python anacond new\envs\grib2s1:
#
# Name                    Version                   Build  Channel
attrs                     24.2.0           py38haa95532_0
blas                      1.0                         mkl
blosc                     1.21.6               hfd34d9b_1    conda-forge
bottleneck                1.3.7            py38h9128911_0
bzip2                     1.0.8                h2466b09_7    conda-forge
ca-certificates           2024.12.14           h56e8100_0    conda-forge
cffi                      1.17.1           py38h827c3e9_0
cfgrib                    0.9.14.1           pyhd8ed1ab_0    conda-forge
click                     8.1.7            py38haa95532_0
colorama                  0.4.6            py38haa95532_0
eccodes                   2.39.0               h49d5f8d_1    conda-forge
findlibs                  0.0.5              pyhd8ed1ab_0    conda-forge
freeglut                  3.2.2                he0c23c2_3    conda-forge
hdf4                      4.2.15               h5557f11_7    conda-forge
hdf5                      1.14.4          nompi_hd5d9e70_105    conda-forge
intel-openmp              2023.1.0         h59b6b97_46320
jasper                    4.2.4                hcb1a123_0    conda-forge
krb5                      1.21.3               hdf4eb48_0    conda-forge
libaec                    1.1.3                h63175ca_0    conda-forge
libcurl                   8.11.1               h88aaa65_0    conda-forge
libffi                    3.4.2                h8ffe710_5    conda-forge
libiconv                  1.17                 hcfcfb64_2    conda-forge
libjpeg-turbo             3.0.0                hcfcfb64_1    conda-forge
liblzma                   5.6.3                h2466b09_1    conda-forge
liblzma-devel             5.6.3                h2466b09_1    conda-forge
libnetcdf                 4.9.2           nompi_h5bdc103_116    conda-forge
libpng                    1.6.44               h3ca93ac_0    conda-forge
libsqlite                 3.47.2               h67fdade_0    conda-forge
libssh2                   1.11.1               he619c9f_0    conda-forge
libxml2                   2.13.5               he286e8c_1    conda-forge
libzip                    1.11.2               h3135430_0    conda-forge
libzlib                   1.3.1                h2466b09_2    conda-forge
lz4-c                     1.10.0               h2466b09_1    conda-forge
mkl                       2023.1.0         h6b88ed4_46358
mkl-service               2.4.0            py38h2bbff1b_1
mkl_fft                   1.3.8            py38h2bbff1b_0
mkl_random                1.2.4            py38h59b6b97_0
numexpr                   2.8.4            py38h7b80656_1
numpy                     1.24.4                   pypi_0    pypi
numpy-base                1.24.3           py38h8a87ada_1
openssl                   3.4.0                h2466b09_0    conda-forge
packaging                 24.2                     pypi_0    pypi
pandas                    2.0.3            py38h4ed8f06_0
pip                       24.2             py38haa95532_0
pycparser                 2.21               pyhd3eb1b0_0
python                    3.8.20          hfaddaf0_2_cpython    conda-forge
python-dateutil           2.9.0post0       py38haa95532_2
python-eccodes            1.7.1            py38haf47d59_0    conda-forge
python-tzdata             2023.3             pyhd3eb1b0_0
python_abi                3.8                      5_cp38    conda-forge
pytz                      2024.2                   pypi_0    pypi
setuptools                75.1.0           py38haa95532_0
six                       1.17.0                   pypi_0    pypi
snappy                    1.2.1                h500f7fa_1    conda-forge
sqlite                    3.45.3               h2bbff1b_0
tbb                       2021.8.0             h59b6b97_0
tk                        8.6.13               h5226925_1    conda-forge
tzdata                    2024.2                   pypi_0    pypi
ucrt                      10.0.22621.0         h57928b3_1    conda-forge
vc                        14.40                haa95532_2
vc14_runtime              14.42.34433         he29a5d6_23    conda-forge
vs2015_runtime            14.42.34433         hdffcdeb_23    conda-forge
wheel                     0.44.0           py38haa95532_0
xarray                    2023.1.0                 pypi_0    pypi
xz                        5.6.3                h208afaa_1    conda-forge
xz-tools                  5.6.3                h2466b09_1    conda-forge
zlib                      1.3.1                h2466b09_2    conda-forge
zstd                      1.5.6                h0ea2cb4_0    conda-forge
(grib2s1) PS C:\Users\17745> pip list
Package         Version
--------------- -----------
attrs           24.2.0
Bottleneck      1.3.7
cffi            1.17.1
cfgrib          0.9.14.1
click           8.1.7
colorama        0.4.6
eccodes         1.7.1
findlibs        0.0.5
mkl-fft         1.3.8
mkl-random      1.2.4
mkl-service     2.4.0
numexpr         2.8.4
numpy           1.24.3
packaging       24.1
pandas          2.0.3
pip             24.2
pycparser       2.21
python-dateutil 2.9.0.post0
pytz            2024.1
setuptools      75.1.0
six             1.16.0
tzdata          2023.3
wheel           0.44.0
xarray          2022.11.0

以上主要参考的帖子:

Windows下xarray+cfgrib读取grib文件

ananconda环境下eccodes和cfgrib的安装

读nc文件显示是GRIB文件解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值