Skip to content

ARMI Warnings should be more intelligble and dispositionable #2380

@john-science

Description

@john-science

When an ARMI-based reactor simulation finishes it produces a table describing all the warnings that were found during the run:

armi/armi/runLog.py

Lines 621 to 624 in 0e830d2

def warningReport(self):
"""Summarize all warnings for the run."""
self.info("----- Final Warning Count --------")
self.info(" {0:^10s} {1:^25s}".format("COUNT", "LABEL"))

It is a common need in nuclear reactor modeling to disposition and review all warnings that were encountered in an analysis of record. The above report does help the user understand what warnings were encountered, but it does not provide immediate access to questions like:

  • How do I fix this warning?
  • What use-case(s) would care about this warning?

We need to improve this system, to help the user base. Currently ARMI includes 159 possible warnings that might be encountered during a run. It would be nice if those were documented in some way (preferably automatically).

This will be a big task, at a guess I think it should be broken down into separable stages:

  • Make runLog.error() raise an error.
  • Review all ARMI runLog statements to remove those that are not useful.
  • Review all ARMI runLog statements to reduce the log level of those statements which should be reduces (say from info to extra, etc).
  • Review and improve the clarity of all warning statements.
  • Document all warning statements.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    architectureIssues related to big picture system architecturecomplexExpected to be a complex issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions