日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

windows python读取grib2数据

發(fā)布時(shí)間:2025/7/14 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windows python读取grib2数据 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、環(huán)境準(zhǔn)備

(1)、python3環(huán)境

(2)、wgirb工具(用于讀取grib1文件),下載地址: ?ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib

(3)、wgirb2工具(用于讀取grib2文件),下載地址:ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib2

二、環(huán)境測(cè)試

工具下好了,windows下無需安裝,怎么看是否能用呢?很簡(jiǎn)答,以wgrib為例,下載好了之后在我的文件夾下是這樣的:

可以看到里面有一個(gè)應(yīng)用程序,那么從命令行進(jìn)入該文件夾下,運(yùn)行命令:wgrib.exe就可以查看一些使用幫助了,如下圖所示

可以看到很多提示信息,也就是教我們?nèi)绾问褂眠@個(gè)工具。wgrib2也是同樣的查看。

接下來就可以使用python來讀取grib1和grib2數(shù)據(jù)了(其實(shí)就是在python里面調(diào)用cmd命令而已)

三、讀取數(shù)據(jù)

grib1和grib2數(shù)據(jù)我了解不多,說錯(cuò)的地方還請(qǐng)大家指正,它們是兩種氣象數(shù)據(jù),在我看來,它相當(dāng)于一個(gè)大倉(cāng)庫(kù),里面是一個(gè)個(gè)“小房間”,每個(gè)房間都有編號(hào),每個(gè)“小房間”存放的是一個(gè)氣象變量,例如溫度、濕度、壓力等等,那么如何讀取我們需要的氣候變量呢?下面分別以grib1和grib2數(shù)據(jù)為例,來讀取溫度變量的值。二者讀取方式相似,只是使用的工具不同。

剛剛說了,每一個(gè)“小房間”存放的是一個(gè)氣象變量且“小房間”有編號(hào),那么我們有2中方法進(jìn)行讀取,一種是根據(jù)“小房間”編號(hào)進(jìn)行讀取,另一種是根據(jù)變量名稱進(jìn)行匹配讀取,一般來說后者使用的較多,畢竟使用名稱是肯定錯(cuò)不了的。下面進(jìn)行分別介紹。

1、按編號(hào)讀取

既然要根據(jù)編號(hào)讀取,那么首先要知道編號(hào)才行,還好wgrib工具中也提供了這和功能。查看“小房間”編號(hào)的代碼如下:

import os # 將當(dāng)前目錄轉(zhuǎn)到wgrib工具目錄 os.chdir("G:\mygrib\wgrib1") # 執(zhí)行cmd命令,查看各個(gè)“小房間”具體信息 os.system(r"wgrib G:\mete_data\W_NAFP_C_ECMF_20170713190330_P_C3E07131200071312001 -v")

?

運(yùn)行得到的結(jié)果如下圖所示:

?

?

?

如上圖所示,我們可以得到很多有用的信息,例如:2m高的溫度變量所在的“小房間”編號(hào)是82,接下來就可以根據(jù)這個(gè)編號(hào)82來進(jìn)行讀取2m溫度變量,讀取代碼如下:

import os # 將當(dāng)前目錄轉(zhuǎn)到wgrib工具目錄 os.chdir("G:\mygrib\wgrib1") # 執(zhí)行cmd命令,查看各個(gè)“小房間”具體信息 # os.system(r"wgrib G:\mete_data\W_NAFP_C_ECMF_20170713190330_P_C3E07131200071312001 -v") # 知道了編號(hào)82,那么就可以根據(jù)這個(gè)編號(hào)把數(shù)據(jù)讀到一個(gè)txt里面,注意:wgirb工具不支持讀到csv文件,而wgrib2工具支持 os.system("wgrib G:\mete_data\W_NAFP_C_ECMF_20170713190330_P_C3E07131200071312001 -d 82 -h -text -o 2m_tmp.txt")

讀取結(jié)果如下圖所示:

除此之外,wgrib工具還支持“變量名稱匹配讀取”,在這里就不介紹了,可以看下一部分的利用wgrib2工具進(jìn)行“變量名稱匹配讀取”二者是類似的。

2、按名稱匹配讀取

一般來說,用名稱匹配讀取這個(gè)方法的占多數(shù),因?yàn)殡m然grib文件可以看做“倉(cāng)庫(kù)”,一個(gè)個(gè)氣象變量可以看做“小房間”,但是不同的grib文件內(nèi)部的“小房間”分布可能是不一樣的,這樣的話同一氣候變量的編號(hào)也就不確定,無法單靠一個(gè)編號(hào)批量讀取很多文件。而利用名稱匹配讀取就不存在這個(gè)問題,因?yàn)闅庀笞兞康拿Q是不會(huì)變的。以讀取grib2文件里的2m處的溫度為例,這里使用wgrib2工具,wgrib2工具功能更強(qiáng)大,可以直接讀出為csv文件,代碼如下:

import os # 將當(dāng)前目錄轉(zhuǎn)到wgrib2工具目錄 os.chdir("D:\mydownload\wgrib2") # 進(jìn)行氣象變量名稱匹配,讀取2m處溫度這個(gè)氣象變量到2m_tmp.csv文件中 os.system("wgrib2 G:\mete_data\Z_NAFP_C_BABJ_20170709000000_P_CNPC-T639-GMFS-HNEHE-03900.grib2 -match ':TMP:2 m' -csv 2m_tmp.csv")

讀取結(jié)果如下圖所示:

?

csv格式的數(shù)據(jù)更便于我們處理,倒數(shù)第一列就是溫度值。

同理,其他的氣候變量同樣可以使用匹配的方式讀取出來,只是改變下代碼-match后面的氣象變量即可,大家可能會(huì)問這些氣象變量的簡(jiǎn)寫如何得知,這些都是固定的,目前為止我只用了溫度和降水,其他的我也不知道,有需要的話可以去查一查。

結(jié)束

這兩個(gè)工具的功能還有很多,目前我用到的只是一丟丟,有其他需要的童鞋可以使用wgrib.exe和wgrib2.exe命令來進(jìn)行查看幫助,發(fā)掘更多功能。在linux下同樣可以使用這兩個(gè)工具進(jìn)行讀取,只是在安裝和命令上有一點(diǎn)小小的差異,大家感興趣的可以一起討論下,水平有限,肯定有寫的不對(duì)的地方,歡迎指正!

總結(jié)

以上是生活随笔為你收集整理的windows python读取grib2数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。