From ea0edd281792bf7a8aa615de0a5068fd561512f2 Mon Sep 17 00:00:00 2001 From: Casper Date: Mon, 18 Oct 2021 10:24:42 +0200 Subject: [PATCH] fixed bug in new smoothing algorithm --- lasp/tools/tools.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lasp/tools/tools.py b/lasp/tools/tools.py index fdf69a8..e9bbf15 100644 --- a/lasp/tools/tools.py +++ b/lasp/tools/tools.py @@ -136,7 +136,7 @@ def smoothSpectralData(freq, M, sw: SmoothingWidth, x0 = 1 if freq[0] == 0 else 0 # Skip first data point if zero frequency Psm[0] = P[0] # Reuse old value in case first data.. # ..point is skipped. Not plotted any way. - P[-1] = P[-2] # Last data point (Nyquist f) often invalid + P[-1] = P[-2] # Last data point (Nyquist f) can be invalid # Loop through data points for x in range(x0, L): @@ -165,6 +165,10 @@ def smoothSpectralData(freq, M, sw: SmoothingWidth, xl = bisect.bisect_left(freq, fl) # index corresponding to fl xu = bisect.bisect_left(freq, fu) + # Guarantee window length of at least 1 + if xu - xl <= 0: + xl = xu - 1 + # Calculate window g = np.zeros(xu-xl) for n, xi in enumerate(range(xl, xu)):