Add Python GRPC interface support for creating and managing custom segment
intervals for multi-segment wells. This provides API parity with the existing
GUI functionality.
Changes:
- Add createInterval() method to RimCustomSegmentIntervalCollection
- Add GRPC method addCustomSegmentInterval to RimcWellPathCompletionSettings
- Add validation to prevent creating intervals with start_md >= end_md
- Add Python test test_custom_segment_intervals.py with validation test
- Add usage example to modeled_well_path.py
Follows the pattern established by diameter roughness intervals.
Fixes#13398.
Introduce "MSW Grouping" feature to allow users to control how multi-segmented wells are grouped by name. Adds a new enum for grouping mode (use preferences, custom, disabled), new fields for grouping mode and pattern, and updates UI and logic to support these options. This provides greater flexibility and user control over well path grouping, especially for multi-lateral wells.
Replaces the deprecated Clipper library with the actively maintained Clipper2 library.
Removes the local copy of the Clipper library and uses vcpkg to manage the dependency.
Fixes#11807
Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
Updates parquet::arrow::OpenFile calls to use new API that returns
arrow::Result instead of taking an output parameter. Also updates
error message retrieval to use status().ToString() method.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Apply the same pattern used for ACTNUM keyword: remove all occurrences
of FAULTS before adding a single instance to the GRID section. This
handles deck files where FAULTS appears more than once.
The set_summary_values() Python API method now provides clear error
messages when validation fails instead of failing silently.
Changes:
- Add keyword length validation (8-character SMSPEC format limit)
- Add value vector size validation with informative messages
- Add test cases for both validation scenarios
- Update existing test to expect exceptions for invalid inputs
Fixes#12199.
Removes conditional compilation for OpenTelemetry, ensuring it is always included.
Reinitializes OpenTelemetry based on user preferences, ensuring that changes to telemetry settings are applied immediately.
Configures cloud services, including OpenTelemetry, after the logger is initialized, ensuring that telemetry data is properly captured and transmitted.
Retrieves system username for telemetry tracking.
Replaces the usage of `QIntValidator` with the `setRange` function available in the PDM framework for limiting integer input in UI fields.
This approach provides a more direct and maintainable way to specify value ranges for UI elements.
This change simplifies the code and reduces dependencies.
Modifies the stack trace reporting to only include the path relative to the ResInsight root folder, enhancing readability and reducing verbosity in crash reports.
Initializes OpenTelemetry after the application configuration
is loaded, allowing for telemetry data collection.
Reports application crashes to OpenTelemetry when enabled,
providing stack trace information for debugging.
Adds a new action to the test menu that allows users to manually
trigger the sending of test telemetry data (logging and stack trace)
to the OpenTelemetry endpoint.
This is useful for verifying that the OpenTelemetry integration is
working correctly and for testing different telemetry scenarios.
Adds support for loading OpenTelemetry configuration from a JSON file.
Generalizes configuration file loading to handle OSDU, SUMO and OpenTelemetry configurations using a common function.
Improves JSON value parsing to support strings, doubles, and booleans.
Adds support for OpenTelemetry to enable telemetry and crash reporting.
This change introduces:
- New RiaPreferencesOpenTelemetry class for managing OpenTelemetry configuration.
- RiaOpenTelemetryManager class for handling the OpenTelemetry lifecycle,
event processing, and error handling.
- Configuration options in preferences to enable, disable, and configure
OpenTelemetry.
- Asynchronous event reporting.
- Crash reporting capabilities.
- Health monitoring features.
Add virtual methods (isFileBased, filePath, setFilePath) to RimSurface base
class. Implement these in RimFileSurface and RimRegularFileSurface to provide
a common interface for all file-based surfaces.
Replace class-specific methods (setSurfaceFilePath/surfaceFilePath) with the
common interface methods (setFilePath/filePath) in both RimFileSurface and
RimRegularFileSurface. Update RimEnsembleSurface to use the common interface.
This enables polymorphic treatment of file-based surfaces without changing
the inheritance hierarchy or breaking backward compatibility.
Fixes#13296