Magne Sjaastad 055eb49ae8 CI: Pass CMAKE_POLICY_VERSION_MINIMUM=3.5 in clang-tidy and clazy
CMake 4.x on the ubuntu-26.04 runners removed compatibility with
cmake_minimum_required(VERSION < 3.5), and ThirdParty/openzgy/zfp declares
VERSION 3.1 (3.4 on Windows), so configuring fails at
ThirdParty/openzgy/zfp/CMakeLists.txt:4.

zfp is a nested submodule of openzgy pinned at 0.5.5; the first release
declaring a 3.5-or-later minimum is 1.0.0, so clearing this properly means a
major-version upgrade of a compression library and whatever API changes that
brings to the openzgy wrapper. That is worth doing on its own schedule, not as
part of a CI fix.

Pass the policy minimum instead, which is already the established approach in
this repository: ResInsightMac.yml passes the same flag, and both
x64-linux-release and x64-windows-release set it via
VCPKG_CMAKE_CONFIGURE_OPTIONS for the same reason.

A scan of every CMakeLists.txt in the repository and its submodules (excluding
ThirdParty/vcpkg/ports, which the triplets already cover) finds zfp to be the
only remaining declaration below 3.5.

ResInsightWithCache.yml is deliberately left alone: it still runs on
ubuntu-24.04, and its cmake command line feeds the buildcache hash, so adding a
flag there would invalidate the cache for no present benefit. It will need the
same flag when it moves to ubuntu-26.04.
2026-09-29 14:14:51 +02:00
2024-10-04 13:25:20 +02:00
2024-10-31 15:39:52 +01:00
2013-04-19 08:58:57 +02:00

ResInsight

ResInsight is an open source, cross-platform 3D visualization and post-processing tool for reservoir models and simulations.

Key Features

  • 3D Visualization: Grid properties, faults, LGRs, intersections, contour maps and cell filters, using multi-core CPUs for responsive operation
  • Ensembles: Grid and summary ensembles with statistics, contour maps and correlation analysis
  • Plotting: Summary, well log, RFT, PLT, well allocation, flow characteristics, cross plots and histograms
  • Wells and Completions: Well paths, perforations, fishbones, valves and fractures, with export of completion data (COMPDAT, WELSEGS, COMPSEGS)
  • Geomechanics: Abaqus results with derived stress and strain quantities
  • Seismic: Seismic volumes displayed together with grids and wells
  • Model Export: Sector models and grid properties in simulator input format, surfaces as IRAP and TSurf
  • Python API: The rips package drives ResInsight and exchanges data through gRPC
  • GNU Octave: Result manipulation and computations with two-way data exchange
  • Cloud Data: Well paths and well logs from OSDU, and grid properties from Sumo

Supported Input Formats

  • Grids and results: Eclipse/OPM Flow binary output (*.GRID, *.EGRID with *.INIT, *.UNRST, *.XNNN), Eclipse input (*.GRDECL), ROFF (*.roff, *.roffasc)
  • Summary data: Eclipse/OPM Flow summary (*.SMSPEC, *.ESMRY), observed data (*.RSM, *.txt, *.csv), Reveal and StimPlan summary (*.csv)
  • Well paths: *.dev, *.asc, *.ascii, *.rmswell, *.w, *.json
  • Well logs: LAS (*.las), CSV
  • Completions: Perforation intervals (*.ev), valve templates, StimPlan and thermal fracture templates (*.xml, *.csv)
  • Surfaces: IRAP (*.irap, *.gri), GOCAD TSurf (*.ts), VTK (*.vtu, *.pvd), point sets (*.ptl, *.xyz, *.dat)
  • Geomechanics: Abaqus (*.odb, *.inp), VTK (*.pvd)
  • Seismic: ZGY (*.zgy), OpenVDS (*.vds), SEG-Y (*.sgy, *.segy)
  • Other: Formation names (*.lyr), polygons (*.pol, *.csv, *.dat), VFP tables (*.vfp, *.ecl), well measurements, pressure-depth data

Technology Stack

ResInsight utilizes:

  • Equinor/resdata and OPM/opm-common libraries for Eclipse result file access
  • Qt for the application framework
  • Qwt for plotting functionality
  • vcpkg for dependency management

Platform Support

ResInsight is cross-platform with automated testing on:

  • Red Hat Enterprise Linux (RHEL)
  • Ubuntu
  • Windows 11
  • macOS (Apple Silicon and Intel)

Documentation

Development

Source Code

git clone https://github.com/OPM/ResInsight.git

Minimum Requirements

  • gcc 13
  • clang 19
  • AppleClang 17 (Xcode 16)
  • CMake 3.26
  • MSVC 2022 17.4

These requirements are defined by used features in c++23 like std::stacktrace and std::expected.

Dependencies

Most dependencies are managed using vcpkg as defined in vcpkg.json

Contributing

Contributions are welcome! See CONTRIBUTING.md for the issue policy and pull request guidelines.

  • Use the dev branch for contributions and pull requests
  • Releases are defined by tags
  • See Spell Checking Guide for information on automated spell checking

Building

See the Build Instructions for detailed setup information.

License

ResInsight is co-developed by Equinor ASA, Ceetron Solutions AS, and Ceetron AS. The software is copyrighted by Ceetron and Equinor and licensed under GPL 3+. See the COPYING file for details.

Languages
C++ 88.8%
ECL 4.7%
TypeScript 2.9%
Python 1.8%
CMake 0.6%
Other 1%