windows下没有api可以直接读grib或者grib2的数据。所以下载wgrib或者wgrib2来读grib数据。wgrib可以读grib1格式(.grb)的数据,wgrib2可以读grib2格式(.grib)的数据,根据不同格式的数据选择下载wgrib或者wgrib2
1.wgrib和wgrib2下载
- wgrib,下载地址:ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib
- wgrib2,下载地址:ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib2(64位系统用 ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib2/Windows_64/)
找到对应的版本,下载速度比较慢,请耐心等待。。。
下载完成后把所有文件放到同一个文件夹下,比如wgrib文件可以都放在wgrib文件夹下,wgrib2文件可以都放在wgrib2文件夹下
2.wgrib和wgrib2设置
wgrib和wgrib2是不需要安装的,只需要在环境变量里进行设置。
右键此电脑,点击属性
点击高级系统设置
点击环境变量
在系统变量里找到Path,点击编辑
点击新建,然后把wgrib和wgrib2的路径输入进去
3.验证是否设置成功
同时按下windows和R键,输入cmd,点击确定
输入wgrib2
显示出wgrib2的使用说明,说明设置成功
4. 读取grib和grib2数据
4.1使用wgrib/wgrib2读取数据
-else else else
-elseif_fs elif X elseif X (fixed string) conditional execution
-elseif_n elif X elseif (inv numbers in range), X=(start:end:step)
-elseif_rec elif X elseif (record numbers in range), X=(start:end:step)
-elseif_reg elif X elseif rpn registers defined, X = A, A:B, A:B:C, etc A = register number
-elseif elif X elseif X (POSIX regular expression) conditional on match
-endif endif endif
-if if X if X (POSIX regular expression), conditional execution on match
-if_fs if X if X (fixed string), conditional execution on match
-if_n if X if (inv numbers in range), X=(start:end:step)
-if_rec if X if (record numbers in range), X=(start:end:step)
-if_reg if X if rpn registers defined, X = A, A:B, A:B:C, etc A = register number
-not_if if X not_if X (regular expression), conditional execution on not match
-not_if_fs if X if X (fixed string) does not match, conditional execution up to next output/fi
-0xSec inv X Hex dump of section X (0..8)
-aerosol_size inv optical properties of an aerosol
-aerosol_wavelength inv optical properties of an aerosol
-bitmap inv bitmap mode
-center inv center
-checksum inv X CRC checksum of section X (0..8), whole message (X = -1/message) or (X=data)
-disc inv discipline (code table 0.0)
-domain inv find rectangular domain for g2ctl/GrADS plots
-end_ft inv verf time = reference_time + forecast_time + stat. proc time (YYYYMMDDHH) (same as -vt)
-end_FT inv verf time = reference_time + forecast_time + stat. proc time (YYYYMMDDHHMMSS) (same as -VT)
-ens inv ensemble information
-ext_name inv extended name, var+qualifiers
-ftime inv either ftime1 or ftime2 dep on version_ftime
-ftime1 inv forecast time
-ftime2 inv timestamp -- will replace -ftime in the future TESTING
-ftn_api_fn0 inv n npnts nx ny msg_no submsg i11,5(1x,i11)
-full_name inv extended name, var+qualifiers
-gdt inv contents of Grid Definition Template (g2c)
-get_byte inv X Y Z get bytes in Section X, Octet Y, number of bytes Z (decimal format)
-get_hex inv X Y Z get bytes in Section X, Octet Y, number of bytes Z (bytes in hexadecimal format)
-get_ieee inv X Y Z get ieee float in Section X, Octet Y, number of floats Z
-get_int inv X Y Z get 4-byte ints in Section X, Octet Y, number of ints Z
-get_int2 inv X Y Z get 2-byte ints in Section X, Octet Y, number of ints Z
-grib_max_bits inv maximum bits used in grib encoding
-grid inv grid definition
-grid_id inv show values from grid_id
-hybrid inv shows vertical coordinate parameters from Sec4
-ij inv X Y value of field at grid(X,Y) X=1,..,nx Y=1,..,ny (WxText enabled)
-ijlat inv X Y lat,lon and grid value at grid(X,Y) X=1,..,nx Y=1,..,ny (WxText enabled)
-ilat inv X lat,lon and grid value at Xth grid point, X=1,..,npnts (WxText enabled)
-JMA inv inventory for JMA locally defined PDT
-lev inv level (code table 4.5)
-ll2i inv X Y x=lon y=lat, converts to (i), 1..ndata
-ll2ij inv X Y x=lon y=lat, converts