Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)