def METHOD_NAME(args, description):
    ###############################################################################
    parser = argparse.ArgumentParser(
        description=description, formatter_class=argparse.RawTextHelpFormatter
    )
    CIME.utils.setup_standard_logging_options(parser)
    parser.add_argument(
        "caseroot",
        nargs="?",
        default=os.getcwd(),
        help="Case directory for which namelists are generated.\n"
        "Default is current directory.",
    )
    parser.add_argument(
        "--cycles", default=1, help="The number of cycles to run, default is RESUBMIT"
    )
    parser.add_argument(
        "--ensemble",
        default=1,
        help="generate suite.rc for an ensemble of cases, the case name argument must end in an integer.\n"
        "for example: ./generate_cylc_workflow.py --ensemble 4 \n"
        "will generate a workflow file in the current case, if that case is named case.01,"
        "the workflow will include case.01, case.02, case.03 and case.04",
    )
    args = CIME.utils.parse_args_and_handle_standard_logging_options(args, parser)
    return args.caseroot, args.cycles, int(args.ensemble)