-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Loading some ARMI DBs without the App that created them #1917
Conversation
@alexhjames @jeffbaylor I just want to keep this on everyone's radar. I'm still hoping for a review. |
Passing comment that came to me this morning: this only works if all the materials and shapes in the database are loadable, right? This change seems to
Which is good. But if my application defines a new component that only exists in my application, we will have no way to load that, correct? Same for a material. If we really want to make it possible so any application can open any database, as the title here suggests, those are two additional things we'd need to handle |
Correct. There are actually many more things that people can do in their code that will make it hard to open an ARMI DB without the Application that created it. Please note that the code in this PR does not suggest a complete solution to that problem. I provide a tool to ignore blueprint sections, and another to ignore parameters. That's really all you get here. The only "complete solution" to load a DB without the App that created it would mean storing huge portions of that code in the DB. And I don't think that's a rabbit hole we want to go down, it's been tried before. TLDR; the title of this PR and its ticket are perhaps the problem here. I grant that. Here I provide 2 or 3 tools that downstream users can try to use to solve the problem, but only in a limited fashion. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I completed reviewing the PR contents and have a few comments. I have not done any testing with Oxbow yet. I'll work on that next.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My only question would be if there should be any accompanying SQA documentation for the read only load (like req/implementation tags)? If you want to discuss that at a later date, I'm fine with this PR as is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice job! Thanks @john-science!
…xial-linkage * origin/main: Loading some ARMI DBs without the App that created them (#1917) Revert "Revert "Updating cluster settings (#1958)" (#1965)" (#1969) Allowing users to define flag names with digits (#1966) Revert "Updating cluster settings (#1958)" (#1965) Updating cluster settings (#1958) Reducing warnings while building the docs (#1959) Moving anl-afci-177 test files to their own directory (#1957)
What is the change?
This PR add supports for loading of some ARMI Databases without the App that created them. This is not meant to be a "complete solution" to load ANY ARMI database with that app that created it. But it should help ease the burden a bit.
Also, since reading a data file without understanding the program that created it is a potentially hazardous idea, I have placed some training wheels on the resultant reactor data model. The parameters on this data model are set to read-only mode. This is to make it CLEAR that you do not have enough information to continue to time-evolve or alter this data model.
Why is the change being made?
This was a user request.
Checklist
doc
folder.pyproject.toml
.