def parse_args(args=None):
    parser = argparse.ArgumentParser(description="Estimate vector models with different levels of regularization.")
    parser.add_argument(
        "--save-path",
        required=True,
        help="path to file where results should be saved. " 'Will be appended with ".losses.npy" and ".forecasts.npy".',
    )
    parser.add_argument(
        "--bc-data",
        action="store_const",
        const="bc-transmission",
        dest="dataset",
        help="Use transmission data from BC Columbia.",
    )
    parser.add_argument(
        "--total-load",
        action="store_const",
        const="total-load",
        dest="dataset",
        help="Use distribution data from Norway.",
    )
    parser.add_argument(
        "--gef-data", action="store_const", const="gefcom-2012", dest="dataset", help="Use GEFCom 2012 data."
    )
    parser.add_argument(
        "--vanilla", action="store_true", dest="vanilla", help="Use the vectorized vanilla model instead of ARX."
    )
    # Trying to load mpi4py causes segfault on some systems if the
    # program is not actually launched under MPI (i.e. via mpirun or
    # similar).
    parser.add_argument("--no-mpi", action="store_true", dest="no_mpi", help="Do not load any MPI libraries.")

    # parser.add_argument('--total-load', action='store_true', help='Use distribution data.')
    # parser.add_argument('--gef-data', action='store_true', help='Use GEFCom 2012 data.')
    parsed_args = parser.parse_args(args)

    lp_cmdline = ["--data-seed=0", "--standardize"]
    if not parsed_args.vanilla:
        lp_cmdline += ["--subtract-weekly-pattern"]
    if parsed_args.dataset is None:
        raise RuntimeError("A dataset argument must be supplied.")
    if parsed_args.dataset == "bc-transmission":
        lp_cmdline += ["--bc-data", "--remove-holidays"]
    elif parsed_args.dataset == "total-load":
        lp_cmdline += ["--total-load"]
    elif parsed_args.dataset == "gefcom-2012":
        lp_cmdline += ["--gef-data"]
        raise RuntimeError(
            "GEFCom data is not supported yet, remains to assign a "
            "set of weights for the different temperature zones."
        )
    else:
        raise RuntimeError("Unrecognized dataset: {}".format(parsed_args.dataset))
    parser = lp.prediction_options()
    parser = lp.data_options(parser)
    parser = ga.ga_options(parser)
    lp_options, _ = parser.parse_args(lp_cmdline)
    lp.options = lp_options
    return parsed_args, lp_options
def parse_args(args=None):
    parser = argparse.ArgumentParser(description=
        'Estimate vector models with different levels of regularization.')
    parser.add_argument('--save-path', required=True,
                        help='path to file where results should be saved. '\
                        'Will be appended with ".losses.npy" and ".forecasts.npy".') 
    parser.add_argument(
        '--bc-data', action='store_const', const='bc-transmission',
        dest='dataset', help='Use transmission data from BC Columbia.')
    parser.add_argument(
        '--total-load', action='store_const', const='total-load',
        dest='dataset', help='Use distribution data from Norway.')
    parser.add_argument(
        '--gef-data', action='store_const', const='gefcom-2012',
        dest='dataset', help='Use GEFCom 2012 data.')
    parser.add_argument(
        '--vanilla', action='store_true', dest='vanilla',
        help='Use the vectorized vanilla model instead of ARX.')
    # Trying to load mpi4py causes segfault on some systems if the
    # program is not actually launched under MPI (i.e. via mpirun or
    # similar).
    parser.add_argument(
        '--no-mpi', action='store_true', dest='no_mpi', help='Do not load any MPI libraries.')
    
    # parser.add_argument('--total-load', action='store_true', help='Use distribution data.')
    # parser.add_argument('--gef-data', action='store_true', help='Use GEFCom 2012 data.')
    parsed_args = parser.parse_args(args)
    
    lp_cmdline = ['--data-seed=0',
                  '--standardize']
    if not parsed_args.vanilla:
        lp_cmdline += ['--subtract-weekly-pattern']
    if parsed_args.dataset is None:
        raise RuntimeError('A dataset argument must be supplied.')
    if parsed_args.dataset == 'bc-transmission':
        lp_cmdline += ['--bc-data',
                       '--remove-holidays']
    elif parsed_args.dataset == 'total-load':
        lp_cmdline += ['--total-load']
    elif parsed_args.dataset == 'gefcom-2012':
        lp_cmdline += ['--gef-data']
        raise RuntimeError(
            'GEFCom data is not supported yet, remains to assign a '
            'set of weights for the different temperature zones.')
    else:
        raise RuntimeError('Unrecognized dataset: {}'.format(parsed_args.dataset))
    parser = lp.prediction_options()
    parser = lp.data_options(parser)
    parser = ga.ga_options(parser)
    lp_options, _ = parser.parse_args(lp_cmdline)
    lp.options = lp_options
    return parsed_args, lp_options
def get_options():
    global options
    parser = prediction_options()
    parser = ga_options(parser)
    parser = data_options(parser)
    (options, args) = parser.parse_args()
def get_options():
    global options
    parser = prediction_options()
    parser = ga_options(parser)
    parser = data_options(parser)
    (options, args) = parser.parse_args()