def main(): """main program""" arguments = parse_args() if arguments.color: colorlogs() # redirect stdout to /dev/null under osx so we get only 1 output stream f = open(os.devnull, 'w') sys.stderr = f logger.info('Subgridpy') logger.setLevel(logging.DEBUG) if arguments.scenariodir: logger.info('Using scenario dir: %s' % arguments.scenariodir) scenario = EventContainer(arguments.scenariodir) # scenario events from arguments if arguments.bui: if str(arguments.bui) in AREA_WIDE_RAIN.keys(): scenario.add( AreaWideGrid, sim_time_start=0, sim_time_end=None, rain_definition=str(arguments.bui), type=None) if arguments.radar: scenario.add( RadarGrid, sim_time_start=0, sim_time_end=None, radar_dt=arguments.radar, sync=1, multiplier=1, type=None) logger.info('---- Scenario summary ----') for line in scenario.summary(): logger.info(line) subgrid = SubgridWrapper(mdu=arguments.mdu, set_logger=arguments.verbose, output_dir=arguments.outputdir) subgrid.start() # Should not be needed # subgrid.library.initmodel() rain_grid_container = RainGridContainer(subgrid) if arguments.radar: subgrid.subscribe_dataset(rain_grid_container.memcdf_name) if arguments.tend: t_end = arguments.tend else: # default t_end = subgrid.get_nd('tend') logger.info('End time (seconds): %r', t_end) t = subgrid.get_nd('t1') # by reference while t < t_end: apply_events(subgrid, scenario, rain_grid_container) subgrid.update(-1) t = subgrid.get_nd('t1') # by reference clean_events(scenario, rain_grid_container)
def main(): """main program""" arguments = parse_args() if arguments.color: colorlogs() # redirect stdout to /dev/null under osx so we get only 1 output stream f = open(os.devnull, 'w') sys.stderr = f logger.info('Subgridpy') logger.setLevel(logging.DEBUG) if arguments.scenariodir: logger.info('Using scenario dir: %s' % arguments.scenariodir) scenario = EventContainer(arguments.scenariodir) # scenario events from arguments if arguments.bui: if str(arguments.bui) in AREA_WIDE_RAIN.keys(): scenario.add(AreaWideGrid, sim_time_start=0, sim_time_end=None, rain_definition=str(arguments.bui), type=None) if arguments.radar: scenario.add(RadarGrid, sim_time_start=0, sim_time_end=None, radar_dt=arguments.radar, sync=1, multiplier=1, type=None) logger.info('---- Scenario summary ----') for line in scenario.summary(): logger.info(line) subgrid = SubgridWrapper(mdu=arguments.mdu, set_logger=arguments.verbose, output_dir=arguments.outputdir) subgrid.start() # Should not be needed # subgrid.library.initmodel() rain_grid_container = RainGridContainer(subgrid) if arguments.radar: subgrid.subscribe_dataset(rain_grid_container.memcdf_name) if arguments.tend: t_end = arguments.tend else: # default t_end = subgrid.get_nd('tend') logger.info('End time (seconds): %r', t_end) t = subgrid.get_nd('t1') # by reference while t < t_end: apply_events(subgrid, scenario, rain_grid_container) subgrid.update(-1) t = subgrid.get_nd('t1') # by reference clean_events(scenario, rain_grid_container)