将NetCDF转换为GRIB2

问题描述 投票:7回答:4

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

似乎有一个解决方案可以在Python中,使用NetCDF4-Python library(或其他)来读取NetCDF文件并使用pygrib来编写grib2

有没有更好的办法?

python netcdf grib
4个回答
8
投票

经过一些研究,我最终使用了英国气象局“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


5
投票

人们还可以使用气候数据运算符(cdo)来执行任务-https://code.zmaw.de/projects/cdo/wiki

但需要安装所有附加库的软件。


2
投票

我知道上面提到了CDO,但我认为给出完整的命令是有用的

cdo -f grb2 copy in.nc out.grb

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.