Pathway to ARMI 1.0.0 #1583
Replies: 5 comments 9 replies
-
@sombrereau @jeffbaylor @keckler @drewj-usnctech @opotowsky Just FYI. I am hoping to discuss this with all of you. |
Beta Was this translation helpful? Give feedback.
-
Version 1.0.0 just denotes that it's past beta, correct? I don't have any specific wants/needs. I would just say the "90% code coverage" is what I'd be looking for - make sure it works well enough to take to 1.0.0. As long as Pylot works, I'm not particular. |
Beta Was this translation helpful? Give feedback.
-
Exciting! Okay, I have a frustrating "it depends" type answer: what does a 1.0.0 mean? Does it imply stability in the framework and/or API to a reasonably degree such that there's some (implicit or explicit) compatibility promises? E.g., Applications that work with 1.0.0 will work with 1.0.X and 1.X.Y but not 2.X.Y? Does it mean it's mostly got everything you'd want a reactor modeling framework to support? If that's the case, I would toss these items in the bucket
With these items, you can conceivably model the majority of reactor concepts in the wild. Or at least get close enough to be frustrated that ARMI gets close but not all the way There is also this from the ARMI docs
Type hints: yes please but maybe not required for 1.0.0 maybe before maybe later? There is a frustrating amount of double effort both doing type hints and numpydocs. This is a broader python pain point, but at least newer versions of sphinx are getting better at incorporating type hints? |
Beta Was this translation helpful? Give feedback.
-
Here are a couple open PRs that should go in by v0.4.0: |
Beta Was this translation helpful? Give feedback.
-
The results of this conversation have been officially moved to the ARMI Roadmap. |
Beta Was this translation helpful? Give feedback.
-
At time of writing, ARMI has a well-tested, stable codebase at version
0.3.0
. But @keckler recently asked me what it would take to get ARMI to version1.0.0
. And that's a great question!Obviously, I have a lot of ideas, but I think it's worth thinking through and getting some feedback from the userbase about the plan, before I re-publish the ARMI Roadmap, which is getting a little old, and I would like to reframe it to this
1.0.0
question.Here is an interesting place to look for ideas.
v0.3.0
v0.4.0
The focus of this release will be paying off our technical debt. Though some new features are in the works, most notably in assembly axial expansion and more detailed modeling of fuel pins.
Must Have
HexGrid
workArmiObject.setNumberDensities()
by moving it toComponent
(1-3 days)ArmiObject
has many, ultra-specific methods. Try to clean house.crossSectionGroupManager
out of ARMIShould Have
Nice-to Have
v1.0.0
This is the big one. This release is meant to be the line in the sand where ARMI's API is finally stable, and ARMI is feature rich without including too much science or engineering within ARMI.
Features
Architecture
Quality Assurance
User Interface
Plugin Ecosystem
Beta Was this translation helpful? Give feedback.
All reactions