armi
armi copied to clipboard
Phase out HistoryTrackerInterace
It appears @youngmit already did the bulk of the work to move the functionality people want from the HistoryTrackerInterface into Database3
: https://github.com/terrapower/armi/commit/38d9febdbec7ab8a67dd9b8e50780e11ea127022
This seem preferable, as the data will be more accessible to anyone with a DB. Also, it reduces the complexity of having a whole Interface
. On the surface, it seems like this is an easy change to make. The (apparent) steps to take now are:
- Ensure that all the important functionality/data from the
HistoryTrackerInterface
is now in the DB. - Find all downstream projects that use the
HistoryTrackerInterface
, and switch them to using the DB.- There is an equilibrium history tracker subclass downstream.
- And there is some code in crucible downstream that makes heavy use of it.
Yeah so history tracker was originally made before we could read a case's own database during a run for historical info. It saved a subset of state data to ram that it could very quickly bring back as needed. Now that db3 can read itself during a run, it's largely not needed.
The internal equilibrium capability has lots of fanciness that maps an equilibrium cycle's shuffling into full multi-cycle time-dependent histories that must be maintained internally, but that can be done somewhere outside of the history interface.
The internal equilibrium capability has lots of fanciness...
Heck, I could copy/paste all the code they need into their project, if they need more than the "new" DB3 can provide.