Commit Graph

165 Commits

Author SHA1 Message Date
Magne Sjaastad
9b6e441386 Make it possible to exclude partial delta curves
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.
2024-11-18 07:45:20 +01:00
Magne Sjaastad
664b082c81 Use opm-common to read restart file from summary file
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.
2024-11-14 19:28:51 +01:00
Kristian Bendiksen
c2ec023720 Add utility for finding min/max of vector. 2024-11-13 15:36:44 +01:00
jonjenssen
da683bed9e Move Rig well related things to subfolder and update include statements 2024-10-31 15:08:59 +01:00
jonjenssen
88118ee4e1 Privatize grid cell array 2024-10-29 18:17:31 +01:00
Magne Sjaastad
2814b92055
Qt6: Adjustments (#11804)
* Qt6: Avoid insertWidget, use addWidget
In Qt6, the insertWidget function checks if the index parameter is valid based on current widgets present in the layout. This is error prone, and use addWidget to avoid manual counting of index.

* Disable use of Qt keyword foreach

* Replace use of QRegExp with QRegularExpression
Replace use of QRegExp with QRegularExpression
Remove dependency on qt5compat module
Simplify an expression based on review

* Remove Qt5 ifdefs

* Guard access out of bounds seen in debug build

* Avoid reuse of string variable

* Disconnect all signals from the QOpenGLContext
The call stack when this assert happens indicates that there are more signals to be disconnected from the object. Crash is fixed by disconnecting all signals.

Assert seen in debug build:

ASSERT failure in caf::Viewer: "Called object is not of the correct type (class destructor may have already run)", file C:\Qt\6.6.3\msvc2019_64\include\QtCore/qobjectdefs_impl.h, line 130

* Fix issue related to delete of a linked view
Guard null pointer use in view linker. Remove complicated cleanup in destructor in Rim3dVew.
2024-10-28 13:09:18 +01:00
Magne Sjaastad
da4d4c66b1 #11798 Use type definition from ClipperLib to avoid overflow
When converting a cvf::Vec3d to an integer vector, the platform int type was used as an intermediate variable. This caused overflow for large double values.
2024-10-22 10:39:04 +02:00
Magne Sjaastad
df091336e0 Move summary tools into separate folder 2024-10-22 07:28:43 +02:00
Magne Sjaastad
8d42b321d3 Use copy_if_different to avoid build errors 2024-10-14 08:53:28 +02:00
Magne Sjaastad
4719090b5f Define long names for summary vectors in JSON files 2024-10-14 08:53:28 +02:00
Magne Sjaastad
212f5bf5ae
Add support for Qt6 and disable Qt5
Required changes to use Qt6 and disable support for Qt5. There are still some adjustments related to Qt6 to be done, but these changes are not required to make Qt6 compile on relevant systems.

* Build system changes Qt6
* Override enterEvent
* Update QKeySequence
* QtChart changes
* Use QScreen to instepct dotsPerInch
* Add app->quit()
* Required updates for code related to QString
* Use RiaQDateTimeTools
* Required changes related to regular expressions
* Support compile on Qt  < 6.5
When version < 6.5 is found, qt_generate_deploy_app_script() is disabled. Compilation of ResInsight will work, but the install target will be incomplete.
* Octave: add missing header.
* Qt Advanced Docking: force Qt6 where both Qt5 and Qt6 is available.

---------

Co-authored-by: magnesj <1793152+magnesj@users.noreply.github.com>
Co-authored-by: Kristian Bendiksen <kristian.bendiksen@gmail.com>
2024-09-30 11:21:17 +02:00
Magne Sjaastad
d2a160f793 Make RFT pressure data more robust
Replace tab with space, and fix an out of bounds bug.
2024-09-24 14:49:10 +02:00
Magne Sjaastad
12ae4dbaaa Improve detection of special *FIP* property names
Make sure RFIP* and SFIP* are not treated as category results
2024-09-24 14:49:10 +02:00
Magne Sjaastad
e9509f026a Improve robustness when parsing PFLOTRAN files
The include statements can optionally have a / at the end of the line. Make sure the parsing handles this correctly.
2024-09-06 17:22:09 +02:00
Magne Sjaastad
24fcec79ab
Look for fault definition in Pflotran input files
Look for fault definition in Pflotran input files If no *.DATA file is found, look for *.IN file and search for fault definitions.
2024-08-30 10:03:03 +02:00
Kristian Bendiksen
e9c46c5cec Rename RimSummaryCaseCollection to RimSummaryEnsemble. 2024-07-30 08:55:12 +02:00
Magne Sjaastad
6fb74654a1 Improve interface for string operations
Trim incoming string before converting to number
Remove use of std::strtod and std::stoi
Use std::string_view instead of std::string when possible
2024-07-25 21:21:53 +02:00
Magne Sjaastad
a77f50e3a8
SUMO connector adjustments
Disable SUMO connector object when running regression tests to avoid request for credentials
2024-07-22 11:33:38 +02:00
Kristian Bendiksen
c780c948ea Fix unsigned comparisons 2024-07-08 22:34:35 +02:00
jonjenssen
868e9916bc
Grid preferences update (#11547)
* Refactor RifReaderSettings and grid preferences tab
2024-07-04 12:38:41 +02:00
Magne Sjaastad
f2d79da8be Use template to convert arrow::ChunkedArray 2024-07-01 16:19:36 +02:00
Magne Sjaastad
58b3f0b928 Fix compiler issue when importing arrow
The arrow library has a function parameter called signals that causes trouble when compiled using Qt. Add undef signals to avoid this issue.
2024-07-01 14:09:56 +02:00
Magne Sjaastad
16215585be Refactoring to prepare for renaming of RimSummaryCaseCollection
Move functions into RimSummaryEnsembleTools
Use enum class instead of plain enum
2024-06-24 15:33:38 +02:00
Kristian Bendiksen
35a2623a36 Arrow: remove unused header file. 2024-06-14 17:31:22 +02:00
Magne Sjaastad
41d5e498d7 Simplify PdmDocument class and move fileName to private
Remove resolveReferencesRecursively() and initAfterReadRecursively() from PdmDocument::readFile(). These functions will be called in RiaApplication::loadProject after the file paths modifications are done. This will ensure that file paths can be used in initAfterRead() functions.
2024-06-05 14:35:01 +02:00
Magne Sjaastad
a952fbce7e Move function to RiaProjectFileTools
Rename to RiaProjectFileTools
2024-06-05 14:35:01 +02:00
Magne Sjaastad
1d57b9032b
Custom vfp plot (#11450)
* AppFwk: When clearing a tree selection, make sure all values are cleared
* Fix deprecated implicit lambda
* Add support for using the closest value in addition to exact match
* Add table data source object and add plot with multiple data sources
Delete the temporary RimVfpDeck class
Add RimVfpTable to represent a table in a data source
Add plot able to show data from multiple tables

* AppFwk: Make it possible to call resolveReferences multiple times
Use case: Vfp tables are stored in files. Multiple tables can be present in one file. Pdm table objects are created after resolve references is done as part of parsing file. When the Pdm object are created, resolveReferences can be called once more.

* Call resolveReferencesRecursively() after RimVfpTable objects are created
2024-05-29 12:55:45 +02:00
Kristian Bendiksen
d1d3ee129f Refactor: Extract parser options from RicPasteAsciiDataToSummaryPlotFeatureUi 2024-05-28 10:44:44 +02:00
Kristian Bendiksen
577ef1e154 Add support for well paths from OSDU. 2024-05-24 15:19:43 +02:00
Kristian Bendiksen
809f559792 Add test for reading Parquet files using Apache Arrow. 2024-05-22 15:24:22 +02:00
Magne Sjaastad
68e423f1b8 #11430 Add trimming of header words to identify CSV as line based 2024-05-08 15:20:21 +02:00
Magne Sjaastad
98144078c8
Rename to resdata
* Rename to resdata
* Remove development feature for storing grid import type in project file
* Clean up comments
2024-04-22 19:56:10 +02:00
Magne Sjaastad
e9ff3540ba
Update dev branch after patch release
* Fix calculation for active cell values
Always allocate result data for active cells in destination case. Make sure that active cells is used for both population of expression variables and filtering of data. Improved naming to make it clear that we always work with active cell data.

* Check if scalar result index is valid
* Create the static scalar results once
addStaticScalarResult will clear already computed data, causing calculations to be triggered once more

* Early return if data already is available
If not checking if data is available, data is read from file and appended to result vector.

* Always check date for H5 files, and recreate if required

* Always recreate ESMRY if file exists and is older than SMSPEC

* #11355 Use category if result name starts with FIP or ends with NUM

* #11337 Summary import: Make sure ESMRY includes restart history

* #11334 Fix cvf::Viewport assert triggered for small contour map/2d intersection
Size of the overlay is could become negative, and would overflow for small views.

* #11310 Fix assert on single cell model.
Well pipe radius would become HUGE_VAL due to off-by-one error.
The assert could only happen on model with a single cell.

* Check equal grid size only when required
Equal grid size is required if there is more than one grid case in the expression. If a cell filter view is active, the visibility is based on one view and reused for all other grid models, and requires equal grid size.

* Remove obsolete log message

* Do not show dialog during regression tests

* Fix eclipse case contour map left click (#11378)

* Make sure we operate in the correct domain when picking points in the contour map

* Remove obsolete code causing grid to be loaded for all cases


* Bump version to 2024.03.1

---------

Co-authored-by: Kristian Bendiksen <kristian.bendiksen@gmail.com>
Co-authored-by: jonjenssen <69144954+jonjenssen@users.noreply.github.com>
2024-04-19 15:09:15 +02:00
Kristian Bendiksen
bebf59c309 Interpolation: Fix "trend" extrapolation for value outside of range on high end. 2024-04-05 14:39:46 +02:00
Magne Sjaastad
785871cae3 Add realization filtering based on text string
Add unit tests and support min max range specifications. Example string "-5, 5, 8-10, 12-"
2024-03-21 07:11:21 +01:00
Magne Sjaastad
d4f97d8415 Avoid hardcoded requirements for headers of RFT pressure files
Parsing "PSIA FEET" did not work, as "BARSA METRES" was the only supported unit. Keep special handling of header and date, and skip all other lines containing text or comment.
2024-03-19 14:22:45 +01:00
Magne Sjaastad
a880a42752
Summary performance improvements
* Check flag before rebuilding summary address nodes
* Performance: Use vector instead of set and map locally in thread
* Performance: Skip looking for restart summary filenames for opm-common
* Move adding of case realization parameters to OpenMP loop
* Add unit test for file path operations
* Performance: Avoid using cdUp() function when splitting path into strings
2024-03-18 11:46:43 +01:00
Magne Sjaastad
818c5c0f9c
Add polygon file readers and make sure UI items are in sync
* Add polygon reader for POL file format
* Add CSV import
* Add helper function to create tag with color and text
* Show polygon color as tag, allow color edit by clicking on tag
* Support optional header in csv file
* Add Reload on polygon file
* Show warning icon if no polygons
* Improve logging text
* Do not show file polygon in view if no polygons are imported
* Use appendMenuItems
* Set default polygon color to orange
* Enter edit state when creating a new polygon
* Fix missing UI text in menu builder
2024-03-01 14:59:14 +01:00
Magne Sjaastad
8fe385adcf
Create binary artifacts for Linux
* Bundle Qt binaries and create artifacts on Linux 
* Add qt.conf for Linux
* Remove install target for unit test
2024-02-13 09:06:38 +01:00
Magne Sjaastad
fa8d8e3d05
CMake adjustments after unit test refactoring
* TARGET_RUNTIME_DLLS requires CMake 3.21
* Hide compiiler warnings in Visual Studio
2024-02-12 14:33:46 +01:00
jonjenssen
5391179e16
Add separate target for unit tests for easier test access. Remove unit tests from ResInsight application. (#11184)
Clean up cmake configuration a bit, and pull down gtest when needed, no longer use a thirdparty subfolder
Add a ResInsight-tests target to run the unit tests
2024-02-11 20:04:04 +01:00
jonjenssen
8db29e0931
Add polyline filter support (#11048)
* Support selecting cells below polyline, both eclipse and geomech cases
* Add some polyline intersection helpers, with tests
2024-01-12 09:52:29 +01:00
Magne Sjaastad
894bbbe06b Add reservoir case for EM data
- read geometry definition from h5grid files
- import cell results from h5grid files
- create and import case using drag/drop of h5grid file into ResInsight
2023-12-20 19:05:45 +01:00
Magne Sjaastad
f00553d399 Avoid crash for summary file with no time steps
Do not try to create ESMRY file if there are no time steps in the summary data
Do not try to read "TIME" record if no time steps are present
2023-12-11 12:32:19 +01:00
Kristian Bendiksen
ca87cee79b Summary Calculation: add import and export to toml 2023-12-04 17:26:44 +01:00
Kristian Bendiksen
7cdeea51c3 Grid Calculator Export: improve test and error handling. 2023-12-01 11:06:15 +01:00
Kristian Bendiksen
fa7a56f1e2 #10861 Add import/export for grid calculations 2023-11-28 11:42:21 +01:00
Magne Sjaastad
a61e62707b RFT: Improve text import and make sure visibility based on date is working
Find candidate for the observation file name including measurement ID. Make sure that observations are filtered by date.
2023-11-06 10:20:22 +01:00
Kristian Bendiksen
d177491843 #10648 Refactor summary reader: return std::vector<double> instead of taking ptr. 2023-10-02 09:16:52 +02:00
Kristian Bendiksen
959c9d48fa #10649 ApplicationLibCode: Use collection.empty() instead of comparing with size 2023-09-27 10:16:37 +02:00