不管安裝如下哪一種庫,強烈建議在新環境下安裝,以前在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庫內容請搜索之前的文章或繼續瀏覽下面的相關文章但願你們之後多多支持!