armi icon indicating copy to clipboard operation
armi copied to clipboard

Phase out HistoryTrackerInterace

Open john-science opened this issue 2 years ago • 3 comments

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:

  1. Ensure that all the important functionality/data from the HistoryTrackerInterface is now in the DB.
  2. 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.

john-science avatar Jul 22 '22 15:07 john-science

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.

ntouran avatar Jul 22 '22 15:07 ntouran

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.

john-science avatar Jul 22 '22 17:07 john-science