terrapower / armi

An open-source nuclear reactor analysis automation framework that helps design teams increase efficiency and quality
https://terrapower.github.io/armi/
Apache License 2.0
232 stars 89 forks source link

Organize the `armi/tests/` directory #1867

Open john-science opened 2 months ago

john-science commented 2 months ago

The armi/tests/ directory has a bunch of unorganized data files. I would like these to be organized.

For instance, there are three YAML files to define the ZPPR benchmark reactor, those could go in their own directory!

Listed here are the data files, and where I would like them to go (with some notes about downstream repos that will need to be touched):

├── armi/tests/
└── anl-afci-177/
    ├── anl-afci-177-blueprints.yaml
    ├── anl-afci-177-fuelManagement.py
    ├── anl-afci-177.yaml
    ├── anl-afci-177-coreMap.yaml
└── c5g7/
    ├── c5g7-blueprints.yaml
    ├── c5g7-settings.yaml
└── resources/
    ├── armiRun-SHUFFLES.txt
    ├── COMPXS.ascii
    ├── geom.xml
    ├── geom1Assem.xml
    ├── ISOAA  (easy, because of the ISOAA_PATH variable)
└── sodiumHexReactor/  (downstream: cluster, deplection, neutronics, rxcoeffs)
    ├── armiRun.yaml
    ├── refSmallReactorShuffleLogic.py
    ├── refSmallReactor.yaml
    ├── refSmallSfpGrid.yaml
    ├── refSmallCoreGrid.yaml
    ├── refSmallReactorBase.yaml
└── thetarz/  (downstream: neutronics)
    ├── ThRZGeom.xml
    ├── ThRZloading.yaml
    ├── ThRZSettings.yaml
    ├── trz_geom.xml
└── zppr/  (downstream: mcnp, neutronics)
    ├── 1DslabXSByCompTest.yaml
    ├── zpprTest.yaml
    ├── zpprTestGeom.xml

I expect this to be done in stages, because it will require cleanup downstream:

john-science commented 2 months ago

Also, while we're at it, when not add a comment at the top of these files explaining what is in them, and what they are for.

Let's go nuts!

john-science commented 2 months ago

Other strange or messy things in ARMI I should investigate:

The book keeping test file _constants.py seems silly.