cf.DomainAncillary.mask_invalid¶
-
DomainAncillary.
mask_invalid
(i=False)[source]¶ Mask the array where invalid values occur (NaN or inf).
Note that:
- Invalid values in the results of arithmetic operations only occur if
the raising of
FloatingPointError
exceptions has been suppressed bycf.Data.seterr
. - If the raising of
FloatingPointError
exceptions has been allowed then invalid values in the results of arithmetic operations it is possible for them to be automatically converted to masked values, depending on the setting ofcf.Data.mask_fpe
. In this case, such automatic conversion might be faster than callingmask_invalid
.
See also
Examples 1: >>> g = f.mask_invalid()
Parameters: - i:
bool
, optional If True then update the domain ancillary in place. By default a new domain ancillary is created. In either case, a domain ancillary is returned.
Returns: out : cf.DomainAncillary
Examples: >>> print f.array [ 0. 1.] >>> print g.array [ 1. 2.]
>>> old = cf.Data.seterr('ignore') >>> h = g/f >>> print h.array [ inf 2.] >>> h.mask_invalid(i=True) >>> print h.array [-- 2.]
>>> h = g**12345 >>> print h.array [ 1. inf] >>> h = h.mask_invalid() >>> print h.array [1. --]
>>> old = cf.Data.seterr('raise') >>> old = cf.Data.mask_fpe(True) >>> print (g/f).array [ -- 2] >>> print (g**12345).array [1. -- ]
- Invalid values in the results of arithmetic operations only occur if
the raising of