气象数据grib/grib2的处理方法汇总
目錄
0、前言
1、wgrib軟件
2、matlab中的nctoolbox工具箱
??3、使用python中的pygrib模塊
?4、使用python中的xarray、cfgrib模塊
?5、使用cdo工具
0、前言
????????之前接觸的數(shù)據(jù)格式大都是nc格式,使用matlab和python都比較熟悉怎么讀取,進行數(shù)據(jù)處理工作。最近發(fā)現(xiàn)氣象數(shù)據(jù)中格式很多采用grib\grib2格式。以下是對grib\grib2格式數(shù)據(jù)處理進行的總結。
1、wgrib軟件
????????首先是windows下的wgrib軟件。下載軟件解壓縮,將其添加至環(huán)境變量中。下載地址【鏈接:https://pan.baidu.com/s/1JReRhtB3PgfpqYVtV9PS2Q 提取碼:1111】。
? ? ? ? 打開命令行窗口,輸入wgrib2查看,結果如下,表明加載成功。
? ? ? ? ?使用wgrib2 gribfilename -netcdf ncfilename,將數(shù)據(jù)全部轉(zhuǎn)換為nc格式進行處理。
? ? ? ? 當grib文件中數(shù)據(jù)過多,而我們只需要其中部分數(shù)據(jù)時,可以通過wgirb2 gribfilename -v查看文件中變量信息,通過wgrib2 gribfilename -match varname? -netcdf ncfilename匹配變量并進行格式轉(zhuǎn)換。或者?通過wgrib2 gribfilename -match varname? -csv csvfilename將文件轉(zhuǎn)換為csv格式。
2、matlab中的nctoolbox工具箱
? ? ? ? 習慣使用matlab的,可以下載nctoolbox第三方工具箱,【地址:https://code.google.com/archive/p/nctoolbox/downloads】。這里可能出現(xiàn)的問題時版本不匹配,我下載了最新的nctoolbox版本,matlab版本如下,會出現(xiàn)錯誤使用ncdataset的報錯信息。
????????改用nctoolbox-20121106版本后,運行成功。讀取的數(shù)據(jù)存儲在結構體中,用{}索引后即可使用切片提取所需要區(qū)域、高度的數(shù)據(jù)。
?3、使用python中的pygrib模塊
? ? ? ? 安裝、導入pygrib模塊。使用data = pygrib.open(gribfilename)打開文件,使用var = data.select(name=" ",typeOfLevle=" ",level=" ")獲取想要的特定層的變量數(shù)據(jù)。
? ? ? ? 最后使用 data,lats,lons = var.data(lat1=min(lat),lat2=max(lat),lon1=min(lon),lon2=max(lon))切取特定區(qū)域的數(shù)據(jù)。
?4、使用python中的xarray、cfgrib模塊
? ? ? ? 使用方法與pygrib模塊類似。
?5、使用cdo工具
? ? ? ? 使用ncl中的cdo工具切取指定區(qū)域、高度、的變量信息。
? ? ? ? ?可能數(shù)據(jù)量太大了?在服務器采用cdo工具對獲取變量信息寫入nc文件,速度比較慢。處理ECMWF的7天降水預報數(shù)據(jù),[3:3:72,78:6:168],共40個時刻,差不多兩天能處理一個月,40*30=1200個文件。
?
?
總結
以上是生活随笔為你收集整理的气象数据grib/grib2的处理方法汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 参加校招面试测试岗位一次次被刷,耗时一个
- 下一篇: CentOS7环境下MySQL踩坑记