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