Skip to content

Commit 00a0fa8

Browse files
committed
add filter to grid_box_stat
1 parent 6cad061 commit 00a0fa8

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/py_eddy_tracker/observations/observation.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1937,14 +1937,15 @@ def grid_count(self, bins, intern=False, center=False, filter=slice(None)):
19371937
grid.mask = grid == 0
19381938
return regular_grid
19391939

1940-
def grid_box_stat(self, bins, varname, method=50, data=None):
1940+
def grid_box_stat(self, bins, varname, method=50, data=None, filter=slice(None)):
19411941
"""
19421942
Compute mean of eddies in each bin
19431943
19441944
:param (numpy.array,numpy.array) bins: bins (grid) to count
19451945
:param str varname: variable to apply the method
19461946
:param str,float method: method to apply. If float, use ?
19471947
:param array data: Array used to compute stat if defined
1948+
:param array,mask,slice filter: keep the data selected with the filter
19481949
:return: return grid of method
19491950
:rtype: py_eddy_tracker.dataset.grid.RegularGridDataset
19501951
@@ -1955,8 +1956,10 @@ def grid_box_stat(self, bins, varname, method=50, data=None):
19551956
x, y = (self.longitude - x0) % 360 + x0, self.latitude
19561957
data = self[varname] if data is None else data
19571958
if hasattr(data, "mask"):
1958-
m = ~data.mask
1959-
x, y, data = x[m], y[m], data[m]
1959+
filter = self.merge_filters(~data.mask, self.merge_filters(filter))
1960+
else:
1961+
filter = self.merge_filters(filter)
1962+
x, y, data = x[filter], y[filter], data[filter]
19601963

19611964
from ..dataset.grid import RegularGridDataset
19621965

0 commit comments

Comments
 (0)