From 2507c5d7d4bf19f6b30cc02375365e41acc970d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Eide?= Date: Mon, 29 Apr 2024 14:45:32 +0200 Subject: [PATCH] Allow empty active realizations --- src/ert/gui/ertwidgets/models/activerealizationsmodel.py | 9 ++++++--- src/ert/gui/simulation/evaluate_ensemble_panel.py | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ert/gui/ertwidgets/models/activerealizationsmodel.py b/src/ert/gui/ertwidgets/models/activerealizationsmodel.py index 77b257be7fb..8b6e7a1af82 100644 --- a/src/ert/gui/ertwidgets/models/activerealizationsmodel.py +++ b/src/ert/gui/ertwidgets/models/activerealizationsmodel.py @@ -5,7 +5,8 @@ class ActiveRealizationsModel(ValueModel): - def __init__(self, ensemble_size: int): + def __init__(self, ensemble_size: int, show_default: bool = True): + self.show_default = show_default self.ensemble_size = ensemble_size ValueModel.__init__(self, self.getDefaultValue()) self._custom = False @@ -22,8 +23,10 @@ def setValueFromMask(self, mask): self.setValue(mask_to_rangestring(mask)) def getDefaultValue(self): - size = self.ensemble_size - return f"0-{size-1:d}" + if self.show_default: + size = self.ensemble_size + return f"0-{size-1:d}" + return None def getActiveRealizationsMask(self) -> List[bool]: return ActiveRange(rangestring=self.getValue(), length=self.ensemble_size).mask diff --git a/src/ert/gui/simulation/evaluate_ensemble_panel.py b/src/ert/gui/simulation/evaluate_ensemble_panel.py index 36acea35ac0..fa248fb0f9a 100644 --- a/src/ert/gui/simulation/evaluate_ensemble_panel.py +++ b/src/ert/gui/simulation/evaluate_ensemble_panel.py @@ -42,7 +42,7 @@ def __init__(self, ensemble_size: int, run_path: str, notifier: ErtNotifier): layout.addRow(QLabel("Number of realizations:"), number_of_realizations_label) self._active_realizations_field = StringBox( - ActiveRealizationsModel(ensemble_size), + ActiveRealizationsModel(ensemble_size, show_default=False), "config/simulation/active_realizations", ) self._active_realizations_field.setValidator( @@ -66,6 +66,7 @@ def isConfigurationValid(self) -> bool: return ( self._active_realizations_field.isValid() and self._ensemble_selector.currentIndex() != -1 + and bool(self._active_realizations_field.text()) ) def getSimulationArguments(self) -> Arguments: