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 lon-lat to (i,j) using gctpc-lon             inv   X Y    value at grid point nearest lon=X lat=Y (WxText enabled)-match_inv       inv          inventory used by -match, -not, -if and -not_if-Match_inv       inv          same as -match_inv except d=YYYYMMDDHH <-> D=YYYYMMDDHHmmss-max             inv          print maximum value-min             inv          print minimum value-misc            inv          variable name qualifiers like chemical, ensemble, probability, etc-MM              inv          reference time MM-model_version_date inv          prints model date code-n               inv          prints out inventory number-N_ens           inv          number of ensemble members-nl              inv          inserts new line into inventory-nlons           inv          number of longitudes for each latitude-npts            inv          number of grid points-nxny            inv          nx and ny of grid-packing         inv          shows the packing mode (use -v for more details)-pdt             inv          Product Definition Table (Code Table 4.0)-precision       inv          precision of packing-print           inv   X      inserts string (X) into inventory-prob            inv          probability information-process         inv          Process (code table 4.3)-processid       inv          process id (locally defined)-proj4_ij2ll     inv   X Y    X=x Y=y, converts to (i,j) to lon-lat using proj.4 (experimental) we:sn-proj4_ll2i      inv   X Y    x=lon y=lat, converts to (i) using proj.4 (experimental) 1..ndata-proj4_ll2ij     inv   X Y    x=lon y=lat, converts lon-lat (i,j) using proj.4 (experimental)-radius          inv          radius of Earth-range           inv          print out location of record in bytes, 0 = first byte-RT              inv          type of reference Time-s               inv          simple inventory-S               inv          simple inventory with minutes and seconds (subject to change)-s2              inv          simple inventory .. for testing ftime2-scale           inv          scale for packing-scaling         inv          scaling for packing (old format)-scan            inv          scan order of grid-Sec_len         inv          length of various grib sections-Sec0            inv          contents of section0-Sec3            inv          contents of section 3 (Grid Definition Section)-Sec4            inv          Sec 4 values (Product definition section)-Sec5            inv          Sec 5 values (Data representation section)-Sec6            inv          show bit-map section-spatial_proc    inv          show spacial processing, pdt=4.15-spectral_bands  inv          spectral bands for satellite, pdt=4.31 or 4.32-start_ft        inv          verf time = reference_time + forecast_time (YYYYMMDDHH) : no stat. proc time-start_FT        inv          verf time = reference_time + forecast_time (YYYYMMDDHHMMSS) - no stat. proc time-stats           inv          statistical summary of data values-subcenter       inv          subcenter-t               inv          reference time YYYYMMDDHH, -v2 for alt format-T               inv          reference time YYYYMMDDHHMMSS-table           inv          parameter table-timer           inv          reads OpenMP timer-unix_time       inv          print unix timestamp for rt & vt-V               inv          diagnostic output-var             inv          short variable name-varX            inv          raw variable name - discipline mastertab localtab center parmcat parmnum-vector_dir      inv          grid or earth relative winds-verf            inv          simple inventory using verification time-vt              inv          verf time = reference_time + forecast_time, -v2 for alt format-VT              inv          verf time = reference_time + forecast_time (YYYYMMDDHHMMSS)-warn_old_g2     inv          warn if old g2lib would have problem-wave_partition  inv          ocean surface wave partition (pdt=4.52)-YY              inv          reference time YYYY-inv_f77         inv>  X Y Z  match inventory written to Z with character*(Y) and X=(bin,ieee)-last            inv>  X      write last inv item to file X-last0           inv>  X      write last inv item to beginning of file X-nl_out          inv>  X      write new line in file X-print_out       inv>  X Y    prints string (X) in file (Y)-s_out           inv>  X      simple inventory written to X-big_endian      misc         sets ieee output to big endian (default is big endian)-box_ave         misc  X Y Z  box average X=odd integer (lon) Y=odd integer (lat) critical_weight-colon           misc  X      replace item deliminator (:) with X-config          misc         shows the configuration-count           misc         prints count, number times this -count was processed-end             misc         stop after first (sub)message (save time)-error_final     misc  X Y Z  error if at end X=count Y=ne,eq,le,lt,gt,ge Z=integer-fix_CFSv2_fcst  misc  X Y Z  fixes CFSv2 monthly fcst X=daily or 00/06/12/18 Y=pert no. Z=number ens fcsts v1.0-fix_ncep        misc         fix ncep PDT=8 headers produced by cnvgrib-gctpc           misc  X       X=0,1 use gctpc library (default=1)-grid_changes    misc         prints number of grid changes-grid_def        misc         read lon and lat data from grib file -- experimental-h               misc         help, shows common options-header          misc         f77 header or nx-ny header in text output (default)-help            misc  X      help [search string|all], -help all, shows all options-ijundefine      misc  X Y Z  sets grid point values to undefined X=(in-box|out-box) Y=ix0:ix1 Z=iy0:iy1 ix=(1..nx) iy=(1..ny)-import_bin      misc  X      read binary file (X) for data-import_grib     misc  X      read grib2 file (X) for data-import_grib_fs  misc  X Y    read grib2 file (Y) sequentially for record that matches X (fixed string)-import_ieee     misc  X      read ieee file (X) for data-import_netcdf   misc  X Y Z  TESTING X=file Y=var Z=hyper-cube specification-import_text     misc  X      read text file (X) for data-limit           misc  X      stops after X fields decoded-little_endian   misc         sets ieee output to little endian (default is big endian)-mem_del         misc  X      delete mem file X-mem_final       misc  X Y    write mem file X to file Y at cleanup step-mem_init        misc  X Y    read mem file X from file Y (on initialization)-ndate           misc  X Y    X=date Y=dt print date + dt-ndates          misc  X Y Z  X=date0 Y=(date1|dt1) Z=dt2 for (date=date0; date<(date1|date0+dt1); date+=dt2) print date-ndates_fmt      misc  X      X = C format for ndates option-new_grid_interpolation misc  X      new_grid interpolation X=bilinear,bicubic,neighbor,budget-new_grid_ipopt  misc  X      new_grid ipopt values X=i1:i2..:iN N <= 20-new_grid_vectors misc  X      change fields to vector interpolate: X=none,default,UGRD:VGRD,(U:V list)-new_grid_winds  misc  X      new_grid wind orientation: X = grid, earth (no default)-no_header       misc         no f77 header or nx-ny header in text output-proj4           misc  X      X=0,1 use proj4 library for geolocation (testing)-rewind_final    misc  X      rewinds file X on cleanup step if already opened, CW2-rewind_proc     misc  X      rewinds file X on processing step if already opened, CW2-rpn             misc  X      reverse polish notation calculator-rpn_rcl         misc  X      data = register X .. same as -rpn rcl_X .. no geolocation calc needed-rpn_sto         misc  X      register X = data.. same as -rpn sto_X .. no geolocation calc needed-scaling_0001    misc         changes scaling testing (sample)-set             misc  X Y    set X = Y, X=local_table,etc (help: -set help help)-set_ave         misc  X      set ave/acc .. only use on pdt=4.0/4.8 (old code)-set_bin_prec    misc  X      X use X bits and ECMWF-style grib encoding-set_bitmap      misc  X      use bitmap when creating complex packed files X=1/0-set_byte        misc  X Y Z  set bytes in Section X, Octet Y, bytes Z (a|a:b:c)-set_date        misc  X      changes date code, X=(+|-)N(hr|dy|mo|yr), YYYYMMDDHHmmSS-set_ens_num     misc  X Y Z  convert PDT 0,1 -> 1, 8,11 -> 11, X=code table 4.6 Y=pert num Z=num ens members -1=No Change-set_ensm_derived_fcst misc  X Y    convert PDT 0,1,2 -> 2, 8,11,12 -> 12, X=code table 4.7 Y=num ens members-set_ftime       misc  X      either set_ftime1 or set_ftime2 dep on version_ftime-set_ftime1      misc  X      set ftime-set_ftime2      misc  X      set ftime2 .. will be replace -set_ftime/ave in the future -- TESTING ----set_grib_max_bits misc  X      sets scaling so number of bits does not exceed N in (new) grib output-set_grib_type   misc  X      set grib type = jpeg, simple, ieee, complex(1|2|3), aec, same-set_hex         misc  X Y Z  set bytes in Section X, Octet Y, bytes Z (a|a:b:c|abc) in hexadecimal-set_ieee        misc  X Y Z  set ieee float in Section X, Octet Y, floats Z (a|a:b:c)-set_ijval       misc  X Y Z  sets grid point value X=ix Y=iy Z=val-set_int         misc  X Y Z  set 4-byte ints in Section X, Octet Y, signed integers Z (a|a:b:c)-set_int2        misc  X Y Z  set 2-byte ints in Section X, Octet Y, signed integers Z (a|a:b:c)-set_ival        misc  X Y    sets grid point value X=i1:i2:.. Y=va1:val2:.. grid[i1] = val1,etc-set_lev         misc  X      changes level code .. not complete-set_metadata    misc  X      read meta-data for grib writing from file X-set_metadata_str misc  X      X = metadata string-set_pdt         misc  X      makes new pdt, X=(+)PDT_number or X=(+)PDT_number:size of PDT in octets, +=copy metadata-set_percentile  misc  X      convert PDT 0..6 -> 6, 8..15 -> 10, X=percentile (0..100)-set_prob        misc  5 args X/Y forecasts Z=Code Table 4.9 A=lower limit B=upper limit-set_radius      misc  X      set radius of Earth X= 0,2,4,5,6,8,9 (Code Table 3.2), 1:radius , 7:major:minor-set_scaling     misc  X Y    set decimal scaling=X/same binary scaling=Y/same new grib messages-set_sec_size    misc  X Y    resizes section , X=section number, Y=size in octets, DANGEROUS-set_ts_dates    misc  X Y Z  changes date code for time series X=YYYYMMDDHH(mmss) Y=dtime Z=#msgs/date-set_var         misc  X      changes variable name-start_timer     misc         starts OpenMP timer-status          misc  X      X X=file-submsg          misc  X      process submessage X (0=process all messages)-sys             misc  X      run system/shell command, X=shell command-text_col        misc  X      number of columns on text output-text_fmt        misc  X      format for text output (C)-udf             misc  X Y    run UDF, X=program+optional_args, Y=return file-udf_arg         misc  X Y    add grib-data to UDF argument file, X=file Y=name-undefine        misc  X Y Z  sets grid point values to undefined X=(in-box|out-box) Y=lon0:lon1 Z=lat0:lat1-undefine_val    misc  X      grid point set to undefined if X=val or X=low:high-v               misc         verbose (v=1)-v0              misc         not verbose (v=0)-v2              misc         really verbose (v=2)-version         misc         print version--version        misc         print version-AAIG            out          writes Ascii ArcInfo Grid file, lat-lon grid only (alpha)-AAIGlong        out          writes Ascii ArcInfo Grid file, lat-lon grid only long-name *.asc (alpha)-ave             out   X Y    average X=time step Y=output v2-ave_var         out   X Y    average/std dev/min/max X=time step, Y=output-ave0            out   X Y    average X=time step, Y=output grib file needs file is special order-bin             out   X      write binary data to X-cress_lola      out   X..Z,A lon-lat grid values X=lon0:nlon:dlon Y=lat0:nlat:dlat Z=file A=radius1:radius2:..:radiusN-csv             out   X      make comma separated file, X=file (WxText enabled)-csv_long        out   X      make comma separated file, X=file (WxText enabled)-cubeface2global out   X Y    write faces X as global cubed grid to Y: X=list of faces to exclude-ens_processing  out   X Y    ave/min/max/spread X=output Y=future use-fcst_ave        out   X Y    average X=time step Y=output v2-fcst_ave0       out   X Y    average X=time step, Y=output grib file needs file is special order-fi              out          depreceated-grib            out   X      writes GRIB record (one submessage) to X-GRIB            out   X      writes entire GRIB record (all submessages)-grib_ieee       out   X      writes data[] to X.grb, X.head, X.tail, and X.h-grib_out        out   X      writes decoded/modified data in grib-2 format to file X-grib_out_irr    out   X Y    writes irregular grid grib (GDT=130 not adopted) X=(all|defined) Y=(output file)-grib_out_irr2   out   5 args writes irregular grid grib GDT 101 X=npnts Y=grid_no Z=grid_ref A=UUID B=(output file)-gridout         out   X      text file with grid: i j lat lon (1st record)-ieee            out   X      write (default:big-endian) IEEE data to X-ijbox           out   X..Z,A grid values in bounding box X=i1:i2[:di] Y=j1:j2[:dj] Z=file A=[bin|text|spread]-ijsmall_grib    out   X Y Z  make small domain grib file X=ix0:ix1 Y=iy0:iy1 Z=file-irr_grid        out   X Y Z  make irregular grid (GDT=130 not adopted), nearest neighbor, X=lon-lat list Y=radius (km) Z=output grib file-lola            out   X..Z,A lon-lat grid values X=lon0:nlon:dlon Y=lat0:nlat:dlat Z=file A=[bin|text|spread|grib]-merge_fcst      out   X Y    merge forecast ave/acc/min/max X=number to intervals to merge (0=every) Y=output grib file-mysql           out   5 args H=[host] U=[user] P=[password] D=[db] T=[table]-mysql_dump      out   7 args H=[host] U=[user] P=[password] D=[db] T=[table] W=[western_lons:0|1] PV=[remove unlikely:0|1]-mysql_speed     out   7 args H=[host] U=[user] P=[password] D=[db] T=[table] W=[western_lons:0|1] PV=[remove unlikely:0|1]-ncep_norm       out   X      normalize NCEP-type ave/acc X=output grib file-ncep_uv         out   X      combine U and V fields into one message like NCEP operations-netcdf          out   X      write netcdf data to X-new_grid        out   X..Z,A bilinear interpolate: X=projection Y=x0:nx:dx Z=y0:ny:dy A=grib_file alpha-reduced_gaussian_grid out   X Y Z  reduced Gaussian grid, X=outputfile Y=-1 Z=(neighbor|linear)[-extrapolate]-small_grib      out   X Y Z  make small domain grib file X=lonW:lonE Y=latS:latN Z=file-spread          out   X      write text - spread sheet format into X (WxText enabled)-submsg_uv       out   X      combine vector fields into one message-text            out   X      write text data into X-time_processing out   X..Z,A average X=CodeTable 4.10 Y=CodeTable 4.11 Z=time step A=output-tosubmsg        out   X      convert GRIB message to submessage and write to file X-wind_dir        out   X      calculate wind direction, X = output gribfile (direction in degrees, 0=wind from north, 90=wind from east)-wind_speed      out   X      calculate wind speed, X = output gribfile (U then V in datafile)-wind_uv         out   X      calculate UGRD/VGRD from speed/dir, X = output gribfile-alarm           init  X      terminate after X seconds-append          init         append mode, write to existing output files-crlf            init         make the end of the inventory a crlf (windows) instead of newline (unix)-d               init  X      dump message X (n or n.m), only 1 -d allowed-egrep           init  X      egrep X | wgrib2 (X is POSIX regular expression)-egrep_v         init  X      egrep -v X | wgrib2 (X is POSIX regular expression)-eof_bin         init  X Y    send (binary) integer to file upon EOF: X=file Y=integer-eof_string      init  X Y    send string to file upon EOF: X=file Y=string-err_bin         init  X Y    send (binary) integer to file upon err exit: X=file Y=integer-err_string      init  X Y    send string to file upon err exit: X=file Y=string-fgrep           init  X      fgrep X | wgrib2-fgrep_v         init  X      fgrep -v X | wgrib2-fix_ncep_2      init         ncep bug fix 2, probability observation < -ve number-fix_ncep_3      init         sets flag to fix ncep bug 3 (constant fields)-fix_ncep_4      init         fixes NCEP grib2 files where DX and DY are undefined-for             init  X      process record numbers in range, X=(start:end:step), only one -for allowed-for_n           init  X      process inv numbers in range, X=(start:end:step), only one -for allowed-g2clib          init  X      X=0/1/2 0=WMO std 1=emulate g2clib 2=use g2clib-i               init         read Inventory from stdin-i_file          init  X      read Inventory from file-inv             init  X      write inventory to X-match           init  X      process data that matches X (POSIX regular expression)-match_fs        init  X      process data that matches X (fixed string)-match_inv_add   init  X Y Z  add new options to match_inventory-nc_grads        init         require netcdf file to be grads v1.9b4 compatible (fixed time step only)-nc_nlev         init  X      netcdf, X = max LEV dimension for {TIME,LEV,LAT,LON} data-nc_pack         init  X      pack/check limits of all NEW input variables, X=min:max[:byte|short|float]-nc_table        init  X      X is conversion_to_netcdf_table file name-nc_time         init  X      netcdf, [[-]yyyymmddhhnnss]:[dt{s[ec]|m[in]|h[our]|d[ay]}], [-] is for time alignment only-nc3             init         use netcdf3 (classic)-nc4             init         use netcdf4 (compressed, controlled endianness etc)-ncpu            init  X      number of threads, default is environment variable OMP_NUM_THREADS/number of cpus-no_append       init         not append mode, write to new output files (default)-no_nc_grads     init         netcdf file may be not grads v1.9b4 compatible, variable time step-no_nc_pack      init         no packing in netcdf for NEW variables-no_nc_table     init         disable previously defined conversion_to_netcdf_table-no_nc_time      init         netcdf, disable previously defined initial or relative date and time step-not             init  X      process data that does not match X (POSIX regular expression)-not_fs          init  X      process data that does not match X (fixed string)-one_line        init         puts all on one line (makes into inventory format)-order           init  X      decoded data in X (raw|we:sn|we:ns) order, we:sn is default-persistent      init  X      makes file X persistent if already opened (default on open), CW2-rewind_init     init  X      rewinds file X on initialization if already opened, CW2-set_ext_name    init  X      X=0/1 extended name on/off-set_regex       init  X      set regex mode X = 0:extended regex (default) 1:pattern 2:extended regex & quote metacharacters-set_version_ftime init  X      set version of ftime X=1, 2-tigge           init         use modified-TIGGE grib table-transient       init  X      make file X transient, CW2

以上为wgrib2的使用说明

Inventory/diagnostic-output selections-s/-v                   short/verbose inventory-V                      diagnostic output (not inventory)(none)                  regular inventoryOptions-PDS/-PDS10             print PDS in hex/decimal-GDS/-GDS10             print GDS in hex/decimal-verf                   print forecast verification time-ncep_opn/-ncep_rean    default T62 NCEP grib table-4yr                    print year using 4 digits-min                    print minutes-ncep_ens               ensemble info encoded in ncep format
Decoding GRIB selection-d [record number|all]  decode record number-p [byte position]      decode record at byte position-i                      decode controlled by stdin (inventory list)(none)                  no decodingOptions-text/-ieee/-grib/-bin  convert to text/ieee/grib/bin (default)-nh/-h                  output will have no headers/headers (default)-dwdgrib                output dwd headers, grib (do not append)-H                      output will include PDS and GDS (-bin/-ieee only)-append                 append to output file-o [file]               output file name, 'dump' is defaultMisc-cmc [file]             use NCEP tables for CMC (dangerous)

以上为wgrib的使用说明

wgrib和wgrib2大部分语句是通用的,有部分不一样,使用的时候请注意。

wgrib2 D:\\data.grib -v0

使用 -v0命令查看数据目录

拿到该数据时不确定里面有什么数据,通过 -v命令查看目录可以看到有一个表示属性的字段“SOIL_M”,土壤湿度,于是新建一个csv文件以SOIL_M作为字段名,使用 -match命令进行匹配

输入SOIL_M并保存为csv格式

wgrib2 D:\\data.grib -match ':SOIL_M' -csv D:\\abc.csv

使用 -match命令进行匹配, -csv命令将grib数据写入csv
注意wgrib没有 -csv命令,无法将数据直接写入csv

与SOIL_M匹配的数据就被写入csv文件了
如果有其他属性也可以匹配其他属性,如TMP温度

因为不知道怎么读表头,所以猜测前两列为时间,第三列表示土壤湿度,第四列表示测量说明,第五、六列为经纬度,第七列为土壤湿度。

4.2使用python调用os.system读取数据

import osdef re():#转到wgrib2工具目录os.chdir("D:\\wgrib2")#读取目录os.system("wgrib2 D:\\data.grib -v")#匹配SOIL_Mos.system("wgrib2 D:\\data.grib -match ':SOIL_M' -csv D:\\abc.csv")return Noneif __name__ == "__main__":re()

windows下wgrib/wgrib2和python读取grib2数据相关推荐

  1. python读取grib2数据_python读取grib grib2气象数据

    GRIB是WMO开发的一种用于交换和存储规则分布数据的二进制文件格式,主要用来表示数值天气预报的产品资料.现行的GRIB 码版本有GRIB1 和GRIB2 两种格式.由于小编只接触过GRIB1数据,所 ...

  2. windows python读取grib2数据

    一.环境准备 (1).python3环境 (2).wgirb工具(用于读取grib1文件),下载地址:  ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib (3).wg ...

  3. python批量读取grib_windows python读取grib2数据

    一.环境准备 (1).python3环境 (3).wgirb2工具(用于读取grib2文件),下载地址:ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib2 二.环境测试 ...

  4. python读取grib2数据_python2 解析 Grib/Grib2数据

    python2 解析 Grib/Grib2数据 sudoapt-get installgfortran cmake zlib1g-dev libpng-dev jasper libjpeg-dev l ...

  5. python读取grib2数据_用Python加载grib2文件

    我正在尝试加载grib2文件,我不确定文件是问题还是我试图加载它们的方式.在 这些文件是从here中提取的(我不是从这里下载的,而是从同事的文件夹中复制的,所以它们应该是相同的文件-,但是我也尝试插入 ...

  6. python在windows和linux系统下批量读取grib2数据

    python在windows系统和linux系统读取grib或者grib2数据所用的库不一样,下面分别细说. 1.python在linux系统下批量读取grib或grib2数据 linux系统对pyt ...

  7. Windows上python读取grib2文件(不用Linux)

    最近在网上下载的NCEP的fnl数据,发现只有grib2文件格式.因为现在处理数据使用的更多的是python,matlab一类的.网上一搜python读取grib文件需要依赖pygrib库,pygri ...

  8. python批量读取grib_Windows下Python读取GRIB数据

    之前写了一篇<基于Python的GRIB数据可视化>的文章,好多博友在评论里问我Windows系统下如何读取GRIB数据,在这里我做一下说明. 一.在Windows下Python为什么无法 ...

  9. python读取grib文件_Windows下Python读取GRIB数据

    之前写了一篇<基于Python的GRIB数据可视化>的文章,好多博友在评论里问我Windows系统下如何读取GRIB数据,在这里我做一下说明. 一.在Windows下Python为什么无法 ...

最新文章

  1. python time.time()计算代码运行时间
  2. 学习java得一些笔记(5)
  3. Python之日志处理(logging模块)
  4. 【Qt】modbus之串口模式读操作
  5. BDD怎样帮助你解决沟通问题并增进协作
  6. SpringBoot 小技巧
  7. xgboost算法_回归建模的时代已结束,算法XGBoost统治机器学习世界
  8. undefined reference to symbol' pthread_create@@GLIBC_2.2.5'
  9. java手机号正则校验工具类
  10. Tcl 语言——过程与字符串匹配篇
  11. BMW 与 Harvester 的云与边缘之旅
  12. 又要数数小绵羊(C++) kkmd66
  13. 日本动漫作家和其部分作品
  14. 考研高数 专题5:泰勒公式及其应用(皮亚诺型余项/局部)(拉格朗日余项/整体)
  15. Python之turtle库画各种有趣的图及源码(更新中)
  16. 机器人学的数理基础知识
  17. 全网首发,大众奥迪领驭帕萨特DIY数码碟盒增加USB和蓝牙播放音乐功能使用原车接口无损改装
  18. JavaSSM笔记(一)Spring基础(JavaBean)(IoC理论)(AOP)(使用注解开发)
  19. 基于c++和 opengl 鞋子定制系统
  20. 魔百盒M401a刷机

热门文章

  1. layui文件上传等待动画
  2. 雷军微博拧螺丝CFO为粉丝数发愁
  3. TFN系列超声波探伤仪使用评价怎么样?好不好用?
  4. DEJA_VU3D - Cesium功能集 之 010-军事标绘系列四:圆滑曲线
  5. 通过车牌识别实现进出厂无人值守
  6. java中j=j++和j=++j的理解
  7. mysql查询今年过去的天数
  8. 知识科普:5G是什么
  9. 绑定机制(转自天运科技)
  10. java 前置零_程序员面试必考题(二十二):Java中的前置条件和后置条件