Пример #1
0
    def test_gen_kw_keys(self):
        with ErtTestContext("enkf_key_manager_test", self.config_file) as testContext:
            ert = testContext.getErt()
            key_man = KeyManager(ert)

            self.assertEqual(len(key_man.genKwKeys()), 10)
            self.assertTrue("SNAKE_OIL_PARAM:BPR_555_PERSISTENCE" in key_man.genKwKeys())
Пример #2
0
 def getAllObservationKeys(ert: EnKFMain):
     """
     @type ert: EnKFMain
     @rtype: list of str
     """
     key_manager = KeyManager(ert)
     return key_manager.summaryKeysWithObservations()
Пример #3
0
    def test_custom_keys(self):
        with ErtTestContext("enkf_key_manager_test", self.config_file) as testContext:
            ert = testContext.getErt()
            key_man = KeyManager(ert)

            self.assertEqual( len(key_man.customKwKeys()), 2)
            self.assertTrue("SNAKE_OIL_NPV:NPV" in key_man.customKwKeys())
Пример #4
0
 def test_gen_kw_priors(self):
     with ErtTestContext("enkf_key_manager_test", self.config_file) as testContext:
         ert = testContext.getErt()
         key_man = KeyManager(ert)
         priors = key_man.gen_kw_priors()
         self.assertEqual(len(priors["SNAKE_OIL_PARAM"]), 10)
         self.assertTrue(
             {
                 "key" : "OP1_PERSISTENCE",
                 "function" : "UNIFORM",
                 "parameters" : {"MIN" : 0.01, "MAX" : 0.4}
             } in priors["SNAKE_OIL_PARAM"]
         )
Пример #5
0
    def __init__(self, config, strict=True, verbose=True):
        """
        Initializes an instance of EnkfMain.

        Note: @config ought to be the ResConfig instance holding the
        configuration. It also accepts that config is the name of a
        configuration file, this is however deprecated.
        """

        res_config = self._init_res_config(config)
        if res_config is None:
            raise TypeError("Failed to construct EnKFMain instance due to invalid res_config.")

        c_ptr = self._alloc(res_config, strict, verbose)
        if c_ptr:
            super(EnKFMain, self).__init__(c_ptr)
        else:
            raise ValueError('Failed to construct EnKFMain instance from config %s.' % res_config)

        if config is None:
            self.__simulation_runner = None
            self.__fs_manager = None
            self.__es_update = None
        else:
            self.__simulation_runner = EnkfSimulationRunner(self)
            self.__fs_manager = EnkfFsManager(self)
            self.__es_update = ESUpdate(self)


        self.__key_manager = KeyManager(self)
Пример #6
0
    def __init__(self, model_config, res_config=None, strict=True, verbose=True):
        if model_config is not None and not isfile(model_config):
            raise IOError('No such configuration file "%s".' % model_config)

        if res_config is None:
            res_config = ResConfig(model_config)
            res_config.convertToCReference(self)

        if res_config is None or not isinstance(res_config, ResConfig):
            raise TypeError("Failed to construct EnKFMain instance due to invalid res_config.")

        c_ptr = self._alloc(model_config, res_config, strict, verbose)
        if c_ptr:
            super(EnKFMain, self).__init__(c_ptr)
        else:
            raise ValueError('Failed to construct EnKFMain instance from config %s.' % model_config)

        # The model_config argument can be None; the only reason to
        # allow that possibility is to be able to test that the
        # site-config loads correctly.
        if model_config is None:
            self.__simulation_runner = None
            self.__fs_manager = None
            self.__es_update = None
        else:
            self.__simulation_runner = EnkfSimulationRunner(self)
            self.__fs_manager = EnkfFsManager(self)
            self.__es_update = ESUpdate(self)


        self.__key_manager = KeyManager(self)
Пример #7
0
    def test_summary_keys(self):
        with ErtTestContext("enkf_key_manager_test", self.config_file) as testContext:
            ert = testContext.getErt()
            key_man = KeyManager(ert)

            self.assertEqual(len(key_man.summaryKeys()), 47)
            self.assertTrue("FOPT" in key_man.summaryKeys())

            self.assertEqual(len(key_man.summaryKeysWithObservations()), 2)
            self.assertTrue("FOPR" in key_man.summaryKeysWithObservations())
            self.assertTrue(key_man.isKeyWithObservations("FOPR"))
Пример #8
0
    def test_gen_data_keys(self):
        with ErtTestContext("enkf_key_manager_test", self.config_file) as testContext:
            ert = testContext.getErt()
            key_man = KeyManager(ert)

            self.assertEqual( len(key_man.genDataKeys()), 3)
            self.assertTrue("SNAKE_OIL_WPR_DIFF@199" in key_man.genDataKeys())

            self.assertEqual(len(key_man.genDataKeysWithObservations()), 1)
            self.assertTrue("SNAKE_OIL_WPR_DIFF@199" in key_man.genDataKeysWithObservations())
            self.assertTrue(key_man.isKeyWithObservations("SNAKE_OIL_WPR_DIFF@199"))
Пример #9
0
    def __init__(self, config, strict=True, verbose=False):
        """ Please don't use this class directly. See EnKFMain instead """

        res_config = self._init_res_config(config)
        if res_config is None:
            raise TypeError("Failed to construct EnKFMain instance due to invalid res_config.")

        c_ptr = self._alloc(res_config, strict, verbose)
        if c_ptr:
            super(_RealEnKFMain, self).__init__(c_ptr)
        else:
            raise ValueError('Failed to construct EnKFMain instance from config %s.' % res_config)

        self.__key_manager = KeyManager(self)
Пример #10
0
 def getAllGenKwKeys(ert):
     """ @rtype: list of str """
     key_manager = KeyManager(ert)
     return key_manager.genKwKeys()
Пример #11
0
 def getAllMisfitKeys(ert, sort_keys=True):
     """ @rtype: list of str """
     key_manager = KeyManager(ert)
     return key_manager.misfitKeys(sort_keys=sort_keys)
Пример #12
0
 def getAllCustomKWKeys(ert):
     """ @rtype: list of str """
     key_manager = KeyManager(ert)
     return key_manager.customKwKeys()
Пример #13
0
 def getAllSummaryKeys(ert):
     """ @rtype: list of str """
     key_manager = KeyManager(ert)
     return key_manager.summaryKeys()