This makes it possible to configure the capabilities of a field one place and avoids duplication.
Extends scripting capabilities by introducing a `dataType` method to `PdmAbstractFieldScriptingCapability`.
This allows the Python generator to retrieve the data type of a field directly from its scriptability, providing a more flexible and extensible way to determine the data type for scripting purposes.
Clarifies the build process for both Linux and Windows environments, including specific instructions for Visual Studio 2022.
This includes updated prerequisites, build commands, and testing procedures, ensuring a smoother build experience for developers on both platforms.
- Ensures a more robust size multiplier calculation by validating the weighted mean and preventing division by zero.
- Addresses a potential division by zero during curve interpolation when the X values are very close, ensuring a more robust and accurate result.
Enhances the robustness of ensemble data processing by:
- Displaying a tooltip when data is missing for a realization.
- Checks if an enhanced summary file exists before attempting to open it.
- Refines the creation of the realization filter to accurately represent the range of available data.
Ensures that the "Jobs" object name reflects its beta status by appending the appropriate postfix.
This change helps to differentiate beta features from stable ones within the application.
Implements interval-based diameter and roughness configuration for MSW completions
while maintaining backward compatibility with existing single-value approach.
- Add RimDiameterRoughnessInterval class for individual MD intervals
- Add RimDiameterRoughnessIntervalCollection for managing interval collections
- Extend RimMswCompletionParameters with interval-specific mode support
- Support both metric and field unit systems
- Provide validation and overlap detection for intervals
* Add support for getting the perforation length of a well from Python
* Fix issue with sub grid pointers in LGR grids when using active cell opm reader
- Add RimcValveTemplateCollection GRPC command with add_template method
- Support ICD, ICV, and AICD valve types with custom parameters
- Add setter methods for orifice diameter and flow coefficient
- Include Python tests and example demonstrating usage
- API: valve_templates.add_template(completion_type='AICD', orifice_diameter=7.3, flow_coefficient=0.2)
Addresses potential null pointer dereferences by adding checks for null summary readers before accessing their data.
This change prevents crashes and improves the robustness of summary data processing, particularly when dealing with incomplete or corrupted summary data.
The checks are added in the following locations:
- RiaSummaryPlotTemplateTools
- RiaSummaryStringTools
- RicPlotProductionRateFeature
- RicSummaryPlotFeatureImpl
- RimAnalysisPlot
- RimSummaryCalculation
- RimEnsembleCurveFilter
- RimEnsembleCurveSet
- RimSummaryEnsemble
- RimSummaryMultiPlot
- RimSummaryRegressionAnalysisCurve
- RimSummaryEnsembleSumo
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.
Updates field reading to allow for data migration during the XML parsing process.
This change introduces a `migrateFieldContent` virtual method to `PdmObjectHandle`, allowing derived classes to modify field content before it's applied to the field.
The `PdmFieldReader` is refactored to leverage this method when available.
The specialized QString reader is merged into the generic reader.
Allows users to set the maximum number of threads used for parallel processing via a command-line argument. The thread count can also be set via preferences. Command line takes precedence.
* 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.