Skip to content

Commit

Permalink
Remove duplicate calls to load_smry
Browse files Browse the repository at this point in the history
  • Loading branch information
HansKallekleiv committed Nov 27, 2020
1 parent 8d5555c commit 6b80ef9
Show file tree
Hide file tree
Showing 13 changed files with 73 additions and 335 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Unreleased
### Fixed
- [#505](https://github.com/equinor/webviz-subsurface/pull/505) - Fixed recent performance regression issue for loading of UNSMRY data. Loading times when multiple plugins are using the same data is now significantly reduced.

## [0.1.5] - 2020-11-26
### Added
- [#478](https://github.com/equinor/webviz-subsurface/pull/478) - New plugin `AssistedHistoryMatchingAnalysis`. This dashboard helps to analyze the update step performed during assisted history match. E.g. which observations are causing an update in a specific parameter. Based on Kolmogorov–Smirnov.
Expand Down
1 change: 1 addition & 0 deletions webviz_subsurface/_models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .ensemble_set_model import EnsembleSetModel
33 changes: 10 additions & 23 deletions webviz_subsurface/plugins/_bhp_qc.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from webviz_config.common_cache import CACHE
from webviz_config import WebvizPluginABC

from .._datainput.fmu_input import load_smry
from webviz_subsurface._models import EnsembleSetModel
from .._utils.unique_theming import unique_colors


Expand Down Expand Up @@ -39,21 +39,19 @@ def __init__(
wells: Optional[List[str]] = None,
):
super().__init__()
self.ens_paths = {
ensemble: app.webviz_settings["shared_settings"]["scratch_ensembles"][
ensemble
]
for ensemble in ensembles
}
if wells is None:
self.column_keys = ["WBHP:*"]
else:
self.column_keys = [f"WBHP:{well}" for well in wells]

self.smry = load_smry(
ensemble_paths=self.ens_paths,
time_index="raw",
column_keys=self.column_keys,
self.emodel = EnsembleSetModel(
ensemble_paths={
ens: app.webviz_settings["shared_settings"]["scratch_ensembles"][ens]
for ens in ensembles
}
)
self.smry = self.emodel.load_smry(
time_index="raw", column_keys=self.column_keys
)
self.theme = app.webviz_settings["theme"]
self.set_callbacks(app)
Expand Down Expand Up @@ -337,18 +335,7 @@ def _update_stat_selector(plot_type):
)

def add_webvizstore(self):
return [
(
load_smry,
[
{
"ensemble_paths": self.ens_paths,
"column_keys": self.column_keys,
"time_index": "raw",
}
],
),
]
return self.emodel.webvizstore


@CACHE.memoize(timeout=CACHE.TIMEOUT)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
from .ensemble_set_model import EnsembleSetModel
from .simulation_timeseries_model import SimulationTimeSeriesModel
from .parameters_model import ParametersModel
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@
from webviz_config.webviz_assets import WEBVIZ_ASSETS

import webviz_subsurface
from webviz_subsurface._models import EnsembleSetModel
from .views import main_view
from .models import ParametersModel, SimulationTimeSeriesModel, EnsembleSetModel
from .models import ParametersModel, SimulationTimeSeriesModel
from .controllers import (
parameter_qc_controller,
parameter_response_controller,
Expand Down Expand Up @@ -101,8 +102,6 @@ def __init__(
]
for ens in ensembles
}
if ensembles is not None
else None
)
self.pmodel = ParametersModel(
dataframe=self.emodel.load_parameters(),
Expand Down
65 changes: 13 additions & 52 deletions webviz_subsurface/plugins/_parameter_parallel_coordinates.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from webviz_config.common_cache import CACHE
from webviz_config.webviz_store import webvizstore

from .._datainput.fmu_input import load_parameters, load_csv, load_smry
from webviz_subsurface._models import EnsembleSetModel
from .._utils.parameter_response import filter_and_sum_responses


Expand Down Expand Up @@ -183,25 +183,21 @@ def __init__(
'Incorrect arguments. Either provide "response_csv" or '
'"ensembles and/or response_file".'
)
self.ens_paths = {
ens: app.webviz_settings["shared_settings"]["scratch_ensembles"][ens]
for ens in ensembles
}
self.parameterdf = load_parameters(
ensemble_paths=self.ens_paths, ensemble_set_name="EnsembleSet"
self.emodel = EnsembleSetModel(
ensemble_paths={
ens: app.webviz_settings["shared_settings"]["scratch_ensembles"][
ens
]
for ens in ensembles
}
)
self.parameterdf = self.emodel.load_parameters()
if not self.no_responses:
if self.response_file:
self.responsedf = load_csv(
ensemble_paths=self.ens_paths,
csv_file=response_file,
ensemble_set_name="EnsembleSet",
)
self.responsedf = self.emodel.load_csv(csv_file=response_file)
else:
self.responsedf = load_smry(
ensemble_paths=self.ens_paths,
column_keys=self.column_keys,
time_index=self.time_index,
self.responsedf = self.emodel.load_smry(
time_index=self.time_index, column_keys=self.column_keys
)
self.response_filters["DATE"] = "single"
else:
Expand Down Expand Up @@ -605,42 +601,7 @@ def add_webvizstore(self):
)
)
else:
functions.append(
(
load_parameters,
[
{
"ensemble_paths": self.ens_paths,
}
],
),
)
if not self.no_responses:
if self.response_file:
functions.append(
(
load_csv,
[
{
"ensemble_paths": self.ens_paths,
"csv_file": self.response_file,
}
],
),
)
else:
functions.append(
(
load_smry,
[
{
"ensemble_paths": self.ens_paths,
"column_keys": self.column_keys,
"time_index": self.time_index,
}
],
),
)
functions.extend(self.emodel.webvizstore)

return functions

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
from .ensemble_set_model import EnsembleSetModel
from .simulation_timeseries_model import SimulationTimeSeriesModel
from .property_statistics_model import PropertyStatisticsModel

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@
from webviz_config.webviz_assets import WEBVIZ_ASSETS

import webviz_subsurface
from webviz_subsurface._models import EnsembleSetModel
from .views import main_view
from .models import PropertyStatisticsModel, SimulationTimeSeriesModel, EnsembleSetModel
from .models import PropertyStatisticsModel, SimulationTimeSeriesModel
from .controllers import (
property_qc_controller,
property_delta_controller,
Expand Down Expand Up @@ -112,16 +113,14 @@ def __init__(
]
for ens in ensembles
}
if ensembles is not None
else None
)
self.pmodel = PropertyStatisticsModel(
dataframe=self.emodel.load_csv(csv_file=self.statistics_file),
theme=self.theme,
)
self.vmodel = SimulationTimeSeriesModel(
dataframe=self.emodel.load_smry(
time_index=self.time_index,
time_index=self.time_index, column_keys=self.column_keys
),
theme=self.theme,
)
Expand Down
Loading

0 comments on commit 6b80ef9

Please sign in to comment.