从 GDAL 获取 GRIB2 Lat/Lon 信息
Getting GRIB2 Lat/Lon Information from GDAL
我正在尝试绘制 GFS 模型数据的 GRIB2 文件中的字段(示例文件:https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.20220202/12/atmos/gfs.t12z.pgrb2.0p25.f006)。通常我只会使用 PyGRIB 并且我昨天已经解决了这个问题,但是我在 Windows(因为这是我的雇主使用的,所以我坚持使用它并且必须在 Windows 环境)和 Windows 和 PyGRIB 玩起来不太好。我能够打开 GRIB2 文件,甚至可以使用 GDAL 在整个域上绘制变量。唯一的问题是我需要一种方法来获取每个网格点的纬度和经度值数组(类似于在 PyGRIB 中对 GRIB 消息执行 .latlons() )以便我可以绘制域的子集。
基本上,我正在尝试复制 this video 中正在做的事情,并且需要数据(使用 dataset.GetRasterBand(269).ReadAsArray() 获取数据),然后 lat/lon信息。
我也尝试过使用 xarray,但是 Windows 也不能很好地使用 xarray。
考虑到您对 PyGRIB 的熟悉程度,我认为解决方案是使用 Conda 并将其安装在 Windows 上。您可以使用 conda-forge 的 miniforge 来安装 conda。然后,无论你得到 Conda,安装 pygrib 与:
conda install -c conda-forge pygrib
我正在尝试绘制 GFS 模型数据的 GRIB2 文件中的字段(示例文件:https://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.20220202/12/atmos/gfs.t12z.pgrb2.0p25.f006)。通常我只会使用 PyGRIB 并且我昨天已经解决了这个问题,但是我在 Windows(因为这是我的雇主使用的,所以我坚持使用它并且必须在 Windows 环境)和 Windows 和 PyGRIB 玩起来不太好。我能够打开 GRIB2 文件,甚至可以使用 GDAL 在整个域上绘制变量。唯一的问题是我需要一种方法来获取每个网格点的纬度和经度值数组(类似于在 PyGRIB 中对 GRIB 消息执行 .latlons() )以便我可以绘制域的子集。
基本上,我正在尝试复制 this video 中正在做的事情,并且需要数据(使用 dataset.GetRasterBand(269).ReadAsArray() 获取数据),然后 lat/lon信息。
我也尝试过使用 xarray,但是 Windows 也不能很好地使用 xarray。
考虑到您对 PyGRIB 的熟悉程度,我认为解决方案是使用 Conda 并将其安装在 Windows 上。您可以使用 conda-forge 的 miniforge 来安装 conda。然后,无论你得到 Conda,安装 pygrib 与:
conda install -c conda-forge pygrib