Skip to content

Port over fmudesign - #14115

Draft
SAKavli wants to merge 14 commits into
equinor:mainfrom
SAKavli:port-over-fmudesign
Draft

Port over fmudesign#14115
SAKavli wants to merge 14 commits into
equinor:mainfrom
SAKavli:port-over-fmudesign

Conversation

@SAKavli

@SAKavli SAKavli commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Issue
Resolves #13957

Approach
Short description of the approach

(Screenshot of new behavior in GUI if applicable)

  • PR title captures the intent of the changes, and is fitting for release notes.
  • Added appropriate release note label
  • Commit history is consistent and clean, in line with the contribution guidelines.
  • Make sure unit tests pass locally after every commit (git rebase -i main --exec 'just rapid-tests')

When applicable

  • When screenshots are changed: Review screenshot-PR in ert-testdata,
    merge screenshot-PR in ert-testdata before merging this PR.
  • When there are user facing changes: Updated documentation
  • New behavior or changes to existing untested code: Ensured that unit tests are added (See Ground Rules).
  • Large PR: Prepare changes in small commits for more convenient review
  • Bug fix: Add regression test for the bug
  • Bug fix: Add backport label to latest release (format: 'backport release-branch-name')

@SAKavli

SAKavli commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

Pushing to see if the branch passes the CI at this point in the porting process.

@SAKavli
SAKavli force-pushed the port-over-fmudesign branch from 56c243a to 55882dd Compare August 6, 2026 11:04
SAKavli added 7 commits August 6, 2026 13:05
Examples folder containing xlsx files was leftout
Resolves imports in fmudesign src code and tests.

Replaced the semeio version in metadata sheet to avoid importing semeio
These are dependencies of fmudesign
This is a temporary addition, to see that the test suite works.

This will be removed later, as it should not be a cli tool.
Some tests were cluttering the test directory with files.
@SAKavli
SAKavli force-pushed the port-over-fmudesign branch 2 times, most recently from e668fec to 224a3ab Compare August 6, 2026 11:30
@codecov-commenter

codecov-commenter commented Aug 6, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 64.28571% with 455 lines in your changes missing coverage. Please review.
✅ Project coverage is 90.92%. Comparing base (cfea501) to head (87eebb0).
⚠️ Report is 7 commits behind head on main.

Files with missing lines Patch % Lines
src/ert/config/fmudesign/quality_report.py 24.05% 180 Missing ⚠️
src/ert/config/fmudesign/fmudesignrunner.py 21.29% 85 Missing ⚠️
src/ert/config/fmudesign/create_design.py 81.34% 64 Missing ⚠️
src/ert/config/fmudesign/_excel_to_dict.py 83.69% 52 Missing ⚠️
src/ert/config/fmudesign/design_distributions.py 73.72% 36 Missing ⚠️
src/ert/config/fmudesign/utils.py 65.51% 20 Missing ⚠️
src/ert/config/fmudesign/config_validation.py 55.26% 17 Missing ⚠️
src/ert/config/fmudesign/_designsummary.py 96.66% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #14115      +/-   ##
==========================================
- Coverage   91.93%   90.92%   -1.02%     
==========================================
  Files         481      491      +10     
  Lines       33474    34768    +1294     
==========================================
+ Hits        30775    31612     +837     
- Misses       2699     3156     +457     
Flag Coverage Δ
cli-tests 34.90% <0.00%> (-1.35%) ⬇️
fuzz 42.95% <12.63%> (-1.29%) ⬇️
gui-tests 56.46% <0.00%> (-2.19%) ⬇️
performance-and-unit-tests 80.20% <64.28%> (-0.54%) ⬇️
test 44.37% <0.00%> (-1.71%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/ert/config/fmudesign/__init__.py 100.00% <100.00%> (ø)
src/ert/config/fmudesign/_designsummary.py 96.66% <96.66%> (ø)
src/ert/config/fmudesign/config_validation.py 55.26% <55.26%> (ø)
src/ert/config/fmudesign/utils.py 65.51% <65.51%> (ø)
src/ert/config/fmudesign/design_distributions.py 73.72% <73.72%> (ø)
src/ert/config/fmudesign/_excel_to_dict.py 83.69% <83.69%> (ø)
src/ert/config/fmudesign/create_design.py 81.34% <81.34%> (ø)
src/ert/config/fmudesign/fmudesignrunner.py 21.29% <21.29%> (ø)
src/ert/config/fmudesign/quality_report.py 24.05% <24.05%> (ø)

... and 4 files with indirect coverage changes

@SAKavli
SAKavli force-pushed the port-over-fmudesign branch from 224a3ab to cac4c6d Compare August 6, 2026 11:49
@SAKavli
SAKavli force-pushed the port-over-fmudesign branch from cac4c6d to 87eebb0 Compare August 7, 2026 07:36
@SAKavli

SAKavli commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

All tests pass after commit #87eebb0 - where all fmudesign tests were ported over.

https://github.com/equinor/ert/actions/runs/31158298977/workflow?pr=14115

SAKavli added 4 commits August 7, 2026 10:02
I still dont know if it should be float
This test tests that the cli tooling can be invoked from certain
folder structures, but this tooling will not be a cli tool in ert.
@codspeed-hq

codspeed-hq Bot commented Aug 7, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 36 untouched benchmarks


Comparing SAKavli:port-over-fmudesign (87eebb0) with main (e54ecec)

Open in CodSpeed

@SAKavli
SAKavli force-pushed the port-over-fmudesign branch from 021e0b7 to b23070c Compare August 7, 2026 13:55
My first attempt was by writing polars dataframes to excel
bytestreams, but polars have a limitation where multityped columns
are cast to string, such that the produced excel_to_dict dictionary
differs from the one produced by the .xlsx file - where numeric
values were turned to strings.

This solution can be iterated on, but it gives a relatively clear
framework for how one of these test data classes to generate
excel bytestreams should look like.

It is simply writing one row at a time in the form of lists,
perhaps not the most elegant solution, but quite simple to maintain.

Can find a better way of displaying the row values, as these are
formatted vertically when containing a lot of elements.

The idea going forward is to create test files like
test_one_by_one_sensitivity.py and populate them with tests targeting
specific functionalities of fmudesign. Hopefully, we can just delete
some of these files as they probably test the same.
@SAKavli
SAKavli force-pushed the port-over-fmudesign branch from b23070c to d59b367 Compare August 7, 2026 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sample from design input sheets directly in ert

2 participants