Commit Graph
19514 Commits
Author SHA1 Message Date
magnesj 54cc46dd7b Bump to version 2026.06.2-dev.02 2026-07-31 15:13:55 +02:00
Magne Sjaastad b448a2606b Remove obsolete patches folder
The patches for libecl, ert and qwt were applied manually and are no
longer referenced by the build system. Also remove the corresponding
entry from the repository map documentation.
2026-07-31 15:06:15 +02:00
Magne Sjaastad 800ab27370 #14429 Ignore mismatched cell visibility in grid cross plot 2026-07-31 14:31:58 +02:00
Magne Sjaastad 42aa580192 #14426 Export multiple surface properties to IRAP/GRI
Add a multi-select list of values to export in the export dialog, containing the surface depth and the properties available on the selected surfaces. IRAP/GRI files hold a single value per node, so each selected value is written to a separate file named <surface>--<value>. Exporting depth only keeps the plain surface name.

Property values are exported without resampling and require a regular surface with matching Nx and Ny. Values that cannot be exported are reported as warnings.

The export grid defaults are no longer rounded when they originate from a regular surface, and the grid rotation is added to the dialog. Both are required to export the surface without resampling.
2026-07-31 13:54:54 +02:00
Magne Sjaastad 172e8f746a #14426 Select first available surface property in all views
A regular surface created from Python is added to the views before any property is set, so the surface in view never assigned a default property. Assign the first available property in loadDataAndUpdate() when no property is selected yet.
2026-07-31 13:54:54 +02:00
Magne Sjaastad d48ecbdcdf #14426 Remember last used export folder when exporting surface to IRAP/GRI
The export folder was only applied to the dialog when a single regular surface was selected. Always seed the folder from the last used EXPORT_SURFACE directory by splitting setDefaults() into setExportFolder() and setGridDefaults().

A single non-regular surface now also falls into the bounding box estimation branch instead of keeping the 10x10 field defaults.
2026-07-31 13:54:54 +02:00
Magne Sjaastad ccbb432b5c #14420 Viewer: Guard against non-finite near/far clipping planes 2026-07-31 08:35:50 +02:00
Magne Sjaastad 4f5e320a65 #14403 Show histogram statistics lines when only the cumulative curve is visible
The P10/P90/Mean annotations were tied to the visibility of the histogram curve, making it impossible to show only the cumulative curve together with the statistics lines. The annotations are now drawn by the non-cumulative curve as long as either it or its cumulative counterpart curve is visible, and the statistics settings are presented only by the non-cumulative curve.
2026-07-31 08:23:18 +02:00
Magne Sjaastad 068d2b98bc #14414 Block gRPC idle processing while crash handling is in progress 2026-07-30 14:39:57 +02:00
Magne Sjaastad 272f7fa56b #14409 Fix crash when creating h5 file from summary file without TIME vector (#14410)
Opm::EclIO::ESmry::dates() throws when the summary file has no TIME vector. The call was made
from inside an OpenMP critical section, and GCC terminates the application when an exception
leaves an OpenMP structured block. The result of the call was never used.

Remove the unused call, and move the exception handling inside the critical section.
2026-07-30 12:57:36 +02:00
Magne Sjaastad 4c39ce3e6c #14404 Guard against whitespace in AppEnum serialization text and fix affected enums 2026-07-30 08:41:27 +02:00
Magne Sjaastad c91e5fa9a7 #14344 Update ensemble grid model views on polygon import
Include reservoir grid ensemble views in RimProject::allViews() so that
polygon and surface imports update the view tree items and schedule a
redraw for these views.

Make RimReservoirGridEnsemble::allViews() robust against re-entrant
calls during project close by iterating child array fields with
childrenByType(), which skips entries nulled during deleteChildren().
2026-07-29 15:23:23 +02:00
Magne Sjaastad f9c881e442 #14343 Add context menu for toggling selected cases in ensemble import dialog 2026-07-29 15:17:05 +02:00
Magne Sjaastad b1e741d5c3 #14398 Guard against out of range time step in well allocation plot 2026-07-29 11:27:34 +02:00
Magne Sjaastad 278621e97a #14395 Guard against date resampling period NONE in summary table 2026-07-29 10:34:06 +02:00
Magne Sjaastad 78ad304622 Use restore-keys fallback and always save build cache with current date
Reduce the build time for the first build of a date.
2026-07-29 10:33:44 +02:00
Magne Sjaastad 3cc4b00903 #14392 Guard against data lines before well name header in pressure depth reader 2026-07-28 15:21:55 +02:00
Magne Sjaastad 442d62cf6d #14368 Make AppEnum mapper initialization thread safe 2026-07-28 15:19:58 +02:00
Magne Sjaastad 2515a4daea #14385 Catch exceptions when saving deck file during sector model export 2026-07-28 14:53:03 +02:00
Magne Sjaastad 3ba47253ad #14386 Update opm-common submodule to merged development-01 commit 2026-07-28 14:51:13 +02:00
Magne Sjaastad 2d761c1d99 #14386 Update opm-common submodule with ESmry summary file open fix 2026-07-28 14:51:13 +02:00
Magne Sjaastad f50cd02bb3 #14383 Guard against missing keyword exception when reading simulation well data 2026-07-28 14:46:37 +02:00
Magne Sjaastad 14a4b5ef53 #14381 Fail gracefully when reading truncated or corrupt SMSPEC file 2026-07-28 14:44:25 +02:00
Magne Sjaastad 11913b2900 Crash triage: require a reproducing test to verify the fix 2026-07-28 14:43:16 +02:00
Magne Sjaastad a9f420bfde #14384 Guard residual oil and gas data against missing static results 2026-07-28 14:33:49 +02:00
Magne Sjaastad febea598dc #14379 Guard against missing intersection view in Show 2D Intersection View 2026-07-28 13:02:18 +02:00
Magne Sjaastad fb96233cf4 #14372 Crash triage doc: identify fragile call patterns and suggest a fix for all locations 2026-07-28 11:37:12 +02:00
Magne Sjaastad 4a06edea28 #14372 Resolve references when creating contour map from 3D view 2026-07-28 11:35:58 +02:00
Magne Sjaastad e35f9aa85e #14370 Guard against NULL base when selecting summary file lists 2026-07-28 11:26:18 +02:00
Magne Sjaastad f409fd8a4d #14376 Guard ODB API calls in RifOdbReader destructor 2026-07-28 09:46:24 +02:00
Magne Sjaastad 7c10106545 #14374 Fail gracefully when importing a malformed GRID file 2026-07-28 09:45:12 +02:00
c3e7c05fd6 Initial ri-cloud-api lifecycle management test (#14364)
Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
Co-authored-by: magnesj <1793152+magnesj@users.noreply.github.com>
2026-07-28 09:36:14 +02:00
dependabot[bot] 0a3ea68dea Bump astral-sh/setup-uv from 8.3.2 to 9.0.0
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 8.3.2 to 9.0.0.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/11f9893b081a58869d3b5fccaea48c9e9e46f990...c771a70e6277c0a99b617c7a806ffedaca235ff9)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-27 16:10:17 +02:00
Magne Sjaastad 4b4bf29dfc Store RHEL8 image layer cache in GHCR instead of the Actions cache
The nightly image build has failed since 2026-07-23 with "failed to
solve: not_found" while exporting the BuildKit layer cache, because the
repository's GitHub Actions cache is at the 10 GB limit and entries are
evicted as fast as they are written (0% cache hit rate on restore).

Use a registry cache (ci-rhel8:buildcache in GHCR) instead, which has no
size cap, and exclude the buildcache tag from the daily image cleanup.

Make the cache effective across nightly rebuilds: key the vcpkg stage on
its actual inputs (vcpkg.json, the vcpkg configuration and the vcpkg
tool) with a direct manifest install instead of copying the entire build
context, and exclude .git from the Docker build context since its
internals differ between checkouts of the same commit and invalidated
'COPY . /src' on every run. Nightly builds now reuse the compiled vcpkg
ports from the layer cache and only recompile the ResInsight warmup
stage.
2026-07-27 15:38:46 +02:00
Kristian Bendiksen 87518f2f2f #14365 Nested hybrid grid: import as a reconstructed LGR hierarchy 2026-07-27 15:24:25 +02:00
Kristian Bendiksen 280763f4c0 #14203 Add cumulative curve option to Grid Statistics plot
A new "Show Cumulative Curve" checkbox on the grid statistics data source adds a cumulative curve on the right axis, in addition to the regular histogram curve. The cumulative curve shares the data source of its non-cumulative counterpart and follows all changes to it. The cumulative sum works with all frequency types and both graph types.

Remove the legacy Grid Statistics dialog (RicGridStatisticsDialog) and its context menu command, which provided the previous cumulative display.
2026-07-27 12:37:59 +02:00
Kristian Bendiksen 5dc3374733 #14226 intersection along ijk axis
* #14226 Add intersection along i/j/k axis

Add a new persistent intersection type that follows the grid pillars at a
fixed i, j or k index. Unlike the axis-aligned intersection box, the surface
is built from the grid cell faces and therefore steps along faults and curved
pillars, which is useful for structural restoration analysis.

The user selects the axis, the fixed index, the two perpendicular index
ranges and which cell face (front/back pillar) to use. The geometry generator
emits the chosen cell face of every cell in the index plane directly from the
native pillar corners, so cell result colors map exactly.

The feature is available from the Intersections context menu for Eclipse
views and supports 3D-view picking and cell result readout.
2026-07-27 11:21:05 +02:00
Magne Sjaastad 2ebefe73b6 #14360 Histogram Plots: Implement Show Plot Data 2026-07-27 10:56:41 +02:00
Kristian Bendiksen 79442c0524 #14274 Fix invalid index range in dataChanged() from table row editor
Valid Qt column indices are 0..columnCount()-1, but the bottom-right
model index was constructed with column columnCount(). Since
QAbstractItemModel::index() validates its arguments, this produced an
invalid QModelIndex(-1,-1) passed to dataChanged(), causing a console
warning on every table row update, e.g. when adding or moving 3D well
path pick targets. Fix the same off-by-one in modelIndexFromPdmObject().

Fixes #14274.
2026-07-27 10:10:25 +02:00
Kristian Bendiksen cf5a0c5227 #10988 Fix QItemSelectionModel warning when exiting application
The tree view in PdmUiTreeSelectionEditor is deleted using deleteLater(),
while the models are children of the editor and are deleted immediately.
Detach the view from the models in the destructor, otherwise pending events
in the view may operate on a selection model whose model has been destroyed.
2026-07-27 09:01:10 +02:00
Magne Sjaastad 77885391a5 Mac: Add support for both ARM and Intel binaries
* #1009 macOS: add native Intel (x86_64) build alongside arm64

The macOS workflow only built on the arm64 runner (macos-15), producing
an Apple Silicon-only artifact that could not launch on Intel Macs.

Turn the single build job into a matrix that also builds natively on
GitHub's Intel runner (macos-15-intel), uploading a separate
ResInsight-macOS-x64 artifact next to ResInsight-macOS-arm64. All cache
keys (buildcache tool, buildcache contents, vcpkg) are qualified by
architecture so the two legs cache independently, and fail-fast is
disabled so a broken Intel leg never withholds the arm64 artifact.

The Intel leg uses a 13.3 deployment target: Apple's libc++ only ships
the <format> / std::to_chars(float) runtime symbols from macOS 13.3, and
the code (e.g. custom-surfio) uses std::format on floating-point values,
so a lower target fails to compile. 13.3 stays well below the runner's
macOS 15 SDK, keeping older Intel Macs supported.

release-draft.yml now downloads both macOS artifacts via a glob so each
architecture is attached to the draft release as its own zip.
2026-07-24 11:28:45 +02:00
Magne Sjaastad 2668064905 CI: Pin ruff to 0.15.* in Python linting workflow 2026-07-24 11:27:36 +02:00
dependabot[bot] 40dd5c8cdb Bump astral-sh/setup-uv from 8.2.0 to 8.3.2
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 8.2.0 to 8.3.2.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/fac544c07dec837d0ccb6301d7b5580bf5edae39...11f9893b081a58869d3b5fccaea48c9e9e46f990)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 8.3.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-22 18:14:25 +02:00
dependabot[bot] 676f4d2bd9 Bump actions/cache from 5 to 6
Bumps [actions/cache](https://github.com/actions/cache) from 5 to 6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-22 18:13:49 +02:00
dependabot[bot] 118d5c55d7 Bump actions/checkout from 6 to 7
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-22 18:12:59 +02:00
dependabot[bot] d18a69eb3e Bump actions/setup-python from 6 to 7
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6 to 7.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v6...v7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-22 18:12:05 +02:00
Kristian Bendiksen 6357cef1ab #14334 Fix formation dip sign when aligning fracture with formation dip
The sign of the projected formation direction vector flips with the fracture
direction normal, which follows the well drilling direction, while the fracture
azimuth defining the dip rotation in RimFracture::transformMatrix() is only
defined mod 180 degrees. Canonicalize the formation direction against the
fracture azimuth direction before computing the dip, so a positive dip means
the formation descends toward the azimuth direction.

Restore std::abs() in calculateFormationDipFromHorizontal() so the StimPlan
model formation dip (BedDipDeg in the Asymmetric FRK export) keeps the
non-negative convention from #8877.
2026-07-13 14:34:17 +02:00
jonjenssen 6b7f87e260 Make sure to add, not merge, WELSEGS and COMPSEGS keywords 2026-07-10 16:30:18 +02:00
jonjenssen 4c3791698e Reduce line length for ACTNUM grdecl export 2026-07-10 14:23:50 +02:00
jonjenssen f96c9354c1 Possible fix for #14334 2026-07-08 15:40:08 +02:00