diff --git a/wecopttool/core.py b/wecopttool/core.py index b6e7ac1e..ed105b05 100644 --- a/wecopttool/core.py +++ b/wecopttool/core.py @@ -2354,10 +2354,14 @@ def subset_close( ind = [] for el in set_a: - b_in_a = np.isclose(set_b, el, + a_in_b = np.isclose(set_b, el, rtol=rtol, atol=atol, equal_nan=equal_nan) - if b_in_a.any(): - ind.append(np.flatnonzero(b_in_a)) + if np.sum(a_in_b) == 1: + ind.append(np.flatnonzero(a_in_b)[0]) + if np.sum(a_in_b) > 1: + _log.warning('Multiple matching elements in subset, ' + + 'selecting closest match.') + ind.append(np.argmin(np.abs(a_in_b - el))) subset = len(set_a) == len(ind) ind = ind if subset else [] return subset, ind