cf.CoordinateConversion.equals

CoordinateConversion.equals(other, rtol=None, atol=None, verbose=False, ignore_data_type=False, ignore_fill_value=False, ignore_type=False)[source]

Whether two instances are the same.

Equality is strict by default. This means that:

  • the named parameters must be the same, with the same values and data types, and vector-valued parameters must also have same the size and be element-wise equal (see the ignore_data_type parameter), and
  • the names of domain ancillary constructs are the same.

Two real numbers x and y are considered equal if |x-y|<=atol+rtol|y|, where atol (the tolerance on absolute differences) and rtol (the tolerance on relative differences) are positive, typically very small numbers. See the atol and rtol parameters.

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.

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.

verbose: bool, optional

If True then print information about differences that lead to inequality.

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.

verbose: bool, optional

If True then print a verbose highlighting where the two instances differ.

Returns:
bool

Whether the two instances are equal.

Examples:

>>> c.equals(c)
True
>>> c.equals(c.copy())
True
>>> c.equals(None)
False