Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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)]
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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()
Ejemplo n.º 7
0
 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)
Ejemplo n.º 8
0
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)