def METHOD_NAME(description, test_args=False):
    ###############################################################################
    (
        caseroot,
        job,
        no_batch,
        prereq,
        allow_fail,
        resubmit,
        resubmit_immediate,
        skip_pnl,
        mail_user,
        mail_type,
        batch_args,
        workflow,
        chksum,
    ) = parse_command_line(sys.argv, description)
    # save these options to a hidden file for use during resubmit
    config_file = os.path.join(caseroot, ".submit_options")
    if skip_pnl or mail_user or mail_type or batch_args:
        config = configparser.RawConfigParser()
        config.add_section("SubmitOptions")
        if skip_pnl:
            config.set("SubmitOptions", "skip_pnl", "True")
        if mail_user:
            config.set("SubmitOptions", "mail_user", mail_user)
        if mail_type:
            config.set("SubmitOptions", "mail_type", ",".join(mail_type))
        if batch_args:
            config.set("SubmitOptions", "batch_args", batch_args)
        with open(config_file, "w") as fd:
            config.write(fd)
    elif os.path.exists(config_file):
        os.remove(config_file)
    if not test_args:
        with Case(caseroot, read_only=False, record=True) as case:
            case.submit(
                job=job,
                no_batch=no_batch,
                prereq=prereq,
                allow_fail=allow_fail,
                resubmit=resubmit,
                resubmit_immediate=resubmit_immediate,
                skip_pnl=skip_pnl,
                mail_user=mail_user,
                mail_type=mail_type,
                batch_args=batch_args,
                workflow=workflow,
                chksum=chksum,
            )