4.1. SCR for ARMI 0.7.0
This is a listing of all the Software Change Request (SCR) changes in the ARMI repository, as part of the current release.
Below, this SCR is organized into the individual changes that comprise the net SCR for this release. Each SCR below explicitly lists its impact on ARMI requirements, if any. It is also important to note ARMI and all its requirements are tested entirely by the automated testing that happens during the ARMI build. None of the SCRs below will be allowed to happen if any single test fails, so it can be guaranteed that all SCRs below have fully passed all testing.
4.1.1. SCR Listing
The following lists display all the SCRs in this release of the ARMI framework.
List of SCRs of type: Code Changes, Features
PR #2472: Adding Cinder 63 energy group structure
Rationale: This data set may be interesting to users of MCNP.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Mark Onufer
PR #2494: Updating consistent nuclide treatment
Rationale: Make the component consistency check more robust to corner cases where nuclides are present at a number density of 0.0 in a component.
Impact on Requirements: This change affects the low-level implementation details of I_ARMI_XSGM_CREATE_REPR_BLOCKS1, which implements R_ARMI_XSGM_CREATE_REPR_BLOCKS.
Author: mgjarrett (Michael Jarrett)
Reviewer: John Stilley
PR #2507: Refactoring the ARMI materials to be based on matProps
Rationale: The ARMI material class used to be flexible, but also problem in a number of ways; here we provide much better support to materials.
Impact on Requirements: This is a redesign for the implementation of the materials requirements: R_ARMI_MAT_PROPERTIES / I_ARMI_MAT_PROPERTIES , R_ARMI_MAT_FRACS / I_ARMI_MAT_FRACS, and R_ARMI_MAT_FLUID / I_ARMI_MAT_FLUID. Removed now defunct tests T_ARMI_MAT_PROPERTIES2 and T_ARMI_MAT_PROPERTIES3.
Author: john-science (John Stilley)
Reviewer(s): Alex James, Arrielle Opotowsky
PR #2515: Adding CircleHoledCircle shape
Rationale: This new shape could be used for a lot of things in pin-type reactor design.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer(s): Michael Jarrett, Mark Onufer
PR #2517: Support FilletedHexagon in HexBlock.getWettedPerimeter
Rationale: Real world material fabrication frequently has more complicated shapes, like filleted versus geometric hexagons.
Impact on Requirements: This feature adds an extra perimeter feature to each of the shape classes relating to implementations I_ARMI_COMP_SHAPES0, I_ARMI_COMP_SHAPES1, I_ARMI_COMP_SHAPES2, I_ARMI_COMP_SHAPES3, I_ARMI_COMP_SHAPES4, I_ARMI_COMP_SHAPES5, I_ARMI_COMP_SHAPES6, and I_ARMI_COMP_SHAPES7.
Author: john-science (John Stilley)
Reviewer(s): Michael Jarrett, Casey Stocking
PR #2521: Move material source summary table to Bookkeeping Plugin
Rationale: This moves us in the direction of all reporting being done via the Bookkeeping plugin.
Impact on Requirements: NA
Author: opotowsky (Arrielle Opotowsky)
Reviewer: John Stilley
PR #2531: Remove callReactorConstructionHook argument from db.load and loadOperator
Rationale: To support reactor loading during a db.load operation, it makes more sense to call the beforeReactorConstruction than for that to default to False.
Impact on Requirements: NA
Author: opotowsky (Arrielle Opotowsky)
Reviewer(s): Alex James, Drew Johnson, John Stilley
PR #2532: Creating the armi.testing package
Rationale: ARMI should clearly provide tools to help downstream developers test ARMI applications.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2536: Reducing reliance on global nuclides
Rationale: We are working toward a major redesign goal where we remove “nuclideBases” from the global scope; many users have requested this.
Impact on Requirements: Minor docstring change to I_ARMI_R.
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
List of SCRs of type: Code Changes, Bugs and Fixes
PR #2514: Fixing issue with CartesianBlock.getPinCenterFlatToFlat
Rationale: Cartesian blocks belong on Cartesian grids.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
List of SCRs of type: Code Changes, Maintenance, or Trivial
PR #2485: Adding an author to the project
Rationale: Adding an ARMI dev that should appear in the AUTHORS file.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2486: Speeding up unit tests
Rationale: Faster unit testing means developers will run the tests more often.
Impact on Requirements: The following tests were completely rewritten, but their goals and purposes have not changed: T_ARMI_HIST_TRACK0, T_ARMI_HIST_TRACK1. The following tests were changed only very trivially in implementation: T_ARMI_R, T_ARMI_R_GET_ASSEM0, T_ARMI_R_GET_ASSEM1, T_ARMI_R_SYMM, and T_ARMI_GRID_NEST.
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2488: Removing old test crumbs from CI script
Rationale: Removing old test cruft, to make the system easier to read and understand.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2489: Speeding up unit tests again
Rationale: Speeding up the unit tests, without sacrificing code coverage, dramatically improves developer time and reduces CI overhead.
Impact on Requirements: Minor implementation changes to: T_ARMI_SNAPSHOT_RESTART, T_ARMI_ASSEM_POSI0, T_ARMI_ASSEM_POSI1, T_ARMI_PARAM1, T_ARMI_SETTINGS_POWER0, T_ARMI_THIRD_TO_FULL_CORE1, T_ARMI_R_MESH, T_ARMI_R, T_ARMI_R_GET_ASSEM0, T_ARMI_R_GET_ASSEM1, T_ARMI_R_SYMM, T_ARMI_GRID_NEST, T_ARMI_SFP2, T_ARMI_R_FIND_NEIGHBORS, T_ARMI_ZONE4.
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2490: Changing the order of the named parameters in armi.init
Rationale: This parameter order is more intuitive for the users.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Drew Johnson
PR #2491: Adding MeV unit
Rationale: A user requested the new unit.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Drew Johnson
PR #2493: Supporting Python 3.14
Rationale: Supporting a wider range of Python language versions makes it easier for the Python user base to use Python in their personal environment.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2498: Stopping forked repos from running MacOS CI
Rationale: Saving developers time speeds up product delivery.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2499: Removing matProps dataSchema
Rationale: We should only include code that our users want.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2500: Speeding up the slowest unit tests
Rationale: Faster unit tests means faster development, and higher code quality.
Impact on Requirements: Minor implementation change to the tests: T_ARMI_UMC_MIN_MESH1, T_ARMI_UMC_MIN_MESH0, T_ARMI_UMC_NON_UNIFORM0, and T_ARMI_UMC_PARAM_BACKWARD0.
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2502: Removing unnecessary warning
Rationale: Having too many warning and log messages can muddy the waters and make it hard for users to get important information from their run logs.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Drew Johnson
PR #2503: Reducing warnings from settings version and Composite.getComponent
Rationale: Too many warnings can cause Alarm Fatigue, and the user base singled out these two warnings as being particularly fatiguing.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer(s): Arrielle Opotowsky, Drew Johnson
PR #2506: Improving error handling in HexComponentsToCylConverter
Rationale: This error handling was essentially unreachable code, and unused.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2508: Trying to stop codecov.io from incorrectly failing the build
Rationale: A build incorrectly failing can case Alarm Fatigue and waste people’s time.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2510: Improving error message in settings validation
Rationale: Error messages are only useful if they are clear and understandable.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2516: Bump pypdf from 5.3.1 to 6.10.2
Rationale: This is a basic security update.
Impact on Requirements: NA
Author: dependabot
Reviewer: John Stilley
PR #2518: Bump jinja2 from 3.1.5 to 3.1.6
Rationale: This is a basic security update.
Impact on Requirements: NA
Author: dependabot
Reviewer: John Stilley
PR #2522: Moving 15 parameters out of ARMI
Rationale: If a Setting or a Parameter is not used in ARMI, it should be reviewed to decide if it is generally useful enough to be kept in ARMI.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2523: Clean up runtime warnings
Rationale: ARMI should not be in the business of causing warning fatigue.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2524: Trying to stop codecov.io from failng the build
Rationale: The code coverage build should not fail ARMI CI all the time, that will create alarm fatigue for real failures.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2527: Cleanup reports
Rationale: If our analysts and users do not find a default report helpful, then we should not force the plots upon them.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer(s): Drew Johnson, Arrielle Opotowsky, Brian Sculac, Drew Johnson, Chris Keckler, Michael Jarrett
PR #2528: Renaming matProps.Material to MatPropsMaterial
Rationale: We are reducing a naming collision to make the code easier to understand for developers.
Impact on Requirements: This rename is a change to I_ARMI_MAT_YAML.
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2529: Removing deprecated API endpoints
Rationale: These deprecation warnings have been in place so long, I think it is time to clean up the API.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2530: Removing classN_custom_isotopics
Rationale: Unused code slows down development and testing time, making a software project more expensive to maintain.
Impact on Requirements: Very minor impact on I_ARMI_MAT_FRACS1.
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2537: Trying to stop codecov.io from failing the build
Rationale: Code coverage should not fail ARMI CI all the time, that will create alarm fatigue.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2540: Upgrading GH Actions dependencies to newer versions
Rationale: Updating dependencies should be done some times, to keep up with security and bug fixes.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
List of SCRs of type: Documentation-Only Changes
PR #2487: Starting version 0.7.0 release cycle
Rationale: Since ARMI 0.6.4 is released, we want to start the 0.7.0 release cycle.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2492: Updating license section of the pyproject.toml
Rationale: Part of our packaging information was out of date.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2519: Adding documentation for matProps
Rationale: Documentation and requirements are important.
Impact on Requirements: Added new requirement R_ARMI_MAT_YAML for material YAML files. Added matProps impl and test tags for R_ARMI_MAT_PROPERTIES and R_ARMI_MAT_FRACS. Slightly changed the wording on R_ARMI_MAT_PROPERTIES.
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2541: Attempting to fix GH Pages docs deploy
Rationale: Users find it helpful to have the ARMI documentation published online.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky
PR #2545: Fixing material doc header levels
Rationale: Our users navigate the docs using the headers, so they should be ordered correctly.
Impact on Requirements: NA
Author: john-science (John Stilley)
Reviewer: Arrielle Opotowsky