不管安装如下哪一种库,强烈建议在新环境下安装,以前在base环境下安装各类报错!!!如何在新环境下安装可参见我以前的总结或网上其余文章。python
不推荐方法windows
1.pygribpygrib库基于python2.4+、numpy、pyproj、Jasper和GRIB_API,依赖库基于Linux或MacOS,GRIB_API将于2020年6月30日正式被ecCodes取代。所以,不推荐使用pygrib库。2.GDAL可于window下安装,安装简单,可是需借助wgrib2查看grib变量所在通道,所以不推荐。ide
推荐方法ui
xarray搭配cfgrib优势:Linux windows MacOS都可用,安装较简单,强烈建议在新环境下安装各所需库安装步骤:spa
1,新建新环境 conda creat -n cfgrib_env python=3.7.0code
2.启动虚拟环境 source activate cfgrib_envip
3.安装spyder xarray eccodes cfgrib及其余所需依赖库 ps:可用pip或conda安装,eccodes无需配置(有些地方写须要配置路径)ci
4.在新环境下启动spyder(base或其余环境下启动的spyder无效) 切换到安装路径并执行:~/anaconda3/envs/cfgrib_env/bin$ ./spyderget
5.写入代码it
import xarray as xrimport cfgrib ds = xr.open_dataset('/1.grib2',engine='cfgrib')
提示错误:
DatasetBuildError: multiple values for unique key, try re-open the file with one of: filter_by_keys={'typeOfLevel': 'unknown'} filter_by_keys={'typeOfLevel': 'surface'} filter_by_keys={'typeOfLevel': 'isobaricInhPa'} filter_by_keys={'typeOfLevel': 'meanSea'} filter_by_keys={'typeOfLevel': 'depthBelowLandLayer'} filter_by_keys={'typeOfLevel': 'heightAboveGround'} filter_by_keys={'typeOfLevel': 'heightAboveGroundLayer'} filter_by_keys={'typeOfLevel': 'tropopause'} filter_by_keys={'typeOfLevel': 'maxWind'} filter_by_keys={'typeOfLevel': 'heightAboveSea'} filter_by_keys={'typeOfLevel': 'isothermZero'} filter_by_keys={'typeOfLevel': 'pressureFromGroundLayer'} filter_by_keys={'typeOfLevel': 'sigmaLayer'} filter_by_keys={'typeOfLevel': 'sigma'} filter_by_keys={'typeOfLevel': 'potentialVorticity'}
莫慌!!!这是由于目前cfgrib库没法同时读取多个typeOfLevel,所以咱们只须要根据提示筛选咱们须要的数据就好了。原程序添加所需数据为:
ds = xr.open_dataset('/1.grib2',engine='cfgrib',backend_kwargs={'filter_by_keys':{'typeOfLevel': 'surface'}})
所需变量为:ds.变量名
折腾了好几天,作其余事情都心不在焉,搞出来一身轻~~~
总结
到此这篇关于python安装读取grib库总结的文章就介绍到这了,更多相关python安装读取grib库内容请搜索之前的文章或继续浏览下面的相关文章但愿你们之后多多支持!