woom.workflow.Workflow

woom.workflow.Workflow#

class woom.workflow.Workflow(cfgfile, taskmanager)[source]#
__init__(cfgfile, taskmanager)[source]#

Attributes

config

Workflow ConfigObj configuration instance

cycles

List of Cycle

host

Current Host instance

jobmanager

Current job manager instance

members

List of Member

nmembers

Number of ensemble members

output_directories

submission_dirs

Generator of submission directories computed from the task tree

task_tree

taskmanager

Current TaskManager instance

workflow_dir

Where we are running the workflow

Methods

clean([submission_dirs, log_files, ...])

Remove working files and directories

clean_task(task_name[, cycle, member])

Remove job specific files for this task

get_app_path([sep])

Typically app/conf/exp or ''

get_artifact(artifact_name, task_name[, ...])

Get the path of an artifact for a given task

get_artifacts([task_name, cycle, member])

Get artifacts as a pandas.DataFrame

get_run_dir(task_name[, cycle, member])

Get where the command lines are executed in the script

get_run_dirs()

Get the run directories as pandas.DataFrame

get_status([running, colorize])

Get the workflow task status as a pandas.DataFrame

get_submission_dir(task_name[, cycle, ...])

Where the batch script is created and submitted

get_task(task_name)

Shortcut to self.taskmanager.get_task(task_name)

get_task_artifacts(task_name[, cycle, member])

Get rendered artifacts for a given task

get_task_inputs(task_name[, cycle, member, ...])

Get the params dictionary used to format a task command line and environment variables

get_task_members(task_name)

Get the list of members if applicable or None

get_task_path(task_name[, cycle, member, sep])

Concatenate the app_path, the cycle and, task_name and the member label

get_task_status(task_name[, cycle, member])

Get the job status of a task

kill([jobid, task_name, cycle, member])

Kill all running jobs specific to this workflow

run([dry, update])

Run the workflow by submiting all tasks

show_artifacts([tablefmt])

Show the status of all the tasks of the wokflow

show_overview()

Display an overview of the workflow, like its task tree and cycles

show_run_dirs([tablefmt])

Show the status of all the tasks of the wokflow

show_status([running, tablefmt, colorize])

Show the status of all the tasks of the wokflow

submit_task(task_name[, cycle, member, ...])

Submit a task

submit_task_fake(task_name[, cycle, member, ...])

Don't submit a task, just display it