Changes:
- Refactors data writing to allow configurable row length
- Adds documentation describing the Eclipse grid format (COORD and ZCORN)
Co-Authored-By: Kristian Bendiksen <kristian.bendiksen@gmail.com>
Implements type-safe angle (degrees and radians) representation classes.
Provides utilities for converting between Cartesian and cylindrical
coordinate systems.
Includes a unit test suite for validation.
The test `RigReservoirTest_BasicTest10k_NativeECL_Test` was allocating
an `ecl_grid_type` object but was not freeing it, leading to a memory
leak.
This commit fixes the issue by calling `ecl_grid_free` at the end of
the test.
Refactored RigGridBase::cellCornerVertices to return std::array<cvf::Vec3d, 8> by value instead of taking a reference to std::array as an output parameter. This change improves code readability and leverages modern C++ return value optimizations.
Updated all call sites across the codebase to reflect the new function signature.
- Introducing a configuration system to automatically detect file patterns for restart and parameter files across ensemble realizations.
- Adding UI elements to control improved summary import settings.
- Modifying summary file reader to use the determined file patterns.
Refactors string trimming functions for improved performance by using a lookup table for whitespace characters.
Also adds a function to split a string into two tokens at the first whitespace.
Renames RifSummaryReaderMultipleFiles to RifSummaryReaderAggregator
to better reflect its purpose of aggregating summary data from multiple files. Also avoid confusion with RifMultipleSummaryReaders
* Add surfio as submodule and create importer with tests
* Update compile fix when mio.h is included in multiple compile units
* Move file tools into RifFileTools
Removes the dedicated `SUMMARY_ENSEMBLE_STATISTICS` category and instead uses a `statisticsType` field within `RifEclipseSummaryAddress` to represent ensemble statistics.
This change simplifies the code and avoids potential confusion by representing statistics as attributes of existing summary types, rather than a separate category. It also improves code robustness.
Refactored RigWellPath to ensure that a well path points and measured depths
always come pairs, as their usage often relies on both being present.
Fixes#1479.
* Add category WELL_CONNECTION
* Throw exception if category string is invalid
* Make it possible to step connections
* Add definition of completion vectors
* Use WELL_CONNECTION for CPRL
* Convert "WGPRL__2:MY-WELL1-A5" to "WGPRL:MY-WELL1-A5:2"
Use the syntax for well completions in opm-common
* More tests for different variants of summary texts
* Update opm-common submodule and use branch development https://github.com/CeetronSolutions/opm-common/tree/development
* Add cmake-format of ThirdParty/custom-opm-common/CMakeLists.txt
* Add boost-test
* Update generated files and simplify CMake configuration
Add -D_USE_MATH_DEFINES to CMake to avoid multiple local defines
Introduce flag CREATE_OPM_COMMON_KEYWORDS used to generate C++ files JSON files. This enables use also in MSVC. Remove obsolete direct include of source files.
* Update generated ESMRY test file
There was a invalid extra : postfix for some keywords like NEWTON and other N* keywords. When creating ESRMY using updated opm-common fix this issue.
* Update URL for custom-opm-common
Make sure statistics curves are recomputed on flag change
When toggling "Discard Missing or Incomplete Realizations", make sure the statistics is recomputed and the ensemble plots updated.
Testing identified performance issues related to reading restart file name from summary files.
Make sure the reading of timesteps is done only when required in new function getFileInfoAndTimeSteps.
Add reading of restart file name using opm-common when opm-common is active. The performance of this reader is much better than resdata.