【问题标题】:Pulling weather data from a GRIB file for specific coordinates and date/times从 GRIB 文件中提取特定坐标和日期/时间的天气数据
【发布时间】:2021-06-12 23:44:44
【问题描述】:

我有一个带有 ECMWF 预测的 GRIB 文件,我很想根据坐标输入从中提取数据。如,提供坐标,并获取未来 5 天特定时间的预报(风速、阵风速度、风向、波高..)。

我认为 Python 可能是实现这一目标的最佳选择。有人可以指出我正确的方向吗?给我一些。

我猜二进制需要转换为 JSON(或其他可读格式),然后我可以根据提供的坐标解析并查找数据?

【问题讨论】:

  • 使用github.com/cambecc/grib2json之类的工具转换为json。接下来,您可以使用数据填充数据库或使用 python 进行直接搜索
  • 谢谢。我正在努力实现这一目标。谢谢你。现在船上的互联网有点慢。我正在努力获得 mvn。

标签: python grib noaa


【解决方案1】:

在原生 Python 中执行此操作的一种方法是使用 xarray 和 cfgrib。 Here is a tutorial。以下是教程中的关键代码:

    import xarray as xr
    ds = xr.tutorial.load_dataset('<your_grib>.grib', engine='cfgrib')

完成此操作后,grib 文件中的所有字段都将可用。一般形式是

    ds.<field_name>[<index>].values

请注意,与使用美国国家气象局提供的 GRIB 工具相比,此代码非常慢。查看degrib。大多数天气处理代码都是用 C 和 Fortran 编写的,因为它是 so much faster than Python。根据您可用的计算资源和数据大小,您可能无法在其包含的预测过期之前用 Python 处理整个 grib 文件。

最后,这个话题在GIS stack exchange 上得到了更广泛的讨论。 “grib”是那边的标签。

【讨论】:

  • 谢谢!!!我会试一试。只是想让我的 python IDE 再次运行。这太棒了!!!
  • 谢谢@Craeft 这工作。看起来 PredictWind 实际上并没有下载“propper”grib 文件,而是截断了文件。所以我需要弄清楚他们的文件格式。
  • “正确的 grib 文件”是什么意思?
  • 您可以从ncdc.noaa.gov/data-access/model-data/model-datasets/…获取NOAA的预报数据
  • 向下滚动到 GFS 预测。那些是适当的gribs,覆盖整个世界
猜你喜欢
  • 2015-03-03
  • 2019-08-19
  • 1970-01-01
  • 2021-05-11
  • 2016-11-26
  • 1970-01-01
  • 1970-01-01
  • 2022-08-02
  • 2018-10-21
相关资源
最近更新 更多