首先你得安装 netCDF4这个库 (pip install)
简单读取 如下
可以看到
dimensions
(sizes): longitude(480), latitude(241), time(480)
variables
(dimensions): float32 longitude(longitude), float32 latitude(latitude), int32 time(time), int16 z(time,latitude,longitude)
这是一个三维数据集,空间两维(z高度层为1,500hPa)、时间一维
注意:变量是 z ,shape= (480,241,480)
时间40年x12月,空间0.75°x0.75°
用np.array
把数据转化成数组(矩阵)类型
import numpy as np
import netCDF4 as nc
d=nc.Dataset('weishi79_18.nc')
time=np.array(d.variables['time'])
d_lon=np.array(d.variables['longitude'])
d_lat=np.array(d.variables['latitude'])
ws=np.array(d.variables['z'])
只做冬季,挑选所有12,1,2月
现有时间序列:197901-201812
a=[]
for t in range(1,481):
if t%12==1 or t%12==2 or t%12==0 :
a.extend([t-1])
ws_t=ws[a,:,:]
ws_winter=np.zeros((39,241,480))
for m in range(0,39):
ws_winter[m,:,:]=(ws_t[m*3+2,:,:]+ws_t[m*3+3,:,:]+ws_t[m*3+4,:,:])/3
80年-18年冬季平均就得到了
求距平值
ws_mean=np.zeros((241,480))
ws_mean=np.mean(ws_winter,axis=0)
ws_st=np.zeros((39,241,480))
for m in range(0,39):
ws_st[m,:,:]=ws_winter[m,:,:]-ws_mean[:,:]