Actions are ordered discrete units of work. Actions provide flexibility for the developer to offer options to the user regarding what activities are necessary to achieve their goals. Typical actions might follow the general order of prepare files, run a compute, post process, and store results

Actions have an IOManager, so they have stores, attributes, input data sources, and output data sources. They also have a name and type.

A simple set of example actions may look like this:

		cc.Action{
			Name:        "update-breach-bfile",
			Type:        "update-breach-bfile",
			Parameters: map[string]any{
				"bFile":      "{ATTR::model_name}.b{ATTR::plan_name}",
				"fcFile":     "failure_elevations.json",
				"geoHdfFile": "{ATTR::model_name}.g{ATTR::geom_name}.hdf",
			},
		}, cc.Action{
			Name: "run-unsteady",
			Type: "unsteady-simulation",
			Parameters: map[string]any{
				"model-prefix": "{ATTR::model_name}",
				"plan":         "{ATTR::plan_name}",
				"geom":         "{ATTR::geom_name}",
			},
		}
CODE