Hold-up Tank Model
This notebook will show the basics of using fmdtools to simulate hazards in a system with human-component interactions, including:
human-induced failure modes
human responses to component failure modes
joint human-component failure modes
The system to model is in tank_model.py
.
Copyright © 2024, United States Government, as represented by the Administrator of the National Aeronautics and Space Administration. All rights reserved.
The “"Fault Model Design tools - fmdtools version 2"” software is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
[1]:
import fmdtools.sim.propagate as propagate
import fmdtools.analyze as an
from tank_model import Tank
from fmdtools.sim.sample import FaultDomain, FaultSample
from fmdtools.define.architecture.function import FunctionArchitectureGraph
Verifying the nominal state:
In the nominal state, no change in system state should occur and the tank level should remain at 10. For this, track = 'all'
is included to record all states of the model. If track = 'all'
is ommitted, only values defined in mdl.default_track
would be included (see tank_model.py
).
[2]:
mdl = Tank(track='all')
result, mdlhist = propagate.nominal(mdl, desired_result={'graph': FunctionArchitectureGraph})
Here we can see where it is in the Result and then where it is specifically in the result.graph
[3]:
result
[3]:
graph: <fmdtools.define.architecture.function.FunctionArchitectureGraph object at 0x000001EEE2C4EE10>
With these results, we can now plot the graph of results resgraph using:
[4]:
fig = result.graph.draw(figsize=(8,6))

As can be seen, this gives a graphical representation of the functional model with the various flows. Since all of the functions are grey, no faults were accidentally introduced in this run.
A model history is additionally returned given our specified tracking options. If none are provided, the default_track
variable in the Model
is used (which in this case is set to all
). It also shows the datatype for each (all arrays). See below:
[5]:
mdlhist
[5]:
m.sub_faults: array(21)
flows.wat_in_1.s.effort: array(21)
flows.wat_in_1.s.rate: array(21)
flows.wat_in_2.s.effort: array(21)
flows.wat_in_2.s.rate: array(21)
flows.wat_out_1.s.effort: array(21)
flows.wat_out_1.s.rate: array(21)
flows.wat_out_2.s.effort: array(21)
flows.wat_out_2.s.rate: array(21)
flows.valve1_sig.s.indicator: array(21)
flows.valve1_sig.s.action: array(21)
flows.tank_sig.s.indicator: array(21)
flows.tank_sig.s.action: array(21)
flows.valve2_sig.s.indicator: array(21)
flows.valve2_sig.s.action: array(21)
fxns.import_water.s.amt_open: array(21)
fxns.import_water.m.faults.stuck: array(21)
fxns.import_water.m.sub_faults: array(21)
fxns.guide_water_in.m.faults.clogged: array(21)
fxns.guide_water_in.m.faults.leak: array(21)
fxns.guide_water_in.m.sub_faults: array(21)
fxns.store_water.s.level: array(21)
fxns.store_water.s.net_flow: array(21)
fxns.store_water.m.faults.leak: array(21)
fxns.store_water.m.sub_faults: array(21)
fxns.guide_water_out.m.faults.clogged: array(21)
fxns.guide_water_out.m.faults.leak: array(21)
fxns.guide_water_out.m.sub_faults: array(21)
fxns.export_water.s.amt_open: array(21)
fxns.export_water.m.faults.stuck: array(21)
fxns.export_water.m.sub_faults: array(21)
fxns.human.aa.active_actions: array(21)
fxns.human.aa.flows. array(21)
fxns.human.aa.flows.tank_sig.s.action: array(21)
fxns.human.aa.flows. array(21)
fxns.human.aa.flows. array(21)
fxns.human.aa.flows. array(21)
fxns.human.aa.flows. array(21)
fxns.human.aa.flows. array(21)
fxns.human.aa.flows. array(21)
fxns.human.aa.acts.l array(21)
fxns.human.aa.acts.look.m.sub_faults: array(21)
fxns.human.aa.acts.d array(21)
fxns.human.aa.acts.d array(21)
fxns.human.aa.acts.d array(21)
fxns.human.aa.acts.detect.m.sub_faults: array(21)
fxns.human.aa.acts.r array(21)
fxns.human.aa.acts.reach.m.sub_faults: array(21)
fxns.human.aa.acts.g array(21)
fxns.human.aa.acts.grasp.m.sub_faults: array(21)
fxns.human.aa.acts.t array(21)
fxns.human.aa.acts.t array(21)
fxns.human.aa.acts.turn.m.sub_faults: array(21)
fxns.human.m.sub_faults: array(21)
time: array(21)
We can also look at the history of each function to check if it nominal or faulty. First checking to see if the the store_water
function is nominal and then verifying that it is at the constant level throughout these time steps
[6]:
mdlhist.fxns.store_water.m
[6]:
faults.leak: array(21)
sub_faults: array(21)
[7]:
mdlhist.fxns.store_water.s.level
[7]:
array([10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 10.,
10., 10., 10., 10., 10., 10., 10., 10.])
We can further look at the states of the model using History.plot_line
. Input the specific graphs you want to see, here showing that water_in == water_out, that the store water value is constant, and that there is no signal from the tank to indicate anything is wrong. Note that units are not included.
[8]:
fig, ax = mdlhist.plot_line('flows.wat_in_1.s.rate',
'flows.wat_out_1.s.rate',
'fxns.store_water.s.level',
'flows.tank_sig.s.indicator')

History
If we want to see this data in tabular form, we can use mdlhist.as_table()
. This also includes indexing on the table to only see parts of it.
This table is a pandas dataframe. We can save this dataframe to a .csv using nominal_histtable.to_csv("filename.csv")
[9]:
nominal_histtable = mdlhist.as_table()
nominal_histtable[:10] #only displaying 10
[9]:
m.sub_faults | flows.wat_in_1.s.effort | flows.wat_in_1.s.rate | flows.wat_in_2.s.effort | flows.wat_in_2.s.rate | flows.wat_out_1.s.effort | flows.wat_out_1.s.rate | flows.wat_out_2.s.effort | flows.wat_out_2.s.rate | flows.valve1_sig.s.indicator | ... | fxns.human.aa.acts.detect.m.sub_faults | fxns.human.aa.acts.reach.m.faults.unable | fxns.human.aa.acts.reach.m.sub_faults | fxns.human.aa.acts.grasp.m.faults.cannot | fxns.human.aa.acts.grasp.m.sub_faults | fxns.human.aa.acts.turn.m.faults.cannot | fxns.human.aa.acts.turn.m.faults.wrong_valve | fxns.human.aa.acts.turn.m.sub_faults | fxns.human.m.sub_faults | time | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 0.0 |
1 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 1.0 |
2 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 2.0 |
3 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 3.0 |
4 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 4.0 |
5 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 5.0 |
6 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 6.0 |
7 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 7.0 |
8 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 8.0 |
9 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 9.0 |
10 rows × 55 columns
What happens under component faults?
Here we model a leak of the tank. To compensate for this leak, the operator opens the first valve to a higher setting, maintaining the level of the tank. This is done with propagate.one_fault
, which tells the model that a fault has occured and when it did occure. Note that this fault was part of the history earlier as fxns.store_water.m.faults.leak
.
Here, the store_water level drops until the indicator turns on and allows for the system to compensate to keep the tank from fully emptying. Blue represents nominal state and red is the fault scenario.
[10]:
resgraph, mdlhist = propagate.one_fault(mdl,'store_water','leak', time=3,track='all',desired_result=['graph','endclass','endfaults'])
fig, ax = mdlhist.plot_line('flows.valve1_sig.s.action', 'flows.tank_sig.s.indicator',
'fxns.store_water.s.level', 'fxns.store_water.s.net_flow',
title="Tank response to leak at t=3", time_slice=3, legend_loc=False, title_padding=0.1)

We can also view the model again with highlighed areas to show the faults visually. The draw_from
function requires both the time step you’re call (here, it’s at 10
since that is after the fault occured). For more uses of this function, including animations, see Pump_Example_Notebook.ipynb
in the pump example folder.
[11]:
mg = FunctionArchitectureGraph(mdl)
fig, ax = mg.draw_from(10, mdlhist)

Now mdlhist has double the number of entries–those corresponding to the nominal and faulty scenarios.
[12]:
fault_histtable = mdlhist.as_table()
fault_histtable
[12]:
nominal.m.sub_faults | nominal.flows.wat_in_1.s.effort | nominal.flows.wat_in_1.s.rate | nominal.flows.wat_in_2.s.effort | nominal.flows.wat_in_2.s.rate | nominal.flows.wat_out_1.s.effort | nominal.flows.wat_out_1.s.rate | nominal.flows.wat_out_2.s.effort | nominal.flows.wat_out_2.s.rate | nominal.flows.valve1_sig.s.indicator | ... | faulty.fxns.human.aa.acts.detect.m.sub_faults | faulty.fxns.human.aa.acts.reach.m.faults.unable | faulty.fxns.human.aa.acts.reach.m.sub_faults | faulty.fxns.human.aa.acts.grasp.m.faults.cannot | faulty.fxns.human.aa.acts.grasp.m.sub_faults | faulty.fxns.human.aa.acts.turn.m.faults.cannot | faulty.fxns.human.aa.acts.turn.m.faults.wrong_valve | faulty.fxns.human.aa.acts.turn.m.sub_faults | faulty.fxns.human.m.sub_faults | faulty.time | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 0.0 |
1 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 1.0 |
2 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 2.0 |
3 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 3.0 |
4 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 4.0 |
5 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 5.0 |
6 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 6.0 |
7 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 7.0 |
8 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 8.0 |
9 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 9.0 |
10 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 10.0 |
11 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 11.0 |
12 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 12.0 |
13 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 13.0 |
14 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 14.0 |
15 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 15.0 |
16 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 16.0 |
17 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 17.0 |
18 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 18.0 |
19 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 19.0 |
20 | False | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1 | ... | False | False | False | False | False | False | False | False | False | 20.0 |
21 rows × 110 columns
Note how, compared to the previos history table, this one does not include all values rather only the component that was affected (IE the store water function. We can further us History.get_degraded_hist
compares the results over time so we can see what functions and flows were degraded over time. We can then use the summary to view a list of the functions and flows that were impacted over time.
We can the the view it as a table again, but compared to the previous it only shows if the fault occurs.
[13]:
deghist = mdlhist.get_degraded_hist(*mdl.fxns, *mdl.flows)
deghist.as_table()
[13]:
import_water | guide_water_in | store_water | guide_water_out | export_water | human | wat_in_1 | wat_in_2 | wat_out_1 | wat_out_2 | valve1_sig | tank_sig | valve2_sig | total | time | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | False | False | False | False | False | False | False | False | False | False | False | False | False | 0 | 0.0 |
1 | False | False | False | False | False | False | False | False | False | False | False | False | False | 0 | 1.0 |
2 | False | False | False | False | False | False | False | False | False | False | False | False | False | 0 | 2.0 |
3 | False | False | True | False | False | False | False | False | False | False | False | False | False | 1 | 3.0 |
4 | False | False | True | False | False | False | False | False | False | False | False | False | False | 1 | 4.0 |
5 | False | False | True | False | False | False | False | False | False | False | False | False | False | 1 | 5.0 |
6 | False | False | True | False | False | True | False | False | False | False | False | True | False | 3 | 6.0 |
7 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 7.0 |
8 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 8.0 |
9 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 9.0 |
10 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 10.0 |
11 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 11.0 |
12 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 12.0 |
13 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 13.0 |
14 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 14.0 |
15 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 15.0 |
16 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 16.0 |
17 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 17.0 |
18 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 18.0 |
19 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 19.0 |
20 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 20.0 |
What about human-induced faults?
Here we evaluate what happens if the operator thinks they see a low or high indicator and takes those given actions.
Note that in these cases, because of the indicator/procedures, the operators are able to correct for the fault.
[14]:
resgraph, mdlhist = propagate.one_fault(mdl,'human.aa.acts.detect','false_low', time=3, track='all',desired_result=['graph','endclass','endfaults'])
fig, ax = mdlhist.plot_line('flows.valve1_sig.s.action',
'flows.tank_sig.s.indicator',
'fxns.store_water.s.level',
'fxns.store_water.s.net_flow',title="False detection low at t=3",time_slice=3,legend_loc=False, title_padding=0.1)
mg = FunctionArchitectureGraph(mdl)
fig, ax = mg.draw_from(10, mdlhist, figsize=(8,6), withlegend=False, rem_ind=2) #set size and remove legend for legibility.


[15]:
deghist = mdlhist.get_degraded_hist(*mdl.fxns, *mdl.flows)
deghist.as_table()
[15]:
import_water | guide_water_in | store_water | guide_water_out | export_water | human | wat_in_1 | wat_in_2 | wat_out_1 | wat_out_2 | valve1_sig | tank_sig | valve2_sig | total | time | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | False | False | False | False | False | False | False | False | False | False | False | False | False | 0 | 0.0 |
1 | False | False | False | False | False | False | False | False | False | False | False | False | False | 0 | 1.0 |
2 | False | False | False | False | False | False | False | False | False | False | False | False | False | 0 | 2.0 |
3 | True | False | True | False | False | True | True | True | False | False | True | False | False | 6 | 3.0 |
4 | True | False | True | False | False | True | True | True | False | False | True | False | False | 6 | 4.0 |
5 | True | False | True | False | False | True | True | True | False | False | True | False | False | 6 | 5.0 |
6 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 6.0 |
7 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 7.0 |
8 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 8.0 |
9 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 9.0 |
10 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 10.0 |
11 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 11.0 |
12 | True | False | True | False | False | True | True | True | False | False | True | True | False | 7 | 12.0 |
13 | True | False | True | False | False | True | True | True | True | True | True | True | False | 9 | 13.0 |
14 | True | False | True | False | False | True | True | True | True | True | True | True | False | 9 | 14.0 |
15 | True | False | True | False | False | True | True | True | True | True | True | True | False | 9 | 15.0 |
16 | True | False | True | False | False | True | True | True | True | True | True | False | False | 8 | 16.0 |
17 | True | False | True | False | False | True | True | True | True | True | True | False | False | 8 | 17.0 |
18 | True | False | True | False | False | True | True | True | True | True | True | False | False | 8 | 18.0 |
19 | True | False | True | False | False | True | True | True | True | True | True | True | False | 9 | 19.0 |
20 | True | False | True | False | False | True | True | True | True | True | True | True | False | 9 | 20.0 |
[16]:
resgraph, mdlhist = propagate.one_fault(mdl,'human.aa.acts.detect','false_high', time=3, track='all',desired_result=['graph','endclass','endfaults'])
fig, ax = mdlhist.plot_line('flows.valve1_sig.s.action',
'flows.tank_sig.s.indicator',
'fxns.store_water.s.level',
'fxns.store_water.s.net_flow',
title="False detection high at t=3",time_slice=3,legend_loc=False, title_padding=0.1)
mg = FunctionArchitectureGraph(mdl)
fig, ax = mg.draw_from(10, mdlhist, figsize=(8,6), withlegend=False) #set size and remove legend for legibility.


Evaluating Joint Component-Human fault modes
To understand where the risks of failure are, we need to find the scenarios, that, with the modelled human controls, still lead to failures. To assess this, we develop a fault sampling strategy using FaultDomain
and FaultSample
.
[17]:
fd = FaultDomain(mdl)
fd.add_all()
fs = FaultSample(fd)
fs.add_fault_phases()
fs
[17]:
FaultSample of scenarios:
- tank_fxns_import_water_stuck_t0p0
- tank_fxns_guide_water_in_clogged_t0p0
- tank_fxns_guide_water_in_leak_t0p0
- tank_fxns_store_water_leak_t0p0
- tank_fxns_guide_water_out_clogged_t0p0
- tank_fxns_guide_water_out_leak_t0p0
- tank_fxns_export_water_stuck_t0p0
- tank_fxns_human_aa_acts_look_not_visible_t0p0
- tank_fxns_human_aa_acts_detect_false_high_t0p0
- tank_fxns_human_aa_acts_detect_false_low_t0p0
- ... (30 total)
[18]:
endclasses, mdlhists = propagate.fault_sample(mdl, fs)
SCENARIOS COMPLETE: 100%|██████████| 30/30 [00:01<00:00, 20.14it/s]
Here we consider all single and joint-fault scenarios in the set of simulations to see which ones lead to failure:
[19]:
fs.add_fault_phases(n_joint=2)
endclasses, mdlhists=propagate.fault_sample(mdl, fs, track="all")
SCENARIOS COMPLETE: 100%|██████████| 240/240 [00:12<00:00, 19.40it/s]
[20]:
fmea_tab = an.tabulate.result_summary_fmea(endclasses, mdlhist) #note, this is currently behaving odd even without the joint fault cases
fmea_tab
[20]:
degraded | faulty | rate | cost | expected_cost | |
---|---|---|---|---|---|
nominal | [] | [] | 1.0 | 0.0 | 0.0 |
faulty | [] | [] | NaN | NaN | NaN |
tank_fxns_import_water_stuck_t0p0 | NaN | NaN | 0.0 | 0.0 | 0.0 |
tank_fxns_guide_water_in_clogged_t0p0 | NaN | NaN | 0.00001 | 1000000.0 | 1000000.0 |
tank_fxns_guide_water_in_leak_t0p0 | NaN | NaN | 0.00001 | 0.0 | 0.0 |
... | ... | ... | ... | ... | ... |
tank_fxns_human_aa_acts_reach_unable__tank_fxns_human_aa_acts_turn_cannot_t10p0 | NaN | NaN | 0.032432 | 0.0 | 0.0 |
tank_fxns_human_aa_acts_reach_unable__tank_fxns_human_aa_acts_turn_wrong_valve_t10p0 | NaN | NaN | 0.016216 | 0.0 | 0.0 |
tank_fxns_human_aa_acts_grasp_cannot__tank_fxns_human_aa_acts_turn_cannot_t10p0 | NaN | NaN | 0.005544 | 0.0 | 0.0 |
tank_fxns_human_aa_acts_grasp_cannot__tank_fxns_human_aa_acts_turn_wrong_valve_t10p0 | NaN | NaN | 0.002772 | 0.0 | 0.0 |
tank_fxns_human_aa_acts_turn_cannot__tank_fxns_human_aa_acts_turn_wrong_valve_t10p0 | NaN | NaN | 0.03842 | 0.0 | 0.0 |
242 rows × 5 columns
Next, we can filter out non-failures and sort by the failures with the highest expected cost (though rate would give the same results here)
[21]:
failure_tab = fmea_tab[fmea_tab['cost'] > 1]
failure_tab.sort_values('expected_cost', ascending = False)
[21]:
degraded | faulty | rate | cost | expected_cost | |
---|---|---|---|---|---|
tank_fxns_human_aa_acts_detect_false_high_t0p0 | NaN | NaN | 0.231504 | 1000000.0 | 23150399999.999996 |
tank_fxns_human_aa_acts_detect_false_low_t0p0 | NaN | NaN | 0.231504 | 1000000.0 | 23150399999.999996 |
tank_fxns_human_aa_acts_detect_false_high__tank_fxns_human_aa_acts_detect_false_low_t10p0 | NaN | NaN | 0.053594 | 1000000.0 | 5359410201.599999 |
tank_fxns_human_aa_acts_detect_false_high__tank_fxns_human_aa_acts_detect_false_low_t0p0 | NaN | NaN | 0.053594 | 1000000.0 | 5359410201.599999 |
tank_fxns_human_aa_acts_detect_false_high__tank_fxns_human_aa_acts_turn_wrong_valve_t10p0 | NaN | NaN | 0.032086 | 1000000.0 | 3208645440.0 |
... | ... | ... | ... | ... | ... |
tank_fxns_import_water_stuck__tank_fxns_guide_water_in_clogged_t10p0 | NaN | NaN | -0.0 | 1000000.0 | -3.166667 |
tank_fxns_export_water_stuck__tank_fxns_human_aa_acts_detect_false_low_t0p0 | NaN | NaN | -0.000001 | 1000000.0 | -73309.6 |
tank_fxns_export_water_stuck__tank_fxns_human_aa_acts_detect_false_high_t0p0 | NaN | NaN | -0.000001 | 1000000.0 | -73309.6 |
tank_fxns_export_water_stuck__tank_fxns_human_aa_acts_detect_false_high_t10p0 | NaN | NaN | -0.000001 | 1000000.0 | -73309.6 |
tank_fxns_export_water_stuck__tank_fxns_human_aa_acts_detect_false_low_t10p0 | NaN | NaN | -0.000001 | 1000000.0 | -73309.6 |
111 rows × 5 columns
One of the top modes is a joint human-component failure mode. Let’s see what happens in this case:
[22]:
[*mdlhists.keys()]
[22]:
['tank_fxns_import_water_stuck_t0p0.m.sub_faults',
'tank_fxns_import_water_stuck_t0p0.flows.wat_in_1.s.effort',
'tank_fxns_import_water_stuck_t0p0.flows.wat_in_1.s.rate',
'tank_fxns_import_water_stuck_t0p0.flows.wat_in_2.s.effort',
'tank_fxns_import_water_stuck_t0p0.flows.wat_in_2.s.rate',
'tank_fxns_import_water_stuck_t0p0.flows.wat_out_1.s.effort',
'tank_fxns_import_water_stuck_t0p0.flows.wat_out_1.s.rate',
'tank_fxns_import_water_stuck_t0p0.flows.wat_out_2.s.effort',
'tank_fxns_import_water_stuck_t0p0.flows.wat_out_2.s.rate',
'tank_fxns_import_water_stuck_t0p0.flows.valve1_sig.s.indicator',
'tank_fxns_import_water_stuck_t0p0.flows.valve1_sig.s.action',
'tank_fxns_import_water_stuck_t0p0.flows.tank_sig.s.indicator',
'tank_fxns_import_water_stuck_t0p0.flows.tank_sig.s.action',
'tank_fxns_import_water_stuck_t0p0.flows.valve2_sig.s.indicator',
'tank_fxns_import_water_stuck_t0p0.flows.valve2_sig.s.action',
'tank_fxns_import_water_stuck_t0p0.fxns.import_water.s.amt_open',
'tank_fxns_import_water_stuck_t0p0.fxns.import_water.m.faults.stuck',
'tank_fxns_import_water_stuck_t0p0.fxns.import_water.m.sub_faults',
'tank_fxns_import_water_stuck_t0p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_import_water_stuck_t0p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_import_water_stuck_t0p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_import_water_stuck_t0p0.fxns.store_water.s.level',
'tank_fxns_import_water_stuck_t0p0.fxns.store_water.s.net_flow',
'tank_fxns_import_water_stuck_t0p0.fxns.store_water.m.faults.leak',
'tank_fxns_import_water_stuck_t0p0.fxns.store_water.m.sub_faults',
'tank_fxns_import_water_stuck_t0p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_import_water_stuck_t0p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_import_water_stuck_t0p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_import_water_stuck_t0p0.fxns.export_water.s.amt_open',
'tank_fxns_import_water_stuck_t0p0.fxns.export_water.m.faults.stuck',
'tank_fxns_import_water_stuck_t0p0.fxns.export_water.m.sub_faults',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.active_actions',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_import_water_stuck_t0p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_import_water_stuck_t0p0.fxns.human.m.sub_faults',
'tank_fxns_import_water_stuck_t0p0.time',
'tank_fxns_guide_water_in_clogged_t0p0.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t0p0.flows.wat_in_1.s.effort',
'tank_fxns_guide_water_in_clogged_t0p0.flows.wat_in_1.s.rate',
'tank_fxns_guide_water_in_clogged_t0p0.flows.wat_in_2.s.effort',
'tank_fxns_guide_water_in_clogged_t0p0.flows.wat_in_2.s.rate',
'tank_fxns_guide_water_in_clogged_t0p0.flows.wat_out_1.s.effort',
'tank_fxns_guide_water_in_clogged_t0p0.flows.wat_out_1.s.rate',
'tank_fxns_guide_water_in_clogged_t0p0.flows.wat_out_2.s.effort',
'tank_fxns_guide_water_in_clogged_t0p0.flows.wat_out_2.s.rate',
'tank_fxns_guide_water_in_clogged_t0p0.flows.valve1_sig.s.indicator',
'tank_fxns_guide_water_in_clogged_t0p0.flows.valve1_sig.s.action',
'tank_fxns_guide_water_in_clogged_t0p0.flows.tank_sig.s.indicator',
'tank_fxns_guide_water_in_clogged_t0p0.flows.tank_sig.s.action',
'tank_fxns_guide_water_in_clogged_t0p0.flows.valve2_sig.s.indicator',
'tank_fxns_guide_water_in_clogged_t0p0.flows.valve2_sig.s.action',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.import_water.s.amt_open',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.import_water.m.faults.stuck',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.import_water.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.store_water.s.level',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.store_water.s.net_flow',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.store_water.m.faults.leak',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.store_water.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.export_water.s.amt_open',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.export_water.m.faults.stuck',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.export_water.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.active_actions',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t0p0.fxns.human.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t0p0.time',
'tank_fxns_guide_water_in_leak_t0p0.m.sub_faults',
'tank_fxns_guide_water_in_leak_t0p0.flows.wat_in_1.s.effort',
'tank_fxns_guide_water_in_leak_t0p0.flows.wat_in_1.s.rate',
'tank_fxns_guide_water_in_leak_t0p0.flows.wat_in_2.s.effort',
'tank_fxns_guide_water_in_leak_t0p0.flows.wat_in_2.s.rate',
'tank_fxns_guide_water_in_leak_t0p0.flows.wat_out_1.s.effort',
'tank_fxns_guide_water_in_leak_t0p0.flows.wat_out_1.s.rate',
'tank_fxns_guide_water_in_leak_t0p0.flows.wat_out_2.s.effort',
'tank_fxns_guide_water_in_leak_t0p0.flows.wat_out_2.s.rate',
'tank_fxns_guide_water_in_leak_t0p0.flows.valve1_sig.s.indicator',
'tank_fxns_guide_water_in_leak_t0p0.flows.valve1_sig.s.action',
'tank_fxns_guide_water_in_leak_t0p0.flows.tank_sig.s.indicator',
'tank_fxns_guide_water_in_leak_t0p0.flows.tank_sig.s.action',
'tank_fxns_guide_water_in_leak_t0p0.flows.valve2_sig.s.indicator',
'tank_fxns_guide_water_in_leak_t0p0.flows.valve2_sig.s.action',
'tank_fxns_guide_water_in_leak_t0p0.fxns.import_water.s.amt_open',
'tank_fxns_guide_water_in_leak_t0p0.fxns.import_water.m.faults.stuck',
'tank_fxns_guide_water_in_leak_t0p0.fxns.import_water.m.sub_faults',
'tank_fxns_guide_water_in_leak_t0p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_guide_water_in_leak_t0p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_guide_water_in_leak_t0p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_guide_water_in_leak_t0p0.fxns.store_water.s.level',
'tank_fxns_guide_water_in_leak_t0p0.fxns.store_water.s.net_flow',
'tank_fxns_guide_water_in_leak_t0p0.fxns.store_water.m.faults.leak',
'tank_fxns_guide_water_in_leak_t0p0.fxns.store_water.m.sub_faults',
'tank_fxns_guide_water_in_leak_t0p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_guide_water_in_leak_t0p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_guide_water_in_leak_t0p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_guide_water_in_leak_t0p0.fxns.export_water.s.amt_open',
'tank_fxns_guide_water_in_leak_t0p0.fxns.export_water.m.faults.stuck',
'tank_fxns_guide_water_in_leak_t0p0.fxns.export_water.m.sub_faults',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.active_actions',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_guide_water_in_leak_t0p0.fxns.human.m.sub_faults',
'tank_fxns_guide_water_in_leak_t0p0.time',
'tank_fxns_store_water_leak_t0p0.m.sub_faults',
'tank_fxns_store_water_leak_t0p0.flows.wat_in_1.s.effort',
'tank_fxns_store_water_leak_t0p0.flows.wat_in_1.s.rate',
'tank_fxns_store_water_leak_t0p0.flows.wat_in_2.s.effort',
'tank_fxns_store_water_leak_t0p0.flows.wat_in_2.s.rate',
'tank_fxns_store_water_leak_t0p0.flows.wat_out_1.s.effort',
'tank_fxns_store_water_leak_t0p0.flows.wat_out_1.s.rate',
'tank_fxns_store_water_leak_t0p0.flows.wat_out_2.s.effort',
'tank_fxns_store_water_leak_t0p0.flows.wat_out_2.s.rate',
'tank_fxns_store_water_leak_t0p0.flows.valve1_sig.s.indicator',
'tank_fxns_store_water_leak_t0p0.flows.valve1_sig.s.action',
'tank_fxns_store_water_leak_t0p0.flows.tank_sig.s.indicator',
'tank_fxns_store_water_leak_t0p0.flows.tank_sig.s.action',
'tank_fxns_store_water_leak_t0p0.flows.valve2_sig.s.indicator',
'tank_fxns_store_water_leak_t0p0.flows.valve2_sig.s.action',
'tank_fxns_store_water_leak_t0p0.fxns.import_water.s.amt_open',
'tank_fxns_store_water_leak_t0p0.fxns.import_water.m.faults.stuck',
'tank_fxns_store_water_leak_t0p0.fxns.import_water.m.sub_faults',
'tank_fxns_store_water_leak_t0p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_store_water_leak_t0p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_store_water_leak_t0p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_store_water_leak_t0p0.fxns.store_water.s.level',
'tank_fxns_store_water_leak_t0p0.fxns.store_water.s.net_flow',
'tank_fxns_store_water_leak_t0p0.fxns.store_water.m.faults.leak',
'tank_fxns_store_water_leak_t0p0.fxns.store_water.m.sub_faults',
'tank_fxns_store_water_leak_t0p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_store_water_leak_t0p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_store_water_leak_t0p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_store_water_leak_t0p0.fxns.export_water.s.amt_open',
'tank_fxns_store_water_leak_t0p0.fxns.export_water.m.faults.stuck',
'tank_fxns_store_water_leak_t0p0.fxns.export_water.m.sub_faults',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.active_actions',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_store_water_leak_t0p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_store_water_leak_t0p0.fxns.human.m.sub_faults',
'tank_fxns_store_water_leak_t0p0.time',
'tank_fxns_guide_water_out_clogged_t0p0.m.sub_faults',
'tank_fxns_guide_water_out_clogged_t0p0.flows.wat_in_1.s.effort',
'tank_fxns_guide_water_out_clogged_t0p0.flows.wat_in_1.s.rate',
'tank_fxns_guide_water_out_clogged_t0p0.flows.wat_in_2.s.effort',
'tank_fxns_guide_water_out_clogged_t0p0.flows.wat_in_2.s.rate',
'tank_fxns_guide_water_out_clogged_t0p0.flows.wat_out_1.s.effort',
'tank_fxns_guide_water_out_clogged_t0p0.flows.wat_out_1.s.rate',
'tank_fxns_guide_water_out_clogged_t0p0.flows.wat_out_2.s.effort',
'tank_fxns_guide_water_out_clogged_t0p0.flows.wat_out_2.s.rate',
'tank_fxns_guide_water_out_clogged_t0p0.flows.valve1_sig.s.indicator',
'tank_fxns_guide_water_out_clogged_t0p0.flows.valve1_sig.s.action',
'tank_fxns_guide_water_out_clogged_t0p0.flows.tank_sig.s.indicator',
'tank_fxns_guide_water_out_clogged_t0p0.flows.tank_sig.s.action',
'tank_fxns_guide_water_out_clogged_t0p0.flows.valve2_sig.s.indicator',
'tank_fxns_guide_water_out_clogged_t0p0.flows.valve2_sig.s.action',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.import_water.s.amt_open',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.import_water.m.faults.stuck',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.import_water.m.sub_faults',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.store_water.s.level',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.store_water.s.net_flow',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.store_water.m.faults.leak',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.store_water.m.sub_faults',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.export_water.s.amt_open',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.export_water.m.faults.stuck',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.export_water.m.sub_faults',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.active_actions',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_guide_water_out_clogged_t0p0.fxns.human.m.sub_faults',
'tank_fxns_guide_water_out_clogged_t0p0.time',
'tank_fxns_guide_water_out_leak_t0p0.m.sub_faults',
'tank_fxns_guide_water_out_leak_t0p0.flows.wat_in_1.s.effort',
'tank_fxns_guide_water_out_leak_t0p0.flows.wat_in_1.s.rate',
'tank_fxns_guide_water_out_leak_t0p0.flows.wat_in_2.s.effort',
'tank_fxns_guide_water_out_leak_t0p0.flows.wat_in_2.s.rate',
'tank_fxns_guide_water_out_leak_t0p0.flows.wat_out_1.s.effort',
'tank_fxns_guide_water_out_leak_t0p0.flows.wat_out_1.s.rate',
'tank_fxns_guide_water_out_leak_t0p0.flows.wat_out_2.s.effort',
'tank_fxns_guide_water_out_leak_t0p0.flows.wat_out_2.s.rate',
'tank_fxns_guide_water_out_leak_t0p0.flows.valve1_sig.s.indicator',
'tank_fxns_guide_water_out_leak_t0p0.flows.valve1_sig.s.action',
'tank_fxns_guide_water_out_leak_t0p0.flows.tank_sig.s.indicator',
'tank_fxns_guide_water_out_leak_t0p0.flows.tank_sig.s.action',
'tank_fxns_guide_water_out_leak_t0p0.flows.valve2_sig.s.indicator',
'tank_fxns_guide_water_out_leak_t0p0.flows.valve2_sig.s.action',
'tank_fxns_guide_water_out_leak_t0p0.fxns.import_water.s.amt_open',
'tank_fxns_guide_water_out_leak_t0p0.fxns.import_water.m.faults.stuck',
'tank_fxns_guide_water_out_leak_t0p0.fxns.import_water.m.sub_faults',
'tank_fxns_guide_water_out_leak_t0p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_guide_water_out_leak_t0p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_guide_water_out_leak_t0p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_guide_water_out_leak_t0p0.fxns.store_water.s.level',
'tank_fxns_guide_water_out_leak_t0p0.fxns.store_water.s.net_flow',
'tank_fxns_guide_water_out_leak_t0p0.fxns.store_water.m.faults.leak',
'tank_fxns_guide_water_out_leak_t0p0.fxns.store_water.m.sub_faults',
'tank_fxns_guide_water_out_leak_t0p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_guide_water_out_leak_t0p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_guide_water_out_leak_t0p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_guide_water_out_leak_t0p0.fxns.export_water.s.amt_open',
'tank_fxns_guide_water_out_leak_t0p0.fxns.export_water.m.faults.stuck',
'tank_fxns_guide_water_out_leak_t0p0.fxns.export_water.m.sub_faults',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.active_actions',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_guide_water_out_leak_t0p0.fxns.human.m.sub_faults',
'tank_fxns_guide_water_out_leak_t0p0.time',
'tank_fxns_export_water_stuck_t0p0.m.sub_faults',
'tank_fxns_export_water_stuck_t0p0.flows.wat_in_1.s.effort',
'tank_fxns_export_water_stuck_t0p0.flows.wat_in_1.s.rate',
'tank_fxns_export_water_stuck_t0p0.flows.wat_in_2.s.effort',
'tank_fxns_export_water_stuck_t0p0.flows.wat_in_2.s.rate',
'tank_fxns_export_water_stuck_t0p0.flows.wat_out_1.s.effort',
'tank_fxns_export_water_stuck_t0p0.flows.wat_out_1.s.rate',
'tank_fxns_export_water_stuck_t0p0.flows.wat_out_2.s.effort',
'tank_fxns_export_water_stuck_t0p0.flows.wat_out_2.s.rate',
'tank_fxns_export_water_stuck_t0p0.flows.valve1_sig.s.indicator',
'tank_fxns_export_water_stuck_t0p0.flows.valve1_sig.s.action',
'tank_fxns_export_water_stuck_t0p0.flows.tank_sig.s.indicator',
'tank_fxns_export_water_stuck_t0p0.flows.tank_sig.s.action',
'tank_fxns_export_water_stuck_t0p0.flows.valve2_sig.s.indicator',
'tank_fxns_export_water_stuck_t0p0.flows.valve2_sig.s.action',
'tank_fxns_export_water_stuck_t0p0.fxns.import_water.s.amt_open',
'tank_fxns_export_water_stuck_t0p0.fxns.import_water.m.faults.stuck',
'tank_fxns_export_water_stuck_t0p0.fxns.import_water.m.sub_faults',
'tank_fxns_export_water_stuck_t0p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_export_water_stuck_t0p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_export_water_stuck_t0p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_export_water_stuck_t0p0.fxns.store_water.s.level',
'tank_fxns_export_water_stuck_t0p0.fxns.store_water.s.net_flow',
'tank_fxns_export_water_stuck_t0p0.fxns.store_water.m.faults.leak',
'tank_fxns_export_water_stuck_t0p0.fxns.store_water.m.sub_faults',
'tank_fxns_export_water_stuck_t0p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_export_water_stuck_t0p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_export_water_stuck_t0p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_export_water_stuck_t0p0.fxns.export_water.s.amt_open',
'tank_fxns_export_water_stuck_t0p0.fxns.export_water.m.faults.stuck',
'tank_fxns_export_water_stuck_t0p0.fxns.export_water.m.sub_faults',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.active_actions',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_export_water_stuck_t0p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_export_water_stuck_t0p0.fxns.human.m.sub_faults',
'tank_fxns_export_water_stuck_t0p0.time',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.m.sub_faults',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.flows.wat_in_1.s.effort',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.flows.wat_in_1.s.rate',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.flows.wat_in_2.s.effort',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.flows.wat_in_2.s.rate',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.flows.wat_out_1.s.effort',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.flows.wat_out_1.s.rate',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.flows.wat_out_2.s.effort',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.flows.wat_out_2.s.rate',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.import_water.s.amt_open',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.import_water.m.faults.stuck',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.import_water.m.sub_faults',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.store_water.s.level',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.store_water.s.net_flow',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.store_water.m.faults.leak',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.store_water.m.sub_faults',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.export_water.s.amt_open',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.export_water.m.faults.stuck',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.export_water.m.sub_faults',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.active_actions',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.fxns.human.m.sub_faults',
'tank_fxns_human_aa_acts_look_not_visible_t0p0.time',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.flows.wat_in_1.s.effort',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.flows.wat_in_1.s.rate',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.flows.wat_in_2.s.effort',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.flows.wat_in_2.s.rate',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.flows.wat_out_1.s.effort',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.flows.wat_out_1.s.rate',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.flows.wat_out_2.s.effort',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.flows.wat_out_2.s.rate',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.import_water.s.amt_open',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.import_water.m.faults.stuck',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.import_water.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.store_water.s.level',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.store_water.s.net_flow',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.store_water.m.faults.leak',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.store_water.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.export_water.s.amt_open',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.export_water.m.faults.stuck',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.export_water.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.active_actions',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.fxns.human.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_high_t0p0.time',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.flows.wat_in_1.s.effort',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.flows.wat_in_1.s.rate',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.flows.wat_in_2.s.effort',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.flows.wat_in_2.s.rate',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.flows.wat_out_1.s.effort',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.flows.wat_out_1.s.rate',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.flows.wat_out_2.s.effort',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.flows.wat_out_2.s.rate',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.import_water.s.amt_open',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.import_water.m.faults.stuck',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.import_water.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.store_water.s.level',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.store_water.s.net_flow',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.store_water.m.faults.leak',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.store_water.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.export_water.s.amt_open',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.export_water.m.faults.stuck',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.export_water.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.active_actions',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.fxns.human.m.sub_faults',
'tank_fxns_human_aa_acts_detect_false_low_t0p0.time',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.m.sub_faults',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.flows.wat_in_1.s.effort',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.flows.wat_in_1.s.rate',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.flows.wat_in_2.s.effort',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.flows.wat_in_2.s.rate',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.flows.wat_out_1.s.effort',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.flows.wat_out_1.s.rate',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.flows.wat_out_2.s.effort',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.flows.wat_out_2.s.rate',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.import_water.s.amt_open',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.import_water.m.faults.stuck',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.import_water.m.sub_faults',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.store_water.s.level',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.store_water.s.net_flow',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.store_water.m.faults.leak',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.store_water.m.sub_faults',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.export_water.s.amt_open',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.export_water.m.faults.stuck',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.export_water.m.sub_faults',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.active_actions',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.fxns.human.m.sub_faults',
'tank_fxns_human_aa_acts_detect_not_detected_t0p0.time',
'tank_fxns_human_aa_acts_reach_unable_t0p0.m.sub_faults',
'tank_fxns_human_aa_acts_reach_unable_t0p0.flows.wat_in_1.s.effort',
'tank_fxns_human_aa_acts_reach_unable_t0p0.flows.wat_in_1.s.rate',
'tank_fxns_human_aa_acts_reach_unable_t0p0.flows.wat_in_2.s.effort',
'tank_fxns_human_aa_acts_reach_unable_t0p0.flows.wat_in_2.s.rate',
'tank_fxns_human_aa_acts_reach_unable_t0p0.flows.wat_out_1.s.effort',
'tank_fxns_human_aa_acts_reach_unable_t0p0.flows.wat_out_1.s.rate',
'tank_fxns_human_aa_acts_reach_unable_t0p0.flows.wat_out_2.s.effort',
'tank_fxns_human_aa_acts_reach_unable_t0p0.flows.wat_out_2.s.rate',
'tank_fxns_human_aa_acts_reach_unable_t0p0.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_reach_unable_t0p0.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_reach_unable_t0p0.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_reach_unable_t0p0.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_reach_unable_t0p0.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_reach_unable_t0p0.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.import_water.s.amt_open',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.import_water.m.faults.stuck',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.import_water.m.sub_faults',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.store_water.s.level',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.store_water.s.net_flow',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.store_water.m.faults.leak',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.store_water.m.sub_faults',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.export_water.s.amt_open',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.export_water.m.faults.stuck',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.export_water.m.sub_faults',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.active_actions',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_human_aa_acts_reach_unable_t0p0.fxns.human.m.sub_faults',
'tank_fxns_human_aa_acts_reach_unable_t0p0.time',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.m.sub_faults',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.flows.wat_in_1.s.effort',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.flows.wat_in_1.s.rate',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.flows.wat_in_2.s.effort',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.flows.wat_in_2.s.rate',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.flows.wat_out_1.s.effort',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.flows.wat_out_1.s.rate',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.flows.wat_out_2.s.effort',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.flows.wat_out_2.s.rate',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.import_water.s.amt_open',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.import_water.m.faults.stuck',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.import_water.m.sub_faults',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.store_water.s.level',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.store_water.s.net_flow',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.store_water.m.faults.leak',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.store_water.m.sub_faults',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.export_water.s.amt_open',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.export_water.m.faults.stuck',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.export_water.m.sub_faults',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.active_actions',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.fxns.human.m.sub_faults',
'tank_fxns_human_aa_acts_grasp_cannot_t0p0.time',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.m.sub_faults',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.flows.wat_in_1.s.effort',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.flows.wat_in_1.s.rate',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.flows.wat_in_2.s.effort',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.flows.wat_in_2.s.rate',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.flows.wat_out_1.s.effort',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.flows.wat_out_1.s.rate',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.flows.wat_out_2.s.effort',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.flows.wat_out_2.s.rate',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.import_water.s.amt_open',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.import_water.m.faults.stuck',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.import_water.m.sub_faults',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.store_water.s.level',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.store_water.s.net_flow',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.store_water.m.faults.leak',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.store_water.m.sub_faults',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.export_water.s.amt_open',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.export_water.m.faults.stuck',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.export_water.m.sub_faults',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.active_actions',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.fxns.human.m.sub_faults',
'tank_fxns_human_aa_acts_turn_cannot_t0p0.time',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.m.sub_faults',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.flows.wat_in_1.s.effort',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.flows.wat_in_1.s.rate',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.flows.wat_in_2.s.effort',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.flows.wat_in_2.s.rate',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.flows.wat_out_1.s.effort',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.flows.wat_out_1.s.rate',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.flows.wat_out_2.s.effort',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.flows.wat_out_2.s.rate',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.import_water.s.amt_open',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.import_water.m.faults.stuck',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.import_water.m.sub_faults',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.store_water.s.level',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.store_water.s.net_flow',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.store_water.m.faults.leak',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.store_water.m.sub_faults',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.export_water.s.amt_open',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.export_water.m.faults.stuck',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.export_water.m.sub_faults',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.active_actions',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.fxns.human.m.sub_faults',
'tank_fxns_human_aa_acts_turn_wrong_valve_t0p0.time',
'tank_fxns_import_water_stuck_t10p0.m.sub_faults',
'tank_fxns_import_water_stuck_t10p0.flows.wat_in_1.s.effort',
'tank_fxns_import_water_stuck_t10p0.flows.wat_in_1.s.rate',
'tank_fxns_import_water_stuck_t10p0.flows.wat_in_2.s.effort',
'tank_fxns_import_water_stuck_t10p0.flows.wat_in_2.s.rate',
'tank_fxns_import_water_stuck_t10p0.flows.wat_out_1.s.effort',
'tank_fxns_import_water_stuck_t10p0.flows.wat_out_1.s.rate',
'tank_fxns_import_water_stuck_t10p0.flows.wat_out_2.s.effort',
'tank_fxns_import_water_stuck_t10p0.flows.wat_out_2.s.rate',
'tank_fxns_import_water_stuck_t10p0.flows.valve1_sig.s.indicator',
'tank_fxns_import_water_stuck_t10p0.flows.valve1_sig.s.action',
'tank_fxns_import_water_stuck_t10p0.flows.tank_sig.s.indicator',
'tank_fxns_import_water_stuck_t10p0.flows.tank_sig.s.action',
'tank_fxns_import_water_stuck_t10p0.flows.valve2_sig.s.indicator',
'tank_fxns_import_water_stuck_t10p0.flows.valve2_sig.s.action',
'tank_fxns_import_water_stuck_t10p0.fxns.import_water.s.amt_open',
'tank_fxns_import_water_stuck_t10p0.fxns.import_water.m.faults.stuck',
'tank_fxns_import_water_stuck_t10p0.fxns.import_water.m.sub_faults',
'tank_fxns_import_water_stuck_t10p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_import_water_stuck_t10p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_import_water_stuck_t10p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_import_water_stuck_t10p0.fxns.store_water.s.level',
'tank_fxns_import_water_stuck_t10p0.fxns.store_water.s.net_flow',
'tank_fxns_import_water_stuck_t10p0.fxns.store_water.m.faults.leak',
'tank_fxns_import_water_stuck_t10p0.fxns.store_water.m.sub_faults',
'tank_fxns_import_water_stuck_t10p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_import_water_stuck_t10p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_import_water_stuck_t10p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_import_water_stuck_t10p0.fxns.export_water.s.amt_open',
'tank_fxns_import_water_stuck_t10p0.fxns.export_water.m.faults.stuck',
'tank_fxns_import_water_stuck_t10p0.fxns.export_water.m.sub_faults',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.active_actions',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_import_water_stuck_t10p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_import_water_stuck_t10p0.fxns.human.m.sub_faults',
'tank_fxns_import_water_stuck_t10p0.time',
'tank_fxns_guide_water_in_clogged_t10p0.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t10p0.flows.wat_in_1.s.effort',
'tank_fxns_guide_water_in_clogged_t10p0.flows.wat_in_1.s.rate',
'tank_fxns_guide_water_in_clogged_t10p0.flows.wat_in_2.s.effort',
'tank_fxns_guide_water_in_clogged_t10p0.flows.wat_in_2.s.rate',
'tank_fxns_guide_water_in_clogged_t10p0.flows.wat_out_1.s.effort',
'tank_fxns_guide_water_in_clogged_t10p0.flows.wat_out_1.s.rate',
'tank_fxns_guide_water_in_clogged_t10p0.flows.wat_out_2.s.effort',
'tank_fxns_guide_water_in_clogged_t10p0.flows.wat_out_2.s.rate',
'tank_fxns_guide_water_in_clogged_t10p0.flows.valve1_sig.s.indicator',
'tank_fxns_guide_water_in_clogged_t10p0.flows.valve1_sig.s.action',
'tank_fxns_guide_water_in_clogged_t10p0.flows.tank_sig.s.indicator',
'tank_fxns_guide_water_in_clogged_t10p0.flows.tank_sig.s.action',
'tank_fxns_guide_water_in_clogged_t10p0.flows.valve2_sig.s.indicator',
'tank_fxns_guide_water_in_clogged_t10p0.flows.valve2_sig.s.action',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.import_water.s.amt_open',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.import_water.m.faults.stuck',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.import_water.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.store_water.s.level',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.store_water.s.net_flow',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.store_water.m.faults.leak',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.store_water.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.export_water.s.amt_open',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.export_water.m.faults.stuck',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.export_water.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.active_actions',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t10p0.fxns.human.m.sub_faults',
'tank_fxns_guide_water_in_clogged_t10p0.time',
'tank_fxns_guide_water_in_leak_t10p0.m.sub_faults',
'tank_fxns_guide_water_in_leak_t10p0.flows.wat_in_1.s.effort',
'tank_fxns_guide_water_in_leak_t10p0.flows.wat_in_1.s.rate',
'tank_fxns_guide_water_in_leak_t10p0.flows.wat_in_2.s.effort',
'tank_fxns_guide_water_in_leak_t10p0.flows.wat_in_2.s.rate',
'tank_fxns_guide_water_in_leak_t10p0.flows.wat_out_1.s.effort',
'tank_fxns_guide_water_in_leak_t10p0.flows.wat_out_1.s.rate',
'tank_fxns_guide_water_in_leak_t10p0.flows.wat_out_2.s.effort',
'tank_fxns_guide_water_in_leak_t10p0.flows.wat_out_2.s.rate',
'tank_fxns_guide_water_in_leak_t10p0.flows.valve1_sig.s.indicator',
'tank_fxns_guide_water_in_leak_t10p0.flows.valve1_sig.s.action',
'tank_fxns_guide_water_in_leak_t10p0.flows.tank_sig.s.indicator',
'tank_fxns_guide_water_in_leak_t10p0.flows.tank_sig.s.action',
'tank_fxns_guide_water_in_leak_t10p0.flows.valve2_sig.s.indicator',
'tank_fxns_guide_water_in_leak_t10p0.flows.valve2_sig.s.action',
'tank_fxns_guide_water_in_leak_t10p0.fxns.import_water.s.amt_open',
'tank_fxns_guide_water_in_leak_t10p0.fxns.import_water.m.faults.stuck',
'tank_fxns_guide_water_in_leak_t10p0.fxns.import_water.m.sub_faults',
'tank_fxns_guide_water_in_leak_t10p0.fxns.guide_water_in.m.faults.clogged',
'tank_fxns_guide_water_in_leak_t10p0.fxns.guide_water_in.m.faults.leak',
'tank_fxns_guide_water_in_leak_t10p0.fxns.guide_water_in.m.sub_faults',
'tank_fxns_guide_water_in_leak_t10p0.fxns.store_water.s.level',
'tank_fxns_guide_water_in_leak_t10p0.fxns.store_water.s.net_flow',
'tank_fxns_guide_water_in_leak_t10p0.fxns.store_water.m.faults.leak',
'tank_fxns_guide_water_in_leak_t10p0.fxns.store_water.m.sub_faults',
'tank_fxns_guide_water_in_leak_t10p0.fxns.guide_water_out.m.faults.clogged',
'tank_fxns_guide_water_in_leak_t10p0.fxns.guide_water_out.m.faults.leak',
'tank_fxns_guide_water_in_leak_t10p0.fxns.guide_water_out.m.sub_faults',
'tank_fxns_guide_water_in_leak_t10p0.fxns.export_water.s.amt_open',
'tank_fxns_guide_water_in_leak_t10p0.fxns.export_water.m.faults.stuck',
'tank_fxns_guide_water_in_leak_t10p0.fxns.export_water.m.sub_faults',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.active_actions',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.flows.tank_sig.s.indicator',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.flows.tank_sig.s.action',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.flows.valve1_sig.s.indicator',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.flows.valve1_sig.s.action',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.flows.valve2_sig.s.indicator',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.flows.valve2_sig.s.action',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.flows.detect_sig.s.indicator',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.flows.detect_sig.s.action',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.acts.look.m.faults.not_visible',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.acts.look.m.sub_faults',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.acts.detect.m.faults.false_high',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.acts.detect.m.faults.false_low',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.acts.detect.m.faults.not_detected',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.acts.detect.m.sub_faults',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.acts.reach.m.faults.unable',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.acts.reach.m.sub_faults',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.acts.grasp.m.faults.cannot',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.acts.grasp.m.sub_faults',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.acts.turn.m.faults.cannot',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.acts.turn.m.faults.wrong_valve',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.aa.acts.turn.m.sub_faults',
'tank_fxns_guide_water_in_leak_t10p0.fxns.human.m.sub_faults',
'tank_fxns_guide_water_in_leak_t10p0.time',
'tank_fxns_store_water_leak_t10p0.m.sub_faults',
'tank_fxns_store_water_leak_t10p0.flows.wat_in_1.s.effort',
'tank_fxns_store_water_leak_t10p0.flows.wat_in_1.s.rate',
'tank_fxns_store_water_leak_t10p0.flows.wat_in_2.s.effort',
'tank_fxns_store_water_leak_t10p0.flows.wat_in_2.s.rate',
'tank_fxns_store_water_leak_t10p0.flows.wat_out_1.s.effort',
'tank_fxns_store_water_leak_t10p0.flows.wat_out_1.s.rate',
'tank_fxns_store_water_leak_t10p0.flows.wat_out_2.s.effort',
'tank_fxns_store_water_leak_t10p0.flows.wat_out_2.s.rate',
'tank_fxns_store_water_leak_t10p0.flows.valve1_sig.s.indicator',
...]
[ ]:
[23]:
from fmdtools.analyze.history import History
scenhists = History({'nominal':mdlhists.nominal,
'faulty':mdlhists.get('tank_fxns_guide_water_in_leak__tank_fxns_human_aa_acts_detect_not_detected_t10p0')})
#scenhists.flatten()
fig, axs = scenhists.plot_line('flows.valve1_sig.s.action',
'flows.tank_sig.s.indicator',
'fxns.store_water.s.level',
'fxns.store_water.s.net_flow', time_slice=[10])

In this case, there is a leak, but the operator cannot turn the valve, resulting in the tank filling too high, which is a failure.
To consider the leak again, we can see what happens when the leak is not detected:
[24]:
scenhists =History({'nominal':mdlhists.nominal, 'faulty':mdlhists.get('tank_fxns_guide_water_out_leak__tank_fxns_human_aa_acts_detect_false_low_t10p0')})
scenhists.flatten()
fig, axs = scenhists.plot_line('flows.valve1_sig.s.action',
'flows.tank_sig.s.indicator',
'fxns.store_water.s.level',
'fxns.store_water.s.net_flow',
time_slice=[10])

In this case, there is a leak, but it is not caugh, resulting in a failure again.
Testing different reaction times
The model set up in tank_model
is parameterized by the reaction time of the operator. As a result, we can assess how long or short reaction times affect the given scenarios.
[25]:
mdl_long_reaction_time = Tank(p={'reacttime':10, "store_tstep":1.0}, track='all') #also needs reconfiguring
In this case, we will show the affect of reaction time on the operator’s ability to catch a leak.
[26]:
result, mdlhist = propagate.one_fault(mdl_long_reaction_time,'store_water','leak', time=3,track="all", desired_result='graph')
fig, axs = mdlhist.plot_line('flows.valve1_sig.s.action',
'flows.tank_sig.s.indicator',
'fxns.store_water.s.level',
'fxns.store_water.s.net_flow')
result.graph.draw()
[26]:
(<Figure size 1200x1000 with 1 Axes>, <Axes: >)


As shown, the operator does not respond in time, resulting in the tank draining all the way, a failure state. We can further use the propagate.approach
function to compare the number of scenarios caught in this system compared with the other.
[ ]: