def METHOD_NAME(self,
                         command,
                         work_dir=None,
                         nodes=None,
                         procs_per_node=None,
                         time_limit=None,
                         job_name=None,
                         partition=None,
                         account=None,
                         launcher=None,
                         launcher_args=None):
    """Add command to be executed in parallel.
    The command is launched with srun. Parallel processes are
    distributed evenly amongst the compute nodes.
    Args:
        command (`str` or `Iterable` of `str`s): Command to be
            executed in parallel.
        work_dir (str, optional): Working directory.
        nodes (int, optional): Number of compute nodes.
        procs_per_node (int, optional): Number of parallel
            processes per compute node.
        time_limit (int, optional): Job time limit, in minutes.
        job_name (str, optional): Job name.
        partition (str, optional): Scheduler partition.
        account (str, optional): Scheduler account.
        launcher (str, optional): srun executable.
        launcher_args (`Iterable` of `str`s, optional):
            Command-line arguments to srun.
    """
    # Use default values if needed
    if work_dir is None:
        work_dir = self.work_dir
    if nodes is None:
        nodes = self.nodes
    if procs_per_node is None:
        procs_per_node = self.procs_per_node
    if time_limit is None:
        time_limit = self.time_limit
    if job_name is None:
        job_name = self.job_name
    if partition is None:
        partition = self.partition
    if account is None:
        account = self.account
    if launcher is None:
        launcher = self.launcher
    if launcher_args is None:
        launcher_args = self.launcher_args
    # Construct srun invocation
    args = [launcher]
    args.extend(make_iterable(launcher_args))
    args.append(f'--chdir={work_dir}')
    args.append(f'--nodes={nodes}')
    args.append(f'--ntasks={nodes * procs_per_node}')
    args.append(f'--ntasks-per-node={procs_per_node}')
    if time_limit is not None:
        args.append(f'--time={_time_string(time_limit)}')
    if job_name:
        args.append(f'--job-name={job_name}')
    if partition:
        args.append(f'--partition={partition}')
    if account:
        args.append(f'--account={account}')
    args.extend(make_iterable(command))
    self.add_command(args)