python读取与处理netcdf数据
netcdf是气候数据中的主流格式,当涉及到大范围的全球数万个格网点数据时,使用python脚本可以较快地读取与处理。
import netCDF4 from netCDF4 import Dataset import numpy as np import sys import os #计算日期数 import datetime d1=datetime.date(1900,1,1) d3 = d1 + datetime.timedelta(days =100) print (d3)
#查看nc数据基本信息 nc_obj=Dataset('precip.nc') print(nc_obj)
#查看nc数据各个变量的信息 print(nc_obj.variables.keys()) for i in nc_obj.variables.keys(): print('___________________________________________') print(i) print(nc_obj.variables[i]) precip=(nc_obj.variables['precip'][:]) lat=(nc_obj.variables['lat'][:]) lon=(nc_obj.variables['lon'][:])
举例子
#39.76,116.25所在经纬度网格大致位于北京市大兴区,查询2012年年总降水量为523.8mm,大致吻合常规结果(百度百科大兴区年平均降水量约为556mm)。 l1=[] for i in range(23377,23742): #2012年时间区间 l1.append(data[i][0][100][592]) #100,592为经纬度标记 print(np.sum(l1))