Commit Graph
18890 Commits
Author SHA1 Message Date
Magne Sjaastad ef7943feaa RiaRegressionTestRunner: Support hierarchical preference configuration
Update the preference lookup to search upward up to three levels from the test directory, allowing for shared configuration in nested folder structures. Also, ensure each test runs from a consistent baseline by saving the initial state once and restoring it after every test execution.
2026-03-11 12:46:43 +01:00
Magne Sjaastad 1fdd493bfb #13728 Telemetry: Include OS info for all events
Add OS info (os.type, os.version, os.name) to all non-crash events in
reportEventAsync. Consolidate OS info and hashUsername into an anonymous
namespace with a shared addOsInfo helper function.
2026-03-11 12:46:32 +01:00
Magne Sjaastad 9b5507611f RiuMainWindow: Add Test Progress Bar to Testing menu
Adds a "Test Progress Bar" action under File->Testing that runs a
long task on a worker thread using caf::ProgressInfo to exercise
cross-thread progress updates. Uses QEventLoop to keep the GUI thread
responsive while the worker sleeps between steps.
2026-03-10 15:32:02 +01:00
Magne Sjaastad 1a780211eb cafProgressInfo: Support progress updates from non-GUI threads
Add isOnGuiThread() helper and dispatch each static update method to
the GUI thread via QMetaObject::invokeMethod when called from a worker
thread. start()/finished() use BlockingQueuedConnection to ensure
stack integrity; description/progress updates use QueuedConnection.

Also prevent multiple overlapping dialogs by only reparenting the
progress dialog when no operation is active.
2026-03-10 15:32:02 +01:00
Magne adf33c3658 Refactor disconnect calls in AnimationToolBar to use explicit signal-slot disconnection
The following text was seen on Ubuntu 20.24, and the text disappears after this commit:
"QObject::disconnect: wildcard call disconnects from destroyed signal of QComboBox::unnamed
QObject::disconnect: wildcard call disconnects from destroyed signal of QSlider::unnamed"
2026-03-10 15:32:02 +01:00
Jon Jenssen 62519d9b24 Support custom DATA file input name.
Fix crash due to invalid cell box
2026-03-10 15:27:48 +01:00
Jon Jenssen 04dc045b19 Handle AQUNUM and AQUANCON keywords in sector export 2026-03-10 13:40:51 +01:00
Magne Sjaastad ab994cc8cf Bump to 2026.02.1-dev.03 2026-03-10 13:18:14 +01:00
Magne Sjaastad e21097a2fc #13713 RifReaderOpmCommon: Fix ACTNUM showing undefined when only stored in EGRID
ACTNUM is always present in the EGRID file, but not always in the INIT
file. The OPM reader's staticResult() searched only the INIT file, so
models that omit ACTNUM from INIT returned an empty result vector,
causing all cells to display as undefined.

Fix by deriving ACTNUM values directly from the active cell info, which
is populated from the EGRID during grid import via transferActiveCells().
2026-03-10 13:18:14 +01:00
Magne Sjaastad 85b3ad4cf5 RimReservoirGridEnsemble: Fix statistics not including all realizations
Copy result metadata from main case to all cases after loading in shared
grid mode. Without this, findOrLoadKnownScalarResultForTimeStep() returned
UNDEFINED_SIZE_T for cases 1..N, silently excluding them from statistics.
Mirrors behavior of RimIdenticalGridCaseGroup::loadMainCaseAndActiveCellInfo().

RicImportGridAndSummaryEnsembleDialog: Enable 'realization-*' filter by default
and make tree view grow vertically on dialog resize.
2026-03-10 13:17:54 +01:00
Magne Sjaastad 30eaac6535 Docs: Update Git and PR conventions
- Restructure Git conventions into sub-sections for better organization
- Add a new convention to exclude test plans from PR descriptions
2026-03-10 13:17:54 +01:00
Magne Sjaastad a94c1235c6 #13715 RiuSummaryVectorSelectionUi: Create addresses for all realizations in Plot Editor
For ensemble member cases used as individual sources in the Plot Editor,
createAddressesIfRequired() was never called, causing allResultAddresses()
to return an empty set for all non-representative realizations.
2026-03-10 11:56:38 +01:00
Magne Sjaastad c13eed4544 RiaOpenTelemetryManager: Ensure crash reports are sent before exit
- Track pending network replies using an atomic counter
- Pump the event loop in `reportCrash` to allow asynchronous telemetry requests to complete before the process terminates
- Use a timeout to prevent the crash handler from hanging indefinitely if the network is unresponsive
2026-03-09 15:34:39 +01:00
Magne Sjaastad 0ebb81ff87 RiuMainWindow: Trigger actual crash in test telemetry
- Replace manual telemetry event reporting with an intentional SIGSEGV
- This allows for testing the end-to-end crash reporting pipeline and signal handling instead of just simulating telemetry data
2026-03-09 15:34:39 +01:00
magnesj 8d57bfbe51 Bump to version 2026.02.1-dev.02 2026-03-09 14:44:48 +01:00
Magne Sjaastad 56fc450543 opm-flowdiagnostics-applications: Improvements to relative perm curves
Integrate PR https://github.com/OPM/opm-flowdiagnostics-applications/pull/116 for testing
2026-03-09 14:43:21 +01:00
Magne Sjaastad fd27722991 RicImportGridAndSummaryEnsembleFeature: Add feature for importing grid and summary ensembles
- Add RicImportGridAndSummaryEnsembleFeature with icon and menu/toolbar registration
- Register in main window toolbar, import menu (both windows)
- Add feature to plot window Standard toolbar
- Wire up post-import view and plot creation
- Skip grid/summary ensemble creation when no files of that type are found
- Keep focus in plot window when no grid ensembles are created
2026-03-09 14:43:02 +01:00
Magne Sjaastad 5b07323ac8 RicImportGridAndSummaryEnsembleDialog: Add dialog and extract shared tree helpers
- Add new RicImportGridAndSummaryEnsembleDialog for searching and selecting
  grid and summary ensemble files
- Extract firstLevelItems, setCheckedStateChildItems, findItemsMatching and
  populateComboBoxHistoryFromRegistry to public static methods on
  RicRecursiveFileSearchDialog to eliminate duplication
2026-03-09 14:43:02 +01:00
Kristian Bendiksen 00b4f180a2 #13515 Fix comma-aware parsing of gRPC string values in Python
Replace naive split(", ") in __makelist() with a quote-aware state
machine that respects quoted strings and nested brackets. Also add
__unescape_string() to reverse C++ escaping, and fix strip('"') to
only remove the outer quote pair.
2026-03-06 20:56:48 +01:00
kriben a85b49f86f Fixes by clang-format 2026-03-06 12:32:05 +01:00
Kristian Bendiksen 079372ea85 #13484 Auto-import PVD surfaces for command line and replace case
Extract auto-import logic into public static method
importPvdSurfacesForGridFiles() and call it from:
- Command line case loading (--case argument)
- Replace case menu action
2026-03-06 12:32:05 +01:00
JJ 24be78f105 Tie-in valve improvements (#13661)
Support (bool, something) pairs as tuples on python side.
Support custom outlet valve md
Add python test for custom outlet valve md
Use tie-in depth as default for custom valve md
Standalone valve creation and display updates
Update MSW valve export
Add valve open/shut flag.
Add python examples
2026-03-06 12:01:14 +01:00
jonjenssen f47de8457c Fix segfault on startup on ubuntu25.10/gcc15.2 2026-03-06 11:35:59 +01:00
kriben fcff011200 Python code linting changes detected by ruff 2026-03-06 08:52:04 +01:00
Kristian Bendiksen 58775bc1cc CI: Fix python-linting workflow to catch unfixable ruff errors
ruff check --diff only reported fixable violations, silently passing
on unfixable errors like E402. Replace with ruff check (no flags) to
fail CI on all violations. Auto-fix PR creation now only triggers on
failure for same-repo branches.
2026-03-06 08:52:04 +01:00
Kristian Bendiksen 27042e4bab Python: Fix ruff E402 lint errors in __init__.py
Move typing import to top of file and add noqa: E402 comments
to imports that must follow the sys.path.insert call.
2026-03-06 08:52:04 +01:00
Magne Sjaastad d9e3967519 Add example on creation of regions based on existing polygons 2026-03-06 08:22:16 +01:00
magnesj 759b143c5e Fixes by codespell 2026-03-06 06:44:52 +01:00
Kristian Bendiksen 75bc84e146 #12452 Python: Replace logger.error with raise RipsError in instance.py
Error conditions in launch() and find() now raise RipsError instead of
logging and returning None, making failures explicit. Updated test to
expect the exception.
2026-03-05 15:58:25 +01:00
Kristian Bendiksen e4ea6ea44f #12452 Python: Replace print() with logging API in rips module 2026-03-05 15:58:25 +01:00
Magne Sjaastad c354819e5a RigActiveCellInfo: Fix debug build error in setCellResultIndex 2026-03-04 11:27:51 +01:00
Magne Sjaastad 50009ac4d2 Use cafPdmUiButton instead of bool PdmField in multiple classes
Replace PdmField<bool> push button pattern with addNewButton() lambdas
in RiaPreferences, RiaPreferencesSummary, RicUserDefinedCalculatorUi,
RimUserDefinedPolylinesAnnotation, RimPolygonFilter, RimFractureTemplate,
RimEllipseFractureTemplate, RimMeshFractureTemplate, and
RicSummaryPlotEditorWidgetCreator.
2026-03-04 09:52:17 +01:00
Magne Sjaastad 06016d18e3 cafPdmUiButton: Add fillWidth property and expose createButton as protected
Add fillWidth() to PdmUiButton to allow buttons to expand horizontally
instead of sizing to content. Make createButton protected so subclasses
can reuse button creation logic.
2026-03-04 09:52:17 +01:00
Magne Sjaastad 9f30c981bc Remove unused cafPdmUiPushButtonEditor.h includes
Follow-up cleanup after switching from bool PdmField push buttons to cafPdmUiButton.
2026-03-04 09:52:17 +01:00
Magne Sjaastad f5234f0e06 RigWellTargetMapping: Extract private implementation into RigWellTargetMappingTools
Move private methods, DataContainer, and ClusterStatistics from
RigWellTargetMapping into a new RigWellTargetMappingTools class to reduce
header complexity. Change generateEnsembleCandidates to accept
std::vector<RimEclipseCase*> instead of RimEclipseCaseEnsemble.
2026-03-04 07:37:19 +01:00
Magne Sjaastad ed8917dc1b RigActiveCellInfo: Use type-safe index types and add ActiveCellIndex
Refactor RigActiveCellInfo to use ReservoirCellIndex and ActiveCellIndex
instead of raw size_t. Add ActiveCellIndexTag/ActiveCellIndex to
RigTypeSafeIndex.h and add inline comments describing both index types.
Deprecate raw size_t overloads.
2026-03-04 07:37:19 +01:00
magnesj 530b8c8a1a Fixes by clang-tidy 2026-03-04 03:42:23 +00:00
Magne Sjaastad 59b425ae7e #13686 Update vcpkg
Update vcpkg to https://github.com/microsoft/vcpkg/releases/tag/2025.12.12
2026-03-03 21:21:03 +01:00
Magne Sjaastad 61a69bacc4 Use cafPdmUiButton instead of bool in PdmField
* Adopts dynamic PDM buttons with lambda callbacks

Refactors PDM push buttons from boolean fields to use the `addNewButton` API with direct lambda callbacks.

This change enforces a new coding guideline to extract complex or multi-line lambdas to dedicated `on*Clicked()` methods, improving code readability and maintainability.

- Replaces `PdmField` button fields with `PdmUiOrdering::addNewButton` calls.
- Extracts multi-line/control-flow lambdas into named methods in `RimFlowCharacteristicsPlot`, `RimGeoMechCase`, and `RimStatisticsContourMap`.
- Removes obsolete `defineEditorAttribute` overrides and `fieldChangedByUi` logic for these buttons.
- Updates `RimWellPathFracture` to utilize base class-provided button creation.
- Adds new lambda line-count guideline to the coding style documentation.
- Includes minor build fixes, such as adding `cafPdmUiButton.h` and correcting tooltip API usage.
2026-03-03 08:54:45 +01:00
magnesj 76fe5fd4d5 Fixes by clang-format 2026-03-03 07:37:26 +01:00
Magne Sjaastad 5b7e62f649 RicNewStatisticsContourMapFeature: Consolidate addStatisticsContourMap to use RimReservoirGridEnsembleBase 2026-03-03 07:35:48 +01:00
Magne Sjaastad 8fdaa83f15 RimReservoirGridEnsembleBase: Make optional methods non-pure virtual with default implementations
mainGrid(), unionOfActiveCells(), computeUnionOfActiveCells(), and statisticsCaseCollection() default to null/no-op. Remove redundant overrides from RimEclipseCaseEnsemble.
2026-03-03 07:35:48 +01:00
Magne Sjaastad 570fbf111f RiaPreferences: Add option to use recently used folder as default in file dialogs 2026-03-03 07:35:48 +01:00
Magne Sjaastad 99cf71c538 Safeguards event handling during application shutdown
Introduces a flag to track if the application is currently in its destruction phase.
The `notify` method now checks this flag and, if set, delegates event processing directly to the base `QApplication::notify`.
This prevents custom event handlers from attempting to access member variables that may have already been destroyed or are in an invalid state, particularly when `close()` calls on main windows might trigger events during `RiaGuiApplication`'s destruction.
2026-03-03 07:35:48 +01:00
Magne Sjaastad 88985558f8 Set Python version to 3.12 2026-03-02 18:56:25 +01:00
Magne Sjaastad a7ccd088f0 Delete unused workflows 2026-03-02 18:56:25 +01:00
dependabot[bot] ed3a872eb5 Bump actions/upload-artifact from 6 to 7
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 14:08:49 +01:00
dependabot[bot] 2961472b2f Bump actions/download-artifact from 7 to 8
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 7 to 8.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 14:08:25 +01:00
Magne Sjaastad 64c24a6254 RHEL8: Add separate vcpkg configuration and readme
Add vcpkg-configuration-rhel8.json with an independent baseline that
can be updated separately from the default config. The RHEL8 CI workflow
copies this file over vcpkg-configuration.json before running cmake.
Add vcpkg-readme.md documenting the configuration files and their usage.
2026-03-02 12:42:42 +01:00
Magne Sjaastad 601a3bbb78 Refactor RigFormationNames
- Rename RifColorLegendData to RifFormationNamesReader to better reflect the
class purpose of reading formation names from .lyr files.
- Remove inheritance of cvf::Object
- Improve const correctness
2026-02-27 14:17:21 +01:00