Skip to content

Commit ca3044d

Browse files
committed
Correct cumsum_by_track and add test
1 parent e43bf51 commit ca3044d

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

src/py_eddy_tracker/generic.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,10 +169,9 @@ def cumsum_by_track(field, track):
169169
tr = track[i]
170170
if tr != tr_previous:
171171
d_cum = 0
172-
cumsum_array[i] = d_cum
173172
d_cum += field[i]
173+
cumsum_array[i] = d_cum
174174
tr_previous = tr
175-
cumsum_array[i + 1] = d_cum
176175
return cumsum_array
177176

178177

tests/test_generic.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
from numpy import arange, nan, zeros
1+
from numpy import arange, array, nan, ones, zeros
22

3-
from py_eddy_tracker.generic import simplify
3+
from py_eddy_tracker.generic import cumsum_by_track, simplify
44

55

66
def test_simplify():
@@ -24,3 +24,9 @@ def test_simplify():
2424
x[:] = nan
2525
x_, y_ = simplify(x, y, precision=1)
2626
assert x_.shape[0] == 0
27+
28+
29+
def test_cumsum_by_track():
30+
a = ones(10, dtype="i4") * 2
31+
track = array([1, 1, 2, 2, 2, 2, 44, 44, 44, 48])
32+
assert (cumsum_by_track(a, track) == [2, 4, 2, 4, 6, 8, 2, 4, 6, 2]).all()

0 commit comments

Comments
 (0)