cfdm.Bounds.equals¶
-
Bounds.
equals
(other, rtol=None, atol=None, verbose=None, ignore_data_type=False, ignore_fill_value=False, ignore_properties=(), ignore_compression=True, ignore_type=False)[source]¶ Whether two instances are the same.
Equality is strict by default. This means that:
the same descriptive properties must be present, with the same values and data types, and vector-valued properties must also have same the size and be element-wise equal (see the ignore_properties and ignore_data_type parameters), and
if there are data arrays then they must have same shape and data type, the same missing data mask, and be element-wise equal (see the ignore_data_type parameter).
Two real numbers
x
andy
are considered equal if|x-y|<=atol+rtol|y|
, whereatol
(the tolerance on absolute differences) andrtol
(the tolerance on relative differences) are positive, typically very small numbers. See the atol and rtol parameters.Any compression is ignored by default, with only the arrays in their uncompressed forms being compared. See the ignore_compression parameter.
Any type of object may be tested but, in general, equality is only possible with another object of the same type, or a subclass of one. See the ignore_type parameter.
NetCDF elements, such as netCDF variable and dimension names, do not constitute part of the CF data model and so are not checked.
New in version 1.7.0.
- Parameters
- other:
The object to compare for equality.
- atol: float, optional
The tolerance on absolute differences between real numbers. The default value is set by the
cfdm.ATOL
function.- rtol: float, optional
The tolerance on relative differences between real numbers. The default value is set by the
cfdm.RTOL
function.- ignore_fill_value:
bool
, optional If True then the
_FillValue
andmissing_value
properties are omitted from the comparison.- verbose:
int
orNone
, optional If an integer from
0
to3
, corresponding to increasing verbosity (else-1
as a special case of maximal and extreme verbosity), set for the duration of the method call (only) as the minimum severity level cut-off of displayed log messages, regardless of the global configuredcfdm.LOG_LEVEL
.Else, if
None
(the default value), log messages will be filtered out, or otherwise, according to the value of thecfdm.LOG_LEVEL
setting.Overall, the higher a non-negative integer that is set (up to a maximum of
3
) the more description that is printed to convey information about differences that lead to inequality.- ignore_properties: sequence of
str
, optional The names of properties to omit from the comparison.
- ignore_data_type:
bool
, optional If True then ignore the data types in all numerical comparisons. By default different numerical data types imply inequality, regardless of whether the elements are within the tolerance for equality.
- ignore_compression:
bool
, optional If False then the compression type and, if applicable, the underlying compressed arrays must be the same, as well as the arrays in their uncompressed forms. By default only the the arrays in their uncompressed forms are compared.
- ignore_type:
bool
, optional Any type of object may be tested but, in general, equality is only possible with another object of the same type, or a subclass of one. If ignore_type is True then equality is possible for any object with a compatible API.
- Returns
bool
Whether the two instances are equal.
Examples:
>>> x.equals(x) True >>> x.equals(x.copy()) True >>> x.equals('something else') False