我想知道,有没有办法从grib1文件中转储值?我的最终目标是在纬度和经度或至少一个网格点找到单个消息的值。我正在使用Linux系统。除了阅读有关消息的元数据或重建消息外,Wgrib似乎什么都不做。
我知道一点python,所以我可以使用pygrib,但我不知道如何将值拉出特定的纬度和经度。
这里有一些.grb文件供大家玩。 http://nomads.ncdc.noaa.gov/data/gfs-avn-hi/201402/20140218/
感谢您的回答,
答案 0 :(得分:3)
如果您对来自NOMADS的数据感兴趣,我建议您浏览他们的THREDDS数据服务器,这将允许您通过指定纬度/经度来访问数据,并且您可以将该数据作为csv文件返回,如果您希望。为此,请先访问NOMADS TDS网站:
http://nomads.ncdc.noaa.gov/thredds/catalog/catalog.html
您链接到的示例数据文件可在此处找到:
http://nomads.ncdc.noaa.gov/thredds/catalog/gfs-003/201402/20140218/catalog.html
找到您感兴趣的网格,比如18Z运行分析字段:
点击“NetcdfService”链接:
在该页面顶部附近,点击“As Point Dataset”:
然后检查您感兴趣的参数,纬度/经度(将选择最接近该纬度/经度的网格点)和输出格式类型。
这个网页界面基本上会生成一个访问网址,如果我想要温度超过Boulder,CO,在csv中返回,这就是它的样子:
从上面的网址中可以看出,您可以非常轻松地生成这些内容并发出请求,而无需执行上述所有步骤。
这种访问方法(NetcdfSubsetService)可以轻松地与Python结合使用。例如,看看这个ipython笔记本:
http://nbviewer.ipython.org/github/Unidata/tds-python-workshop/blob/master/ncss.ipynb
具体来说,笔记本中的第一个和第二个单元格。
请注意,您可以获取最近的GFS数据,其中整个模型运行包含在一个grib文件中,位于:
http://thredds.ucar.edu/thredds/idd/modelsNcep.html
这将允许您发出请求,如上所述,但多次使用一个请求。
干杯,
肖恩
答案 1 :(得分:0)
您可以使用grib工具,特别是grib_ls和grib_get来获取最接近指定纬度和经度的1个网格点或4个网格点的值。因此,您可以使用最近邻居或双线性插值或任何您喜欢的东西来获得价值。 阅读此演示文稿,grib_ls从第31页开始:
http://nwmstest.ecmwf.int/services/computing/training/material/grib_api/grib_api_tools.pdf
安装grib工具时,您将获得几个工具来帮助您使用GRIB文件。