基于纬度和经度从grib文件中提取数据

时间:2012-06-15 10:26:25

标签: grib

如果我有一个包含整个世界信息的grib2文件(对于某些参数),我想使用基于用户给出的纬度和经度的wgrib2 从中提取数据(客户端软件到服务器) )。我尝试了以下命令,但我只获得完整的grib2文件:

  

wgrib2.exe input.grb -undefine out-box 10:90 -10:10 -grib output.grb

请告诉我哪里出错了?感谢。

4 个答案:

答案 0 :(得分:1)

这仍然是Google上的热门产品,因此,尽管它有些陈旧,但这里有更详细的说明。

首先,您需要National Weather Service Climate Prediction Centre中的wgrib2。 (该程序的安装很简单,但解释不充分。请参见this page或此gist以获得帮助。)

接下来,您需要使用lola函数(用于LOngitude-LAtitude网格)。

您需要给wgrib2几个参数:

  • 具有数据的grib文件
  • 经度信息:
    • 边界框西南角的经度
    • 边界框的长度(以度为单位)
    • 该方向上点的间距
  • 纬度信息,与上面相同
    • 边界框西南角的纬度
    • 边界框的长度(以度为单位)
    • 该方向上点的间距
  • 要写入的文件名
  • 要写入的文件格式(对于二进制文件,bin,对于简单文本,text,对于电子表格格式,spread,对于grib2,grib)。

例如:

wgrib2 input.grb 220:100:1 20:50:1 output.grb2 grib

将创建一个输出文件,该文件在两个方向上以1度间隔覆盖北美(220 E-320 E; 20 N-70 N)。

Rob

答案 1 :(得分:0)

我使用以下命令从grib2文件中提取信息。

  

wgrib2.exe input_file.grib2 -lola LonSW:#lon:dlon LatSW:#lat:dlat file format

假设我们有以下坐标供选择:

  
    

上:( x0,y0)(x1,y0)

         

底部:(x0,y1)(x1,y1)

  
     

“LongSW”= x0,#r1 =(x0~x1),“LatSW”= y0,#lat =(y0~y1)。   和dlon和dlan可以保持为1.'file'是输出文件名,格式可以是grib,csv,text等。

在上面显示的命令中替换上面的值,你应该得到答案。

答案 2 :(得分:0)

如果您选择的经度为360且纬度为90:

wgrib2.exe input_file.grb2 -lon 360 90> output_file.txt

答案 3 :(得分:0)

我认为你也可以直接在grib上使用cdo

cdo sellonlatbox,lon1,lon2,lat1,lat2 in.grb out.grb

如果grib文件位于缩小的高斯网格上,则可能需要指定您需要常规的lat-lon输出。我通常使用" -f nc"将输出格式转换为netcdf。因为我发现在其他软件中处理起来更容易。