Commit Graph
2604 Commits
Author SHA1 Message Date
Magne Sjaastad 86691d8844 #13095 Avoid error message trying to read data not present in file 2025-11-10 14:58:55 +01:00
Magne Sjaastad 2a0e39ef80 Removes ensemble summary import mode as separate cases import is not supported.
Simplifies the UI by removing the ensemble import option, and updates the logic to handle summary import mode correctly by only supporting skip or unified imports. If separated cases is required for a single summary case, this can be activated by using the import dialog.

Adds logic to initialize after read to ensure that if SummaryImportMode is SEPARATE_CASES, it changes to NOT_IMPORT.
2025-11-10 14:58:55 +01:00
Magne Sjaastad f81a2d8967 #12999 Add spacing to system parameters
Add spacing to RicFishbonesSystemParameters
Use 12.5 as default, use 18.5 for drillingExtendedParameters
Remove duplicated code
2025-11-10 14:58:55 +01:00
Magne Sjaastad c921299305 #13101 Fix update of ensemble calculation vectors 2025-11-10 14:58:55 +01:00
jonjenssen 567d1185a1 Add nullptr guard in case no valid main grid in view. 2025-11-10 14:58:55 +01:00
Magne Sjaastad 3621b4ea57 #13137 Make sure calculated vectors appears in tree view
When populating the addresses to be displayed in the tree view, the native file readers must be populated first. The calculated addresses depend on addresses available in native readers.
2025-11-10 14:58:55 +01:00
Jon Jenssen c62d48cec2 Add more nullptr guards 2025-11-10 14:58:55 +01:00
JJ 4bacf3c9bd Speed up cell search tree building in case of large LGRs (#13134)
* Speed up cell search tree building for larger LGRs by pre-calculating information needed
2025-11-10 14:58:55 +01:00
Magne Sjaastad fc5fe92fcc #13130 Plot curves are not displayed for default summary plot 2025-11-10 14:58:55 +01:00
Magne Sjaastad 529f0ecf27 #13064 Crash when computing delta ensemble curves for ongoing simulation
When creating delta for an ongoing simulation, the length of time and value vectors can differ. Resize these vectors to make sure they have the same length to avoid crash.
2025-11-10 14:58:55 +01:00
Magne Sjaastad 70b1f5b7c7 #13065 Improves result info handling
Improves result info handling by ensuring the result
definition is valid before accessing it, preventing
potential crashes.
Uses `if (auto)` to check for null result definitions,
and displays a user-friendly message when no result
definition is available.
2025-11-10 14:58:55 +01:00
Magne Sjaastad c3ccf96e04 Build cell aabb search tree when required
This is a follow-up to the fix where the assert was removed in 9a71abd8af.

This fix will make sure that the search tree always is created when findIntersectingCells() is called.
2025-11-10 14:58:55 +01:00
Magne Sjaastad 6cef55b897 #13019 Remove assert from RiaSummaryTools::summaryCaseMainCollection() 2025-11-10 14:58:55 +01:00
Jon Jenssen 17a0991bc5 Crash fix, do not assert, return empty list 2025-11-10 14:58:55 +01:00
Magne Sjaastad 626d68ec59 Avoids iterator invalidation in QwtPlot item lists
When working with a summary ensemble in a Debug build on Windows, a crash happened in RiuQwtPlotWidget::resetPlotCurveHighlighting(). When iterating over list of plot items, one pointer to item pointed to 0xddddddd, a clear indication that the underlying list had been updated during the loop and the iterator invalidated.

The change ensures that modifications to the item list during iteration do not cause unexpected behavior, particularly in scenarios involving grid lines and curve highlighting.

This is achieved by making a copy of the item list before iteration when modifications may occur. For cases where no add/remove will be performed during the iteration, a comment is added to clarify that it is safe to access the reference to the list.
2025-11-10 14:58:55 +01:00
Magne Sjaastad 29335a5e0e #13013 Ensures increasing MD for fishbone laterals
Positions the ICD segment at the end of the fishbone section to ensure that lateral MDs are larger than the ICD segment MDs.

This is required by the simulator and ensures correct flow modeling from laterals into the ICD segment.
2025-11-10 14:58:55 +01:00
Kristian Bendiksen d5bc4f4230 Summary Plot: Fix crash when setting "Col Span" to "unlimited". 2025-11-10 14:58:55 +01:00
Magne Sjaastad dfe5442dae Removes scripting capability of trajectory points
For large point arrays, the scripting causes overflow in the grpc communication. Disable scripting to make sure the grpc object size is below size threshold.
2025-11-10 14:58:55 +01:00
Magne Sjaastad 42c850b9eb #13000 Fishbones completion: Avoid overwrite of default values
Always call setSystemParameters after appendFishbonesSubs
2025-10-13 14:35:42 +02:00
Magne Sjaastad 77a258ae24 #12986 Fishbones completion: Add unit text for Lateral Diameter 2025-10-13 14:35:42 +02:00
Magne Sjaastad e927241d99 #13001 3D-view: Scale factor is not shown correctly 2025-10-13 14:35:42 +02:00
Magne Sjaastad a236ae2051 Compute measured depth if not present on file (#12872)
* Refactors RigWellPathGeometryTools to namespace
* Refactors measured depth calculation to utility.
* Calculates MD if missing from well path data
2025-10-13 14:35:42 +02:00
Magne Sjaastad 24ca039790 #12927 Add optional time threshold before creating ESMRY
When checking timestamp for ESMRY vs SMSPEC, allow ESMRY to be written before SMSPEC within a given limit in time difference.
2025-10-13 14:35:42 +02:00
Magne Sjaastad 31088c0ec7 Add guarding tying to mitigate reported segmentation fault
2025-10-06 12:48:32.779] [rotating_logger] [error] Stack trace:
  [0] manageSegFailure(int) at :0
  [1]  at :0
  [2] __dynamic_cast at :0
  [3] RimSummaryMultiPlot::updateReadOutLines(double, double) at :0
  [4] CoordinatePicker::trackerText(QPoint const&) const at :0
  [5] QwtPicker::trackerRect(QFont const&) const at :0
  [6] QwtPicker::updateDisplay() at :0
  [7] QwtPicker::begin() at :0
  [8] QwtPicker::transition(QEvent const*) at :0
  [9] QwtPicker::eventFilter(QObject*, QEvent*) at :0
  [10] QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) at :0
  [11] QApplicationPrivate::notify_helper(QObject*, QEvent*) at :0
  [12] RiaGuiApplication::notify(QObject*, QEvent*) at :0
  [13] QCoreApplication::notifyInternal2(QObject*, QEvent*) at :0
  [14]  at :0
  [15] QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) at :0
  [16]  at :0
  [17]  at :0
  [18] QApplicationPrivate::notify_helper(QObject*, QEvent*) at :0
  [19] RiaGuiApplication::notify(QObject*, QEvent*) at :0
  [20] QCoreApplication::notifyInternal2(QObject*, QEvent*) at :0
  [21] QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) at :0
  [22] QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) at :0
  [23]  at :0
  [24] g_main_context_dispatch at :0
  [25] g_main_context_iterate.isra.20 at :0
  [26] g_main_context_iteration at :0
  [27] QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) at :0
  [28] QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) at :0
  [29] QCoreApplication::exec() at :0
2025-10-13 14:35:42 +02:00
Magne Sjaastad ee94c43305 Fix typo and restore filter for tree view after update 2025-10-13 14:35:42 +02:00
Magne Sjaastad 1bc0c112a9 #12989 Always evaluate calculated expressions before file data 2025-10-13 14:35:42 +02:00
Magne Sjaastad 083a1dbfad #12996 Resdata: Prefer UNRST over FUNRST 2025-10-13 14:35:42 +02:00
Magne Sjaastad dfa1a57084 #12954 Update all ensemble curves on x address change
Include the x address when computing hash for the data source for ensemble curves.,
2025-10-13 14:35:42 +02:00
Magne Sjaastad 8ff9d44c3f #12953 Always check date of all realizations
The date stamp of UNSMRY is compared to date stamp of ESMRY. This takes some time, and a performance improvement was seen when this operation was done only on a single representative realization of an ensemble. This is not stable, as a single realization might crash or have no new data compared to other realizations.

This feature is removed.
2025-10-13 14:35:42 +02:00
Magne Sjaastad 824c210119 Guards against null pointer use 2025-09-04 08:21:02 +02:00
Magne Sjaastad bec4c380c5 #12873 Make sure addresses are created on single summary case reload 2025-09-04 08:20:35 +02:00
Magne Sjaastad 917136fec8 Release 2025.09.0 2025-09-01 12:38:48 +02:00
Magne Sjaastad 649de047d0 Add resampling method to RiaCurveMerger
Delete unused parameter
2025-06-16 14:25:13 +02:00
Magne e8ddef71af Janitor fixes detected by clang-19 2025-06-10 13:31:35 +02:00
Magne Sjaastad 47f5e004a7 Performance improvements ensemble curves
* Do not create ensemble in initAfterRead
* Check if filter is active before update
* Do not recompute statistics on every loadData
* Removes unnecessary resampling
* MSVC: Add support for dynamic deoptimalization
* Make sure RFT plots are initialized based on curves in project file
* Make sure the progress dialog is always on top
* Add more progress info when loading project file
* Make sure names in RFT plots are updated
2025-06-10 10:52:18 +02:00
Magne Sjaastad 4eccfc86b5 Make sure std::equal is executed on valid range of vectors
Previous solution did not check for equal length of these vectors, causing out of bounds compare. Detected by debug build using MSVC
2025-06-10 10:52:18 +02:00
Magne Sjaastad 5f6b3ec44d #12535 Avoid use of caf::PdmPointer in async delete of objects
Remove the use of caf::PdmPointer in RifCalculatedSummaryCurveReader as these objects are only accessed and used only during the lifetime of the owning object.

Move caching of RimProject::current()->calculationCollection() to the constructor instead of the calling site.
2025-06-10 10:52:18 +02:00
jonjenssen 55a4bad0fb Add nullptr guards to avoid crash when trying to use well allocation plot with an ensemble 2025-06-10 10:52:18 +02:00
Magne Sjaastad d7d18ce9ab #12495 Refactors ensemble statistics handling
Removes the dedicated `SUMMARY_ENSEMBLE_STATISTICS` category and instead uses a `statisticsType` field within `RifEclipseSummaryAddress` to represent ensemble statistics.

This change simplifies the code and avoids potential confusion by representing statistics as attributes of existing summary types, rather than a separate category. It also improves code robustness.
2025-06-10 10:52:18 +02:00
Magne Sjaastad e66e40523a Avoid asserts to be able to open a misconfigured project 2025-06-10 10:52:18 +02:00
Magne Sjaastad c00e03bdd1 Bump to 2025.04.1 2025-05-09 08:32:04 +02:00
Magne Sjaastad 64ec98b6a4 #12472 Fix flaky calculation of contour map top value 2025-05-09 08:32:04 +02:00
Magne Sjaastad 18ba47c2ab #12470 Use value range slider instead of independent min and max value sliders
Make sure minimum value is always less than max and max value is always larger than min.
2025-05-09 08:32:04 +02:00
Magne Sjaastad 39aeef9fee Improve text for Append operations
Use "Append to Current Plot(s)" and "Append as New Plot(s)"
2025-05-09 08:32:04 +02:00
Jon Jenssen 94f5a45423 Make sure the clear all messages slot is defined as a slot. 2025-05-09 08:32:04 +02:00
Magne Sjaastad 321ff4ad90 Create a menu for each ensemble in the plot
Create a QVariant using caf::PdmPointer, and send this variant to the feature. The feature converts the QVariant to an ensemble curve set.

Make sure the right-click menu in the summary plot shows the Create from filtered cases independent to the selection in project tree.
2025-05-09 08:32:04 +02:00
Magne Sjaastad c57eace568 #12455 Date format string and precision
Use date format string from preferences when date is displayed. Use default number of decimals.
2025-05-09 08:32:04 +02:00
Magne Sjaastad fa61fbb78b #12457 Move management of time axis annotations
Use RimTimeAxisAnnotationUpdater for management of annotation objects.
2025-05-09 08:32:04 +02:00
Magne Sjaastad 14294e400e Show time selection in curve filter object 2025-05-09 08:32:04 +02:00
Magne Sjaastad a744474657 Make sure the time fields are added only once 2025-05-09 08:32:04 +02:00