日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

美国gfs数据介绍和解析

發(fā)布時間:2023/12/31 综合教程 45 生活家
生活随笔 收集整理的這篇文章主要介紹了 美国gfs数据介绍和解析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近有個項目需要開發(fā)個氣象信息API,可以通過經(jīng)緯度查找未來幾天的氣象信息。

經(jīng)過幾天的研究,現(xiàn)在簡單總結(jié)一下。

1、數(shù)據(jù)來源
數(shù)據(jù)來源采自美國國家環(huán)境預(yù)報中心的GFS(全球預(yù)報系統(tǒng)),該系統(tǒng)每天發(fā)布4次全球范圍的氣象數(shù)據(jù),分辨率最高可達(dá)到0.25° x 0.25°,精度還是比較可觀的。

2、數(shù)據(jù)下載
GFS數(shù)據(jù)提供FTP下載方式:http://www.ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/

每次發(fā)布的數(shù)據(jù)保存在命名為gfs.YYYYMMDDHH的文件夾中。本次需要的數(shù)據(jù)精度為0.25°(0p25),所以數(shù)據(jù)的文件名為:gfs.t{HH}z.pgrb2.0p25.f{XXX}

其中HH表示發(fā)布的時間,XXX表示未來幾小時的預(yù)報數(shù)據(jù)。例如gfs.t00z.pgrb2.0p25.f001 表示0時發(fā)布的未來1小時氣象數(shù)據(jù)信息。

那么問題來了,這個文件太大了,因為分辨率比較高,每個文件高達(dá)200多MB,不僅下載速度慢,處理慢,對存儲空間也是一個考驗。

于是找到了一個可以在線過濾要下載數(shù)據(jù)的地址:

http://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p25.pl

這個網(wǎng)站允許用戶僅下載過濾后的文件,并提供下載網(wǎng)址,這樣文件就會小很多。

例如,在本項目中,僅需要下載降雨數(shù)據(jù)(PWAT),并且經(jīng)緯度范圍為特定區(qū)域,每次發(fā)布的數(shù)據(jù)全部下載下來也才8M多點。

3、wgrib2
GFS的數(shù)據(jù)格式為GRIB,那么什么是GRIB呢? 官方的解釋如下:

GRIB is a WMO format for gridded data. GRIB is used by the operational meteorological centers for storage and the exchange of gridded fields. GRIB's major advantages are files are typically 1/2 to 1/3 of the size of normal binary files (floats), the fields are self describing, and GRIB is an open, international standard.

那么要想獲得GRIB文件中的數(shù)據(jù),則需要用到一個軟件wgrib2,,該軟件在ncep網(wǎng)站上提供源碼下載,可以很方便的在Linux下使用gcc進(jìn)行編譯。

以CentOS為例,需要首先安裝gcc和gfortran編譯器。

# yum install gcc
# yum install gcc-gfortran

然后就可以下載并安裝wgrib2了。

1) Download ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib2/wgrib2.tgz
2) untar wgrib2.tgz: tar -xzvf wgrib2.tgz (use gnu tar)
3) cd to main directory: cd grib2
4) define the C and fortran compilers and make
Bash:
export CC=gcc
export FC=gfortran
make
make lib only if you want the ftn_api
Csh
setenv CC gcc
setenv FC gfortran
make
make lib only if you want the ftn_api
5) See if wgrib2 was compiled
wgrib2/wgrib2 -config

需要注意的是,wgrib2以插件的形式提供了mysql入庫功能,但是需要在make之前編輯"makefile" 文件以標(biāo)記使用MYSQL(USE_MYSQL=1)。

另外,在編譯的過程中會用到/usr/local/include的頭文件,如果安裝MySQL插件還需要安裝下yum install mysql-devel。

安裝后就可以體驗下wgrib2的解壓并入庫功能了。

4、使用wgrib2解壓文件并load進(jìn)mysql數(shù)據(jù)庫
使用wgrib2裝載數(shù)據(jù)庫,首先要創(chuàng)建對應(yīng)的數(shù)據(jù)庫表
create table wgrib2 (rt datetime, vt datetime, lat double, lon double, param varchar(80), level varchar(30), value double);

這里各列的含義如下:
rt: run time
vt: valid time
lat: latitude
lon: longitude
param: parameter
level: level/layer
value: value

命令也很簡單:
# ./wgrib2 gfs.2017061900/gfs.t00z.pgrb2.1p00.f000 -if ":PWAT" -mysql <server_ip> <username> <password> <dbname> <tablename>

該命令會將文件中的全部PWAT數(shù)據(jù)放到對應(yīng)的表中。

有了以上基礎(chǔ),就可以寫個腳本每天自動化下載并保存GFS數(shù)據(jù)到我們的數(shù)據(jù)庫了。

總結(jié)

以上是生活随笔為你收集整理的美国gfs数据介绍和解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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