我知道有像wgrib2这样的软件会将grib
和grib2
格式的文件转换为NetCDF
个文件,但我需要采用另一种方式:from { {1}}到NetCDF
,因为此处的当地气象局只能使用grib2
格式的网格化数据。
似乎有一个解决方案可以在Python中,使用NetCDF4-Python library(或其他)来阅读grib2
文件并使用pygrib来编写NetCDF
。
有更好的方法吗?
答案 0 :(得分:8)
基本上代码如下:
import iris
cubes = iris.load('input.nc') # each variable in the netcdf file is a cube
iris.save(cubes[0],'output.grib2') # save a specific variable to grib
但是如果您的netcdf文件没有包含足够的元数据,您可能需要添加它,您也可以使用Iris。这是一个完整的工作示例:
https://github.com/rsignell-usgs/ipython-notebooks/blob/master/files/Iris_CFSR_wave_wind.ipynb
答案 1 :(得分:5)
还可以使用气候数据运算符(cdo)来完成任务 - https://code.zmaw.de/projects/cdo/wiki
但需要安装包含所有其他库的软件。
答案 2 :(得分:2)
我知道上面提到了CDO,但我认为提供完整的命令
是有用的cdo -f grb2 copy in.nc out.grb
答案 3 :(得分:0)
ECMWF有一个基于命令行的工具:https://software.ecmwf.int/wiki/display/GRIB/grib_to_netcdf