MMI Runner

def parse_args(arguments, wrapper_kwargs={}):
    """
    MMI Runner
    """
    # make a socket that replies to message with the grid

    # if we are running mpi we want to know the rank
    args = {}
    positional = [
        'engine',
        'configfile',
    ]
    for key in positional:
        args[key] = arguments['<' + key + '>']

    #  integer if not 'random'
    port = arguments['--port']
    args['port'] = port if port == 'random' else int(port)

    # integer, default 1
    interval = arguments['--interval']
    args['interval'] = int(interval) if interval else 1
    # boolean
    args['pause'] = bool(arguments['--pause'])
    args['bmi_class'] = arguments['--bmi-class']
    args['output_vars'] = arguments['-o']
    args['tracker'] = arguments['--track']

    return args