Returns the simplices containing (lons,lats)
        and the local barycentric, normalised coordinates.

        Parameters
        ----------
         lons : 1D array of longitudinal coordinates in radians
         lats : 1D array of latitudinal coordinates in radians

        Returns
        -------
         bcc  : normalised barycentric coordinates
         tri  : simplicies containing (lons,lats)

        Notes
        -----
         That the ordering of the vertices may differ from
         that stored in the self.simplices array but will
         still be a loop around the simplex.

def containing_simplex_and_bcc(self, lons, lats):
        """
        Returns the simplices containing (lons,lats)
        and the local barycentric, normalised coordinates.

        Parameters
        ----------
         lons : 1D array of longitudinal coordinates in radians
         lats : 1D array of latitudinal coordinates in radians

        Returns
        -------
         bcc  : normalised barycentric coordinates
         tri  : simplicies containing (lons,lats)

        Notes
        -----
         That the ordering of the vertices may differ from
         that stored in the self.simplices array but will
         still be a loop around the simplex.
        """

        pts = np.array(lonlat2xyz(lons,lats)).T

        tri = np.empty((pts.shape[0], 3), dtype=np.int) # simplices
        bcc = np.empty_like(tri, dtype=np.float) # barycentric coords

        for i, pt in enumerate(pts):
            t = _stripack.trfind(3, pt, self._x, self._y, self._z, self.lst, self.lptr, self.lend )
            tri[i] = t[3:6]
            bcc[i] = t[0:3]

        tri -= 1 # return to C ordering

        bcc /= bcc.sum(axis=1).reshape(-1,1)

        return bcc, self._deshuffle_simplices(tri)