Skip to content

Commit caae000

Browse files
author
Constantin Gahr
committed
fix #200: raise TypeError on unused kwargs
1 parent 83b0a75 commit caae000

2 files changed

Lines changed: 15 additions & 11 deletions

File tree

xrft/tests/test_xrft.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import dask.array as dsar
66

77
import scipy.signal as sps
8-
import scipy.linalg as spl
98

109
import pytest
1110
import numpy.testing as npt
@@ -202,6 +201,14 @@ def test_fft_4d(self):
202201
np.fft.fftn(da_prime),
203202
)
204203

204+
def test_fft_raises_on_unused_kwarg(self):
205+
with pytest.raises(TypeError):
206+
xrft.fft(None, dims=1)
207+
208+
def test_ifft_raises_on_unused_kwarg(self):
209+
with pytest.raises(TypeError):
210+
xrft.fft(None, dims=1)
211+
205212

206213
class TestfftReal(object):
207214
def test_fft_real_1d(self, test_data_1d):

xrft/xrft.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import warnings
22
import operator
3-
import sys
4-
import functools as ft
53
from functools import reduce
64

75
import numpy as np
@@ -12,7 +10,6 @@
1210
from dask import delayed
1311

1412
import scipy.signal as sps
15-
import scipy.linalg as spl
1613

1714
from .detrend import detrend as _detrend
1815
from pandas.api.types import is_numeric_dtype, is_datetime64_any_dtype
@@ -209,7 +206,7 @@ def _diff_coord(coord):
209206
return np.diff(coord)
210207
elif pd.api.types.is_datetime64_dtype(v0):
211208
diff = np.diff(coord).astype("timedelta64[ns]").astype("f8")
212-
diff = (diff/1e9) #convert back to seconds
209+
diff = diff / 1e9 # convert back to seconds
213210
return diff
214211
else:
215212
return np.diff(coord)
@@ -319,7 +316,7 @@ def fft(
319316
true_amplitude=True,
320317
chunks_to_segments=False,
321318
prefix="freq_",
322-
**kwargs,
319+
real=None,
323320
):
324321
"""
325322
Perform discrete Fourier transform of xarray data-array `da` along the
@@ -376,8 +373,8 @@ def fft(
376373
if isinstance(dim, str):
377374
dim = [dim]
378375

379-
if "real" in kwargs:
380-
real_dim = kwargs.get("real")
376+
if real is not None:
377+
real_dim = real
381378
warnings.warn(_real_flag_warning, FutureWarning)
382379

383380
if real_dim is not None:
@@ -490,7 +487,7 @@ def ifft(
490487
chunks_to_segments=False,
491488
prefix="freq_",
492489
lag=None,
493-
**kwargs,
490+
real=None,
494491
):
495492
"""
496493
Perform inverse discrete Fourier transform of xarray data-array `daft` along the
@@ -543,8 +540,8 @@ def ifft(
543540
if isinstance(dim, str):
544541
dim = [dim]
545542

546-
if "real" in kwargs:
547-
real_dim = kwargs.get("real")
543+
if real is not None:
544+
real_dim = real
548545
warnings.warn(_real_flag_warning, FutureWarning)
549546

550547
if real_dim is not None:

0 commit comments

Comments
 (0)