计算图层上的3D发散场

时间:2016-07-25 13:01:37

标签: python numpy math gradient

我正在尝试计算大气层(500mb)上的3D发散场。我拥有的数据是来自grib文件的U,V和W风向量,如下所示:

DataA = source.select(name='U component of wind',typeOfLevel='isobaricInhPa',level=250)[0]
DataA = DataA.values
DataB = source.select(name='V component of wind',typeOfLevel='isobaricInhPa',level=250)[0]
DataB = DataB.values
DataC = source.select(name='Vertical velocity',typeOfLevel='isobaricInhPa',level=250)[0]
DataC = DataC.values

我想知道的是如何将它组合成一个数组,以便我可以计算分歧(大概来自np.grad)。例如。我试过了:

Data  = np.zeros((3,721,1440))
Data[0:,:] = DataA
Data[1:,:] = DataB
Data[2:,:] = DataC

Plot = np.gradient(Data,axis=0)

但是这产生了一个(3,1,1440)数组(这是错误的,因为输出应该与输入数据的尺寸相同,即740(纬度)乘以1440(lon)网格。

0 个答案:

没有答案