def swmm_step(self): '''Advances the simulation by one routing time step ''' c_elapsed_time = c.c_double(self.elapsed_time) err = self.c_swmm5.swmm_step(c.byref(c_elapsed_time)) self.elapsed_time = c_elapsed_time.value if err != 0: raise swmm_error.SwmmError(err) return self
def swmm_start(self, save_results=1): '''Starts a swmm simulation ''' if not self.is_open: raise swmm_error.NotOpenError err = self.c_swmm5.swmm_start(c.c_int(save_results)) if err != 0: raise swmm_error.SwmmError(err) self.is_started = True return self
def swmm_end(self): '''Ends a swmm simulation ''' if not self.is_started: raise swmm_error.NotStartedError err = self.c_swmm5.swmm_end() if err != 0: raise swmm_error.SwmmError(err) self.is_started = False return self
def swmm_open(self, input_file, report_file, output_file): '''Opens a swmm project ''' err = self.c_swmm5.swmm_open(c.c_char_p(input_file), c.c_char_p(report_file), c.c_char_p(output_file)) if err != 0: raise swmm_error.SwmmError(err) else: self.input_file = input_file self.report_file = report_file self.output_file = output_file self.is_open = True self.routing_model = self.get_RouteModel() return self