Skip to content

Commit

Permalink
Fix bug where uninitialized ensemble crashes gui
Browse files Browse the repository at this point in the history
  • Loading branch information
eivindjahren committed Jun 18, 2024
1 parent 3a691a5 commit d73eb5e
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 4 deletions.
10 changes: 7 additions & 3 deletions src/ert/gui/ertwidgets/storage_info_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import numpy as np
import seaborn as sns
import xarray as xr
import yaml
from matplotlib.backends.backend_qt5agg import FigureCanvas # type: ignore
from matplotlib.figure import Figure
Expand Down Expand Up @@ -193,9 +194,12 @@ def _currentItemChanged(
observation_name
)
observation_ds = ensemble.experiment.get_single_obs_ds(observation_name)
response_ds = ensemble.load_responses(
response_name,
)
try:
response_ds = ensemble.load_responses(
response_name,
)
except KeyError:
response_ds = xr.Dataset()

# check if the response is empty
if bool(response_ds.dims):
Expand Down
18 changes: 17 additions & 1 deletion tests/unit_tests/gui/tools/test_ensemble_tool.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

from ert.config import ErtConfig
from ert.gui.ertnotifier import ErtNotifier
from ert.gui.ertwidgets.storage_info_widget import _EnsembleWidget
from ert.gui.ertwidgets.storage_info_widget import _EnsembleWidget, _EnsembleWidgetTabs
from ert.gui.ertwidgets.storage_widget import StorageWidget
from ert.gui.tools.manage_experiments.ensemble_init_configuration import (
EnsembleInitializationConfigurationPanel,
Expand Down Expand Up @@ -53,6 +53,7 @@ def test_that_init_updates_the_info_tab(qtbot, storage):
ensemble = storage.create_experiment(
parameters=config.ensemble_config.parameter_configuration,
responses=config.ensemble_config.response_configuration,
observations=config.observations.datasets,
name="my-experiment",
).create_ensemble(
ensemble_size=config.model_config.num_realizations, name="default"
Expand Down Expand Up @@ -93,3 +94,18 @@ def test_that_init_updates_the_info_tab(qtbot, storage):
ensemble_widget._currentTabChanged(1)
assert "INITIALIZED" in html_edit.toPlainText()
assert not "RealizationStorageState.INITIALIZED" in html_edit.toPlainText()

# select the observation
storage_info_widget = tool._storage_info_widget
storage_info_widget._ensemble_widget._tab_widget.setCurrentIndex(
_EnsembleWidgetTabs.OBSERVATIONS_TAB
)
observation_tree = storage_info_widget._ensemble_widget._observations_tree_widget
model_index = observation_tree.model().index(
0, 0, observation_tree.model().index(0, 0)
)
observation_tree.setCurrentIndex(model_index)
assert (
storage_info_widget._ensemble_widget._figure.axes[0].title.get_text()
== "POLY_OBS"
)

0 comments on commit d73eb5e

Please sign in to comment.