# Ascent Actions Overview¶

Actions are the mechanism that instruct Ascent to perform operations. The currently supported actions are:

• add_scenes : adds a list of scenes to create images
• add_extracts: adds a list of extracts to move data out of Ascent
• add_pipelines : adds a list of pipelines to transform mesh data
• execute : executes the data flow network created by the actions
• reset : resets all actions to an empty state

Ascent actions can be specified within the integration using Conduit Nodes and can be read in through a file. Each time Ascent executes a set of actions, it will check for a file in the current working directory called ascent_actions.json. If found, the current actions will be updated with the contents of the json file. If specific action exists in both the Conduit Node and the file, shared fields will be overridden with the contents of the file. If additional actions are present in the file, they will be appended to the current list of actions. The behavior is identical to a Python dictionary update.

For example, if the existing actions in the Conduit Node contain:

[

{
"scenes":
{
"scene1":
{
"plots":
{
"plt1":
{
"type": "pseudocolor",
"params":
{
"field": "zonal_noise"
}
}
}
}
}
},

{
"action": "execute"
}
]


The contents of the file are:

[

{
"scenes":
{
"scene1":
{
"plots":
{
"plt2":
{
"type": "pseudocolor",
"params":
{
"field": "nodal_noise"
}
}
}
}
}
}
]


The resulting actions that are executed by Ascent will be:

[

{
"scenes":
{
"scene1":
{
"plots":
{
"plt1":
{
"type": "pseudocolor",
"params":
{
"field": "zonal_noise"
}
},
"plt2":
{
"type": "pseudocolor",
"params":
{
"field": "nodal_noise"
}
}
}
}
}
}
]


While the updating feature is convient, we encourage users to be as explicit as possible when creating action files to avoid unexpected behavior. A full example of an actions file can be found in /src/examples/proxies/lulesh2.0.3/ascent_actions.json.