def get_time_deriv_from_index(self, i0, q, y):
        # Setup fit variables
        x = _utils.get_ds_fit_x(y, q)
        fit_params = _get_fit_params(x)

        # Evaluate fits
        data = self.fit_data[i0]
        ooxy_coorb = _eval_vector_fit(data['omega_orb'], 2, fit_params)
        omega = _eval_scalar_fit(data['omega'], fit_params)
        cAdot_coorb = _eval_vector_fit(data['chiA'], 3, fit_params)
        cBdot_coorb = _eval_vector_fit(data['chiB'], 3, fit_params)

        # Do rotations to the coprecessing frame, find dqdt, and append
        dydt = _utils.assemble_dydt(y, ooxy_coorb, omega, cAdot_coorb,
                                    cBdot_coorb)

        return dydt
 def get_omega(self, i0, q, y):
     x = _utils.get_ds_fit_x(y, q)
     fit_params = _get_fit_params(x)
     omega = _eval_scalar_fit(self.fit_data[i0]['omega'], fit_params)
     return omega