@@ -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