Commit Graph

341 Commits

Author SHA1 Message Date
Magne Sjaastad
e8aada80c5 Rename to plotAxis() 2023-09-20 09:58:48 +02:00
Kristian Bendiksen
1899184a41 Janitor: Remove deprecated method. 2023-09-11 17:39:38 +02:00
Magne Sjaastad
7a782cec66
RFT ensemble refactoring
* Compute average MD for intersections with a cell
* Create extractor for simulation well
* Remove rftReader from RifDataSourceForRftPlt
* Add function compute measured depth for RFT cells based on well path geometry
* Move statistics reader to well ensemble curve set
* Make sure both TVD and MD are cached if possible
* Add selection of grid case to use for estimation of measured depth (MD)
Add "Grid Model For MD" where the user can select a grid model. This grid model is propagated to a hidden field in EnsembleCurveSet. The grid model is then applied to RifReaderEnsembleStatisticsRft owned by EnsembleCurveSet
2023-09-04 10:08:30 +02:00
Magne Sjaastad
fe17b211b8 #10572 Summary Table: Crash when creating summary table if no case is present 2023-09-03 18:05:16 +02:00
Magne Sjaastad
3800246b79
Performance: Slow performance for some plot and curve operations
* Performance: Cache registry value
* Performance: Avoid recursive update
Early return if values are identical
updateConnectedEditors is handled by setValueFromUiEditor
Avoid fieldChanged in analyzePlotsAndAdjustAppearanceSettings
2023-08-25 10:39:19 +02:00
Magne Sjaastad
d198dc8537 Summary Plot Manager: Add missing calculateValueOptions
This dialog was designed to be used efficiently from keyboard. By default, all filtered addresses are selected. To select a subset using the text filter, all addresses need to be unchecked before typing a text string in the filter text input.
2023-08-25 10:36:20 +02:00
Magne Sjaastad
58e35bdbec Summary Plot: Compute default y-range based on visible plots
Previously, when the stepping dimension was set to 'well' for range aggregation, it was based on all wells. If one of the wells had extreme values and was not visible, it would set the y-range to match the extreme value, making some curves invisible. We have now changed the default setting to use visible subplots to determine the y-range aggregation.
2023-08-25 10:36:20 +02:00
Magne Sjaastad
96b3bef878
Reduce memory use for summary address object
* Use one common variable for object name, use three ints
* Move enums to separate file
* Refactor use of enums
* Move implementation to cpp
* Refactor includes
2023-08-21 07:12:08 +02:00
Magne Sjaastad
0bada502fb 9498 Add parsing of network name
Use merged commit
2023-08-14 11:20:01 +02:00
Kristian Bendiksen
5bf2c2a89d #10367 Janitor: Remove unneccessary 'this' pointers 2023-08-07 13:38:27 +02:00
Magne Sjaastad
aaecd846fd
Improve plot titles and layout adjustments 2023-07-06 08:40:09 +02:00
Magne Sjaastad
93c943543b #10426 Summary Data: Show confirm dialog before creating a large number of text lines 2023-07-03 07:30:16 +02:00
Magne Sjaastad
8a41d5a085 #10438 Fix stacking of curves
This was a side effect of changes in 69a668d
The return value when accessing time step values changed from const std::vector<time_t>& to std::vector<time_t>. When computing data related to stacking of curves, the data was inserted into a vector, and the change caused the insert operation to use two different vectors instead of one.
2023-06-29 13:10:42 +02:00
Kristian Bendiksen
fdf4309d82 Grid Cross Plot: Add regression curves. 2023-06-28 21:46:11 +02:00
Magne Sjaastad
59ca0b943c
Add readability-simplify-boolean-expr
* Add readability-simplify-boolean-expr
* Fixes based on review
2023-06-26 13:12:41 +02:00
Magne Sjaastad
56501f7f6d Avoid display of first degree of x 2023-06-16 16:49:40 +02:00
Magne Sjaastad
116f1b1713 Use larger font for expression display 2023-06-16 16:49:40 +02:00
Kristian Bendiksen
6c99ceb7ea Regression Analysis: remove time selection annotation when curve is hidden 2023-06-16 16:49:40 +02:00
Kristian Bendiksen
452969118f Summary Regression Analysis: fix time scale precision problems
Time scale is now converted from seconds since epoch to years since first data
point. This gives better precision in regression analysis.
2023-06-16 16:49:40 +02:00
Kristian Bendiksen
413da2e714 Decline curve: remove time selection annotation when curve is hidden 2023-06-16 16:49:40 +02:00
Magne Sjaastad
06b5c9afbf
Adjustments for release
* Add notification of parent object when multiple objects are updated

* Make sure unchecked curves are removed from track

* Use object names instead of "Sub Items" when possible

* Set default simulation well visualization to top of reservoir

* Show plot window after plot is created

* Allow setting plot rendering flags

* Add more plots for update when clicking in 3D view

* Seismic Difference: Fix typo for poly line data extraction

* Version RC_5
2023-06-16 09:27:35 +02:00
Jørgen Herje
2639c7172f
Fix bug in color mapping when changing mapping mode for Tables
* Fix color mapping and ticks in table legend
- For Summary and WellConnectivity
- Add range types: automatic and user defined
- Remove category from mapping type
- Add closest to zero for correct logarithmic scale
---------

Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
2023-06-12 15:44:39 +02:00
Magne Sjaastad
91762aaeb1
RC3 adjustments
* Update icons for summary and ensemble templates

* Icons for regression and decline

* #10374 LineEditor: Hide the placeholder widget when not used

* #10376 Assign a case ID to delta summary case

* Do not show decline range text in plot
2023-06-10 16:30:34 +02:00
Magne Sjaastad
9a6e37a2f9
Adjustments for release
* #9681 Disable auto plot title check box when typing a custom name
The Auto Plot Title check box is not possible to click on using the mouse. A useful workaround is to disable the check box when the user enter a custom name in the name field.

* #10361 Make sure all objects change color when selecting curve color
Add support for direct change of all selected curve objects when changing color

* Use title as first field in group to avoid Qt checkbox not reacting to mouse click

* #9681 Disable auto name when name is changed in sub plot

* #10344 Surfaces: Add option to exclude inactive cells

* #10369 Use one color for bars in tornado plot

* Update license info
2023-06-09 14:09:08 +02:00
Kristian Bendiksen
f5752d109d Regression Analysis: hide logistic regression. 2023-06-09 10:56:56 +02:00
Kristian Bendiksen
adbe080dcf Regression Analysis: fix polynominal -> polynomial typo 2023-06-09 10:56:56 +02:00
Kristian Bendiksen
1fefa6f363 Summary Plot: make it possible to set color on line and range annotations. 2023-06-08 12:50:54 +02:00
Kristian Bendiksen
3b4244bdbf #10360 Decline Curve: allow selecting subset of time range
Fixes #10360.
2023-06-08 12:50:54 +02:00
Kristian Bendiksen
f1794abff2 #10358 Regression Analysis: Allow selecting subset of time range for regression 2023-06-08 12:50:54 +02:00
Magne Sjaastad
76102a8396
Maintenance issues
* Improve toggling of checked state of sub items
Toggling state is only supported for objects in an array. For example, this will ensure that faults are toggled without altering the fault result object.

* Use gray instead of black for icons

* #9719 Use delete instead of deleteLater to avoid visual artifacts
Artifacts are seen in the Property Editor related to obsolete group boxes. This seems to be related to deleteLater().

* Improve text in menu when toggling sub items

* #10011 Make sure all grid cases are visible in RFT data source

* #10354 Show more info when hovering on curves in summary plot

* #10355 Copy model text info in 3D view to clipboard

* Make sure cell filter option is propagated to new field
Make sure the previous value of  m_showFaultsOutsideFilters_obsolete is propagated into m_applyCellFilters

* Fix wrong spelling when using of stylesheet color
2023-06-06 15:45:54 +02:00
Kristian Bendiksen
4105e58ddb Decline curves: zoom all curves when changing forecast time. 2023-06-05 12:59:29 +02:00
Kristian Bendiksen
b86644bd54 #10292 Regression analysis: zoom all curves when changing forecast. 2023-06-05 12:59:29 +02:00
Kristian Bendiksen
3a81cea65d #10292 Regression Analysis: add forecasting
Fixes #10292.
2023-06-05 12:59:29 +02:00
Kristian Bendiksen
ca4d05dec9 Regression Analysis: Add logarithmic, exponential and logistic regression. 2023-06-02 11:32:23 +02:00
Kristian Bendiksen
9745b48643 Reveal Summary Data: Fix incorrect auto curve name.
RiuSummaryQuantityNameInfoProvider does not provide long names for Reveal
summary vectors. Use the vector name instead of the long name for these
cases.
2023-05-30 15:58:27 +02:00
Kristian Bendiksen
9719390130 Janitor: remove unecessary disabling of auto formatting 2023-05-30 15:58:27 +02:00
Magne Sjaastad
a9f412b1f6
Maintenance fixes
* Remove light mode from theme selection
The light mode is not working well, and was intended to be used when exporting to pdf from dark mode.

* Allow direct edit of summary case name
The name for a summary case can be automatically created. If the user starts to edit the name manually, set the name option to Custom. Make the descriptionField available as not read-only, then it is possible to edit the name directly in the project tree using F2 or double-click.

* Allow drag of ensembles
* Add support for drag/drop of well segments
* Add support for well segment number stepping in toolbar
2023-05-30 15:56:19 +02:00
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