def timeseries(self):
        """
        Time series of storage operation

        Parameters
        ----------
        ts : :pandas:`pandas.DataFrame<dataframe>`
            DataFrame containing active power the storage is charged (negative)
            and discharged (positive) with (on the grid side) in kW in column 
            'p' and reactive power in kvar in column 'q'. When 'q' is positive,
            reactive power is supplied (behaving as a capacitor) and when 'q'
            is negative reactive power is consumed (behaving as an inductor).

        Returns
        -------
        :pandas:`pandas.DataFrame<dataframe>`
            See parameter `timeseries`.

        """
        # check if time series for reactive power is given, otherwise
        # calculate it
        if 'q' in self._timeseries.columns:
            return self._timeseries
        else:
            self._timeseries['q'] = abs(self._timeseries.p) * self.q_sign * \
                                    tan(acos(self.power_factor))
            return self._timeseries.loc[
                   self.grid.network.timeseries.timeindex, :]
Time series of storage operation

        Parameters
        ----------
        ts : :pandas:`pandas.DataFrame<dataframe>`
            DataFrame containing active power the storage is charged (negative)
            and discharged (positive) with (on the grid side) in kW in column 
            'p' and reactive power in kvar in column 'q'. When 'q' is positive,
            reactive power is supplied (behaving as a capacitor) and when 'q'
            is negative reactive power is consumed (behaving as an inductor).

        Returns
        -------
        :pandas:`pandas.DataFrame<dataframe>`
            See parameter `timeseries`.