Commit Graph
265 Commits
Author SHA1 Message Date
Magne Sjaastad e41b1be924 Refactor RifEclipseSummaryAddress to use string pool indices
Replaced direct string members with indices into RiaStringPool for vector, well, group, and LGR names. Updated all constructors, accessors, and logic to use the string pool for storage and retrieval. This change reduces memory usage and improves performance for repeated string values.

Fixes by clang-format
2026-02-05 13:49:00 +01:00
Magne Sjaastad cff1ab08c4 Add thread-safe RiaStringPool utility and unit tests
Introduce RiaStringPool for efficient shared string storage and retrieval by index, with thread-safe access using shared mutex. Pre-allocate empty string at index 0. Add comprehensive unit tests covering core functionality, concurrency, edge cases, and realistic usage.
2026-02-05 13:49:00 +01:00
Magne Sjaastad f1f25ca760 #13510 Add exclusion support to range selection parsing
Range selection functions now support exclusion tokens (e.g., "!4", "!5-7") for omitting values or ranges. UI placeholder texts and documentation updated to reflect new syntax. Comprehensive tests added for exclusion cases, including edge scenarios. Open-ended exclusion ranges are safely ignored in min/max variant. This enhances flexibility and precision for value selection.
2026-02-04 18:07:28 +01:00
Kristian Bendiksen 71eb461f13 #13528 Add .w extension support for RMSWell files
Files with .w extension are now interpreted as RMSWell format instead of
falling back to ASCII parsing. Added file dialog filter and Python test.
2026-02-04 18:07:10 +01:00
Kristian Bendiksen 116c3b83a5 #13530 Fix RMS well path import with spaces in well names
The RMS well parser now correctly handles well names containing spaces.
Previously, ReadNext<std::string>() stopped at the first whitespace,
causing parsing failures. The fix reads line 3 as a whole and parses
coordinates from the end, treating remaining tokens as the well name.
2026-02-02 14:26:19 +01:00
Magne Sjaastad ca5465a660 Handles API changes for Arrow Parquet file reading
Adapts the code to handle different API versions of the Arrow library for reading Parquet files.
It uses preprocessor directives to select the correct API based on the `ARROW_VERSION_MAJOR`.
This ensures compatibility with both older and newer versions of the Arrow library.
2026-01-31 17:25:26 +01:00
Magne Sjaastad d4a64b4033 #13402 Fixes parsing of well names with colons
Improves the parsing logic for well names in Eclipse
summary addresses, allowing well names to contain colons.

Previously, the parsing would incorrectly split well names
at colons.

Adds a unit test to verify correct parsing of well names with
colons.
2026-01-19 16:08:59 +01:00
Kristian Bendiksen 1c9c5a85ad #13333 Simulation Input: Add EDITNNC export functionality for sector models 2026-01-12 17:19:38 +01:00
Kristian Bendiksen e681b4603a Refactor: use RigBoundingBoxIjk in RigActiveCellInfo. 2026-01-12 09:58:55 +01:00
Kristian Bendiksen 11dfdc2c21 Refactor: convert RigBoundingBoxIjk to template class. 2026-01-12 09:58:55 +01:00
Kristian Bendiksen 2836885850 Refactor: avoid using VecIjk1 internally. 2026-01-12 09:58:55 +01:00
Kristian Bendiksen b7d940a0a2 RigBoundingBox: add contains method with tests. 2026-01-12 09:58:55 +01:00
Kristian BendiksenandMagne Sjaastad d80ada607f #11807 Upgrade to Clipper2
Replaces the deprecated Clipper library with the actively maintained Clipper2 library.

Removes the local copy of the Clipper library and uses vcpkg to manage the dependency.

Fixes #11807

Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
2026-01-07 16:07:09 +01:00
Magne SjaastadandClaude Sonnet 4.5 1737217815 Fixes parquet API compatibility with vcpkg 2025.12.12
Updates parquet::arrow::OpenFile calls to use new API that returns
arrow::Result instead of taking an output parameter. Also updates
error message retrieval to use status().ToString() method.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-05 17:34:57 +01:00
Kristian Bendiksen 8f9b416563 #12876 Include RKB distance when importing RMSwell.
Fixes #12876.
2025-12-15 13:56:41 +01:00
Kristian Bendiksen fe609def88 Simulation Input: Add refinement support for border boundary conditions
Add refined grid border detection for BCCON_BCPROP boundary conditions.
The refined functions operate on the exported refined grid dimensions,
ensuring border cells are correctly identified when using grid refinement.
2025-12-12 13:38:22 +01:00
Kristian Bendiksen cfcdd67255 Simulation Input: Refactor border conditions to use in-memory results. 2025-12-12 13:38:22 +01:00
Kristian Bendiksen b1f9f8c4a5 Simulation Input: Fix bug in BOX transformation when using refinement. 2025-12-11 12:07:21 +01:00
Kristian Bendiksen ab708f5e0e Simulation Input: Handle AQUNUM keyword. 2025-12-11 12:07:21 +01:00
Kristian Bendiksen d3f43dfebb Simulation Input: Handle EQUALS keyword without ijk box. 2025-12-11 12:07:21 +01:00
Magne Sjaastad 102a9feb32 #13269 Read VFP data without unit conversion
- read VFP data using readers with no unit conversion
- remove existing unit conversion
- make sure correct units are displayed in UI for both Metric and Field
2025-12-08 15:58:05 +01:00
Magne Sjaastad df293bed37 #13269 Add support for display of field units in VFP plots
Updates the VFP table display to support different unit systems, specifically metric and field units. Introduces unit system awareness to the display of pressure and flow rate values, ensuring values are shown in the correct units based on the configured unit system.
2025-12-03 09:52:38 +01:00
Magne Sjaastad 88b0094dc8 Add LGR support to MSW tables
Add grid_name to relevant tables
Add support for WPIMULT
2025-12-03 09:48:50 +01:00
Kristian Bendiksen e08ba63f01 Simulation input: Add refinement test. 2025-12-01 14:20:49 +01:00
JJ 6689000d85 New Sector Model Export user interface (#13247)
* Add sector model export wizard
* GUI cleanup
* Use job name as deck name for simulation runs
* Remove new things from old export GUI
* Use radio-buttons for enum dropdowns
2025-11-28 16:43:51 +01:00
Magne Sjaastad bb36404b84 Add test for relperm curve data 2025-11-25 10:48:18 +01:00
Magne Sjaastad 8c473b8a63 Fix typo in welspecs proto file 2025-11-20 13:52:58 +01:00
Kristian Bendiksen 655737aa33 Simulation Input: Add test for bccon/bcprop. 2025-11-19 16:47:27 +01:00
Kristian Bendiksen 0626c2e199 Simulation Input: reintroduce OPERNUM+OPERATER/BCCON+BCPROP.
Was incorrectly removed in the refactoring in c47e8ac76f
2025-11-19 16:47:27 +01:00
Kristian Bendiksen 4df9bc49c8 Simulation Input: add test case for opm-tests model5. 2025-11-19 16:47:27 +01:00
Magne Sjaastad 544e9eedd9 Improve spell checker using codespell
* Configures automated spell checking with codespell
Adds GitHub workflows and configuration files for automated spell checking using `codespell`.

This includes:
- A workflow for checking pull requests and preventing new typos
- A workflow for automatically fixing typos in the main codebase
- Configuration files for `codespell` to ignore specific terms and file types
- Documentation on how to use and configure the spell checking workflows.

* Corrects minor spelling and grammar errors.
2025-11-19 10:25:32 +01:00
Magne Sjaastad 073e80d0a0 Fix nodiscard warnings in ObservedDataParser-Test.cpp (#13191)
* Fix nodiscard warnings in ObservedDataParser-Test.cpp
2025-11-18 12:24:58 +01:00
Kristian Bendiksen c47e8ac76f Refactor: move simulation file/input code to separate class. 2025-11-17 15:48:12 +01:00
Kristian Bendiksen 5a7e987034 Refactor: Use VecIjk0 instead of Vec3st. 2025-11-17 13:04:13 +01:00
Magne Sjaastad 7e299c4841 Add support for more MSW tables in Python
* Use caf::VecIjk0
* Adds MSW tables to the gRPC interface
* Adds unified completion data retrieval
* Add unite tests for MSW data
2025-11-17 11:54:02 +01:00
Kristian Bendiksen 7a36ea9932 Add EQUALS keyword processing. 2025-11-15 11:22:44 +01:00
Kristian Bendiksen 3e668a049d Refactor: move transformIjkToSectorCoordinates and add tests. 2025-11-15 11:22:44 +01:00
Kristian Bendiksen eb02db6cc0 Sector Export: fix indexes in EQUALS keyword. 2025-11-15 11:22:44 +01:00
Kristian Bendiksen 9f597c63f9 Sector Export: handle missing OPERNUM.
Also use keyword when inserting in deck.
2025-11-15 11:22:44 +01:00
Kristian Bendiksen 3b81080086 Add caf::VecIjk0 and caf::VecIjk1. 2025-11-14 14:44:21 +01:00
Kristian Bendiksen b1646d9a1f #12950 Generate BCCON/BCPROP for simulation input. 2025-11-12 08:39:20 +01:00
Magne Sjaastad 6df569850d Remove unintended install files
* Exclude mdspan from INSTALL target
* Exclude zfp from INSTALL target
* Avoid install of googletest
2025-11-11 13:51:28 +01:00
Magne Sjaastad a693aa6d09 #13062 Make search for restart header file more robust
Refactors restart file name retrieval to use preferences for reader mode.

Simplifies logic by removing separate OPM-specific retrieval methods, and
instead uses a unified method that dynamically selects the appropriate
reader based on user preferences.

Adds fallback mechanism to read restart file paths from SMSPEC files when
the RESTART keyword is missing in ESMRY files generated by ResInsight.

Corrects path handling for restart files by adjusting paths relative to the
header file.
2025-11-05 06:38:37 +01:00
Magne Sjaastad 597cfd4d30 Improves geometry tools robustness and accuracy
* Replace asserts with alternatives
* Refactors GeometryTools for improved robustness
2025-11-03 16:06:58 +01:00
Kristian Bendiksen 92f2b887ad RifOpmFlowDeckFile: fix problem when replacing keyword in EDIT section. 2025-11-03 09:56:19 +01:00
Kristian Bendiksen 788e054734 Export sector model: Set opernum in regdims. 2025-11-03 09:56:19 +01:00
Kristian Bendiksen 4e736a8cc0 Refactor: move opm-flow deck keyword generation to factory. 2025-10-24 19:33:35 +02:00
Kristian Bendiksen fd56ae3e4d Generate OPERNUM for entire result vector. 2025-10-13 14:14:44 +02:00
Kristian Bendiksen 5373484615 #12950 Sector Model: Add BCPROP keyword. 2025-10-13 14:14:44 +02:00
Kristian Bendiksen dd689aec50 #12950 Sector Model: Add BCCON keyword. 2025-10-13 14:14:44 +02:00