def run_ensemble_evaluator(self, run_context: ErtRunContext, ee_config: EvaluatorServerConfig) -> int: if run_context.get_step(): self.ert().eclConfig().assert_restart() iactive = run_context.get_mask() run_context.get_sim_fs().getStateMap().deselectMatching( iactive, RealizationStateEnum.STATE_LOAD_FAILURE | RealizationStateEnum.STATE_PARENT_FAILURE, ) ensemble = create_ensemble_builder_from_legacy( run_context, self.get_forward_model(), self._queue_config, self.ert().analysisConfig(), self.ert().resConfig(), ).build() self.ert().initRun(run_context) totalOk = EnsembleEvaluator( ensemble, ee_config, run_context.get_iter(), ee_id=str(uuid.uuid1()).split("-")[0], ).run_and_get_successful_realizations() for i in range(len(run_context)): if run_context.is_active(i): run_arg = run_context[i] if (run_arg.run_status == RunStatusType.JOB_LOAD_FAILURE or run_arg.run_status == RunStatusType.JOB_RUN_FAILURE): run_context.deactivate_realization(i) run_context.get_sim_fs().fsync() return totalOk
def count_active_realizations(self, run_context: ErtRunContext) -> int: return sum(run_context.get_mask())