Exemplo n.º 1
0
def get_step(step_name, inputs, outputs, jobs, type_="unix"):
    step_source = "/ert/ee/test_ee_id/real/0/step/0"
    step_builder = ee.create_step_builder()
    for idx, (name, executable, args) in enumerate(jobs):
        step_builder.add_job(
            ee.create_job_builder()
            .set_id(str(idx))
            .set_name(name)
            .set_executable(executable)
            .set_args(args)
            .set_step_source(step_source)
        )
    step_builder.set_source(source=step_source)
    step_builder.set_id("0")
    step_builder.set_name(step_name)
    for name, path, mime in inputs:
        step_builder.add_input(
            ee.create_file_io_builder()
            .set_name(name)
            .set_path(Path(path))
            .set_mime(mime)
            .set_executable()
        )
    for name, path, mime in outputs:
        step_builder.add_output(
            ee.create_file_io_builder().set_name(name).set_path(path).set_mime(mime)
        )
    step_builder.set_type(type_)
    return step_builder.build()
Exemplo n.º 2
0
    def _get_reals(self):
        real_builders = []
        for iens in range(0, self.config[ids.REALIZATIONS]):
            real_builder = create_realization_builder().active(True).set_iens(iens)
            for step in self.config[ids.STEPS]:
                step_id = uuid.uuid4()
                step_source = f"/ert/ee/{{ee_id}}/real/{iens}/step/{step_id}"
                step_builder = (
                    create_step_builder()
                    .set_id(step_id)
                    .set_name(step[ids.NAME])
                    .set_source(step_source)
                    .set_type(step[ids.TYPE])
                )

                for io in step.get(ids.INPUTS, []):
                    input_builder = (
                        create_file_io_builder()
                        .set_name(io[ids.RECORD])
                        .set_path(io[ids.LOCATION])
                        .set_mime(io[ids.MIME])
                    )

                    if io.get(ids.IS_EXECUTABLE):
                        input_builder.set_executable()

                    step_builder.add_input(input_builder)
                for io in step.get(ids.OUTPUTS, []):
                    step_builder.add_output(
                        create_file_io_builder()
                        .set_name(io[ids.RECORD])
                        .set_path(io[ids.LOCATION])
                        .set_mime(io[ids.MIME])
                    )

                for job in step[ids.JOBS]:
                    job_builder = (
                        create_job_builder()
                        .set_id(str(uuid.uuid4()))
                        .set_name(job[ids.NAME])
                        .set_executable(job[ids.EXECUTABLE])
                        .set_args(job.get(ids.ARGS))
                        .set_step_source(step_source)
                    )
                    step_builder.add_job(job_builder)
                real_builder.add_step(step_builder)
            real_builders.append(real_builder)
        return [builder.build() for builder in real_builders]