Skip to content

Task Planning Config

TOML Example

# Ad-hoc example tasks under one handoff

handoff_id = "handoff_id2"

[[tasks]]
  id = "trans_x" # *required* can be any tag, must be unique. if not unique PIPES will make unique. PIPES replaces spaces with '_'
  type = "Transformation" # *required* type to refer to this task
  description = "30% of passenger cars on the road in 2045 are plug-in electric. Residential building equipment and appliance sales are distributed across all efficiency levels. 80% of new & retrofit equipment is 5 years ahead of California's Title 24 commercial building energy-efficiency code-minimum. 75% of residents have access to residential charging; 25% access to workplace charging."
  key = "scenario" # *required* DO NOT MODIFY
  from_value = "demand_moderate" # *required* DO NOT MODIFY
  to_value = "earlynobio_moderate" # *required* DO NOT MODIFY
  inputs = [ "",] # what handoff datasets this transformation applies to, if empty applies to all handoff datasets going to 'to_model'.
  assignee = "jgu2" # *required* who (assignee's username) will be responsible for performing this task.

[[tasks]]
  id = "check_x"    # *required* name to refer to this task, must be unique otherwise PIPES will append integers, spaces are converted to '_'
  type = "QAQC"     # *required* type to refer to this task
  description = ""          # *required*
  inputs = ["",]                #
  notes = [""]          # optional
  scheduled_start = ""  # optional, by default this is scheduled according to model run and handoff schedules
  scheduled_end   = ""  # optional, by default this is scheduled according to model run and handoff schedules
  assignee = "jgu2" # *required* who (assignee's username) will be responsible for performing this task.

  [[tasks.acceptance_criteria]] # custom user key/value TOML pairs (possibly nested) to describe what needs to be done with qaqc, we provide some examples below
    bounds = []
    columns = [""] # columns to check
    units = "" # check that units

[[tasks]]
  id = "vis_x"
  type = "Visualization" # *required* type to refer to this task
  description = ""
  inputs = ["",]
  notes = [""]
  scheduled_start = "" # optional, by default this is scheduled according to model run and handoff schedules
  scheduled_end   = "" # optional, by default this is scheduled according to model run and handoff schedules
  assignee = "testuser" # *required* who (assignee's username) will be responsible for performing this task.

  [[tasks.parameters]] # custom user key/value TOML pairs (possibly nested) to describe what needs to be done with vis, we provide some examples below
    type = "line"  #
    columns = []   #
    colors = []

Schema Definition

schemas

TaskCreate

Attributes:

Name Type Description
assignee UserCreate | EmailStr | None
completion_date datetime | None
description str
input_datasets list[str]
input_parameters dict
logs str
name str
notes str
output_datasets list[str]
output_values dict
scheduled_end datetime | None
scheduled_start datetime | None
source_code SourceCode | None
status ExecutionStatus
subtasks list[SubTask]
type str

assignee = Field(title='assignee', default=None, description='The user who conducts this task')

completion_date = Field(title='completion_date', description='task completion date', default=None)

description = Field(title='description', default='', description='description of task process')

input_datasets = Field(title='input_datasets', description='List of datasets that the task applies to.', default=[])

input_parameters = Field(title='input_parameters', description='Non-dataset inputs, i.e. parameters in dictionary', default={})

logs = Field(title='logs', description='task log location', default='')

name = Field(title='name', description='task name, must be unique to this model run.')

notes = Field(title='notes', description='notes and additional information', default='')

output_datasets = Field(title='output_datasts', description='List of datasets produced from this task', default=[])

output_values = Field(title='output_values', description='non-dataset outputs, i.e. values in dictionary', default={})

scheduled_end = Field(title='scheduled_end', description='scheduled end date', defualt=None)

scheduled_start = Field(title='scheduled_start', description='scheduled start date', default=None)

source_code = Field(title='script', description='Scripts used to perform the task process', default=None)

status = Field(title='status', default=ExecutionStatus.PENDING, description='The task status - PENDING, RUNNING, SUCCESS, or FAILURE')

subtasks = Field(title='subtasks', description='List of actions under this task')

type = Field(title='type', description='task type, like be QAQC, Transformation, or Visualization')