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())
def getAllObservationKeys(ert: EnKFMain): """ @type ert: EnKFMain @rtype: list of str """ key_manager = KeyManager(ert) return key_manager.summaryKeysWithObservations()
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())
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"] )
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)
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)
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"))
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"))
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)
def getAllGenKwKeys(ert): """ @rtype: list of str """ key_manager = KeyManager(ert) return key_manager.genKwKeys()
def getAllMisfitKeys(ert, sort_keys=True): """ @rtype: list of str """ key_manager = KeyManager(ert) return key_manager.misfitKeys(sort_keys=sort_keys)
def getAllCustomKWKeys(ert): """ @rtype: list of str """ key_manager = KeyManager(ert) return key_manager.customKwKeys()
def getAllSummaryKeys(ert): """ @rtype: list of str """ key_manager = KeyManager(ert) return key_manager.summaryKeys()