def loadFromForwardModel(self, realization: List[bool], iteration: int, fs): """Returns the number of loaded realizations""" true_indices = [idx for idx, value in enumerate(realization) if value] bool_vector = BoolVector.createFromList(size=len(realization), source_list=true_indices) return self._load_from_forward_model(iteration, bool_vector, fs)
def getRunContextENSEMPLE_EXPERIMENT(self, fs, iactive: List[bool], iteration: int = 0): true_indices = [idx for idx, value in enumerate(iactive) if value] bool_vector = BoolVector.createFromList(size=len(iactive), source_list=true_indices) return self._alloc_run_context_ENSEMBLE_EXPERIMENT( fs, bool_vector, iteration)
def test_fs_init_from_scratch_deprecated(): res_config = ResConfig("snake_oil.ert") ert = EnKFMain(res_config) sim_fs = ert.getEnkfFsManager().getFileSystem("new_case") # new case mask = BoolVector.createFromList(25, [0, 1, 2, 3, 4, 5]) run_context = ErtRunContext.case_init(sim_fs, mask) with pytest.warns(DeprecationWarning): ert.getEnkfFsManager().initializeFromScratch( StringList(["SNAKE_OIL_PARAM"]), run_context) assert len(ert.getEnkfFsManager().getStateMapForCase("new_case")) == 6
def keys_with_data(observations, keys, ensamble_size, storage): """ Checks that all keys have data and returns a list of error messages """ active_realizations = storage.realizationList(RealizationStateEnum.STATE_HAS_DATA) if len(active_realizations) == 0: return [] active_mask = BoolVector.createFromList(ensamble_size, active_realizations) return [key for key in keys if observations[key].hasData(active_mask, storage)]
def test_custom_init_runs(state_mask, expected_length): res_config = ResConfig("snake_oil.ert") ert = EnKFMain(res_config) new_fs = ert.getEnkfFsManager().getFileSystem("new_case") # new case ert.getEnkfFsManager().switchFileSystem(new_fs) index_list = [i for i, flag in enumerate(state_mask) if flag] bool_vector = BoolVector.createFromList(len(state_mask), index_list) ert.getEnkfFsManager().customInitializeCurrentFromExistingCase( "default_0", 0, bool_vector, StringList(["SNAKE_OIL_PARAM"])) assert len(ert.getEnkfFsManager().getStateMapForCase( "new_case")) == expected_length
def initializeCurrentCaseFromExisting(source_case, target_case, source_report_step, parameters, members): if caseExists(source_case) and caseIsInitialized(source_case) and caseExists(target_case): total_member_count = getRealizationCount() member_mask = BoolVector.createFromList(total_member_count, members) selected_parameters = StringList(parameters) ERT.ert.getEnkfFsManager().customInitializeCurrentFromExistingCase(source_case, source_report_step, member_mask, selected_parameters) ERT.emitErtChange()
def __load(self, file_system: EnkfFs, input_mask: Optional[List[bool]] = None): assert isinstance(file_system, EnkfFs) if input_mask is None: mask = None else: mask_indices = [ idx for idx, value in enumerate(input_mask) if value ] mask = BoolVector.createFromList(mask_indices) self._load(file_system, True, 0, mask)
def boolvector_from_boollist(bool_list: List[bool]) -> BoolVector: true_indices = [idx for idx, value in enumerate(bool_list) if value] return BoolVector.createFromList(size=len(bool_list), source_list=true_indices)