Commit Graph

304 Commits

Author SHA1 Message Date
Magne Sjaastad
473f1bebcd #10281 Make sure missing data is marked with NULL
If an ensemble do not have data for some realizations, Show Plot Data reported wrong data when resampling was activated. Display of data for No Resampling was correct.
2023-05-24 15:01:59 +02:00
Kristian Bendiksen
94f7bd3c1a
10214 ensemble appearance
* Regression Analysis: Use only positive values for Power Fit regression.

* Add visible tag short cut for changning curve color.
* #10214 Ensemble Curve Set: Fix color mode text.
* #10214 Ensemble: Switch P10 and P90 symbols to point towards mean.
* Cache hit rects for tree item tags.
* #10214 Ensemble curve set: allow reordering with tree view tag
* #10214 Keep curve legend text when ensemble curves are hidden
2023-05-23 08:10:35 +02:00
Magne Sjaastad
40080a99de
9978 Improve UI for long drop-down lists, use tree selection more
* Improve tree selection editor
- always call defineEditorAttributes
- use heightHint in editor attributes 
- use tree selection editor as default editor for std::vector

* Use tree selection editor instead of list selection editor
List selection editor must be used when editing std::vector<cvf::vec3d> and similar. Replace other use of list selection editor with tree selection editor.

* Set checked state based on text string for integer only models
For models with only integer values, use text string to define the items to be selected. The full list will always be visible, and the checked state will be updated when editing the filter text.

Example: "1, 5-7" will set items 1, 5, 6, 7 checked and all other items unchecked

* Minor fixes
- Set placeholder text after content is added (to ensure correct data type)
- Fix check of integers. `canConvert<int>()`returns true for both QString and int. Thus convert to string and then check for int conversion.

* Activate filtering when unchecking all items in list with only integers
- Reactivate filtering when uncheck of all items for a list with only integer values (to keep consistency between filter and list)
- Update function name for clarity

---------

Co-authored-by: Jørgen Herje <jorgen.herje@ceetronsolutions.com>
2023-05-22 15:44:37 +02:00
Kristian Bendiksen
eb0f2207b5 #10268 Regression Analysis: Improve text generation code. 2023-05-19 20:00:12 +02:00
Kristian Bendiksen
dc3530ac0b Regression Analysis: Report R-squared (confidence of determination). 2023-05-19 20:00:12 +02:00
Kristian Bendiksen
6a56149d84 #10268 Regression Analysis: add copyable expression text 2023-05-19 20:00:12 +02:00
Kristian Bendiksen
b965153ab0 #10268 Fix show plot data names for decline and regression curves 2023-05-19 20:00:12 +02:00
Kristian Bendiksen
6b333c1dd9 #10209 Plot: fix html axis title
Qwt uses Qt::mightBeRichText to determine if the axis title is rich text or not.
Qt::mightBeRichText is a simple heuristic which checks whether there is something
that looks like a tag before the first line break. See:
https://doc.qt.io/qt-6/qt-sub-qtgui.html#mightBeRichText

Fixed bug by using html br tag to have at least some html before breaking the line.

Fixes #10209.
2023-05-16 11:22:12 +02:00
Kristian Bendiksen
c23cdee17d #7206 Add regression analysis. 2023-05-16 09:42:18 +02:00
Magne Sjaastad
0c90f67dcc
Change API for PdmObjectHandle and PdmFieldHandle
* Refactor interface to PdmObjectHandle and PdmFieldHandle
Return objects instead of passing in structures as parameters

* Add nodiscard to several functions
* Remove redundant this->
* Rename to ptrReferencedObjectsByType
2023-05-12 21:41:34 +02:00
Kristian Bendiksen
c8b402651d Add "Decline Curves" functionality.
Adapted from formulas here:
https://petrowiki.spe.org/Production_forecasting_decline_curve_analysis
2023-05-05 15:30:48 +02:00
Jørgen Herje
342f191288
Add filtering/exclude of rows in SummaryTable (#10193)
- Add selector for excluding rows in table
- Row selection is based on category, vector, threshold
- Move data containers to utils class
- TreeSelectionEditor: Add context menu to invert selection
- Improved naming of menu items
- Guard plotDefinition before connect signal/slots

---------

Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
2023-05-02 11:18:45 +02:00
Jørgen Herje
25e78e9792
Fix incorrect detection of first and last timestep in vectorData (#10143)
- Incorrect sorting was due to incorrect detection of first and last timestep for vector data.
- First/last timestep is for value above 0.0 and not threshold.
2023-04-21 13:48:57 +02:00
Kristian Bendiksen
ff209ad7c2
Refactor ensemble import dialog
* #9773 Refactor ensemble import dialog.
* #9773 Add support for ensemble import of StimPlan/Reveal summary data.
* #9773 Add method for finding min and max time steps.
* #9773 Add option for resampling to hour intervals.
* #9773 Add option for resampling to minute intervals.
* #9773 Ensemble statistics: determine sub-sampling period dynamically.
* Use RiaWeightedMeanCalculator for curve resampling.
* Add HOUR and MINUTE to date time app enum.
* #9773 Generate better ensembles for StimPlan summaries.
* #9773 Fix parameters.txt lookup for StimPlan summaries
* Refactor: Improve interface of RicImportSummaryCasesFreature::createSummaryCasesFromFiles

Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
2023-04-20 10:16:43 +02:00
Magne Sjaastad
643ccd67b8
Improve ensemble curve colors
* Use unique_ptr
* Improve default assignment of curve appearance
* Improve display of color tags in tree view items
* Select curve or ensemble instead of plot
* Only change curves connected to a Rim-object

* Improve color management for ensemble curves
Use a base color for statistics curves and set realization curves transparent
Make sure new curves are assigned a unique color
Harmonize how dropped addresses are handled

* Update all tags always
The update of tags for a subset of tree nodes is currently broken. Always update all tags.

* Add const
2023-04-19 15:36:06 +02:00
Magne Sjaastad
b7f8d0e0f1
Increase warning level
* Set warning level to /W3 for MSVC to catch more warnings
* remove several excluded checks for clang
* removed several unused variables
* Hide warnings qwt
* add missing parentheses in logical expressions
* Remove double check on same logical expression
2023-04-17 15:57:39 +02:00
Magne Sjaastad
6f6dc80bc6
Added more clang-tidy checks
Improved GitHub Action to run clang-format as part of clang-tidy

* Simplify clang-tidy workflow
* Added modernize-use-using, modernize-redundant-void-arg, readability-static-accessed-through-instance
* Add nolint for libecl typedefs
2023-04-14 14:07:45 +02:00
Magne Sjaastad
952e766c2f
Update clang-format.yml (#10068)
* Update to clang-format-15
Removed two custom .clang-format files in subfolders of AppFwk

* Fixes by clang-format
2023-04-13 07:05:53 +02:00
Magne Sjaastad
173a66a409
Fix type conversion error
Weird conversion error seen for Unity build on MSVC. Single file compile works fine.
2023-03-24 18:32:16 +01:00
magnesj
71a418dc78 Fixes by clang-tidy 2023-03-24 09:03:29 +01:00
Magne Sjaastad
6529b1760d #10003 Use auto-value features only for RimSummaryPlot 2023-03-23 15:45:30 +01:00
Jørgen Herje
36e01523cb
Summary table (#9997)
Summary Table for showing summary vectors in table format
- Resampling on date resolution
- Active for group, region and well
- Right click menu option from Summary case tree
2023-03-23 14:10:30 +01:00
Kristian Bendiksen
b541acdcb1 #9773 Import data from Reveal and StimPlan as summary case. 2023-03-20 08:58:42 +01:00
Kristian Bendiksen
245d483036
Summary observed data
* #9966 Summary calculations: add support for imported vectors.
* #9966 Summary Calculation: add support for imported and observed data.
* Summary Address: avoid extra level in tree for imported data.
* #9966 Update observed data when calculation is updated.
2023-03-15 13:39:57 +01:00
Magne Sjaastad
26416c8937 Make sure old project files loads as before 2023-03-15 10:53:08 +01:00
Magne Sjaastad
27959b9d13 Reintroduce RimGridSummaryCase to be able to read existing project files 2023-03-15 06:49:14 +01:00
Magne Sjaastad
09c04cbcd0
Improve RFT reader performance
* #9963 Rft reader: Search for DATA file when required
WSEGLINK is used to establish the branch topology for MSW wells. Search and read WSEGLINK data when segment data is requested by the user. This can be a time consuming operation.
Avoid doing this search for standard RFT plots.

* Make sure that single summary curves are displayed correctly
* Make sure single summary curves are visible in the plot
2023-03-14 13:14:40 +01:00
Magne Sjaastad
064c0adb8c #9956 Summary Plot: Fix update of operations on multiple ensembles
When multiple ensemble curve sets are toggled on/off, it is required to do a full RimSummaryPlot::loadDataAndUpdate() that will call RimEnsembleCurveSet::updateCurves() on all ensembles in the plot. This can be a heavy operation, but will happen only once.
2023-03-13 19:33:36 +01:00
Magne Sjaastad
9b4a3f663e
Release adjustments
* Add CON*RAT track for tubing branch
* Set long summary vector name as default, and allow both in curve name
* Use line shift if multiple quantities are present on axis title
Insert line shift if multiple quantities are present, otherwise insert space between individual vector names and the unit text.
* Move Groups between Field and Wells
* Bump version
2023-03-13 19:01:31 +01:00
Magne Sjaastad
836822c2b9
Adjustments for release
* Show segment plots in Well Log Plot collection
* Improve menu text for operations related to segment plots
* Show reservoir rates for annulus and device
* Make sure curve objects are visible in the Project Tree
* When importing the first summary case, expand case in project tree
* Bump version
2023-03-13 08:10:33 +01:00
jonjenssen
087968e7f7 Ui update 2023-03-11 14:16:25 +01:00
jonjenssen
3772fbac79 Turn off statistics curve legends by default and add option to turn them on, 2023-03-11 14:16:25 +01:00
Magne Sjaastad
fc7bde8d35 #9879 Add icon for calculated summary vectors 2023-03-07 07:48:12 +01:00
Magne Sjaastad
c248c9fb57
RFT segment plot adjustments (#9912)
* Delete RFT plot when associated case is deleted
* Rename
* Hide track/curves with no data
2023-03-06 14:34:22 +01:00
Magne Sjaastad
8f786fed5d #9914 Fix import of single case already present in ensemble 2023-03-06 10:45:49 +01:00
Magne Sjaastad
9bc3659584
Remove special summary case connected to a grid model
* Remove use of RimGridSummaryCase
* Remove unused summary plot filter text
* Delete unused files
2023-03-03 15:28:34 +01:00
Kristian Bendiksen
42c4e4a0c4
Summary calculation data sources fixes
* File Summary Case: set up multiple readers correctly for multithreaded configuration.
* Summary Data Sources: fix sorting of vectors.
2023-02-27 11:17:45 +01:00
Magne Sjaastad
f8c5cf389f
clang-format: Set column width to 140
* Set column width to 140
* Use c++20
* Remove redundant virtual
2023-02-26 10:48:40 +01:00
Magne Sjaastad
8768e186d8
#9671 summary calculations for summary items
* Summary Calculation: use shorter name in title
* Sort summary addresses to group calculated results last.
* Summary Calculation: add option to distribute calculation to other items.
* Add support for summary calculation for RimGridSummaryCase.
* Use short name for calculations in plot titles.
* Update ensembles in Data Sources when calculation is added.
* Summary Calculation: allow drag-and-drop of ensembles
* Summary Plot: fix axis range aggregation for calculated ensemble addresses.

---------

Co-authored-by: Kristian Bendiksen <kristian.bendiksen@gmail.com>
2023-02-26 08:08:06 +01:00
Kristian Bendiksen
69a668df50 Simplify RifSummaryReaderInterface timeSteps. 2023-02-24 10:03:16 +01:00
Jørgen Herje
0601de4c18 Prevent update of show statistics selection in source stepping
- Refactor code into two functions
- Do not update selection when performing source stepping
2023-02-23 07:40:27 +01:00
Jørgen Herje
a6ee41aaee Fix grouping of properties for date tickmarks 2023-02-20 16:04:57 +01:00
Jørgen Herje
dfb942cc97
Add custom tickmark configuration for Summary Plot (#9867)
- Added custom tickmark configuration in time axis properties for `Time Mode = Date` 
- Refactor code to separate handling of time axis properties and regular axis properties in RimSummaryPlot
- Add method for setting major ticks by use of list for RiuPlotWidget interface.
2023-02-20 14:45:16 +01:00
Jon Jenssen
f5ee8d269a Rearrange order of source stepping options 2023-02-07 17:46:08 +01:00
Magne Sjaastad
cc21e2f3b4 #9147 Fix wrong curve name for summary group curves 2023-02-02 13:42:44 +01:00
Magne Sjaastad
ec611a9a3a #9780: Compare axis unit text case insensitive 2023-02-02 07:25:43 +01:00
jonjenssen
33e908dd94
Avoid progress window staying behind on Linux when loading summary data (#9774)
Adjust progress info usage in summary file loading
2023-02-01 08:46:22 +01:00
Jørgen Herje
e3a347ccaa Invert default isCurveHighlightSupported flag for RimPlot
- Make default flag = false, thus highlighting must be activated
- To prevent unwanted logic for new RimPlot objects
- Activate highlighting for RimSummaryPlot, RimVfpPlot and RimCorrelationMatrixPlot
2023-01-27 07:14:40 +01:00
Magne Sjaastad
abc9e82ff5 System: Enable and use c++20
Enable c++20 in top level cmake. Keep c++17 for GrpcInterface, as the protoc tool does not work with c++20.
Several code adjustments to fix compiler issues.
2023-01-19 08:33:02 +01:00
Kristian Bendiksen
6b631b3d5a #9591 Janitor: remove unused parameter in RiuPlotWigdet::createPlotCurve. 2023-01-09 15:39:42 +01:00