* Moves multi reader initialization
* Log error message if not able to open file
* Make keywordCount pure virtual
The base class `RifSummaryReaderInterface` is changed to be abstract and the `keywordCount` is declared as a pure virtual method, therefore the derived classes must implement the method.
This will ensure that all readers are responsible for reporting a keyword count.
* Ensures addresses are created if required
Calls `createAddressesIfRequired` on the summary reader to ensure addresses are created before accessing keyword count.
This prevents potential issues when the addresses haven't been initialized yet.
The std::unique_ptr<RiuPlotWidget> would delete the widget when
RimSummaryPlot object was recreated. This would lead to a
double-delete since the RiuPlotWidget was already deleted by Qt
through the parent-child relationship.
Fixed by using QPointer, and leaving the cleanup to Qt.
Fixes#12558.
* Removes obsolete code
* Return first non-empty return value from reader
* Simplifies water cut curve visibility check
* Defers the page update until after all plots have been added.
* Add settings to control number of threads
* Refactors ensemble curve handling and visibility
Improves the efficiency of ensemble curve set management by separating realization and statistics curves into distinct collections. This allows for more targeted operations, such as selectively showing/hiding realization curves without affecting statistics.
Also defers data loading of curves until they are actually displayed, optimizing performance.
The visibility updates are modified to optionally skip updating the parent plot, providing more control over replotting behavior and preventing unnecessary updates.
- Introducing a configuration system to automatically detect file patterns for restart and parameter files across ensemble realizations.
- Adding UI elements to control improved summary import settings.
- Modifying summary file reader to use the determined file patterns.
Changes in the summary system has introduced a bug causing two identical results to be displayed, the correct statistical vector and the error. If error is asked for, return no values.
Addresses are now explicitly created for summary cases upon loading or importing.
Remove a potentially costly rebuild if when no calculations are present.
Ensures thread-safe initialization of PDM objects when created in parallel.
Avoids a potential race condition during the first instantiation of a PDM object in a multi-threaded environment. This is achieved by creating a dummy object in the main thread to trigger the necessary initialization before parallel creation begins.
Adds a unit test to verify the fix.
Updates address management within summary collections to utilize `RimSummaryAddress` objects directly, enabling streamlined data access and manipulation.
This change optimizes the code by wrapping file reader addresses in `RimSummaryAddress` objects.
It also improves data handling by using parallel processing to speed up address creation.
Renames RifSummaryReaderMultipleFiles to RifSummaryReaderAggregator
to better reflect its purpose of aggregating summary data from multiple files. Also avoid confusion with RifMultipleSummaryReaders
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.
* 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
* Add support for reload of ensemble file set
* Fix Replace for ensemble file sets
* Workaround for update of connected plots
* Use summary icon for ensemble data sources
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.
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.