def set_parameters_upstream(self, parameters):
        """Set parameters to all upstream Steps including this Step.
        Parameters is dict() where key is Step attribute, and value is new value to set.
        """
        assert isinstance(parameters, dict), 'parameters must be dict, got {} instead'.format(type(parameters))
        for step_obj in self.all_upstream_steps.values():
            for key in step_obj.__dict__.keys():
                if key in list(parameters.keys()):
                    step_obj.__dict__[key] = parameters[key]
                    if key == 'experiment_directory':
                        step_obj._prepare_experiment_directories()
        logger.info('set new values to all upstream Steps including this Step.')
        return self
Set parameters to all upstream Steps including this Step.
        Parameters is dict() where key is Step attribute, and value is new value to set.