Skip to content

[in3,com8,ana3] Add multi-layer result support; breaking change in com8#1236

Merged
fso42 merged 5 commits intomasterfrom
multiLayer
Feb 17, 2026
Merged

[in3,com8,ana3] Add multi-layer result support; breaking change in com8#1236
fso42 merged 5 commits intomasterfrom
multiLayer

Conversation

@fso42
Copy link
Contributor

@fso42 fso42 commented Feb 10, 2026

  • Add layer detection to parseSimName() and layer-aware columns (ppr_l1, ppr_l2) to makeSimFromResDF()
  • Refactor com8MoTPSA postprocess to produce L1/L2 filenames instead of the dfa/psa modelType workaround
  • Add runoutLayer config to AIMEC for explicit layer selection with multi-layer data

Breaking change:

com8MoTPSA output filenames changed. Previously they used the dfa/psa modelType workaround, now they use L1/L2
layer naming. Anyone with existing com8MoTPSA results or scripts that parse the old filenames will be affected.

…t in filename parsing and data handling

- `fileHandlerUtils.makeSimFromResDF`  handle multi-layer result files with layer-suffixed column names.
- Updated `cfgUtils.parseSimName` to recognize and parse layer components (`L1`, `L2`, etc.) in filenames.
@fso42 fso42 changed the title [com1,com8,ana3] Add multi-layer result support [in3,com8,ana3] Add multi-layer result support Feb 10, 2026
@fso42 fso42 self-assigned this Feb 10, 2026
@fso42 fso42 added the enhancement New feature or request label Feb 10, 2026
@qltysh
Copy link
Contributor

qltysh bot commented Feb 10, 2026

All good ✅

@fso42 fso42 added this to the Version 2.0 milestone Feb 10, 2026
@fso42 fso42 changed the title [in3,com8,ana3] Add multi-layer result support [in3,com8,ana3] Add multi-layer result support; breaking change in com8 Feb 10, 2026
@qltysh
Copy link
Contributor

qltysh bot commented Feb 10, 2026

Qlty

Coverage Impact

⬆️ Merging this pull request will increase total coverage on master by 0.17%.

Modified Files with Diff Coverage (6)

RatingFile% DiffUncovered Line #s
Coverage rating: F Coverage rating: F
avaframe/com8MoTPSA/com8MoTPSA.py0.0%74-138
Coverage rating: B Coverage rating: B
avaframe/in3Utils/fileHandlerUtils.py100.0%
Coverage rating: B Coverage rating: B
avaframe/ana3AIMEC/dfa2Aimec.py100.0%
Coverage rating: A Coverage rating: A
avaframe/in3Utils/cfgUtils.py100.0%
Coverage rating: C Coverage rating: C
avaframe/ana3AIMEC/ana3AIMEC.py88.9%218-221
Coverage rating: B Coverage rating: B
avaframe/ana3AIMEC/aimecTools.py86.4%92, 104, 181, 193...
Total85.8%
🤖 Increase coverage with AI coding...

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

- `avaframe/ana3AIMEC/aimecTools.py` -- Lines 92, 104, 181, 193, 201, 215-218, 225-246, 309-329, 356, 390-396, 541, 545, 550, 1011, 1077, 1174, 1275, 1503, 1585-1586, 1592-1593, 1952-1996, and 2108
- `avaframe/ana3AIMEC/ana3AIMEC.py` -- Line 218-221
- `avaframe/com8MoTPSA/com8MoTPSA.py` -- Line 74-138

🚦 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 10, 2026 12:49
…g logic

- Introduced `layers` configuration for specifying simulation output layers (L1: dense flow, L2: powder snow).
- Added `copyRawToLayerPeakFiles` function

feat(com8MoTPSA): add detailed docstrings for main workflow and auxiliary functions
- Introduced `runoutLayer` configuration for multi-layer analysis in `ana3AIMECCfg.ini`.
- Updated `checkAIMECinputs` to resolve base resType names to layer-suffixed columns.
- Refactored functions and logic to error out if multi-layer data is detected without a `runoutLayer`.
feat(aimec): multi-layer simulation handling and input validation

- Added support for resolving base `resType` to layer-suffixed columns in multi-layer simulations using the new `resolveResTypeColumn` function.
- Introduced `computeBaseResTypeList` to validate and compute base `resType` names available for all simulations.
- Updated `checkAIMECinputs` function to handle both single-layer and multi-layer simulations, with input validation and error handling when `runoutLayer` is not configured.

refactor(aimec, com8MoTPSA): adjust logic and remove redundant parameters

- Removed default fallback logic for `runoutResType` assignments in `ana3AIMEC.py`
- Eliminated `simType` parameter from `copyRawToLayerPeakFiles` in `com8MoTPSA.py`
@fso42
Copy link
Contributor Author

fso42 commented Feb 17, 2026

Standardtests ident

@fso42 fso42 merged commit 2b4713d into master Feb 17, 2026
4 checks passed
@fso42 fso42 deleted the multiLayer branch February 17, 2026 07:37
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