From caf8d1a8f399e9e22f3823b8797612f850242479 Mon Sep 17 00:00:00 2001 From: Alister Trabattoni Date: Wed, 6 Nov 2024 17:51:49 +0100 Subject: [PATCH] Fix rfft with non-dimensional coordinates. --- tests/test_fft.py | 2 +- xdas/fft.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_fft.py b/tests/test_fft.py index f62e332..928f155 100644 --- a/tests/test_fft.py +++ b/tests/test_fft.py @@ -6,4 +6,4 @@ class TestRFFT: def test_with_non_dimensional(self): da = xd.synthetics.wavelet_wavefronts() da["latitude"] = ("distance", np.arange(da.sizes["distance"])) - xfft.rfft(da, dim={"time": "frequency"}) + xfft.rfft(da) diff --git a/xdas/fft.py b/xdas/fft.py index 3cd3312..2599ae4 100644 --- a/xdas/fft.py +++ b/xdas/fft.py @@ -55,7 +55,7 @@ def fft(da, n=None, dim={"last": "spectrum"}, norm=None, parallel=None): data = func(da.values) coords = { newdim if name == olddim else name: f if name == olddim else da.coords[name] - for name in da.coords + for name in da.coords if (da[name].dim != olddim or name == olddim) } dims = tuple(newdim if dim == olddim else dim for dim in da.dims) return DataArray(data, coords, dims, da.name, da.attrs) @@ -110,7 +110,7 @@ def rfft(da, n=None, dim={"last": "frequency"}, norm=None, parallel=None): data = func(da.values, n, axis, norm) coords = { newdim if name == olddim else name: f if name == olddim else da.coords[name] - for name in da.coords + for name in da.coords if (da[name].dim != olddim or name == olddim) } dims = tuple(newdim if dim == olddim else dim for dim in da.dims) return DataArray(data, coords, dims, da.name, da.attrs)