Example #1
0
    def test_integer_range_argument_to(self):
        to_value = 99
        integer = IntegerArgument(to_value=to_value)

        validation_status = integer.validate("%d" % to_value)
        self.assertTrue(validation_status)

        value = 100
        validation_status = integer.validate("%d" % value)
        self.assertFalse(validation_status)

        range_string = "%d <= %d" % (value, to_value)
        self.assertEqual(validation_status.message(),
                         IntegerArgument.NOT_IN_RANGE % range_string)
Example #2
0
    def test_integer_range_argument_from(self):
        from_value = 99
        integer = IntegerArgument(from_value=from_value)

        validation_status = integer.validate("%d" % from_value)
        self.assertTrue(validation_status)

        value = 98
        validation_status = integer.validate("%d" % value)
        self.assertFalse(validation_status)

        range_string = "%d <= %d" % (from_value, value)
        self.assertEqual(validation_status.message(),
                         IntegerArgument.NOT_IN_RANGE % range_string)
Example #3
0
 def addEnkfNComp(self):
     enkf_ncomp = ConfigurationLineDefinition(keyword=KeywordDefinition("ENKF_NCOMP"),
                                              arguments=[IntegerArgument()],
                                              documentation_link="keywords/enkf_ncomp",
                                              required=False,
                                              group=self.group)
     return enkf_ncomp
Example #4
0
 def addRerunStart(self):
     rerun_start = ConfigurationLineDefinition(keyword=KeywordDefinition("RERUN_START"),
                                              arguments=[IntegerArgument()],
                                              documentation_link="keywords/rerun_start",
                                              required=False,
                                              group=self.group)
     return rerun_start
Example #5
0
 def addEnkfCvFolds(self):
     enkf_cv_folds = ConfigurationLineDefinition(keyword=KeywordDefinition("ENKF_CV_FOLDS"),
                                                 arguments=[IntegerArgument()],
                                                 documentation_link="keywords/enkf_cv_folds",
                                                 required=False,
                                                 group=self.group)
     return enkf_cv_folds
Example #6
0
 def addMaxSubmit(self):
     max_submit = ConfigurationLineDefinition(
         keyword=KeywordDefinition("MAX_SUBMIT"),
         arguments=[IntegerArgument()],
         documentation_link="keywords/max_submit",
         group=self.group)
     return max_submit
Example #7
0
 def addMaxRunningLocal(self):
     max_running_local = ConfigurationLineDefinition(
         keyword=KeywordDefinition("MAX_RUNNING_LOCAL"),
         arguments=[IntegerArgument(from_value=1)],
         documentation_link="keywords/max_running_local",
         group=self.group)
     return max_running_local
Example #8
0
 def addMaxRunningRsh(self):
     max_running_rsh = ConfigurationLineDefinition(
         keyword=KeywordDefinition("MAX_RUNNING_RSH"),
         arguments=[IntegerArgument()],
         documentation_link="keywords/max_running_rsh",
         group=self.group)
     return max_running_rsh
Example #9
0
 def addPlotErrorbarMax(self):
     plot_errorbar_max = ConfigurationLineDefinition(
         keyword=KeywordDefinition("PLOT_ERRORBAR_MAX"),
         arguments=[IntegerArgument()],
         documentation_link="keywords/plot_errorbar_max",
         required=False,
         group=self.group)
     return plot_errorbar_max
Example #10
0
 def addMaxRuntime(self):
     max_runtime = ConfigurationLineDefinition(
         keyword=KeywordDefinition("MAX_RUNTIME"),
         arguments=[IntegerArgument(from_value=0)],
         documentation_link="keywords/max_runtime",
         required=False,
         group=self.group)
     return max_runtime
Example #11
0
 def addLogLevel(self):
     log_level = ConfigurationLineDefinition(
         keyword=KeywordDefinition("LOG_LEVEL"),
         arguments=[IntegerArgument()],
         documentation_link="keywords/log_level",
         required=False,
         group=self.group)
     return log_level
Example #12
0
 def addNumRealizations(self):
     num_realizations = ConfigurationLineDefinition(
         keyword=KeywordDefinition("NUM_REALIZATIONS"),
         arguments=[IntegerArgument(from_value=1)],
         documentation_link="keywords/num_realizations",
         required=True,
         group=self.group)
     return num_realizations
Example #13
0
 def addPlotHeight(self):
     plot_height = ConfigurationLineDefinition(
         keyword=KeywordDefinition("PLOT_HEIGHT"),
         arguments=[IntegerArgument()],
         documentation_link="keywords/plot_height",
         required=False,
         group=self.group)
     return plot_height
Example #14
0
 def addPlotWidth(self):
     plot_width = ConfigurationLineDefinition(
         keyword=KeywordDefinition("PLOT_WIDTH"),
         arguments=[IntegerArgument()],
         documentation_link="keywords/plot_width",
         required=False,
         group=self.group)
     return plot_width
Example #15
0
 def addUMask(self):
     umask = ConfigurationLineDefinition(
         keyword=KeywordDefinition("UMASK"),
         arguments=[IntegerArgument()],
         documentation_link="keywords/umask",
         required=False,
         group=self.group)
     return umask
Example #16
0
 def addIterRetryCount(self):
     retry_count = ConfigurationLineDefinition(
         keyword=KeywordDefinition("ITER_RETRY_COUNT"),
         arguments=[IntegerArgument()],
         documentation_link="keywords/iter_retry_count",
         required=False,
         group=self.group)
     return retry_count
Example #17
0
 def addMaxResample(self):
     max_resample = ConfigurationLineDefinition(
         keyword=KeywordDefinition("MAX_RESAMPLE"),
         arguments=[IntegerArgument()],
         documentation_link="keywords/max_resample",
         required=False,
         group=self.group)
     return max_resample
Example #18
0
 def addMaxArg(self):
     max_arg = ConfigurationLineDefinition(
         keyword=KeywordDefinition("MAX_ARG"),
         arguments=[IntegerArgument()],
         documentation_link="keywords/max_arg",
         required=False,
         group=self.group)
     return max_arg
Example #19
0
    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._iter_field = StringBox(
            IterValueModel(),
            "config/simulation/iter_num",
        )
        self._iter_field.setValidator(IntegerArgument(from_value=0), )
        layout.addRow("Start iteration:", self._iter_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_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)
Example #20
0
 def addMinRealizations(self):
     min_realizations = ConfigurationLineDefinition(
         keyword=KeywordDefinition("MIN_REALIZATIONS"),
         arguments=[
             IntegerArgument(from_value=0),
             PercentArgument(from_value=0, to_value=100)
         ],
         documentation_link="keywords/min_realizations",
         required=False,
         group=self.group)
     return min_realizations
Example #21
0
    def __init__(self, ert: EnKFMain, notifier: ErtNotifier):
        self.ert = ert
        self.facade = LibresFacade(ert)
        super().__init__(EnsembleExperiment)
        self.setObjectName("Ensemble_experiment_panel")

        layout = QFormLayout()

        self._case_selector = CaseSelector(self.facade, notifier)
        layout.addRow("Current case:", self._case_selector)

        run_path_label = QLabel(f"<b>{self.facade.run_path}</b>")
        addHelpToWidget(run_path_label, "config/simulation/runpath")
        layout.addRow("Runpath:", run_path_label)

        number_of_realizations_label = QLabel(
            f"<b>{self.facade.get_ensemble_size()}</b>")
        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(self.facade),
            "config/simulation/active_realizations",
        )
        self._active_realizations_field.setValidator(
            RangeStringArgument(self.facade.get_ensemble_size()), )
        layout.addRow("Active realizations", self._active_realizations_field)

        self._iter_field = StringBox(
            IterValueModel(notifier),
            "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(  # noqa
            self.simulationConfigurationChanged)
        self._case_selector.currentIndexChanged.connect(
            self._realizations_from_fs)

        self._realizations_from_fs()  # update with the current case
Example #22
0
    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 = getCurrentCaseName()

        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 = ActiveRealizationsModel()
        self._active_realizations_field = StringBox(
            self._active_realizations_model,
            "load_results_manually/Realizations")
        self._active_realizations_field.setValidator(RangeStringArgument())
        layout.addRow("Realizations to load:", self._active_realizations_field)

        iterations_count = LoadResultsModel.getIterationCount()

        self._iterations_model = ValueModel(iterations_count)
        self._iterations_field = StringBox(self._iterations_model,
                                           "load_results_manually/iterations")
        self._iterations_field.setValidator(IntegerArgument())
        layout.addRow("Iteration to load:", self._iterations_field)

        self.setLayout(layout)
Example #23
0
    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
Example #24
0
    def test_configuration_line_definition(self):

        cld = ConfigurationLineDefinition(
            keyword=KeywordDefinition("KEYWORD"),
            arguments=[IntegerArgument(from_value=1)],
            documentation_link="help/path",
            required=True,
            group="Group")

        self.assertTrue(cld.isRequired())
        self.assertEqual(cld.documentationLink(), "help/path")

        keyword_definition = cld.keywordDefinition()
        self.assertIsInstance(keyword_definition, KeywordDefinition)
        self.assertEqual(keyword_definition.name(), "KEYWORD")

        argument_definitions = cld.argumentDefinitions()
        self.assertIsInstance(argument_definitions, list)
        self.assertEqual(len(argument_definitions), 1)
        self.assertIsInstance(argument_definitions[0], IntegerArgument)

        self.assertEqual(cld.group(), "Group")
Example #25
0
    def test_default_integer_argument(self):
        integer = IntegerArgument()

        validation_status = integer.validate("45")

        self.assertTrue(validation_status)
        self.assertEqual(validation_status.value(), 45)
        self.assertEqual(validation_status.message(), "")

        validation_status = integer.validate("-45")

        self.assertTrue(validation_status)
        self.assertEqual(validation_status.value(), -45)

        validation_status = integer.validate("45 ")

        self.assertFalse(validation_status)
        self.assertNotEqual(validation_status.message(), "")
        self.assertIsNone(validation_status.value())

        validation_status = integer.validate("gx")

        self.assertFalse(validation_status)
        self.assertNotEqual(validation_status.message(), "")
Example #26
0
def valid_iter_num(user_input):
    validator = IntegerArgument(from_value=0)
    validated = validator.validate(user_input)
    if validated.failed():
        strip_error_message_and_raise_exception(validated)
    return user_input
Example #27
0
    def __init__(self, facade: LibresFacade, notifier: ErtNotifier):
        SimulationConfigPanel.__init__(self, MultipleDataAssimilation)

        layout = QFormLayout()

        case_selector = CaseSelector(facade, notifier)
        layout.addRow("Current case:", case_selector)

        run_path_label = QLabel(f"<b>{facade.run_path}</b>")
        addHelpToWidget(run_path_label, "config/simulation/runpath")
        layout.addRow("Runpath:", run_path_label)

        number_of_realizations_label = QLabel(
            f"<b>{facade.get_ensemble_size()}</b>")
        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(facade,
                                                         notifier,
                                                         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._iter_field = StringBox(
            IterValueModel(notifier),
            "config/simulation/iter_num",
        )
        self._iter_field.setValidator(IntegerArgument(from_value=0), )
        layout.addRow("Start iteration:", self._iter_field)

        self._analysis_module_edit = AnalysisModuleEdit(
            facade,
            module_name=MultipleDataAssimilationPanel.analysis_module_name,
            help_link="config/analysis/analysis_module",
        )
        layout.addRow("Analysis module:", self._analysis_module_edit)

        self._active_realizations_model = ActiveRealizationsModel(facade)
        self._active_realizations_field = StringBox(
            self._active_realizations_model,
            "config/simulation/active_realizations")
        self._active_realizations_field.setValidator(
            RangeStringArgument(facade.get_ensemble_size()))
        layout.addRow("Active realizations:", self._active_realizations_field)

        self._target_case_format_field.getValidationSupport(
        ).validationChanged.connect(  # noqa
            self.simulationConfigurationChanged)
        self._active_realizations_field.getValidationSupport(
        ).validationChanged.connect(  # noqa
            self.simulationConfigurationChanged)
        self._relative_iteration_weights_box.getValidationSupport(
        ).validationChanged.connect(  # noqa
            self.simulationConfigurationChanged)

        self.setLayout(layout)