2024-05-13 17:31:46 发布
网友
我知道像wgrib2这样的软件可以将grib和grib2格式的文件转换成NetCDF格式的文件,但我需要走另一条路:从NetCDF到grib2,因为这里的当地气象局只能使用grib2格式的网格数据。
grib
grib2
NetCDF
似乎有一个解决方案可以是Python,使用NetCDF4-Python library(或其他)读取NetCDF文件,并使用pygrib写入grib2。
有更好的办法吗?
经过更多的研究,我最终使用了英国气象局的“Iris”包(http://scitools.org.uk/iris/docs/latest/index.html),它可以读取NetCDF以及OPeNDAP、GRIB和其他几种格式,并允许另存为NetCDF或GRIB。
基本上代码看起来像:
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
也可以使用气候数据操作符(cdo)来完成任务-https://code.zmaw.de/projects/cdo/wiki
但需要安装所有附加库的软件。
我知道上面提到了CDO,但我认为给出完整的命令是有用的
cdo -f grb2 copy in.nc out.grb
经过更多的研究,我最终使用了英国气象局的“Iris”包(http://scitools.org.uk/iris/docs/latest/index.html),它可以读取NetCDF以及OPeNDAP、GRIB和其他几种格式,并允许另存为NetCDF或GRIB。
基本上代码看起来像:
但是,如果netcdf文件不包含足够的元数据,则可能需要添加它,这也可以使用Iris完成。下面是一个完整的工作示例:
https://github.com/rsignell-usgs/ipython-notebooks/blob/master/files/Iris_CFSR_wave_wind.ipynb
也可以使用气候数据操作符(cdo)来完成任务-https://code.zmaw.de/projects/cdo/wiki
但需要安装所有附加库的软件。
我知道上面提到了CDO,但我认为给出完整的命令是有用的
相关问题 更多 >
编程相关推荐