Skip to content

Commit 25bf0ee

Browse files
committed
Add option to manage issue AntSimi#111
1 parent e49e123 commit 25bf0ee

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

CHANGELOG.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ Fixed
2525
Added
2626
^^^^^
2727

28+
- Allow to replace mask by isnan method to manage nan data instead of masked data
29+
2830
[3.5.0] - 2021-06-22
2931
--------------------
3032

src/py_eddy_tracker/dataset/grid.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ class GridDataset(object):
258258
"global_attrs",
259259
"vars",
260260
"contours",
261+
"nan_mask",
261262
)
262263

263264
GRAVITY = 9.807
@@ -267,7 +268,14 @@ class GridDataset(object):
267268
N = 1
268269

269270
def __init__(
270-
self, filename, x_name, y_name, centered=None, indexs=None, unset=False
271+
self,
272+
filename,
273+
x_name,
274+
y_name,
275+
centered=None,
276+
indexs=None,
277+
unset=False,
278+
nan_masking=False,
271279
):
272280
"""
273281
:param str filename: Filename to load
@@ -276,6 +284,7 @@ def __init__(
276284
:param bool,None centered: Allow to know how coordinates could be used with pixel
277285
:param dict indexs: A dictionary that sets indexes to use for non-coordinate dimensions
278286
:param bool unset: Set to True to create an empty grid object without file
287+
:param bool nan_masking: Set to True to replace data.mask with isnan method result
279288
"""
280289
self.dimensions = None
281290
self.variables_description = None
@@ -286,6 +295,7 @@ def __init__(
286295
self.y_bounds = None
287296
self.x_dim = None
288297
self.y_dim = None
298+
self.nan_mask = nan_masking
289299
self.centered = centered
290300
self.contours = None
291301
self.filename = filename
@@ -519,6 +529,10 @@ def grid(self, varname, indexs=None):
519529
if i_x > i_y:
520530
self.variables_description[varname]["infos"]["transpose"] = True
521531
self.vars[varname] = self.vars[varname].T
532+
if self.nan_mask:
533+
self.vars[varname] = ma.array(
534+
self.vars[varname], mask=isnan(self.vars[varname]),
535+
)
522536
if not hasattr(self.vars[varname], "mask"):
523537
self.vars[varname] = ma.array(
524538
self.vars[varname],

0 commit comments

Comments
 (0)