def run_scenario(self, project, scenario, simulation_config, dry_run=False): dss_args = self.update_scenario_settings(simulation_config) self._dump_scenario_simulation_settings(dss_args) if dry_run: dss = dssInstance.OpenDSS(dss_args) logger.info('Dry run scenario: %s', dss_args["Project"]["Active Scenario"]) if dss_args["MonteCarlo"]["Number of Monte Carlo scenarios"] > 0: raise InvalidConfiguration( "Dry run does not support MonteCarlo simulation.") else: self._estimated_space = dss.DryRunSimulation(project, scenario) return None, None dss = dssInstance.OpenDSS(dss_args) logger.info('Running scenario: %s', dss_args["Project"]["Active Scenario"]) if dss_args["MonteCarlo"]["Number of Monte Carlo scenarios"] > 0: dss.RunMCsimulation(project, scenario, samples=dss_args["MonteCarlo"] ['Number of Monte Carlo scenarios']) else: dss.RunSimulation(project, scenario) return dss_args
def create_dss_instance(self, dss_args): dss = dssInstance.OpenDSS(dss_args) return dss