コード例 #1
0
ファイル: records.py プロジェクト: oysteoh/ert
def get_ensemble_responses(*,
                           res: LibresFacade = Depends(get_res),
                           ensemble_id: UUID) -> Mapping[str, js.RecordOut]:

    response_map: Mapping[str, js.RecordOut] = {}
    case = get_name("ensemble", ensemble_id)

    for response_name in get_response_names():
        obs_keys = res.observation_keys(response_name)
        observations_list = [
            js.ObservationOut(
                id=uuid4(),
                userData=[],
                errors=obs["errors"],
                values=obs["values"],
                x_axis=obs["x_axis"],
                name=obs["name"],
            ) for obs in observations_for_obs_keys(case, obs_keys)
        ]
        response_map[str(response_name)] = js.RecordOut(
            id=get_id(f"response", f"{ensemble_id}/{response_name}"),
            name=response_name,
            userdata={},
            observations=observations_list,
        )

    return response_map
コード例 #2
0
async def get_record_observations(
    *,
    db: Session = Depends(get_db),
    ensemble_id: UUID,
    name: str,
    realization_index: Optional[int] = None,
) -> List[js.ObservationOut]:
    if realization_index is None:
        bundle = _get_ensemble_record(db, ensemble_id, name)
    else:
        bundle = _get_forward_model_record(db, ensemble_id, name,
                                           realization_index)
    if bundle.observations:
        return [
            js.ObservationOut(
                id=obs.id,
                name=obs.name,
                x_axis=obs.x_axis,
                errors=obs.errors,
                values=obs.values,
                records=[rec.id for rec in obs.records],
                metadata=obs.metadata_dict,
            ) for obs in bundle.observations
        ]
    return []
コード例 #3
0
def get_observations(*,
                     res: LibresFacade = Depends(get_res),
                     experiment_id: UUID) -> List[js.ObservationOut]:
    return [
        js.ObservationOut(
            id=uuid4(),
            userData=[],
            errors=obs["errors"],
            values=obs["values"],
            x_axis=obs["x_axis"],
            name=obs["name"],
        ) for obs in create_observations(res)
    ]
コード例 #4
0
ファイル: records.py プロジェクト: equinor/ert-storage
async def get_record_observations(
    *,
    db: Session = Depends(get_db),
    record: ds.Record = Depends(get_record_by_name),
) -> List[js.ObservationOut]:
    if record.observations:
        return [
            js.ObservationOut(
                id=obs.id,
                name=obs.name,
                x_axis=obs.x_axis,
                errors=obs.errors,
                values=obs.values,
                records=[rec.id for rec in obs.records],
                userdata=obs.userdata,
            )
            for obs in record.observations
        ]
    return []
コード例 #5
0
ファイル: records.py プロジェクト: oysteoh/ert
async def get_record_observations(
    *,
    res: LibresFacade = Depends(get_res),
    ensemble_id: UUID,
    name: str,
    realization_index: Optional[int] = None,
) -> List[js.ObservationOut]:
    obs_keys = res.observation_keys(name)
    case = get_name("ensemble", ensemble_id)
    obss = observations_for_obs_keys(case, obs_keys)
    return [
        js.ObservationOut(
            id=uuid4(),
            userData=[],
            errors=obs["errors"],
            values=obs["values"],
            x_axis=obs["x_axis"],
            name=obs["name"],
        ) for obs in obss
    ]
コード例 #6
0
ファイル: observations.py プロジェクト: equinor/ert-storage
def _observation_from_db(
        obs: ds.Observation,
        transformations: Optional[Mapping[str,
                                          Any]] = None) -> js.ObservationOut:
    transformation = None
    if transformations is not None and obs.name in transformations:
        transformation = js.ObservationTransformationOut(
            id=transformations[obs.name].id,
            name=obs.name,
            observation_id=obs.id,
            scale=transformations[obs.name].scale_list,
            active=transformations[obs.name].active_list,
        )
    return js.ObservationOut(
        id=obs.id,
        name=obs.name,
        x_axis=obs.x_axis,
        errors=obs.errors,
        values=obs.values,
        records=[rec.id for rec in obs.records],
        userdata=obs.userdata,
        transformation=transformation,
    )