python grib转nc
时间: 2023-09-12 08:04:40 浏览: 606
你可以使用Python中的pygrib库来将GRIB文件转换为NetCDF文件。以下是一个简单的示例代码:
```python
import pygrib
from netCDF4 import Dataset
# 打开GRIB文件
grib_file = 'input.grib'
grbs = pygrib.open(grib_file)
# 读取第一个GRIB消息
grb = grbs.select()[0]
# 创建NetCDF文件
nc_file = 'output.nc'
nc = Dataset(nc_file, 'w')
# 创建维度
latitudes = nc.createDimension('lat', grb.values.shape[0])
longitudes = nc.createDimension('lon', grb.values.shape[1])
# 创建变量
latitude = nc.createVariable('lat', 'f4', ('lat',))
longitude = nc.createVariable('lon', 'f4', ('lon',))
data = nc.createVariable('data', 'f4', ('lat', 'lon',))
# 设置变量的属性
latitude.units = 'degrees_north'
longitude.units = 'degrees_east'
data.units = grb.units
# 将数据写入NetCDF文件
latitude[:] = grb.latitudes
longitude[:] = grb.longitudes
data[:, :] = grb.values
# 关闭文件
nc.close()
grbs.close()
```
请确保你已经安装了pygrib和netCDF4库。以上代码将会将第一个GRIB消息中的数据写入一个NetCDF文件中。
注意:在使用pygrib库之前,你可能需要根据你的操作系统安装相应的依赖库,如libeccodes(用于解码GRIB文件)和netCDF(用于NetCDF文件支持)。
阅读全文