# cf.Field.equivalent

`Field.``equivalent`(other, rtol=None, atol=None, traceback=False)

  True if two fields are equivalent, False otherwise.

  Two fields are equivalent if:

  > - They have the same identity, as defined by their `identity` methods.
  > - The same rank, as given by their `rank` attributes.
  > - Their data arrays are the same after accounting for different but equivalent:
  >   - Units
  >   - Number of size one dimensions (if squeeze is True),
  >   - Dimension directions (if use_directions is True)
  >   - Dimension orders (if transpose is set to a dictionary).
  > - Both fields’ domains must have the same rankdimensionality and where a dimension in one field has an identity inferred a 1-d coordinate, the other field has a matching dimension whose identity inferred is inferred from a 1-d coordinate with an equivalent data array.
  >   - The rank, as given by their `rank`

  See also

  `equals`

  Examples 1: |

      >>> b = f.equivalent(g)

  Parameters: | other: `object` The object to compare for equivalence. atol: `float`, optional The absolute tolerance for all numerical comparisons, By default the value returned by the `cf.ATOL` function is used. rtol: `float`, optional The relative tolerance for all numerical comparisons, By default the value returned by the `cf.RTOL` function is used. traceback: `bool`, optional If True then print a traceback highlighting where the two fields differ.
  Returns: | out: `bool` Whether or not the two fields are equivalent.
  Examples 2: |

      >>>