Commit Graph
19507 Commits
Author SHA1 Message Date
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
Magne Sjaastad 931c8d066c #14235 Correlation report: synchronise all sub-plots and control data source from the report
Selecting a summary vector in a correlation report now propagates to the contained tornado, cross and summary plots by selecting the first matrix cell, which sends the existing selection signal handled by the report. A virtual onDataSourceChanged() hook on the abstract correlation plot is called after the summary vector selection dialog, and the matrix and tornado plots override it to re-select their first item so dependent plots update.

When a plot is used as a sub-plot of a correlation report, the data source and correlation settings are controlled from the report, so its property editor exposes only the plot settings. Used individually the plots show the complete set of options. Whether a plot is a report sub-plot is tracked with a flag set by the owning report on construction and after read.

Use updateAllRequiredEditors() for sub-plot interactions and for time step changes driven from the summary plot, so the project tree text and property panel reflect the updated auto-generated titles. Re-apply the configured dock title bar visibility after toggling a sub-plot dock, so the title bar stays hidden when a hidden sub-plot is shown again.
2026-06-26 17:09:26 +02:00
Magne Sjaastad 189bf3e35c #14324 Avoid crash in Mobile Pore Volume when SWCR/MULTPV size differs from PORV 2026-06-26 17:09:04 +02:00
Magne Sjaastad 1014c26da7 Add clazy Qt static analysis report workflow
Add a dedicated clazy-report workflow that configures the build to
generate compile_commands.json and runs clazy-standalone over
ApplicationLibCode and GrpcInterface as a report-only step.

Build clazy 1.15 from source against the installed clang/llvm-19 (the
packaged clazy is built against an older Clang that cannot parse
libstdc++-14's C++23 headers). Analysis runs one process per file
across all cores. The two highest-volume checks (range-loop-detach,
non-pod-global-static) are excluded to surface higher-signal Qt
findings, and ApplicationLibCode/UnitTests is skipped because gtest
headers are absent on this configure-only tree.
2026-06-26 14:29:21 +02:00
Magne Sjaastad 46a5633ac9 #14321 CI: Add RHEL8 installation package workflow
Add rhel8-package.yml that builds a RHEL8 install package from a tag
using the prebuilt RHEL8 CI container. It configures with an install
prefix, builds the install target, runs the CPack package target, and
uploads the resulting *.tar.gz as the ResInsight-RHEL8 artifact.

Wire the new workflow into release-draft.yml so the draft release waits
for the RHEL8 package run and attaches the *.tar.gz directly, alongside
the existing zipped platform artifacts.
2026-06-26 14:10:05 +02:00
jonjenssen 023beffd15 Avoid crash due to a deleted window being active during delete operation. 2026-06-26 13:09:05 +02:00
Magne Sjaastad 88f471d649 CI: Key vcpkg cache on cl.exe hash instead of MSVC toolset version
The previous fix added VCToolsVersion to the Windows vcpkg cache key, but it is still too coarse. vcpkg keys each binary's ABI on a SHA-1 of the actual cl.exe binary content (ThirdParty/vcpkg/scripts/detect_compiler/CMakeLists.txt), not on the VCToolsVersion folder name. GitHub ships rebuilt cl.exe binaries under the same VCToolsVersion across runner image releases, so vcpkg's ABI hash changes while VCToolsVersion stays fixed. The restored binaries are then rejected and vcpkg rebuilds everything. Because the cache key did not change, the action skips saving the freshly built binaries, so the stale entry never refreshes and the rebuild loop persists across runs.

Observed on two dev runs with identical VCToolsVersion (14.44.35207), SDK and vcpkg SHA but different runner images (win22/20260616.203 vs win22/20260622.215): the first restored 102 packages from the binary cache, the second restored 0 and rebuilt all of them.

Hash cl.exe directly so the cache key tracks exactly what vcpkg tracks: a cl.exe change yields a new key, one cold rebuild, then a successful save under the new key, while image bumps that do not touch cl.exe keep restoring from cache.
2026-06-26 10:32:06 +02:00
Magne Sjaastad dcca6c43b5 Bump to 2026.06.2-dev.01 2026-06-25 13:36:07 +02:00