Source code for fmu.sumo.explorer.objects.realization

"""Module for (pseudo) realization class."""

from typing import Dict, Optional

from sumo.wrapper import SumoClient

from ._document import Document
from ._search_context import SearchContext


[docs] class Realization(Document, SearchContext): """Class for representing a realization in Sumo.""" def __init__( self, sumo: SumoClient, metadata: Dict, blob: Optional[bytes] = None ): assert blob is None Document.__init__(self, metadata) SearchContext.__init__( self, sumo, must=[{"term": {"fmu.realization.uuid.keyword": self.uuid}}], ) pass def __str__(self): return ( f"<{self.__class__.__name__}: {self.realizationid} {self.uuid}(uuid) " f"in ensemble {self.ensemblename} " f"in case {self.casename} " f"in asset {self.asset}>" ) def __repr__(self): return self.__str__() @property def field(self) -> str: """Case field""" return self.get_property("masterdata.smda.field[0].identifier") @property def asset(self) -> str: """Case asset""" return self.get_property("access.asset.name") @property def user(self) -> str: """Name of user who uploaded ensemble.""" return self.get_property("fmu.case.user.id") @property def caseuuid(self) -> str: """FMU case uuid""" return self.get_property("fmu.case.uuid") @property def casename(self) -> str: """FMU case name""" return self.get_property("fmu.case.name") @property def ensembleuuid(self) -> str: """FMU ensemble uuid""" return self.get_property("fmu.ensemble.uuid") @property def ensemblename(self) -> str: """FMU ensemble name""" return self.get_property("fmu.ensemble.name") @property def realizationuuid(self) -> str: """FMU realization uuid""" return self.get_property("fmu.realization.uuid") @property def realizationname(self) -> str: """FMU realization name""" return self.get_property("fmu.realization.name") @property def realizationid(self) -> int: """FMU realization id""" return self.get_property("fmu.realization.id") @property def is_reference(self) -> bool: """Check if reference realization.""" return self.get_property("fmu.realization.is_reference") is True