docs: def get_x(self, var, coords=None):
          """
          Get the centers of the triangles in the x-dimension
  
          Parameters
          ----------
          %(CFDecoder.get_y.parameters)s
  
          Returns
          -------
          %(CFDecoder.get_y.returns)s"""
          if coords is None:
              coords = self.ds.coords
          # first we try the super class
          ret = super(UGridDecoder, self).get_x(var, coords)
          # but if that doesn't work because we get the variable name in the
          # dimension of `var`, we use the means of the triangles
          if ret is None or ret.name in var.dims:
              bounds = self.get_cell_node_coord(var, axis='x', coords=coords)
              if bounds is not None:
                  centers = bounds.mean(axis=-1)
                  x = self.get_nodes(self.get_mesh(var, coords), coords)[0]
                  try:
                      cls = xr.IndexVariable
                  except AttributeError:  # xarray < 0.9
                      cls = xr.Coordinate
                  return cls(x.name, centers, attrs=x.attrs.copy())