【发布时间】:2018-09-05 20:01:44
【问题描述】:
我正在尝试计算给定 u-wind 和 v-wind 的风梯度。 u 和 v 值具有以下形状的 3d 数组:
u(122,9,9) 使得 u(时间,纬度,经度)。这同样适用于 v。
我还计算了 dx 和 dy 值(在 lat 和 lon 方向的二维数组中)
我的代码示例如下,例如时间 0:
dudx = np.gradient(u[0,0,:], dx[0,0], edge_order=2)
dvdy = np.gradient(v[0,:,0], dy[0,0], edge_order=2)
然后我可以对 dudx 和 dvdy 求和以获得渐变。我有一个已经计算出散度的数据,在将我的计算与散度数据进行比较后,我预计这些值是相同的,但事实并非如此。除了错误地使用 np.gradient 函数之外,我似乎无法弄清楚我哪里出错了。
我想知道我上面计算 u 和 v 风梯度的方法是否正确。
干杯。
编辑
我用来计算风梯度的完整代码如下:
dqu_dx = np.zeros((122,9,9))
dqv_dy = np.zeros((122,9,9))
for i in range(122):
for j in range(9):
for k in range(9):
dqu_dx[i,j,:] = np.gradient(dqu_18hr[i,j,:], dx[0,k], edge_order=2)
dqv_dy[i,:,k] = np.gradient(dqv_18hr[i,:,k], dy[j,0], edge_order=2)
【问题讨论】: