def download_workflow_description_file(self, filename):
        '''Downloads the workflow description and writes it to a *YAML* file.

        Parameters
        ----------
        filename: str
            path to the file to which description should be written

        See also
        --------
        :meth:`tmclient.api.TmClient.download_workflow_description`
        '''
        description = self.download_workflow_description()
        logger.info('write workflow description to file: %s', filename)
        with open(filename, 'w') as f:
            content = yaml.safe_dump(
                description, default_flow_style=False, explicit_start=True
            )
            f.write(content)