Commit Graph
25 Commits
Author SHA1 Message Date
Magne Sjaastad 56e98ba1c4 #14476 ApplicationLibCode: Replace CVF_ASSERT with CAF_ASSERT
Migrate all assert macros in ApplicationLibCode to CAF_ASSERT and remove every
use of cvfAssert.h.

CVF_ASSERT is replaced one to one. CVF_TIGHT_ASSERT is also replaced by
CAF_ASSERT, which is semantically exact: CVF_ENABLE_TIGHT_ASSERTS is 1 only
under _DEBUG, and that is what CAF_ASSERT now does. The two CVF_FAIL_MSG sites
become CAF_ASSERT( false && "message" ), preserving the message with the idiom
already used elsewhere in the code base.

Counts before and after: CVF_ASSERT 1044 to 0, CVF_TIGHT_ASSERT 66 to 0,
CVF_FAIL_MSG 2 to 0, cvfAssert.h references 154 to 0.

Include handling: files that included cvfAssert.h directly now include
cafAssert.h instead, includes left dead by the migration are removed, and files
that were relying on cvfAssert.h transitively get an explicit cafAssert.h. Files
that reach cafAssert.h through another caf header are left unchanged; a missing
include here is a compile error, not a silently disabled assert.

ResultStatisticsCache links only LibCore and therefore had no path to
cafAssert.h. Add the cafPdmCore directory as a private include path rather than
linking the library, since cafAssert.h is header only.

Note that this stops these asserts from firing in Release and RelWithDebInfo,
where CVF_ASSERT was previously active.
2026-08-07 15:05:57 +02:00
Magne Sjaastad af2c5d429c #14431 Guard against zero active cells in validKeywordsForPorosityModel
validKeywordsForPorosityModel divided valueCount by the number of active matrix cells without checking it, causing SIGFPE during grid import when the matrix porosity model has no active cells.

Return early when the requested porosity model has no active cells, and guard the remaining matrix divisors.
2026-07-31 15:17:46 +02:00
Magne Sjaastad 203cf83334 #14283 Guard missing INTEHEAD keyword in Eclipse file readers
ecl_file_iget_named_kw() performs an unchecked vector access in ERT and
crashes (SIGSEGV) when the requested keyword does not exist in the active
file view. findAvailablePhases, readUnitsType and isExportedFromIntersect
called it for INTEHEAD without first checking the keyword is present. Guard
each call with ecl_file_get_num_named_kw(), matching the existing pattern in
this file.
2026-06-23 07:31:05 +02:00
Magne Sjaastad 25c96f4f31 #14140 Eclipse: guard against out-of-range keyword occurrence crash
ecl_file_iget_named_kw() performs an unchecked vector access and crashes with SIGSEGV when the requested keyword occurrence does not exist in the active file view. Bounds-check the occurrence against ecl_file_get_num_named_kw() in both keywordData() overloads before calling it, and check the previously ignored return value of ecl_file_select_block() in results() so a stale active view is not queried.
2026-06-08 15:55:55 +02:00
Kristian Bendiksen 5ffcb69acc #13126 RiaLogging: Use std::string_view instead of QString for logging 2026-05-08 10:11:09 +02:00
Magne Sjaastad 01e0046a78 #13884 NncFluxData: Guard null grid/summaryView to fix crash during dynamic NNC transfer
ecl_file_get_restart_view can return null when a timestep has no restart
view, and the result was passed unchecked into ERT functions. Also added a
null guard for grid and summaryView at the entry of transferNncFluxData to
prevent a crash in ecl_nnc_geometry_alloc on null grid.
2026-04-16 16:43:36 +02:00
Kristian Bendiksen a0dbbf6cb1 Remove deprecated size_t overloads from RigActiveCellInfo
Migrate all callers to use type-safe ReservoirCellIndex and
ActiveCellIndex wrappers, then remove the deprecated isActive(size_t),
cellResultIndex(size_t), and setCellResultIndex(size_t, size_t) methods.
2026-03-31 12:32:05 +02:00
Kristian Bendiksen 37ee50cc9e #13281 Improve unit system handling for Eclipse files
- Add shared utility functions in RifEclipseOutputFileTools:
  - unitValueToEnum(): Convert int unit value to optional enum
  - determineUnitSystem(): Apply unit preference hierarchy and log warnings
- Implement correct unit preference hierarchy: egrid > init > unrst
  (previously was unrst > init > egrid)
- Add validation and warning when different unit systems are detected
  across files
- Enhance grid unit parsing with debug logging to explicitly document
  support for "m" as abbreviation for "METRES"
2025-12-05 14:18:45 +01:00
Magne Sjaastad c00da5e8e1 #13275 Import available phases from INIT and UNRST
This change centralizes the logic for determining available phases from
various file formats (ECL, OPM) and data structures (INTEHEAD keyword)
into a single, well-defined function.

The new `RiaOpmParserTools::phasesFromInteheadValue` function now handles the
conversion from an integer phase indicator to a set of `PhaseType` enums.
This function is used in both the ECL and OPM readers.

Updates the `RifEclipseUnifiedRestartFileAccess` and `RifReaderEclipseOutput`
to use `RifEclipseOutputFileTools::findAvailablePhases` to get the available phases
2025-12-04 14:51:07 +01:00
Magne Sjaastad 6de145ef50 #12996 Resdata: Prefer UNRST over FUNRST 2025-10-08 16:03:56 +02:00
jonjenssen f716b4e964 Support multiple timesteps per day using opm_common reader (#11908)
* Fix progress window hiding time step filter dlg
* Clean up reader preferences
2024-11-21 12:42:13 +01:00
Magne Sjaastad d2cd425ad0 11867 Do not assume that the first reported time step is initial time step 2024-11-07 12:02:25 +01:00
Magne Sjaastad 2154c0ae3b Use updated API for total cell count 2024-10-29 18:17:31 +01:00
jonjenssen 88118ee4e1 Privatize grid cell array 2024-10-29 18:17:31 +01:00
jonjenssen 4365b0dfb9 Grid import using opm-common improvements (#11438)
* Update opm-common EGRID reader to support LGRs, NNCs, dual porosity, unit system info and time step filters
* Rearrange well reading code into separate class
* Update resdata library to not require an ecl_grid when reading well information. Only lgr names are needed, allows reused by opm_common reader
2024-06-18 13:03:48 +02:00
Magne Sjaastad 98144078c8 Rename to resdata
* Rename to resdata
* Remove development feature for storing grid import type in project file
* Clean up comments
2024-04-22 19:56:10 +02:00
Magne Sjaastad 21843820e6 Update clang-tidy.yml
* Make sure clang-tidy action use .clang-tidy config file
Use add-paths to instruct create-pull-request to a sub folder to avoid diff from Qt and vcpkg

* Use empty() in macro to avoid clang-tidy warning
* Add NOLINT to CAF_ASSERT
* Add NOLINT to cvfAssert
2023-10-03 09:04:08 +02:00
Kristian Bendiksen 959c9d48fa #10649 ApplicationLibCode: Use collection.empty() instead of comparing with size 2023-09-27 10:16:37 +02:00
Magne Sjaastad 81809efee9 Add support for grid import using opm-common
Add support for import of geometry and results for main grid. Currently no support for LGR.

Add selection in Preferences to either use libecl or opm-common for grid import.

If RESINSIGHT_DEVEL flag is set, display reader in an Eclipse case to make it possible to compare Eclipse and opm-common in same project.

Add more includes to custom-opm-common to be able to support this functionality. opm-common is unchanged.
2023-08-28 13:46:50 +02:00
Magne Sjaastad f70d2c4949 Add result type and create and use custom legend if possible
* Update submodule
* Use postfix functions and add custom color legend

* Add type to RigEclipseResultAddress
Read types from ROFF and create default legend based on type or custom created legend.

* Use caseId to connect legend configuration to result in a case
2023-05-09 11:41:56 +02:00
Magne Sjaastad f8c5cf389f clang-format: Set column width to 140
* Set column width to 140
* Use c++20
* Remove redundant virtual
2023-02-26 10:48:40 +01:00
Magne Sjaastad 806a149809 Fix several deprecation warnings (#8657)
* Use constructor instead of nullptr for WindowFlags
* Use constructor instead of nullptr for Alignment
* Disable deprecation warning for QProcess
* Add string split method to RaTextStringTools
* Add caf.cpp used to manage Qt function deprecations
* Use position()
2022-03-11 13:24:01 +01:00
Magne Sjaastad 0879f3748b #8558 Use both conditions to disable use of start of simulation
GeoMech cases require this test condition
2022-02-17 08:53:11 +01:00
Magne Sjaastad 79f427f64b #8558 Fix reading of simulation dates for restart case
The date import was wrong for some restart cases.
2022-02-16 19:38:57 +01:00
Gaute Lindkvist 81699db187 Rename ApplicationCode to ApplicationLibCode 2021-01-11 15:27:45 +01:00