@@ -258,6 +258,7 @@ class GridDataset(object):
258
258
"global_attrs" ,
259
259
"vars" ,
260
260
"contours" ,
261
+ "nan_mask" ,
261
262
)
262
263
263
264
GRAVITY = 9.807
@@ -267,7 +268,14 @@ class GridDataset(object):
267
268
N = 1
268
269
269
270
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 ,
271
279
):
272
280
"""
273
281
:param str filename: Filename to load
@@ -276,6 +284,7 @@ def __init__(
276
284
:param bool,None centered: Allow to know how coordinates could be used with pixel
277
285
:param dict indexs: A dictionary that sets indexes to use for non-coordinate dimensions
278
286
: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
279
288
"""
280
289
self .dimensions = None
281
290
self .variables_description = None
@@ -286,6 +295,7 @@ def __init__(
286
295
self .y_bounds = None
287
296
self .x_dim = None
288
297
self .y_dim = None
298
+ self .nan_mask = nan_masking
289
299
self .centered = centered
290
300
self .contours = None
291
301
self .filename = filename
@@ -519,6 +529,10 @@ def grid(self, varname, indexs=None):
519
529
if i_x > i_y :
520
530
self .variables_description [varname ]["infos" ]["transpose" ] = True
521
531
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
+ )
522
536
if not hasattr (self .vars [varname ], "mask" ):
523
537
self .vars [varname ] = ma .array (
524
538
self .vars [varname ],
0 commit comments