Commit Graph
18873 Commits
Author SHA1 Message Date
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
Magne Sjaastad 2bf6d1c099 Set version to 2026.02.1-dev.01 2026-02-26 15:18:54 +01:00
Magne Sjaastad ac38ff600b Set version to 2026.02.0 v2026.02.0 2026-02-26 12:44:33 +01:00
Magne Sjaastad ef7c14d16c Adds ResInsight 2026.02 keyword definitions 2026-02-26 11:19:34 +01:00
Magne Sjaastad 18cc394698 Bump to RC_2 2026-02-26 09:32:36 +01:00
Magne Sjaastad 97a87bee8d Ensemble summary: Clamp P10/P90 to boundary values when realization count is too low
When fewer than 9 valid realizations exist at a time step, the linear
interpolation percentile formula has no valid result for P10 and P90.
Previously HUGE_VAL (inf) was returned. Now clamp to min/max of the
available sorted values instead, avoiding inf in plotted curves.
2026-02-26 09:32:36 +01:00
Magne Sjaastad 8308017848 Set default to ESMRY reader 2026-02-26 09:32:36 +01:00
Magne Sjaastad 90c08d8981 #13660 Summary: Skip empty curve data to avoid assert in addCurveData 2026-02-26 08:23:53 +01:00
Magne Sjaastad 71e57f9beb Remove LoggingState enum from OpenTelemetry preferences
OpenTelemetry initialization is now driven by the presence of a config
file: if no config file is found (connection string is empty), init is
skipped silently without writing to the log.
2026-02-26 08:23:53 +01:00
Magne Sjaastad 494d0fe064 Do not read field value from registry if not readable 2026-02-26 08:23:53 +01:00
Magne Sjaastad 896e960e58 #13558 Help menu: Add "What's New" item linking to release notes
Adds a new menu item "What's New" to the Help menu that opens the
release notes page at https://resinsight.org/releases/release-notes/latest/.
Includes a new star-shaped SVG icon matching the existing help icon style.

Consolidate all urls into constants in RiaNetworkTools
2026-02-26 08:23:53 +01:00
Magne Sjaastad 1cd3cf3b67 Fix zone colors to honor LYR-file specification (#13658)
* #12974 Fix zone colors to honor LYR-file specification

- Map formation colors by name instead of palette index in updateFormationNamesOnPlot()
- Map formation colors by categoryValue lookup in updateCellResultLegend(), fixing
  incorrect colors when showOnlyVisibleCategoriesInLegend filters the active set
- Add RimColorLegendCollection::createColorLegendFromFormationNames() and call it
  from readAllFormationNames() so LYR colors are available after project load
- Auto-assign formation color legend when a formation case is set on a well log track
- Rename fileNameWoPath() to shortName() and switch to baseName() (no extension)
- Remove addCustomColorLegend() from RicImportFormationNamesFeature; logic now lives
  in RimColorLegendCollection
- Set formation legend when creating new Well Log Extraction Curve track
2026-02-25 18:16:03 +01:00
magnesj 3d1abec870 Fixes by clang-tidy 2026-02-25 06:43:05 +01:00
Magne Sjaastad f84a66923e Bump to version 2026.02.0-RC_01 2026-02-24 14:24:15 +01:00
Magne Sjaastad fab00a3fc4 Add test case for completion data for dual porosity models
Dual porosity models reads data for completion calculations from the Fracture part of the grid model. The generated completion data contains references to IJK cells in the fracture section of the grid.
2026-02-24 14:24:15 +01:00
Magne Sjaastad b262527812 Fill statistical values with infinity if no values could be calculated
If percentiles could not be calculated (e.g. not enough data points or infinity in any of the input values), fill with infinity to indicate missing data.

The previous solution caused no statistical curves to be displayed due to wrong number of elements in the percentile vector.

Seen in regression test "ProjectFiles2024Tests\TestCase_Ensemble"
2026-02-24 14:24:15 +01:00
Magne Sjaastad 71b734efec #13651 Fix formation dip sign issue when fracture normal is rotated 180 deg
Rename calculateFormationDip to calculateAngleFromVertical to better reflect what the function computes. Add calculateFormationDipFromHorizontal which applies the -90 deg adjustment and std::abs, fixing the wrong sign when the fracture direction normal is flipped.
2026-02-24 13:46:15 +01:00
Magne Sjaastad d3d1c1a148 #13642 Avoid time axis zoom reset when stepping ensemble curve sets
When stepping a RimEnsembleCurveSet by well/group/region/etc., the updateEnsembleAddresses lambda was unconditionally setting doZoomAll=true, causing zoomAll() to be called and resetting the time axis zoom. This is now consistent with regular curve stepping which preserves the time axis.
2026-02-24 13:46:15 +01:00