# cf.CellMethod.equals¶

CellMethod.equals(other, rtol=None, atol=None, verbose=False, ignore_qualifiers=(), ignore_type=False)[source]

Whether two cell method constructs are the same.

Equality is strict by default. This means that:

• the descriptive qualifiers must be the same (see the ignore_qualifiers parameter).

The axes of the cell method constructs are not considered, because they may only be correctly interpreted by the field constructs that contain the cell method constructs in question. They are, however, taken into account when two fields constructs are tested for equality.

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. The data type of the numbers is not taken into consideration. See the atol and rtol parameters.

Any type of object may be tested but, in general, equality is only possible with another cell method construct, 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. verbose: bool, optional If True then print information about differences that lead to inequality. ignore_qualifiers: sequence of str, optional The names of qualifiers to omit from the comparison. ignore_type: bool, optional Any type of object may be tested but, in general, equality is only possible with another cell method construct, or a subclass of one. If ignore_type is True then CellMethod(source=other) is tested, rather than the other defined by the other parameter. bool Whether the two cell method constructs are equal.

Examples:

>>> c.equals(c)
True
>>> c.equals(c.copy())
True
>>> c.equals('not a cell method')
False