Model Run Config
TOML Example (Click to Expand)
# lines marked with a *required* are REQUIRED PIECES OF METADATA
# if a header does not have *required* it is not required info, but part of its metadata can be marked as *required* to indicate that this metadata is required when the header is included
name = "model-run-1" # *required* name of model run
description = ["This is model run 1"] # description/purpose of the model run
assumptions = [""] # model specific assumptions for this run
version = "v1" # version of model code
notes = [""]
[source_code] # code associated with run
location = "https://github.com/example-model"
branch = "main"
[config]
# any info on config for model sim
[env_deps]
# any info on environment dependencies for model sim
[[datasets]] # datasets this model run is expected to output that will be handed off
name = "dsg_rpm_2_v2.1" # ** name of dataset
dataset_id = "load-profiles"
description = "this is a general description about the dataset, the actual dataset description will be given in the dataset checkin" # any info about dataset
scheduled_checkin = "2023-02-28" # estimate of when dataset will be checked in
[[handoffs]]
id = "handoff_id1"
description = "This is a short description of handoff_id1."
from_model = "" # Optional get FROM PIPES
to_model = "rpm" # *required*
scheduled_start = ""
scheduled_end = "2023-03-01" # *required*
notes = ""
[[handoffs]]
id = "handoff_id2"
description = "This is a short description of handoff_id2."
from_model = "" # Optional get FROM PIPES
to_model = "dgen" # *required*
scheduled_start = ""
scheduled_end = "2023-05-05" # *required*
notes = ""
[[tasks]]
id = "check_solar" # *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 = ["load-profiles",] #
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 QAQC task.
handoff_id = "handoff_id1" # optional, use this field if a task is associated with a handoff id. If not, this line should be deleted.
[[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_solar"
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 = "jgu2" # *required* who (assignee's username) will be responsible for performing this visualization task.
handoff_id = "handoff_id1"
[[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 = []
[[tasks]]
id = "trans_1" # *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 = "This is a short description of trans_1."
key = "scenario" # *required* DO NOT MODIFY
from_value = "scenario_1" # *required* DO NOT MODIFY
to_value = "scenario_2" # *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 transformation.
handoff_id = "handoff_id1"
[[tasks]]
id = "trans_2" # *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 = "This is a short description of trans_2."
key = "scenario" # *required* DO NOT MODIFY
from_value = "scenario_3" # *required* DO NOT MODIFY
to_value = "scenario_2" # *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 transformation.
handoff_id = "handoff_id1"
[[tasks]]
id = "misc-task"
type = "QAQC"
description = "Misc task"
inputs = ["load-profiles",] #
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 QAQC task.
handoff_id = "handoff_id2"
Schema Reference
schemas
ModelRunCreate
Model Run Schema.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str
|
Model run name. |
description |
list[str]
|
The description of the model run. |
version |
str
|
The version of model code. |
assumptions |
list[str]
|
List of model run assumptions. |
notes |
str
|
Model run notes. |
source_code |
SourceCode | None
|
The source code of the model run. |
config |
dict
|
Model run config. |
env_deps |
dict
|
Model run environment dependencies. |
datasets |
list[DatasetSchedule]
|
Output datasets for handoff. |
Fields:
-
name(str) -
description(list[str]) -
version(str) -
assumptions(list[str]) -
notes(str) -
source_code(SourceCode | None) -
config(dict) -
env_deps(dict) -
datasets(list[DatasetSchedule])
Validators:
-
validate_description→description
assumptions
List of model run assumptions
config
Model run config
datasets
Output datasets for handoff
description
env_deps
Model run environment dependencies
name
Model run name
notes
Model run notes
source_code
The source code of the model run
version
The version of model code
SourceCode
Source Model Schema.
Attributes:
| Name | Type | Description |
|---|---|---|
location |
str
|
The location of the source code. |
branch |
str | None
|
The git branch of source code. |
tag |
str | None
|
The git tag of source code. |
image |
str | None
|
The location of container image. |
Fields:
branch
The git branch of source code
image
The location of container image
location
The location of the source code
tag
The git tag of source code
schemas
DatasetSchedule
The expected dataset output from model run.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str
|
A short dataset name. |
display_name |
str | None
|
The dataset display name. |
description |
str
|
The description of the scheduled dataset. |
scheduled_checkin |
datetime | None
|
Scheduled checkin date in YYYY-MM-DD format. |
Fields:
-
name(str) -
display_name(str | None) -
description(str) -
scheduled_checkin(datetime | None)
description
The description of the scheduled dataset
display_name
The dataset display name
name
A short dataset name
scheduled_checkin
Scheduled checkin date in YYYY-MM-DD format
schemas
SourceCode
Source Model Schema.
Attributes:
| Name | Type | Description |
|---|---|---|
location |
str
|
The location of the source code. |
branch |
str | None
|
The git branch of source code. |
tag |
str | None
|
The git tag of source code. |
image |
str | None
|
The location of container image. |
Fields:
branch
The git branch of source code
image
The location of container image
location
The location of the source code
tag
The git tag of source code
schemas
TaskCreate
Task creation schema.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str
|
Task name, must be unique to this model run. |
type |
str
|
Task type, like QAQC, Transformation, or Visualization. |
description |
str
|
Description of task process. |
assignee |
UserCreate | EmailStr | None
|
The user who conducts this task. |
status |
ExecutionStatus
|
The task status - PENDING, RUNNING, SUCCESS, or FAILURE. |
subtasks |
list[SubTask]
|
List of actions under this task. |
scheduled_start |
datetime | None
|
Scheduled start date. |
scheduled_end |
datetime | None
|
Scheduled end date. |
completion_date |
datetime | None
|
Task completion date. |
source_code |
SourceCode | None
|
Scripts used to perform the task process. |
input_datasets |
list[str]
|
List of datasets that the task applies to. |
input_parameters |
dict
|
Non-dataset inputs, i.e. parameters in dictionary. |
output_datasets |
list[str]
|
List of datasets produced from this task. |
output_values |
dict
|
Non-dataset outputs, i.e. values in dictionary. |
logs |
str
|
Task log location. |
notes |
str
|
Notes and additional information. |
Fields:
-
name(str) -
type(str) -
description(str) -
assignee(UserCreate | EmailStr | None) -
status(ExecutionStatus) -
subtasks(list[SubTask]) -
scheduled_start(datetime | None) -
scheduled_end(datetime | None) -
completion_date(datetime | None) -
source_code(SourceCode | None) -
input_datasets(list[str]) -
input_parameters(dict) -
output_datasets(list[str]) -
output_values(dict) -
logs(str) -
notes(str)
assignee
The user who conducts this task
completion_date
task completion date
description
description of task process
input_datasets
List of datasets that the task applies to.
input_parameters
Non-dataset inputs, i.e. parameters in dictionary
logs
task log location
name
task name, must be unique to this model run.
notes
notes and additional information
output_datasets
List of datasets produced from this task
output_values
non-dataset outputs, i.e. values in dictionary
scheduled_end
scheduled end date
scheduled_start
scheduled start date
source_code
Scripts used to perform the task process
status
The task status - PENDING, RUNNING, SUCCESS, or FAILURE
subtasks
List of actions under this task
type
task type, like be QAQC, Transformation, or Visualization