Two new features this release.
First off, we've added the ability to change the time the simulation runs. This helps standardize numbers. The default sim time is 10 minutes, but can be changed by passing in the optional parameter of `run_time` in position 4.
Secondly, if a module doesn't have enough capacitor to run (it needs more than is available), we no longer apply it anyway. The module will be skipped and set to run 1 second later. This will result in more accurate numbers.
Because the `LowWaterMark` is no longer necessarily the best thing to look at for cap unstable fits, the `Stability` dict has been updated. Please note that `Time` was renamed to `LowWaterMarkTime` to better reflect what it is.
stability_dict = {
'LowWaterMarkTime': low_water_mark_elapsed_time,
'LowWaterMark': low_water_mark,
'FailedToRunModules': failed_to_run_modules,
'FailedToRunModulesTime': failed_to_run_modules_time,
'RunTime': run_time,
}
The two `LowWaterMark` attributes still reflect the _last_ low mark that was found, though with modules no running on cap unstable fits may no longer be appropriate for determining if a fit is cap stable or not. They should remain useful for cap stable fits, however.
`FailedToRunModules` simply flags whether we delayed running modules because of lack of cap. The matching time attribute shows the _first_ time we encountered this.
`RunTime` simply stores the time that was passed in to run, the matrix dict may differ slightly as we check for the run time at the end of the cycle so there may be one extra tick. We capture this in case we need an easy way to set something like X/Y axis on a graph.