def __init__(self, ert, size, verbose=False): self._ert = ert """ :type: ert.enkf.EnKFMain """ self._size = size self._queue_manager = JobQueueManager(ert.siteConfig().getJobQueue()) self._queue_manager.startQueue(size, verbose=verbose) self._run_args = {} """ :type: dict[int, RunArg] """ self._thread_pool = CThreadPool(8) self._thread_pool.addTaskFunction("submitJob", ENKF_LIB, "enkf_main_isubmit_job__")
def __init__(self, ert_handle, size, run_fs, run_count): self.ert_handle = ert_handle self.size = size self.runner = ert_handle.getEnkfSimulationRunner() site_config = self.ert_handle.siteConfig() self.queue_manager = JobQueueManager(site_config.getJobQueue()) self.queue_manager.startQueue(size, verbose=True) mask = BoolVector(default_value=True) mask[size - 1] = True self.ert_handle.addDataKW("<ELCO_RUN_COUNT>", "%s" % run_count) self.ert_run_context = self.ert_handle.getRunContextENSEMPLE_EXPERIMENT( run_fs, mask)
def __init__(self, ert, size, verbose=False): self._ert = ert """ :type: ert.enkf.EnKFMain """ self._size = size self._queue_manager = JobQueueManager(ert.siteConfig().getJobQueue()) self._queue_manager.startQueue(size, verbose=verbose) mask = BoolVector(default_value=True, initial_size=size) runpath_fmt = self._ert.getModelConfig().getRunpathFormat() subst_list = self._ert.getDataKW() self._runpath_list = ErtRunContext.createRunpathList( mask, runpath_fmt, subst_list) self._run_args = {} """ :type: dict[int, RunArg] """ self._thread_pool = CThreadPool(8) self._thread_pool.addTaskFunction("submitJob", ENKF_LIB, "enkf_main_isubmit_job__")
res_config = ResConfig(sys.argv[1]) ert = EnKFMain(res_config) fs_manager = ert.getEnkfFsManager() fs = fs_manager.getCurrentFileSystem() # Initialize the realisations. for iens in range(ert.getEnsembleSize()): realisation = ert.getRealisation(iens) realisation.initialize(fs) # Fetch out the job_queue from the SiteConfig object. In addition we # create a JobQueueManager objects which wraps the queue. The purpose # of this manager object is to let the queue run nonblocking in the # background. site_config = ert.siteConfig() queue_manager = JobQueueManager(site_config.getJobQueue()) queue_manager.startQueue(ert.getEnsembleSize(), verbose=False) # Create list of RunArg instances which hold metadata for one running # realisation, create the directory where the simulation should run # and submit the simulation. path_fmt = "/tmp/run%d" arg_list = [ RunArg.createEnsembleExperimentRunArg(fs, iens, path_fmt % iens) for iens in range(ert.getEnsembleSize()) ] for arg in arg_list: ert.createRunPath(arg) ert.submitSimulation(arg) while True: