The initial directory defined for the job.

        All input files, and log files are relative to this directory. Output files will be copied into this
        directory by default. This directory will be created if it doesn't already exist when the job is submitted.

        Note:
            The executable file is defined relative to the current working directory, NOT to the initial directory.
            The initial directory is created in the current working directory.

def initial_dir(self):
        """The initial directory defined for the job.

        All input files, and log files are relative to this directory. Output files will be copied into this
        directory by default. This directory will be created if it doesn't already exist when the job is submitted.

        Note:
            The executable file is defined relative to the current working directory, NOT to the initial directory.
            The initial directory is created in the current working directory.

        """
        initial_dir = self.get('initialdir')
        if not initial_dir:
            initial_dir = os.curdir #TODO does this conflict with the working directory?
        if self._remote and os.path.isabs(initial_dir):
            raise RemoteError('Cannot define an absolute path as an initial_dir on a remote scheduler')
        return initial_dir