@state.setter
def state(self, QCs):
    QCs = np.asarray(QCs)
    if (QCs.shape != ((len(self.components) + 1),)):
        raise ValueError(f'state must be a 1D array of length {(len(self.components) + 1)},indicating component concentrations [mg/L] and total flow rate [m^3/d]')
    self._state = QCs
@state.setter
def state(self, QCs):
    QCs = np.asarray(QCs)
    if (QCs.shape != ((len(self.components) + 1),)):
        raise ValueError(f'state must be a 1D array of length {(len(self.components) + 1)},indicating component concentrations [mg/L] and total flow rate [m^3/d]')
    self._state = QCs