def test_cross_spectrum():
"""Test the cross spectrum function"""
N = 16
da = xr.DataArray(np.random.rand(N,N), dims=['x','y'],
coords={'x':range(N),'y':range(N)}
)
da2 = xr.DataArray(np.random.rand(N,N), dims=['x','y'],
coords={'x':range(N),'y':range(N)}
)
cs = xrft.cross_spectrum(da, da2, window=True, density=False,
detrend='constant')
daft = xrft.dft(da,
dim=None, shift=True, detrend='constant',
window=True)
daft2 = xrft.dft(da2,
dim=None, shift=True, detrend='constant',
window=True)
npt.assert_almost_equal(cs.values, np.real(daft*np.conj(daft2)))
npt.assert_almost_equal(np.ma.masked_invalid(cs).mask.sum(), 0.)
评论列表
文章目录