Skip to content

[com8] Add initial com8MotPSA and com9MoTVoellmy #1149

Merged
fso42 merged 12 commits into
masterfrom
comMotPSAInitial
Jul 4, 2025
Merged

[com8] Add initial com8MotPSA and com9MoTVoellmy #1149
fso42 merged 12 commits into
masterfrom
comMotPSAInitial

Conversation

@fso42
Copy link
Copy Markdown
Contributor

@fso42 fso42 commented Jun 25, 2025

Might not run yet

@fso42 fso42 added this to the Version 2.0 milestone Jun 25, 2025
@fso42 fso42 self-assigned this Jun 25, 2025
@fso42 fso42 added the enhancement New feature or request label Jun 25, 2025
@qltysh
Copy link
Copy Markdown
Contributor

qltysh Bot commented Jun 25, 2025

❌ 27 blocking issues (31 total)

Tool Category Rule Count
ripgrep Lint # TODO: maybe treat this in some other way, i.e. adding an "finalDEM" or similar 8
black Style Incorrect formatting, autoformat by running qlty fmt. 8
ruff Lint shutil imported but unused 7
ruff Lint Local variable results is assigned to but never used 1
ruff Lint Module level import not at top of file 1
ruff Lint Redefinition of unused pytest from line 6 1
ruff Lint Avoid equality comparisons to True; use if resultDF\.at\[3, 'column1'\]: for truth checks 1
qlty Duplication Found 20 lines of identical code in 2 locations (mass = 114) 2
qlty Structure Function with high complexity (count = 28): runAndCheckMoT 1
qlty Structure Deeply nested control flow (level = 4) 1

@qltysh one-click actions:

  • Auto-fix formatting (qlty fmt && git push)

Comment thread avaframe/com1DFA/com1DFA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
@fso42 fso42 force-pushed the comMotPSAInitial branch from 4621037 to b1dfe73 Compare June 25, 2025 06:14
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
@qltysh
Copy link
Copy Markdown
Contributor

qltysh Bot commented Jun 25, 2025

Diff Coverage: The code coverage on the diff in this pull request is 55.4%.

Total Coverage: This PR will decrease coverage by 0.95%.

File Coverage Changes
Path File Coverage Δ Indirect
avaframe/ana4Stats/probAna.py -0.1
avaframe/com1DFA/com1DFA.py -0.8
avaframe/com1DFA/com1DFATools.py 0.1
avaframe/com1DFA/deriveParameterSet.py 0.1
avaframe/com8MoTPSA/com8MoTPSA.py 0.0
avaframe/com9MoTVoellmy/com9MoTVoellmy.py 0.0
avaframe/in3Utils/MoTUtils.py 73.8
avaframe/in3Utils/cfgUtils.py 4.4
🛟 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.

Comment thread avaframe/com1DFA/com1DFA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/com1DFA/com1DFA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/com1DFA/com1DFA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/ana4Stats/probAna.py Outdated
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/in3Utils/cfgUtils.py
Comment thread avaframe/in3Utils/cfgUtils.py
Comment thread avaframe/tests/test_probAna.py Outdated
Comment thread avaframe/tests/test_probAna.py Outdated
Comment thread avaframe/tests/test_probAna.py Outdated
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/ana4Stats/probAna.py Outdated
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/com1DFA/com1DFA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/in3Utils/cfgUtils.py
Comment thread avaframe/tests/test_probAna.py Outdated
Comment thread avaframe/tests/test_probAna.py Outdated
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/com1DFA/com1DFA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/in3Utils/cfgUtils.py
Comment thread avaframe/tests/test_probAna.py
Comment thread avaframe/tests/test_probAna.py Outdated
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/com1DFA/com1DFA.py
Comment thread avaframe/in3Utils/cfgUtils.py
@fso42 fso42 force-pushed the comMotPSAInitial branch from 7d641bb to dc46d01 Compare June 25, 2025 10:47
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/in3Utils/cfgUtils.py
Comment thread avaframe/ana4Stats/probAna.py
Comment thread avaframe/com1DFA/com1DFA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py Outdated
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/com8MoTPSA/com8MoTPSA.py
Comment thread avaframe/in3Utils/cfgUtils.py
@fso42 fso42 changed the title Add initial com8MotPSA setup [com8] Add initial com8MotPSA setup Jun 25, 2025
@fso42 fso42 force-pushed the comMotPSAInitial branch from 543cfb6 to 7fcaced Compare July 3, 2025 06:34
@fso42 fso42 changed the title [com8] Add initial com8MotPSA setup [com8] Add initial com8MotPSA and com9MoTVoellmy Jul 3, 2025
@fso42
Copy link
Copy Markdown
Contributor Author

fso42 commented Jul 3, 2025

Standardtests ok, apart from know res issues

Copy link
Copy Markdown
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.

I didn't check any files in com8 or com9

Comment thread avaframe/runStandardTestsCom1DFA.py
@fso42 fso42 force-pushed the comMotPSAInitial branch from 47192da to 5f0ee52 Compare July 4, 2025 10:41
fso42 added 4 commits July 4, 2025 13:22
Initial implementation of the com8MoTPSA module.  Includes
a basic run script, configuration file parsing, and a
function to convert the configuration file to the RCF format
required by the MoT-PSA binary.  A README_dev file is also
added with basic instructions.
… (comMotPSAInitial)

  - First working conversion

feat(com8MoTPSA): Enhance logging and configuration handling (com8MoTPSA) ; working commit

feat(com1DFA, com8MoTPSA): Refactor simulation file handling and configuration management (comMotPSAInitialA) ; working commit
…guration parameters (comMotPSAInitial)

- Add a function to rewrite DEM NaN values to 0.0 and update the
  nodata value in the header.
- Update MoT-PSA configuration parameters to use the modified DEM
  and set release depth filenames.
- Convert release shape to raster with values for the current
  simulation.
- Write release lines to raster files.
- Increase precision of raster output to 3 decimal places.

feat(com8MoTPSA): Enhance output handling and add bed input files (com8MoTPSA)

- Adds dummy bed depth, deposition, and shear strength files
  to the MoT-PSA configuration. These files are currently
  populated with empty rasters.  This prepares the framework
  for future incorporation of these parameters into the
  simulation.

Working commit: squash
…ocessing (comMotPSAInitial)

- Implemented preprocessing steps for com8MoTPSA, including creating rcf files and preparing input data.
- Implemented postprocessing steps for com8MoTPSA, including copying result files to the output directory.
- Parallelized the execution of MoT-PSA simulations.

feat(com8MoTPSA): Enhance postprocessing and add plotting (comMotPSAInitial)

- Enhance postprocessing to copy ppr, pfd, and pfv files
  with updated naming conventions.
- Update plotUtilsCfg.ini with configurations for pfd
  plotting.

feat(com8MoTPSA): Update file handling and increase simulation time (comMotPSAInitial)

- Changed working directory to the script's directory before
  executing MoT-PSA.
- Removed "./" prefix from file paths in the configuration file
  to use absolute paths.
- Set releaseL2 to a zero raster instead of releaseLine
  raster data.
- Increased simulation time in `com8MoTPSACfg.ini` from
  100.0s to 1000.0s.

adjust how release files are used
RolandFischbacher and others added 8 commits July 4, 2025 13:22
…d special characters

runAna4ProbAna.py with com8MoTPSA module (runAna4ProbAnaCom8MoTPSA.py), add sections to com8MoTPSA.ini and probAnaCfg.ini, and introduce modname

Pass module instead of modName and add hepler functions to simplify functions:
`checkParameterInConfig` and `fetchParameterSection`

Change handling of friction index to volume index for com8MoTPSA

Add `renameDuplicates` to handle duplicate column names in DataFrame and
Simplify configuration-appending by generalizing section (add all sections)

Change naming of outputlayer (dfa/psa), revert merging to original version (merge on simName)

refactor(core): improve code readability and fix minor issues

- Remove unused parameters in `probAna.py` and update method names for clarity.
- Fix a conditional statement in `com1DFA.py` for better compatibility.
- Add a missing newline and correct whitespace formatting in `aimecTools.py`.
- Maintain consistent casing in `plotUtilsCfg.ini`.

refactor(com8MoTPSA): improve code formatting and readability

-
refactor(com1DFA): fix field initialization

- Add `cResRasterOrig` and `detRasterOrig` fields for clarity.
- Initialize `tPlot` field for particles handling.
- Streamline `DAM` file path assignment to reduce redundant code.

refactor(rasterUtils): remove  `decimal_precision` parameter

feat(cfgUtils): add `cfgToRcf` function for converting configurations to RCF format

- Added a new utility function `cfgToRcf` in `cfgUtils.py` to convert `ConfigParser` objects to the RCF format required by NGI MoT.
- Removed the duplicated implementation of `cfgToRcf` from `com8MoTPSA.py` and integrated the new utility.

refactor(com1DFA, com8MoTPSA): qlty fmt

refactor(com8MoTPSA): remove unused `pandas` import
… and postprocessing

- Added `com9MoTVoellmy` module for running MoT-Voellmy simulations
- Implemented preprocessing to generate RCF configuration files and prepare input data
- Integrated parallel processing for simulation execution
 - Remove this in future for a direct compilation

feat(MANIFEST): include MoT-Voellmy executables in package distribution
…versions

chore(pyproject): update `cibuildwheel` configuration for repair-wheel-command

fix(com9MoTVoellmy): correct Windows executable path
…Values` and `copyMoTFiles`

test(cfgUtils): add unit tests for configuration utilities

test(probAna): add unit tests for `createSample` function with various sampling methods
@fso42 fso42 force-pushed the comMotPSAInitial branch from 5f0ee52 to c01f4b4 Compare July 4, 2025 11:23
@fso42 fso42 merged commit f190205 into master Jul 4, 2025
5 checks passed
@fso42 fso42 deleted the comMotPSAInitial branch July 4, 2025 11:34
@fso42 fso42 mentioned this pull request Jul 8, 2025
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.

3 participants