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