Open john-science opened 2 years ago
Ah, reporting. Yeah we should definitely merge and clean as appropriate. As we clean this up, it might make sense to have armi define some data structures that plugins can pass around with intent to report, and leave users the option to render reports with whatever reporting technology they want, given a bunch of packaged report data structures.
As a first step to the "merge and clean the reporting tools", I have moved all the "newReport" tools into the "reporting" package.
https://github.com/terrapower/armi/pull/867
Honestly, I don't know why the new stuff wasn't there to begin with.
I also note that armi/utils/reportPlotting.py
imports extensively from the "old" armi reports tools.
I was also able to find downstream projects using:
from armi.bookkeeping import report
report.setData()
report.CORE_RESOURCES
report.ECONOMICS
report.COST_ASSUMPTIONS
report.CORE_AVG_ENRICH
report.COST_ASSUMPTIONS
report.STRUCT_RESOURCES
report.CORE_RESOURCES
report.FUEL_CYC_COST
from armi.utils import reportPlotting
reportPlotting.createPlotMetaData
reportPlotting.plotAxialProfile
from armi.bookkeeping.report import reportingUtils
reportingUtils.getInterfaceStackSummary()
So, actually, outside of ARMI, I think the direction import usage of our reporting tools are pretty minor. Mostly, we just have to support he above few things. And most of the work will be reorganzing our internal usage.
Also, happily, I couldn't find anyone outside of ARMI using the "newReport" tools. So, we can change that dubious name to something else with ease.
At some point, @youngmit and @chris10mckenz built some new reporting tools. Awesome!
However, the project seems to be left unfinished, as we have the old reporting tools:
armi/bookkeeping/report/
data.py
html.py
reportingInterface.py
reportingUtils.py
But we also have the new reporting tools:
armi/bookkeeping/
newReportingUtils.py
newReportings.py
report.js
So, obviously, having the word "new" on those file indefinitely seems silly. But, more so, it would be 100% easier for ARMI users if we had one set of reporting tools, and not two completely independent ones.
There might have to be some survey of how our community uses our various reporting tools to do this work. But it is worth doing.