繁体   English   中英

将 NetCDF 转换为 GRIB2

[英]Converting NetCDF to GRIB2

我知道有像wgrib2这样的软件可以将gribgrib2格式的文件转换为NetCDF文件,但我需要走另一条路:从NetCDFgrib2 ,因为这里的当地气象局只能使用grib2格式的网格数据。

似乎一种解决方案可能是在 Python 中,使用NetCDF4-Python 库(或其他)读取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

ECMWF 有一个基于命令行的工具来做到这一点: https : //software.ecmwf.int/wiki/display/GRIB/grib_to_netcdf

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM