Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add color by parameter for SimulationTimeSeriesMatrix #320

Conversation

jorgenherje
Copy link
Collaborator

@jorgenherje jorgenherje commented Sep 19, 2023

Add coloring of realization by parameter for selected vectors.

  • EnsemblesContinuousParameterColoring - Utility class to work with the parameter values across multiple selected ensembles.

    • Min/Max parameter value found across selected ensembles.
    • Access to parameter value for specific realization in specific ensemble
  • Subplot builder:

    • ColorScale legend
    • Grey fallback color if parameter does not exist in ensemble.
  • createVectorTracesUtils.py - Refactored by creating types for function argument options. To easier work with optional and default arguments.


Closes: #219

@jorgenherje jorgenherje self-assigned this Sep 19, 2023
@jorgenherje jorgenherje added the enhancement New feature or request label Sep 19, 2023
@jorgenherje jorgenherje force-pushed the add-color-by-parameter-simulation-time-series-matrix branch 4 times, most recently from f1f778c to 1f9c8c1 Compare September 20, 2023 08:23
@jorgenherje jorgenherje force-pushed the add-color-by-parameter-simulation-time-series-matrix branch 2 times, most recently from 37bdfb0 to 1333d17 Compare September 20, 2023 12:37
@jorgenherje jorgenherje marked this pull request as ready for review September 20, 2023 12:38
@jorgenherje jorgenherje force-pushed the add-color-by-parameter-simulation-time-series-matrix branch 3 times, most recently from 05804b2 to 0c0fe37 Compare September 21, 2023 09:25
Copy link
Collaborator

@HansKallekleiv HansKallekleiv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works great!

A few general comments from an end-user perspective:

  • Consider instead of having an empty plot as default, change the default plot title to e.g. "Select a vector to visualize"
  • Consider collapsing some of the settings to highlight the important bit. E.g. keep ensembles and vector selection open, but collapse the others.
  • The parameter list will be overwhelming if you don't know what to look for. Not directly related to this PR but we need both filtering of parameters(e.g. based on group) and sorting of parameters on how "important" they are. We can do this by calculating the correlation of the parameter values to the timeseries at a given date. I think we could automate this by selecting the last date (automatically) and perform the correlation. There exists an early attempt of an endpoint on the api to do this correlation: https://github.com/equinor/webviz/blob/main/backend/src/backend/primary/routers/correlations/router.py
  • Also not related to this PR, but we should use the full name of the vectors, instead of the shortname as the plot title. (FOPT = Field Oil Production)

@jorgenherje
Copy link
Collaborator Author

jorgenherje commented Sep 22, 2023

Works great!

A few general comments from an end-user perspective:

  • Consider instead of having an empty plot as default, change the default plot title to e.g. "Select a vector to visualize"
  • Consider collapsing some of the settings to highlight the important bit. E.g. keep ensembles and vector selection open, but collapse the others.
  • The parameter list will be overwhelming if you don't know what to look for. Not directly related to this PR but we need both filtering of parameters(e.g. based on group) and sorting of parameters on how "important" they are. We can do this by calculating the correlation of the parameter values to the timeseries at a given date. I think we could automate this by selecting the last date (automatically) and perform the correlation. There exists an early attempt of an endpoint on the api to do this correlation: https://github.com/equinor/webviz/blob/main/backend/src/backend/primary/routers/correlations/router.py
  • Also not related to this PR, but we should use the full name of the vectors, instead of the shortname as the plot title. (FOPT = Field Oil Production)

Nice feedback!

  1. I'll handle the default plot title in: SimulationTimeSeriesMatrix fixup #367
  2. I'll handle the default collapse state for groups in: SimulationTimeSeriesMatrix fixup #367
  3. This issue can perhaps be additional functionality for following issue: Provide functionality for parameter filtering #321
    • Three types of parameter filtering?:
      • Filtering based on criteria/attributes of Parameter type to provide a shorter list of parameter names in e.g. a dropdown.
      • Filtering based on values of a Parameter, i.e. functionality as mentioned above here - providing a shorter list.
      • Filtering based on criteria which results in a subset of wanted realization numbers?
  4. I'll handle the usage of full vector name in: SimulationTimeSeriesMatrix fixup #367

Copy link
Collaborator

@rubenthoms rubenthoms left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Some comments to consider.

@rubenthoms rubenthoms closed this Sep 25, 2023
@jorgenherje jorgenherje reopened this Sep 25, 2023
@jorgenherje jorgenherje force-pushed the add-color-by-parameter-simulation-time-series-matrix branch from eb798f1 to e4ca667 Compare September 26, 2023 09:44
- Rename to continuous
- improve constructor to remove cast (usage of `as`)
- Fix bug with propagation of selected parameter from settings to view (useValidState in view)
- Minor code cleanup for readability
@jorgenherje jorgenherje force-pushed the add-color-by-parameter-simulation-time-series-matrix branch from e4ca667 to cf9c0a1 Compare September 26, 2023 09:53
@jorgenherje jorgenherje merged commit fd1d428 into equinor:main Sep 26, 2023
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Possibility to color realization curves with user selected parameter
3 participants