我从ECMWF下载了grib格式的Era interim数据。有没有办法将带有多个波段的grib文件转换成netCDF4格式,同时保持波段的格式?
我尝试使用cdo操作,但输出将只是grib文件的第一个带。
cdo -f nc copy input.grib output.nc发布于 2020-11-23 16:03:37
是的,有一种非常舒适的方式使用python、xarray和cfgrib (需要ECCODES)。
安装cfgrib,就像这里在github页面上提到的那样,你将在eccodes安装中拥有所有需要的grib表。
然后你只需要打开你的grib文件:
import xarray
data = xarray.open_dataset('path_to_grib_file.grib1', engine='cfgrib')
data.to_netcdf('netcdf_file.nc')发布于 2021-04-24 21:26:28
对于使用ECMWF数据的这类任务,通常最好安装eccode。例如,在mac上,您可以执行以下操作
brew install eccodes这将为您提供许多有用的命令行工具,只要输入文件位于常规经度/经度网格或常规高斯网格(键"typeOfGrid“应为"regular_ll”或"regular_gg")上,您就可以将其转换为netcdf。
grib_to_netcdf -o output.nc input.grb 这个工具比CDO更强大,因为它可以处理多个时间轴(例如,具有多个开始日期的季节性预报),还可以处理额外的维度,如合奏成员数量,这可能会使CDO出错。
注意:问题的标题说明netcdf4是必需的,但您使用了-f nc选项。请注意,要使用cdo指定netcdf4,您应该使用
cdo -f nc4 https://stackoverflow.com/questions/64937550
复制相似问题