def _realizations(args): ensemble_size = ERT.enkf_facade.get_ensemble_size() mask = BoolVector(default_value=False, initial_size=ensemble_size) if args.realizations is None: default = "0-{}".format(ensemble_size - 1) mask.updateActiveMask(default) return mask validator = RangeStringArgument(ensemble_size) validated = validator.validate(args.realizations) if validated.failed(): raise ArgumentTypeError( "Defined realizations is not within range of ensemble size: {}". format(args.realizations)) mask.updateActiveMask(args.realizations) return mask
def __init__(self): SimulationConfigPanel.__init__(self, EnsembleSmoother( getQueueConfig( ) )) layout = QFormLayout() case_selector = CaseSelector() layout.addRow("Current case:", case_selector) run_path_label = QLabel("<b>%s</b>" % getRunPath()) addHelpToWidget(run_path_label, "config/simulation/runpath") layout.addRow("Runpath:", run_path_label) number_of_realizations_label = QLabel("<b>%d</b>" % getRealizationCount()) addHelpToWidget(number_of_realizations_label, "config/ensemble/num_realizations") layout.addRow(QLabel("Number of realizations:"), number_of_realizations_label) self._target_case_model = TargetCaseModel() self._target_case_field = StringBox(self._target_case_model, "config/simulation/target_case") self._target_case_field.setValidator(ProperNameArgument()) layout.addRow("Target case:", self._target_case_field) self._analysis_module_selector = AnalysisModuleSelector(iterable=False, help_link="config/analysis/analysis_module") layout.addRow("Analysis Module:", self._analysis_module_selector) self._active_realizations_model = ActiveRealizationsModel() self._active_realizations_field = StringBox(self._active_realizations_model, "config/simulation/active_realizations") self._active_realizations_field.setValidator(RangeStringArgument(getRealizationCount())) layout.addRow("Active realizations", self._active_realizations_field) self._target_case_field.getValidationSupport().validationChanged.connect(self.simulationConfigurationChanged) self._active_realizations_field.getValidationSupport().validationChanged.connect(self.simulationConfigurationChanged) self.setLayout(layout)
def __init__(self): SimulationConfigPanel.__init__(self, EnsembleExperiment) layout = QFormLayout() case_selector = CaseSelector() layout.addRow("Current case:", case_selector) run_path_label = QLabel("<b>%s</b>" % getRunPath()) addHelpToWidget(run_path_label, "config/simulation/runpath") layout.addRow("Runpath:", run_path_label) number_of_realizations_label = QLabel("<b>%d</b>" % getRealizationCount()) addHelpToWidget(number_of_realizations_label, "config/ensemble/num_realizations") layout.addRow(QLabel("Number of realizations:"), number_of_realizations_label) self._active_realizations_model = ActiveRealizationsModel() self._active_realizations_field = StringBox( self._active_realizations_model, "config/simulation/active_realizations") self._active_realizations_field.setValidator( RangeStringArgument(getRealizationCount())) layout.addRow("Active realizations", self._active_realizations_field) self._active_realizations_field.getValidationSupport( ).validationChanged.connect(self.simulationConfigurationChanged) self.setLayout(layout)
def __init__(self): SimulationConfigPanel.__init__(self, EnsembleExperiment()) layout = QFormLayout() case_model = CaseSelectorModel() case_selector = ComboChoice(case_model, "Current case", "init/current_case_selection") layout.addRow(case_selector.getLabel(), case_selector) runpath_model = RunPathModel() runpath_label = ActiveLabel(runpath_model, "Runpath", "config/simulation/runpath") layout.addRow(runpath_label.getLabel(), runpath_label) number_of_realizations_model = EnsembleSizeModel() number_of_realizations_label = ActiveLabel(number_of_realizations_model, "Number of realizations", "config/ensemble/num_realizations") layout.addRow(number_of_realizations_label.getLabel(), number_of_realizations_label) active_realizations_model = ActiveRealizationsModel() self.active_realizations_field = StringBox(active_realizations_model, "Active realizations", "config/simulation/active_realizations") self.active_realizations_field.setValidator(RangeStringArgument(number_of_realizations_model.getValue())) layout.addRow(self.active_realizations_field.getLabel(), self.active_realizations_field) self.active_realizations_field.validationChanged.connect(self.simulationConfigurationChanged) self.setLayout(layout)
def __init__(self, advanced_option=False): SimulationConfigPanel.__init__(self, IteratedEnsembleSmoother(), advanced_option) layout = QFormLayout() case_selector = CaseSelector() layout.addRow("Current case:", case_selector) run_path_label = QLabel("<b>%s</b>" % getRunPath()) addHelpToWidget(run_path_label, "config/simulation/runpath") layout.addRow("Runpath:", run_path_label) number_of_realizations_label = QLabel("<b>%d</b>" % getRealizationCount()) addHelpToWidget(number_of_realizations_label, "config/ensemble/num_realizations") layout.addRow(QLabel("Number of realizations:"), number_of_realizations_label) # The num_iterations_spinner does not track any external changes (will that ever happen?) num_iterations_spinner = QSpinBox() num_iterations_spinner.setMinimum(1) num_iterations_spinner.setMaximum(100) num_iterations_spinner.setValue(getNumberOfIterations()) addHelpToWidget(num_iterations_spinner, "config/simulation/number_of_iterations") num_iterations_spinner.valueChanged[int].connect(setNumberOfIterations) layout.addRow("Number of iterations:", num_iterations_spinner) self._iterated_target_case_format_model = TargetCaseModel( format_mode=True) self._iterated_target_case_format_field = StringBox( self._iterated_target_case_format_model, "config/simulation/iterated_target_case_format") self._iterated_target_case_format_field.setValidator( ProperNameFormatArgument()) layout.addRow("Target case format:", self._iterated_target_case_format_field) self._analysis_module_selector = AnalysisModuleSelector( iterable=True, help_link="config/analysis/analysis_module") layout.addRow("Analysis Module:", self._analysis_module_selector) self._active_realizations_model = ActiveRealizationsModel() self._active_realizations_field = StringBox( self._active_realizations_model, "config/simulation/active_realizations") self._active_realizations_field.setValidator( RangeStringArgument(getRealizationCount())) layout.addRow("Active realizations", self._active_realizations_field) self._iterated_target_case_format_field.getValidationSupport( ).validationChanged.connect(self.simulationConfigurationChanged) self._active_realizations_field.getValidationSupport( ).validationChanged.connect(self.simulationConfigurationChanged) self.setLayout(layout)
def __init__(self): ''' Fills in the input panel for sensitivity study parameters. ''' SimulationConfigPanel.__init__(self, SensitivityStudy()) layout = QFormLayout() case_model = CaseSelectorModel() case_selector = ComboChoice(case_model, "Current case", "init/current_case_selection") layout.addRow(case_selector.getLabel(), case_selector) runpath_model = RunPathModel() runpath_label = ActiveLabel(runpath_model, "Runpath", "config/simulation/runpath") layout.addRow(runpath_label.getLabel(), runpath_label) number_of_realizations_model = EnsembleSizeModel() number_of_realizations_label = ActiveLabel( number_of_realizations_model, "Number of realizations", "config/ensemble/num_realizations") layout.addRow(number_of_realizations_label.getLabel(), number_of_realizations_label) sensitivity_target_case_format_model = SensitivityTargetCaseFormatModel( ) self.iterated_target_case_format_field = StringBox( sensitivity_target_case_format_model, "Target case format", "config/simulation/sensitivity_target_case_format") self.iterated_target_case_format_field.setValidator( ProperNameFormatStringArgument()) layout.addRow(self.iterated_target_case_format_field.getLabel(), self.iterated_target_case_format_field) self.parameters_popup_button = QToolButton() self.parameters_popup_button.setIcon( util.resourceIcon("ide/small/cog_edit.png")) self.parameters_popup_button.clicked.connect(self.showParametersPopup) self.parameters_popup_button.setMaximumSize(20, 20) layout.addRow("Parameters:", self.parameters_popup_button) active_realizations_model = ActiveRealizationsModel() self.active_realizations_field = StringBox( active_realizations_model, "Active realizations", "config/simulation/active_realizations") self.active_realizations_field.setValidator( RangeStringArgument(number_of_realizations_model.getValue())) layout.addRow(self.active_realizations_field.getLabel(), self.active_realizations_field) self.active_realizations_field.validationChanged.connect( self.simulationConfigurationChanged) self.setLayout(layout)
def __init__(self): QWidget.__init__(self) self.setMinimumWidth(500) self.setMinimumHeight(200) self.__dynamic = False self.setWindowTitle("Load results manually") self.activateWindow() layout = QFormLayout() current_case = CaseSelectorModel().getCurrentChoice() run_path_text = QTextEdit() run_path_text.setText(self.readCurrentRunPath()) run_path_text.setDisabled(True) run_path_text.setFixedHeight(80) layout.addRow("Load data from current run path: ", run_path_text) self.__case_model = AllCasesModel() self.__case_combo = QComboBox() self.__case_combo.setSizeAdjustPolicy( QComboBox.AdjustToMinimumContentsLength) self.__case_combo.setMinimumContentsLength(20) self.__case_combo.setModel(self.__case_model) self.__case_combo.setCurrentIndex( self.__case_model.indexOf(current_case)) layout.addRow("Load into case:", self.__case_combo) self.__active_realizations_model = LoadResultsRealizationsModel( EnsembleSizeModel().getValue()) self.__active_realizations_field = StringBox( self.__active_realizations_model, "Realizations to load", "load_results_manually/Realizations") self.__active_realizations_field.setValidator(RangeStringArgument()) layout.addRow(self.__active_realizations_field.getLabel(), self.__active_realizations_field) self.__iterations_count = LoadResultsModel().getIterationCount() self._iterations_model = LoadResultsIterationsModel( self.__iterations_count) self._iterations_field = StringBox(self._iterations_model, "Iteration to load", "load_results_manually/iterations") self._iterations_field.setValidator(IntegerArgument()) layout.addRow(self._iterations_field.getLabel(), self._iterations_field) self.setLayout(layout)
def __init__(self): SimulationConfigPanel.__init__(self, MultipleDataAssimilation) layout = QFormLayout() case_selector = CaseSelector() layout.addRow("Current case:", case_selector) run_path_label = QLabel("<b>%s</b>" % getRunPath()) addHelpToWidget(run_path_label, "config/simulation/runpath") layout.addRow("Runpath:", run_path_label) number_of_realizations_label = QLabel("<b>%d</b>" % getRealizationCount()) addHelpToWidget(number_of_realizations_label, "config/ensemble/num_realizations") layout.addRow(QLabel("Number of realizations:"), number_of_realizations_label) self._target_case_format_model = TargetCaseModel(format_mode=True) self._target_case_format_field = StringBox( self._target_case_format_model, "config/simulation/target_case_format") self._target_case_format_field.setValidator(ProperNameFormatArgument()) layout.addRow("Target case format:", self._target_case_format_field) self.weights = MultipleDataAssimilation.default_weights self._createInputForWeights(layout) self._analysis_module_selector = AnalysisModuleSelector( iterable=False, help_link="config/analysis/analysis_module") layout.addRow("Analysis Module:", self._analysis_module_selector) self._active_realizations_model = ActiveRealizationsModel() self._active_realizations_field = StringBox( self._active_realizations_model, "config/simulation/active_realizations") self._active_realizations_field.setValidator( RangeStringArgument(getRealizationCount())) layout.addRow("Active realizations", self._active_realizations_field) self._target_case_format_field.getValidationSupport( ).validationChanged.connect(self.simulationConfigurationChanged) self._active_realizations_field.getValidationSupport( ).validationChanged.connect(self.simulationConfigurationChanged) self._relative_iteration_weights_box.getValidationSupport( ).validationChanged.connect(self.simulationConfigurationChanged) self.setLayout(layout)
def __init__(self): SimulationConfigPanel.__init__(self, EnsembleExperiment) self.setObjectName("Ensemble_experiment_panel") layout = QFormLayout() self._case_selector = CaseSelector() layout.addRow("Current case:", self._case_selector) run_path_label = QLabel("<b>%s</b>" % getRunPath()) addHelpToWidget(run_path_label, "config/simulation/runpath") layout.addRow("Runpath:", run_path_label) number_of_realizations_label = QLabel("<b>%d</b>" % getRealizationCount()) addHelpToWidget(number_of_realizations_label, "config/ensemble/num_realizations") layout.addRow(QLabel("Number of realizations:"), number_of_realizations_label) self._active_realizations_field = StringBox( ActiveRealizationsModel(), "config/simulation/active_realizations", ) self._active_realizations_field.setValidator( RangeStringArgument(getRealizationCount()), ) layout.addRow("Active realizations", self._active_realizations_field) self._iter_field = StringBox( IterValueModel(), "config/simulation/iter_num", ) self._iter_field.setValidator(IntegerArgument(from_value=0), ) layout.addRow("Iteration", self._iter_field) self.setLayout(layout) self._active_realizations_field.getValidationSupport( ).validationChanged.connect(self.simulationConfigurationChanged) self._case_selector.currentIndexChanged.connect( self._realizations_from_fs) self._realizations_from_fs() # update with the current case
def valid_realizations(user_input): validator = RangeStringArgument() validated = validator.validate(user_input) if validated.failed(): strip_error_message_and_raise_exception(validated) return user_input
def __init__(self, parent=None): QWidget.__init__(self, parent) self.setMinimumWidth(500) self.setMinimumHeight(200) self._dynamic = False self.setWindowTitle("Export data") self.activateWindow() layout = QFormLayout() current_case = getCurrentCaseName() self._case_model = AllCasesModel() self._case_combo = QComboBox() self._case_combo.setSizeAdjustPolicy(QComboBox.AdjustToMinimumContentsLength) self._case_combo.setMinimumContentsLength(20) self._case_combo.setModel(self._case_model) self._case_combo.setCurrentIndex(self._case_model.indexOf(current_case)) layout.addRow("Select case:", self._case_combo) self._export_keyword_model = ExportKeywordModel() self._kw_model = self._export_keyword_model.getKeyWords() self._keywords = QComboBox() self._keywords.addItems(self._kw_model) layout.addRow("Select keyword:", self._keywords) self._active_realizations_model = ActiveRealizationsModel() self._active_realizations_field = StringBox(self._active_realizations_model, "config/simulation/active_realizations") self._active_realizations_field.setValidator(RangeStringArgument()) self._active_realizations_field.getValidationSupport().validationChanged.connect(self.validateExportDialog) layout.addRow("Active realizations:", self._active_realizations_field) file_name_button = QToolButton() file_name_button.setText("Browse") file_name_button.clicked.connect(self.selectFileDirectory) self._defaultPath = QDir.currentPath() + "/export" self._file_name = QLineEdit() self._file_name.setEnabled(False) self._file_name.setText(self._defaultPath) self._file_name.textChanged.connect(self.validateExportDialog) self._file_name.setMinimumWidth(250) file_name_layout = QHBoxLayout() file_name_layout.addWidget(self._file_name) file_name_layout.addWidget(file_name_button) layout.addRow("Select directory to save files to:", file_name_layout) self._gen_kw_file_types = ["Parameter list", "Template based"] self._field_kw_file_types = ["Eclipse GRDECL", "RMS roff"] self._gen_data_file_types = ["Gen data"] self._file_type_model = self._field_kw_file_types self._file_type_combo = QComboBox() self._file_type_combo.setSizeAdjustPolicy(QComboBox.AdjustToContents) self._file_type_combo.addItems(self._file_type_model) layout.addRow("Select file format:", self._file_type_combo) self._report_step = QLineEdit() layout.addRow("Report step:", self._report_step) self._gen_data_report_step_model = [] self._gen_data_report_step = QComboBox() layout.addRow("Report step:", self._gen_data_report_step) self.setLayout(layout) self._keywords.currentIndexChanged.connect(self.keywordSelected) self.keywordSelected()
def __init__(self): SimulationConfigPanel.__init__(self, IteratedEnsembleSmoother()) layout = QFormLayout() case_model = CaseSelectorModel() case_selector = ComboChoice(case_model, "Current case", "init/current_case_selection") layout.addRow(case_selector.getLabel(), case_selector) run_path_model = RunPathModel() run_path_label = ActiveLabel(run_path_model, "Runpath", "config/simulation/runpath") layout.addRow(run_path_label.getLabel(), run_path_label) number_of_realizations_model = EnsembleSizeModel() number_of_realizations_label = ActiveLabel( number_of_realizations_model, "Number of realizations", "config/ensemble/num_realizations") layout.addRow(number_of_realizations_label.getLabel(), number_of_realizations_label) num_iterations_model = NumberOfIterationsModel() num_iterations_spinner = IntegerSpinner( num_iterations_model, "Number of iterations", "config/simulation/number_of_iterations") layout.addRow(num_iterations_spinner.getLabel(), num_iterations_spinner) iterated_target_case_format_model = TargetCaseFormatModel() self.iterated_target_case_format_field = StringBox( iterated_target_case_format_model, "Target case format", "config/simulation/iterated_target_case_format") self.iterated_target_case_format_field.setValidator( ProperNameFormatArgument()) layout.addRow(self.iterated_target_case_format_field.getLabel(), self.iterated_target_case_format_field) iterated_analysis_module_model = IteratedAnalysisModuleModel() self.iterated_analysis_module_choice = ComboChoice( iterated_analysis_module_model, "Analysis Module", "config/analysis/iterated_analysis_module") self.variables_popup_button = QToolButton() self.variables_popup_button.setIcon( util.resourceIcon("ide/small/cog_edit.png")) self.variables_popup_button.clicked.connect(self.showVariablesPopup) self.variables_popup_button.setMaximumSize(20, 20) self.variables_layout = QHBoxLayout() self.variables_layout.addWidget(self.iterated_analysis_module_choice, 0, Qt.AlignLeft) self.variables_layout.addWidget(self.variables_popup_button, 0, Qt.AlignLeft) self.variables_layout.setContentsMargins(QMargins(0, 0, 0, 0)) self.variables_layout.addStretch() layout.addRow(self.iterated_analysis_module_choice.getLabel(), self.variables_layout) active_realizations_model = ActiveRealizationsModel() self.active_realizations_field = StringBox( active_realizations_model, "Active realizations", "config/simulation/active_realizations") self.active_realizations_field.setValidator(RangeStringArgument()) layout.addRow(self.active_realizations_field.getLabel(), self.active_realizations_field) self.iterated_target_case_format_field.validationChanged.connect( self.simulationConfigurationChanged) self.active_realizations_field.validationChanged.connect( self.simulationConfigurationChanged) self.setLayout(layout)