예제 #1
0
def _evaluate_ensemble(enkf_main: EnKFMain, run_context: ErtRunContext):
    """
    Launch ensemble experiment with the created config
    """
    queue_config = enkf_main.get_queue_config()
    job_queue = queue_config.create_job_queue()

    enkf_main.getEnkfSimulationRunner().runSimpleStep(job_queue, run_context)
예제 #2
0
    def test_run_context_from_external_folder(self):
        with TestAreaContext('enkf_test') as work_area:
            work_area.copy_directory(self.case_directory_custom_kw)
            res_config = ResConfig('snake_oil/snake_oil.ert')
            main = EnKFMain(res_config)
            fs_manager = main.getEnkfFsManager()
            fs = fs_manager.getCurrentFileSystem( )
            
            mask = BoolVector(default_value = False , initial_size = 10)
            mask[0] = True
            run_context = main.getRunContextENSEMPLE_EXPERIMENT( fs , mask )

            self.assertEqual( len(run_context) , 1 )
            
            job_queue = main.get_queue_config().create_job_queue()
            main.getEnkfSimulationRunner().createRunPath( run_context )
            num = main.getEnkfSimulationRunner().runEnsembleExperiment(job_queue, run_context)
            
            self.assertEqual( num , 1 )
예제 #3
0
def _create_runpath(enkf_main: EnKFMain) -> ErtRunContext:
    """
    Instantiate an ERT runpath. This will create the parameter coefficients.
    """
    result_fs = enkf_main.getEnkfFsManager().getCurrentFileSystem()

    model_config = enkf_main.getModelConfig()
    runpath_fmt = model_config.getRunpathFormat()
    jobname_fmt = model_config.getJobnameFormat()
    subst_list = enkf_main.getDataKW()

    run_context = ErtRunContext.ensemble_smoother(
        result_fs,
        None,
        BoolVector(default_value=True, initial_size=1),
        runpath_fmt,
        jobname_fmt,
        subst_list,
        0,
    )

    enkf_main.getEnkfSimulationRunner().createRunPath(run_context)
    return run_context
예제 #4
0
파일: test_enkf.py 프로젝트: oyvindeide/ert
    def test_run_context_from_external_folder(self):
        with TestAreaContext("enkf_test") as work_area:
            work_area.copy_directory(self.case_directory_snake_oil)
            res_config = ResConfig("snake_oil/snake_oil.ert")
            main = EnKFMain(res_config)
            fs_manager = main.getEnkfFsManager()
            fs = fs_manager.getCurrentFileSystem()

            mask = [False] * 10
            mask[0] = True
            run_context = main.getRunContextENSEMPLE_EXPERIMENT(fs, mask)

            self.assertEqual(len(run_context), 10)

            job_queue = main.get_queue_config().create_job_queue()
            main.getEnkfSimulationRunner().createRunPath(run_context)
            num = main.getEnkfSimulationRunner().runEnsembleExperiment(
                job_queue, run_context)
            self.assertTrue(
                os.path.isdir(
                    "snake_oil/storage/snake_oil/runpath/realization-0/iter-0")
            )
            self.assertEqual(num, 1)