python安裝讀取grib庫總結(推薦)


無論安裝以下哪種庫,強烈建議在新環境下安裝,之前在base環境下安裝各種報錯!!!如何在新環境下安裝可參見我之前的總結或網上其他文章。
不推薦方法
1.pygrib pygrib庫基於python2.4+、numpy、pyproj、Jasper和GRIB_API,依賴庫基於Linux或MacOS,GRIB_API將於2020年6月30日正式被ecCodes取代。因此,不推薦使用pygrib庫。 2.GDAL 可於window下安裝,安裝簡單,但是需借助wgrib2查看grib變量所在通道,因此不推薦。
推薦方法
xarray搭配cfgrib 優點:Linux windows MacOS均可用,安裝較簡單,強烈建議在新環境下安裝各所需庫 安裝步驟:
1,新建新環境 conda creat -n cfgrib_env python=3.7.0
2.啟動虛擬環境 source activate cfgrib_env
3.安裝spyder xarray eccodes cfgrib及其他所需依賴庫 ps:可用pip或conda安裝,eccodes無需配置(有些地方寫需要配置路徑)
4.在新環境下啟動spyder(base或其他環境下啟動的spyder無效) 切換到安裝路徑並執行:~/anaconda3/envs/cfgrib_env/bin$ ./spyder
5.寫入代碼
import xarray as xr
import 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庫內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM