'Returns the indices that would sort the time array.
This is similar to :meth:`~numpy.ndarray.argsort`, but adapted to ensure
that the full precision given by the two doubles ``jd1`` and ``jd2``
is used, and that corresponding attributes are copied.  Internally,
it uses :func:`~numpy.lexsort`, and hence no sort method can be chosen.'

def argsort(self, axis=(-1)):

    jd_approx = self.jd
    jd_remainder = (self - self.__class__(jd_approx, format=u'jd')).jd
    if (axis is None):
        return np.lexsort((jd_remainder.ravel(), jd_approx.ravel()))
    else:
        return np.lexsort(keys=(jd_remainder, jd_approx), axis=axis)
