Run the flow in batch mode, return exit status of the job script.
        Requires a manager.yml file and a batch_adapter adapter.

        Args:
            timelimit: Time limit (int with seconds or string with time given with the slurm convention:
            "days-hours:minutes:seconds"). If timelimit is None, the default value specified in the
            `batch_adapter` entry of `manager.yml` is used.

def batch(self, timelimit=None):
        """
        Run the flow in batch mode, return exit status of the job script.
        Requires a manager.yml file and a batch_adapter adapter.

        Args:
            timelimit: Time limit (int with seconds or string with time given with the slurm convention:
            "days-hours:minutes:seconds"). If timelimit is None, the default value specified in the
            `batch_adapter` entry of `manager.yml` is used.
        """
        from .launcher import BatchLauncher
        # Create a batch dir from the flow.workdir.
        prev_dir = os.path.join(*self.workdir.split(os.path.sep)[:-1])
        prev_dir = os.path.join(os.path.sep, prev_dir)
        workdir = os.path.join(prev_dir, os.path.basename(self.workdir) + "_batch")

        return BatchLauncher(workdir=workdir, flows=self).submit(timelimit=timelimit)