code: def potential_vorticity_barotropic(heights, u, v, dx, dy, lats, dim_order='yx'):
      r
      avor = absolute_vorticity(u, v, dx, dy, lats, dim_order=dim_order)
      return (avor / heights).to('meter**-1 * second**-1')
docs: r"""Calculate the barotropic (Rossby) potential vorticity.
  
      .. math:: PV = \frac{f + \zeta}{H}
  
      This formula is based on equation 7.27 [Hobbs2006]_.
  
      Parameters
      ----------
      heights : (M, N) ndarray
          atmospheric heights
      u : (M, N) ndarray
          x component of the wind
      v : (M, N) ndarray
          y component of the wind
      dx : float or ndarray
          The grid spacing(s) in the x-direction. If an array, there should be one item less than
          the size of `u` along the applicable axis.
      dy : float or ndarray
          The grid spacing(s) in the y-direction. If an array, there should be one item less than
          the size of `u` along the applicable axis.
      lats : (M, N) ndarray
          latitudes of the wind data in radians or with appropriate unit information attached
  
      Returns
      -------
      (M, N) ndarray
          barotropic potential vorticity
  
      Notes
      -----
      If inputs have more than two dimensions, they are assumed to have either leading dimensions
      of (x, y) or trailing dimensions of (y, x), depending on the value of ``dim_order``.