依赖的python模块和windows软件
netCDF4、wgrib2
nc数据的读取示例
# 导入模块
from netCDF4 import Dataset
import itertools
import pandas as pd
from datetime import datetime
from datetime import timedelta
# 获取数据集中所有变量名
filename = r'air.mon.mean.nc'
data = Dataset(filename)
variables_name = list(data.variables.keys())
print(variables_name)
# 查看要获取的变量索引维度
data['air'].dimensions
data_temp = itertools.product([datetime(1800, 1, 1,0,0,0) + timedelta(hours=i) for i in data['time'][:]],
data['lat'][:],data['lon'][:])
data_temp = pd.DataFrame([x for x in data_temp])
data_temp.columns = data['air'].dimensions
value = data['air'][:].flatten()
value = pd.Series(value)
value.name = 'air'
data1 = pd.concat([data_temp, value], axis=1)
grib数据读取示例
原理就是利用免费的wgrib2工具将grib数据格式转化为nc数据格式即可利用上面提到的方式提取数据。(先将wgrib2添加到环境变量,或者进入程序所在目录,可以在windows控制台或者jupyter中执行下列代码)
wgrib2 flxf.01.2011040100.201104.avrg.grib.grb2 -netcdf flxf.01.2011040100.201104.avrg.grib.nc
程序中用到的示例数据在该账号下下载。