The import of VFP data using the OPM parser is not robust when parsing a small number of keywords.
Adds the ECHO keyword to avoid parsing errors that cause data to be skipped in certain models.
* 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
RimHistogramPlot 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.
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.
Introduces a new set of tools for searching files and directories recursively.
Update the ensemble import functionality to use the new file search tools.
Mark the old file system search function as obsolete.
- 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.
Store data sources and time steps directly to project file. Previously, this information was derived from existing curves in the plot, an approach that is fragile.
Import of previous file format is still supported.
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.