我已经使用pygrib来提取给定边界内特定波段的所有grib值。函数将返回一个Json对象,该对象包含每个分析数据的所有值。
现在我每次跑步都要阅读大约73个grib,反应很慢,现在大约是3分钟。
结果应该是:网格结果
你知道使用GDAL或ECCODES等其他工具在邮箱中提取数据的另一种方法吗?
我不能使用grid2json,因为它不能识别GRIB。
提前感谢
您看过cfgrib吗。它是xarray的grid引擎。使用xarray,您将拥有大量用于grib数据集的服务和应用程序。xarray遵循数据立方体原理。
例如,如果你已经将数据加载到xarray.Dataset
中,你可以使用where函数将数据切片到你的bbox:
import xarray
dataset = xarray.open_dataset('path to grib file', engine='cfgrib')
# or for multiple files
dataset = xarray.open_dataset(['path_to_grib1', 'path_to_grib2', ...], engine='cfgrib')
dataset.where((dataset.latitude > min_lat) &
(dataset.latitude < max_lat) &
(dataset.longitude > min_lon) &
(dataset.longitude < max_lon), drop=True)