【问题标题】:converting Grib to netcdf4将 Grib 转换为 netcdf4
【发布时间】:2021-03-04 08:18:33
【问题描述】:

我从 ECMWF 下载了 grib 格式的 Era interim 数据。有没有办法将具有多个波段的 grib 文件转换为 netCDF4,保持 NETCDF 格式的波段?

我尝试使用 cdo 操作,但输出只会是 grib 文件的第一个波段。

cdo -f nc copy input.grib output.nc

【问题讨论】:

    标签: netcdf netcdf4 cdo-climate grib eccodes


    【解决方案1】:

    是的,有一种使用pythonxarraycfgrib(需要ECCODES)的非常舒适的方法。

    按照github 页面上的说明安装 cfgrib,您将在 eccodes 安装中拥有所有必需的 grib 表。

    之后你只需要打开你的 grib 文件:

    import xarray
    
    data = xarray.open_dataset('path_to_grib_file.grib1', engine='cfgrib')
    data.to_netcdf('netcdf_file.nc')
    

    【讨论】:

      【解决方案2】:

      对于这种使用 ECMWF 数据的任务,通常最好安装 eccodes。 例如在 Mac 上你可以这样做

      brew install eccodes
      

      这将为您提供许多有用的命令行工具,只要输入文件位于常规纬度/经度网格或常规高斯网格上(键“typeOfGrid”应为“regular_ll”或“regular_gg” ) 你可以转换成 netcdf

      grib_to_netcdf -o output.nc input.grb 
      

      此工具比 CDO 更强大,因为它可以处理多个时间轴(例如,具有多个开始日期的季节性预测)以及额外的维度,例如集合成员编号,这可能会使 CDO 出错。

      注意:问题的标题表明 netcdf4 是必需的,但您对 cdo 使用了 -f nc 选项。请注意,要使用 cdo 指定 netcdf4,您应该使用

      cdo -f nc4 
      

      【讨论】:

        猜你喜欢
        • 2022-10-14
        • 2013-06-28
        • 2019-09-19
        • 2021-12-18
        • 2013-08-10
        • 2012-06-03
        • 2018-05-12
        • 2018-02-07
        • 2018-07-29
        相关资源
        最近更新 更多