Skip to content

[core, tests, docs] add remaining multi-layer support#1242

Merged
fso42 merged 7 commits intomasterfrom
multiLayerP4
Feb 19, 2026
Merged

[core, tests, docs] add remaining multi-layer support#1242
fso42 merged 7 commits intomasterfrom
multiLayerP4

Conversation

@fso42
Copy link
Contributor

@fso42 fso42 commented Feb 17, 2026

Make AIMEC, ana4Stats, probAna, and downstream tools aware of multi-layer result files (e.g. from com8MoTPSA).

  • AIMEC: add runoutLayer config parameter, layer-aware column resolution, mixed single/multi-layer support, explicit error when multi-layer data lacks runoutLayer
  • ana4Stats: layer-suffixed keys in extractMaxValues, layer column in makeSimDF
  • probAna: add layer config option in probAnaCfg.ini; update plotContours and related methods with layer parameter for filtering and labeling; improve logging
  • runPlotProfile: fix hardcoded pfv (pre-existing bug), strip layer suffixes for unit lookups, full multi-layer result support
  • com8MoTPSA: replace MoTGenerateConfigs with com1DFAPreprocess; add batchCfgDir check; add modName for sim filtering
  • Update AIMEC and ana4Stats documentation with multi-layer filename format
Step Status Notes
ana4Stats extractMaxValues layer-suffixed key Done getStats.py — uses layer column from makeSimDF to build ppr_l1/ppr_l2 dict keys
makeSimDF layer column Done fileHandlerUtils.py — added layer column populated from parseSimName
Tests for makeSimDF layer column Done 2 tests in test_fileHandlerUtils.py — multi-layer and single-layer
Tests for extractMaxValues multi-layer Done 1 test in test_getStats.py — L1/L2 keyed separately with correct values
ana5Utils audit Done Not affected — uses com1DFA.readFields(), not peak file DataFrames
Remaining tools audit Done 5 tools verified: rotationTest, outParticlesAnalysis, transformFields, runPlotAreaRefDiffs already work
Fix runPlotProfile.py hardcoded pfv Done Pre-existing bug fixed; full multi-layer support added
probAna multi-layer support Done layer config option, plotContours layer param, logging improvements
com8MoTPSA refactor Done MoTGenerateConfigs removed, batchCfgDir check added, modName filtering

@fso42 fso42 added this to the Version 2.0 milestone Feb 17, 2026
@fso42 fso42 self-assigned this Feb 17, 2026
@fso42 fso42 added the enhancement New feature or request label Feb 17, 2026
@qltysh
Copy link
Contributor

qltysh bot commented Feb 17, 2026

Qlty

Coverage Impact

This PR will not change total coverage.

Modified Components (1)

RatingComponent% Diff
Coverage rating: C Coverage rating: C
com1DFA100.0%

Modified Files with Diff Coverage (8)

RatingFile% DiffUncovered Line #s
Coverage rating: F Coverage rating: F
avaframe/out3Plot/statsPlots.py13.0%68-78, 160-342
Coverage rating: B Coverage rating: B
avaframe/com1DFA/com1DFA.py100.0%
Coverage rating: B Coverage rating: A
avaframe/ana4Stats/probAna.py100.0%
Coverage rating: F Coverage rating: F
avaframe/com8MoTPSA/com8MoTPSA.py0.0%38
Coverage rating: B Coverage rating: B
avaframe/in3Utils/cfgHandling.py100.0%
Coverage rating: B Coverage rating: B
avaframe/in3Utils/fileHandlerUtils.py100.0%
Coverage rating: A Coverage rating: A
avaframe/ana4Stats/getStats.py89.8%93-94, 107, 110-116
Coverage rating: F Coverage rating: F
avaframe/com9MoTVoellmy/com9MoTVoellmy.py0.0%57
Total73.1%
🤖 Increase coverage with AI coding...

In the `multiLayerP4` branch, add test coverage for this new code:

- `avaframe/ana4Stats/getStats.py` -- Lines 93-94, 107, and 110-116
- `avaframe/com8MoTPSA/com8MoTPSA.py` -- Line 38
- `avaframe/com9MoTVoellmy/com9MoTVoellmy.py` -- Line 57
- `avaframe/out3Plot/statsPlots.py` -- Lines 68-78 and 160-342

🚦 See full report on Qlty Cloud »

🛟 Help
  • Diff Coverage: Coverage for added or modified lines of code (excludes deleted files). Learn more.

  • Total Coverage: Coverage for the whole repository, calculated as the sum of all File Coverage. Learn more.

  • File Coverage: Covered Lines divided by Covered Lines plus Missed Lines. (Excludes non-executable lines including blank lines and comments.)

    • Indirect Changes: Changes to File Coverage for files that were not modified in this PR. Learn more.

@fso42 fso42 requested a review from awirb February 17, 2026 11:36
Copy link
Contributor

@awirb awirb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the ana4Prob results for com8MoTPSA - now for the peakVar in probAnaCfg.ini all available peakFiles are included, not aware of layer information - would it be better to also have to chose a layer here (similar to aimec) so that only results of one layer are compared - then also in the plots the info from which layer the results come should be stated

@qltysh
Copy link
Contributor

qltysh bot commented Feb 18, 2026

1 new issue

Tool Category Rule Count
qlty Structure Function with high complexity (count = 15): plotContours 1

fso42 and others added 7 commits February 19, 2026 10:05
- Added `layer` column handling in `fileHandlerUtils.makeSimDF` for multi-layer simulations.
- Updated statistical operations to use layer-suffixed keys (e.g., `ppr_l1`, `ppr_l2`) in multi-layer results.

- Modified documentation to explain layer-specific result handling and configuration for multi-layer analysis.
- Adjusted `runPlotProfile` to strip layer suffixes for unit lookups and data processing.
…ocess`

- Replaced `MoTGenerateConfigs` with `com1DFAPreprocess` across modules
- Introduced a `layer` configuration option in `probAnaCfg.ini` to handle multi-layer results.
- Updated `plotContours` and related methods to include a `layer` parameter for filtering and labeling.
refactor(ana4Stats): simplify simulation filtering

- Refactored loop logic fore simulation name filtering and data processing.
@fso42
Copy link
Contributor Author

fso42 commented Feb 19, 2026

Standardtests ident

@fso42 fso42 merged commit fb9f3be into master Feb 19, 2026
4 checks passed
@fso42 fso42 deleted the multiLayerP4 branch February 19, 2026 10:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants