Commit Graph
2576 Commits
Author SHA1 Message Date
Magne Sjaastad a4dfebff58 #15061: Add summary, context menus and plot title fixes for ensemble well logs 2026-10-28 15:26:39 +01:00
Magne Sjaastad 95a960d5ff #15061: Check array sizes when computing ensemble well log index depth offsets 2026-10-28 15:26:39 +01:00
Magne Sjaastad f9553c2dbe #15061: Guard invalid K index values and fix top TVD averaging in ensemble well log statistics 2026-10-28 15:26:39 +01:00
Magne Sjaastad ca70c57d04 #15063: Histogram: Restore filter and axis scale of pasted curve
Re-run initAfterRead() after resolving references of a pasted curve, and set the axis scale of the destination plot from the binning mode.
2026-10-28 14:36:44 +01:00
Magne Sjaastad 442854cddd #15063: Histogram: Zoom all when data is filtered by 3D view visibility
Zoom all when the cell filter view is changed or when the visibility in the 3D view is updated, as the visible cells can have a very different value range than the full grid.
2026-10-28 14:36:44 +01:00
Magne Sjaastad e8846e35b2 #15066: Recreate polygon in view targets when reading project file 2026-10-28 14:20:05 +01:00
Magne Sjaastad 26dd9cbb33 #15066: Add Polygon Intersection and remove Polyline Intersection
Polygon Intersection creates an open project polygon named Polyline, attaches a polygon intersection to it and activates 3D editing of the polygon. Available from the 3D view context menu and the context menu of Intersections.
2026-10-28 14:20:05 +01:00
Magne Sjaastad a58a06c084 #15050: Make use common legend scriptable and add Python tests
Test common legend splitting across case, vector, well, group and region dimension combinations.
2026-10-28 14:07:00 +01:00
Magne Sjaastad 50a4cd9879 #14809: Hide element property file names field in GeoMech case UI 2026-10-28 08:36:12 +01:00
Magne Sjaastad 0f18b60444 #15054: Show history value line in parameter result cross plot 2026-10-27 15:26:26 +01:00
Magne Sjaastad 70e6759e01 #15054: Show history curve and time/value readout in correlation report summary plot 2026-10-27 15:26:26 +01:00
Magne Sjaastad d58212ec32 #15054: Plot ensemble history vectors from first realization only
History vectors are identical in all realizations. Plot only the first realization in the ensemble curve set, skip statistics, use a configurable line thickness, and keep the curve on top and non-selectable.
2026-10-27 14:38:59 +01:00
Magne Sjaastad 32b319eb86 #15049: Global curve appearance for summary multi plots 2026-10-27 14:13:13 +01:00
Magne Sjaastad 0e6e85e4c7 #15049: Update summary address collection and appearance calculator 2026-10-27 14:13:13 +01:00
Magne Sjaastad d1a47b8fdc #15049: Rework curve style rules and saved curve appearance 2026-10-27 14:13:13 +01:00
Magne Sjaastad 6cc691ea6f #15049: Extend color legend collection and plot curve appearance 2026-10-27 14:13:13 +01:00
Magne Sjaastad d345599f2f #14912: Define well event State AppEnum setUp next to the shared enum
RimWellEventPerf::State and RimWellEventValve::State are aliases for
RimWellEventEnums::State, but the AppEnum setUp() specialization was
declared in both class headers and defined in RimWellEventPerf.cpp.
The Linux unity build failed to link with an undefined reference to
caf::AppEnum<RimWellEventEnums::State>::setUp().

Declare the specialization in RimWellEventEnums.h and define it in the
new RimWellEventEnums.cpp, so all users see a single declaration and
there is a single definition.
2026-10-27 10:05:02 +01:00
Magne Sjaastad ddf26d61e2 #15057: Ignore unchecked curves in summary plot readout value 2026-10-27 08:11:07 +01:00
Magne Sjaastad 0d77e77188 #15047: Do not unit convert observed FMU RFT depth data 2026-10-26 13:53:52 +01:00
Magne Sjaastad 1e380d0a03 #15021: Document units of well diameter, radius and width 2026-10-24 20:30:43 +02:00
Magne Sjaastad e128e6dd3e #15021: Fix D-factor unit mismatch for field units
Use well radius and ellipse width in feet for fractures and perforations when computing the D-factor, as the field alpha expects feet.
2026-10-24 20:30:43 +02:00
Magne Sjaastad cb60a8b9ae Avoid duplicate plots when appending wells and keep legend order same as project tree
Skip appending plots for wells, groups and networks already present in the multi plot. Reattach curves in project tree order only when the attached order differs.
2026-10-24 13:14:41 +02:00
Magne Sjaastad 186c4795f9 Show RFT tornado plot labels at left side of the plot area 2026-10-24 13:14:41 +02:00
Kristian Bendiksen e6dc62a160 Workflows: Add interactive editor for taskmaestro workflows
Build, copy and edit taskmaestro workflows in ResInsight and save them as
standard workflow.yaml + input.yaml.

- Python helper: catalog, load, save and export-registered subcommands,
  and run --registered for installed workflows
- C++ definition model with pure edit operations, port type checks,
  config field derivation, static validation and undo/redo
- Installed folder listing registered workflows (read-only, runnable,
  can be duplicated)
- Graph editor dock with task palette, drag-to-connect, context menus,
  automatic layout and debounced live validation
- New/Duplicate/Save/Save As/Rescan commands; unsaved edits run from a
  temporary folder and prompt before being discarded
- Update the design document and the user README
2026-10-23 20:23:54 +02:00
Kristian Bendiksen 43b63ac4bf #14912 Reject enum names that conflict with module symbols 2026-10-23 15:21:23 +02:00
Kristian Bendiksen 5b229cdf32 #14912 Reject duplicate generated Python enum names 2026-10-23 15:21:23 +02:00
jonjenssen a3cd973da0 Fix: LSF requires launch script to be user executable 2026-10-23 12:53:50 +02:00
Kristian Bendiksen 9feace91ee Split NNC, aquifer and connection code out of RigSimulationInputTool (#15001)
Move EDITNNC, AQU* and COMPDAT/COMPSEGS processing into RigSimulationInput{Nnc,Aquifer,Connection}Tools, and move their tests into matching test files.
2026-10-23 12:32:17 +02:00
Magne Sjaastad 7dfa813c06 #12674: Assign well path unit system from loaded cases
Move unit system assignment for new well paths into RimWellPathCollection::assignUnitSystem, used by addWellPath and onChildAdded so Python-created well paths get the case unit system. Ignore unloaded and unknown-unit cases in RimProject::commonUnitSystemForAllCases.

Pasted and multiple-lateral well paths are copies that already carry unit specific settings, so skip unit assignment for them. Note: RimProject::commonUnitSystemForAllCases now ignores unloaded and unknown-unit cases and returns UNKNOWN only for mixed units, which affects its other callers.
2026-10-23 12:01:59 +02:00
JJ 1581e06f2b Export ensemble parameters to file (#15012)
Export ensemble parameters to a comma separated text file provided by user
2026-10-23 07:17:48 +02:00
Magne Sjaastad 7ed51e1fd5 #14891: Add option to use a common legend across summary sub plots 2026-10-22 13:39:05 +02:00
Magne Sjaastad 7b580694ed #13430: Exclude zero values from ensemble statistics for derived vectors
Add m_includeZeroValues option to RimEnsembleStatistics (default on, preserving existing behavior). When disabled, exact zero values (e.g. from shut-in wells/groups) are excluded from the mean, P10/P50/P90 and custom percentile calculations in RimEnsembleStatisticsCase::calculate(). This is useful for derived vectors such as WCT, GOR and PI, where zeros caused by a shut well/group should not skew the statistical curves.

Exact equality (not an epsilon) is used, since shut-in values are reported as exact 0.0 by the simulator and non-accumulated vectors use STEP_RIGHT interpolation, which does not introduce floating-point noise.
2026-10-22 13:34:34 +02:00
magnesj c41194e7cb Fixes by clang-tidy 2026-10-22 08:04:32 +02:00
JJ 6c39729e77 Support submitting opm flow jobs to Slurm or LSF (#14943)
Add preferences for HPC/Batch scheduler
Add Slurm and LSF support
Add batch job monitor
Support launcher specific user settings
Use internal timer to refresh job state
Add some more options to batch monitor
Improve naming
Add tests for job lists
Change WSL handling for processes.
2026-10-21 18:14:13 +02:00
Kristian Bendiksen 409f175467 COMPLUMP: Choose completion number by largest overlap in cell
When several perforation intervals cut the same cell, the completion number
was taken from the first contribution, which depended on the order events
were applied. Unrelated event changes (e.g. group tree members) could then
change COMPLUMP numbers on boundary cells.

Pick the number with the largest summed MD overlap in the cell, with ties
going to the lowest number. Also use stable_sort for same-date events so
they keep file order.
2026-10-21 14:43:07 +02:00
Magne Sjaastad 848c2394bb Scripting: geomechanical cell result (replaces #14952)
Make RimGeoMechResultDefinition (position, field and component) and the view's cell result scriptable, as for grid views.
2026-10-21 06:49:14 +02:00
Magne Sjaastad 914cab9084 #13097: Expose Fixed Angle as scriptable field in Fishbones
Make RimFishbones::m_fixedInstallationRotationAngle scriptable so it
can be set from the Python API when using the Fixed Fishbones
orientation mode.
2026-10-21 06:46:35 +02:00
Jon Jenssen 5293dbe015 Add preference setting to select which dynamic result to show as default (if available) 2026-10-20 19:02:32 +02:00
Magne Sjaastad d83a492b14 Remove New Generic View from well path collection context menu 2026-10-20 13:50:22 +02:00
Magne Sjaastad fd0ec10d6b #13889: Import zone colors from stratigraphy.json and zones from yaml
Import zone colors from an FMU stratigraphy.json file located next to the
formation files, and import formation zones from a yaml file.

- Add RifFormationNamesFileParser and move the layer zone table, yaml and
  stratigraphy.json parsers there from RifFormationNamesReader.
- Return std::expected from convertStringToColor.
- Prefer zonation_ecl_map yaml when several yaml files are present, and ignore
  other yaml files.
- Document the FMU location of the formation files.
- Add unit tests and test data for fmu, malformed and missing-color inputs.

Issues: #13889, #13888
2026-10-20 13:36:02 +02:00
Magne Sjaastad 6e8e658f6d #14980: Remove global max segment length from segment collection
The global max segment length no longer exists, so segment subdivision is defined only by the segment intervals.
2026-10-19 21:13:13 +02:00
Magne Sjaastad 81bcc2657d #14962: Update MSW segments when segment intervals change
Segment interval edits, creation and deletion did not trigger the automatic MSW segment update, so the segment visualization along the well path was stale.
2026-10-19 20:00:04 +02:00
Magne Sjaastad 625d7e684e #12925: Apply global curve appearance to summary plots and ensemble curve sets 2026-10-19 15:55:25 +02:00
Magne Sjaastad e21da59dbb #12925: Add global curve style settings and per-item rules 2026-10-19 15:55:25 +02:00
Magne Sjaastad 9229e48191 #14964: Use correct depth unit when creating RFT plots
Read the summary unit system from SMSPEC INTEHEAD, and fall back to vector
units for ESMRY files without SMSPEC. The unit system is read on first
request to keep summary import fast. Ensembles use the same realization as
for addresses. New RFT plots get the depth unit from their data sources.
2026-10-19 14:15:55 +02:00
Kristian Bendiksen 8dc1d56bd3 #14688 Sim Events: Add API to query event dates and wells
Add event date and well queries with date, owner and event type/keyword
filters to SimulatorEventsDocument and WellEventTimeline, including
latest_event_date() and wells_with_msw_events() for building the
export_msw_for_wells list.
2026-10-19 12:00:28 +02:00
Kristian Bendiksen b2a85fb7a4 #14960 Sim Events: Use first segment MD as user defined reference MD
When a SEGMENT event is applied (SIMEVENTS mapping or timeline
set_timestamp), set the segment collection Reference MD Type to User
Defined and the reference MD to the start MD of the first segment
interval, so WELSEGS TOP_LENGTH matches the first segment.
2026-10-19 09:28:29 +02:00
Kristian Bendiksen 8174e21561 #14961 Sim Events: Support segment lengths in SEGMENT events
Add FIXED_SEGMENT_LENGTH, MIN_SEGMENT_LENGTH and MAX_SEGMENT_LENGTH to
SIMEVENTS SEGMENT events. The lengths are stored on RimWellEventSegment
(new AddSegmentEvent arguments, 0 = not set) and applied to the segment
interval when the timeline is applied. Invalid combinations (fixed with
min/max, min > max, non-positive values) are reported as parse errors.
2026-10-19 09:28:29 +02:00
Kristian Bendiksen c56e921160 #14958 Sim Events: Move PRESSURE_COMPONENTS to WELSPECS
Move Pressure Drop and Length and Depth from the segment collection to
the well path completion settings. PRESSURE_COMPONENTS is now a dated
WELSPECS attribute used for the WELSEGS header at export, and is
rejected on SEGMENT events.
2026-10-19 09:28:29 +02:00
Kristian Bendiksen 2f86d4c210 #14956: Rename well event Tubing to Segment
Rename RimWellEventTubing to RimWellEventSegment (keyword WellEventSegment),
EventType::TUBING to SEGMENT, and the scripting method AddTubingEvent to
AddSegmentEvent (Python: add_segment_event). Update the project tree label,
schedule comments, Python helpers, examples, tests and docs.
2026-10-19 09:28:29 +02:00