Commit Graph
35 Commits
Author SHA1 Message Date
Magne Sjaastad 45814555b5 #14878: Add Well Picks (no trajectory) formation source for well log tracks and RFT
New Zonation/Formation Names source WELL_PICKS_NO_TRAJECTORY resolves zone
depths directly from a well-picks file + well name, for tracks without a well
path (e.g. RFT plots without a trajectory). Kept strictly separate from the
existing WELL_PICK_FILTER (well-path-based) source so neither falls back into
the other's resolution path. RFT plots automatically select this source when
no well path exists but a matching well-picks file is found.

Also avoids including RiaWellLogTrackDefines.h from header files; the affected
headers now use opaque enum forward declarations, with the real definitions
included only in the .cpp files that need the enumerator values.
2026-10-08 12:44:14 +02:00
Magne Sjaastad 240df658ee Guard against missing RFT reader when creating an RFT curve
addRftCurve() selects the first Eclipse result case in the project without
checking that it has an RFT reader, and then dereferences rftReader(). The
command is enabled by hasRftData(), which returns true if any case has a
reader, so with several Eclipse cases loaded an enabled menu entry can select
a case with no RFT data and crash.

Null check the reader before use, matching the guard already used by
hasRftData() and hasRftDataForWell().
2026-08-10 10:07:32 +02:00
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 8eb225651b Remove obsolete libecl-based RifReaderEclipseRft, use RifReaderOpmRft only 2026-04-28 12:32:21 +02:00
Magne Sjaastad 8c82f834cf #13727 WellLog: Remove cvf::Object from RigWellLogCurveData, use value types throughout
- RigWellLogCurveData no longer inherits from cvf::Object; calculateResampledCurveData returns by value
- RimWellLogCurve::curveData() returns const reference instead of pointer; m_curveData stored by value
- RigLasFileExporter: replace cvf::Collection with std::vector<RigWellLogCurveData>; SingleChannelData stores RigWellLogCurveData by value
- Update all callers to use dot notation instead of pointer dereference
2026-03-17 20:13:26 +01:00
Magne Sjaastad 93bd0b9c9d Refactor well log track settings into modular classes
* Refactor well log track settings into modular classes

Major refactoring of RimWellLogTrack to delegate property axis, formation, region annotation, and well path attribute settings to dedicated settings classes. Introduces RimWellLogPropertyAxisSettings, RimWellLogFormationSettings, RimWellLogRegionAnnotationSettings, and RimWellLogWellPathAttributeSettings, each encapsulating related fields, UI logic, and option handling. Old fields are retained for migration and backward compatibility. Updates enums and signatures for consistency.
2026-02-09 15:33:18 +01:00
Magne Sjaastad ae8446073b Refactors selection handling for improved code clarity
Modernize the interface to selection system. Create and return data instead of populating incoming parameters.
2025-04-09 07:21:54 +02:00
jonjenssen da683bed9e Move Rig well related things to subfolder and update include statements 2024-10-31 15:08:59 +01:00
Kristian Bendiksen 10ad053c30 Osdu Well Log: make it possible to add Osdu well logs to plot. 2024-06-14 17:31:22 +02:00
Kristian Bendiksen 0477371e0d Refactor: use new base class WellLog where possible. 2024-06-14 17:31:22 +02:00
Kristian Bendiksen c1aba471f2 Refactor: rename WellLogFileChannel to WellLogChannel. 2024-05-28 10:44:44 +02:00
Kristian Bendiksen 8df4dd42eb Refactor: rename RimWellLogFile to RimWellLogLasFile 2023-10-02 16:04:53 +02:00
Kristian Bendiksen 959c9d48fa #10649 ApplicationLibCode: Use collection.empty() instead of comparing with size 2023-09-27 10:16:37 +02:00
Kristian Bendiksen 1899184a41 Janitor: Remove deprecated method. 2023-09-11 17:39:38 +02:00
Magne Sjaastad 7a782cec66 RFT ensemble refactoring
* Compute average MD for intersections with a cell
* Create extractor for simulation well
* Remove rftReader from RifDataSourceForRftPlt
* Add function compute measured depth for RFT cells based on well path geometry
* Move statistics reader to well ensemble curve set
* Make sure both TVD and MD are cached if possible
* Add selection of grid case to use for estimation of measured depth (MD)
Add "Grid Model For MD" where the user can select a grid model. This grid model is propagated to a hidden field in EnsembleCurveSet. The grid model is then applied to RifReaderEnsembleStatisticsRft owned by EnsembleCurveSet
2023-09-04 10:08:30 +02:00
Magne Sjaastad 59ca0b943c Add readability-simplify-boolean-expr
* Add readability-simplify-boolean-expr
* Fixes based on review
2023-06-26 13:12:41 +02:00
Jørgen Herje 5975fe6765 Rename RimWellLogDiffCurve to RimWellLogCalculatedCurve and additional improvements
* Rename from DiffCurve to CalculatedCurve and add operators selection
* Add option to select depth source for resampling in CalculatedCurve

- Select source for depth values for resampling
- Depths from first curve, second curve or union of these
- Added unit tests for function creating union depth values and calculate value with selected operator.

* Guard divide by zero

* Adjust algorithm for union of depths

- Prevent duplicated depth values (no need for enter/exist of k-layer when resampling)
- Add threshold for depth distance
- Update unit tests
2023-05-27 10:30:03 +02:00
Jørgen Herje b83fe73395 Displacement curves fault faces (#10243) 2023-05-22 11:37:57 +02:00
Magne Sjaastad 0c90f67dcc Change API for PdmObjectHandle and PdmFieldHandle
* Refactor interface to PdmObjectHandle and PdmFieldHandle
Return objects instead of passing in structures as parameters

* Add nodiscard to several functions
* Remove redundant this->
* Rename to ptrReferencedObjectsByType
2023-05-12 21:41:34 +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 595806079a Fix typo 2022-12-11 10:15:26 +01:00
Magne Sjaastad 7cb6c587c1 Adjustments to UI
* #9551: Guard nullpointer if no RFT data is present
* Hide RFT in tree view if no RFT file is found
* Avoid display of 3d main window when importing a summary case
* Use specific grid import feature instead of general file import feature
2022-12-09 08:47:40 +01:00
Magne Sjaastad d36ab7e2d7 Fix RFT segment plot issues
* RFT curves: Disable auto color by default
* RFT curves: Fix wiggling legend caused by too many plot updates
* RFT Curves: Search multiple layers for CONFAC data
* Move plot orientation to Depth Axis, Advanced group
2022-11-14 10:55:08 +01:00
Magne Sjaastad 4c3e1c3fe8 RFT Curves: Add more segment curves
- add CONGRAT
- add pressure track
- add CONFAC
- fix some plot layout issues
- Fix bug for first segment MD location
- Add default scale factor 1e-3 for gas curves
- Avoid inf values in some curves, seen in PRESSURE and CONFAC
- Use assignment in statements instead of std::get
2022-10-27 12:43:46 +02:00
Magne Sjaastad 6d5e303361 Add topology curves and show in additional track
* Add topology curves and default plot
* Improve visual appearance
* Update sub module opm-common
* Add support for INCLUDE keyword to allow parsing of include files recursively
* Search for *.DATA with fallback to *.SCH to automatically import WESEGLINK data
* Find annulus branch based on MD diff on segment start
* Stop growing device branch if segment starts at a lower MD than previous
2022-10-07 12:37:23 +02:00
Magne Sjaastad 597a3d1f97 Create features to append plots with RFT curves (#9200)
* Add create plot with RFT curve
* Add RFT segment plot with curve
* Create tracks for all three branch types

* Make sure the zero is displayed when adjusted minimum is changing sign
2022-08-17 10:04:10 +02:00
Magne Sjaastad d854a3d3e7 Merge pull request #9063 from OPM/more-rft-fixes-01
More RFT fixes
2022-06-17 17:24:58 +02:00
Magne Sjaastad ccbda23b96 Merge pull request #9048 from OPM/9047-performance-avoid-update-project
- Avoid update of project when creating new objects
- Added icon resource cache
- Avoid use of descendantsIncludingThisOfType()
2022-06-13 13:54:55 +02:00
Magne Sjaastad 10a01972f3 #8583 RFT Plots : Add support for data source management to well log plots 2022-02-24 13:03:15 +01:00
Magne Sjaastad f154f8c500 Import RFT segment data as well log curve (#8449)
Add reader for RFT data using opm-common
Extend RFT curve with support for RFT segment data
Adjustments related to horizontal well log plots

8581 Well Log Plot : Update of curve appearance does not update plot
2022-02-23 13:57:02 +01:00
Magne Sjaastad 48843c50f6 #8354 RFT file open : Inconsistent data might lead to crash
Use try/catch to avoid crash from RFT file reader. Avoid reading data when considering if menu items should be visible.
2021-12-09 09:59:18 +01:00
Magne Sjaastad 8259220abd #7765 Well Log Curves : Improve handling of units 2021-06-09 21:18:42 +02:00
Magne Sjaastad 86bdf5722a Guard nullpointer access 2021-05-25 11:50:18 +02:00
Magne Sjaastad d754ef4705 Janitor : Several fixes by clang-tidy and use of clang compiler 2021-04-05 11:51:23 -07:00
Gaute Lindkvist 81699db187 Rename ApplicationCode to ApplicationLibCode 2021-01-11 15:27:45 +01:00