def timescale(self, delta_t=None):
        """Open or download three time scale files, returning a `Timescale`.

        This method is how most Skyfield users build a `Timescale`
        object, which is necessary for building specific `Time` objects
        that name specific moments.

        This will open or download the three files that Skyfield needs
        to measure time.  UT1 is tabulated by the United States Naval
        Observatory files ``deltat.data`` and ``deltat.preds``, while
        UTC is defined by ``Leap_Second.dat`` from the International
        Earth Rotation Service.

        """
        if delta_t is not None:
            delta_t_recent = np.array(((-1e99, 1e99), (delta_t, delta_t)))
        else:
            data = self('deltat.data')
            preds = self('deltat.preds')
            data_end_time = data[0, -1]
            i = np.searchsorted(preds[0], data_end_time, side='right')
            delta_t_recent = np.concatenate([data, preds[:,i:]], axis=1)
        leap_dates, leap_offsets = self('Leap_Second.dat')
        return Timescale(delta_t_recent, leap_dates, leap_offsets)
Open or download three time scale files, returning a `Timescale`.

        This method is how most Skyfield users build a `Timescale`
        object, which is necessary for building specific `Time` objects
        that name specific moments.

        This will open or download the three files that Skyfield needs
        to measure time.  UT1 is tabulated by the United States Naval
        Observatory files ``deltat.data`` and ``deltat.preds``, while
        UTC is defined by ``Leap_Second.dat`` from the International
        Earth Rotation Service.