diff --git a/src/ert/config/__init__.py b/src/ert/config/__init__.py index 1dd26b80f48..cda975a3960 100644 --- a/src/ert/config/__init__.py +++ b/src/ert/config/__init__.py @@ -2,7 +2,6 @@ from .analysis_module import AnalysisModule, ESSettings, IESSettings from .capture_validation import capture_validation from .design_matrix import DesignMatrix -from .enkf_observation_implementation_type import ObservationType from .ensemble_config import EnsembleConfig from .ert_config import ErtConfig from .ert_plugin import CancelPluginException, ErtPlugin @@ -33,6 +32,7 @@ QueueSystem, WarningInfo, ) +from .parsing.observations_parser import ObservationType from .queue_config import QueueConfig from .response_config import InvalidResponseFile, ResponseConfig from .summary_config import SummaryConfig diff --git a/src/ert/config/enkf_observation_implementation_type.py b/src/ert/config/enkf_observation_implementation_type.py deleted file mode 100644 index 34d01a17f55..00000000000 --- a/src/ert/config/enkf_observation_implementation_type.py +++ /dev/null @@ -1,6 +0,0 @@ -from enum import Enum, auto - - -class ObservationType(Enum): - GEN_OBS = auto() - SUMMARY_OBS = auto() diff --git a/src/ert/config/observation_vector.py b/src/ert/config/observation_vector.py index f6107880696..787ab72e660 100644 --- a/src/ert/config/observation_vector.py +++ b/src/ert/config/observation_vector.py @@ -6,8 +6,8 @@ import numpy as np -from .enkf_observation_implementation_type import ObservationType from .general_observation import GenObservation +from .parsing import ObservationType from .summary_observation import SummaryObservation if TYPE_CHECKING: @@ -31,7 +31,7 @@ def __len__(self) -> int: return len(self.observations) def to_dataset(self, active_list: list[int]) -> polars.DataFrame: - if self.observation_type == ObservationType.GEN_OBS: + if self.observation_type == ObservationType.GENERAL: dataframes = [] for time_step, node in self.observations.items(): if active_list and time_step not in active_list: @@ -58,7 +58,7 @@ def to_dataset(self, active_list: list[int]) -> polars.DataFrame: combined = polars.concat(dataframes) return combined - elif self.observation_type == ObservationType.SUMMARY_OBS: + elif self.observation_type == ObservationType.SUMMARY: observations = [] actual_response_key = self.observation_key actual_observation_keys = [] diff --git a/src/ert/config/observations.py b/src/ert/config/observations.py index 99a21047682..cb7c26fe30b 100644 --- a/src/ert/config/observations.py +++ b/src/ert/config/observations.py @@ -10,11 +10,10 @@ from ert.validation import rangestring_to_list -from .enkf_observation_implementation_type import ObservationType from .gen_data_config import GenDataConfig from .general_observation import GenObservation from .observation_vector import ObsVector -from .parsing import ConfigWarning, HistorySource +from .parsing import ConfigWarning, HistorySource, ObservationType from .parsing.observations_parser import ( DateValues, ErrorValues, @@ -46,13 +45,13 @@ class EnkfObs: def __post_init__(self) -> None: grouped: dict[str, list[polars.DataFrame]] = {} for vec in self.obs_vectors.values(): - if vec.observation_type == ObservationType.SUMMARY_OBS: + if vec.observation_type == ObservationType.SUMMARY: if "summary" not in grouped: grouped["summary"] = [] grouped["summary"].append(vec.to_dataset([])) - elif vec.observation_type == ObservationType.GEN_OBS: + elif vec.observation_type == ObservationType.GENERAL: if "gen_data" not in grouped: grouped["gen_data"] = [] @@ -183,7 +182,7 @@ def _handle_history_observation( return { summary_key: ObsVector( - ObservationType.SUMMARY_OBS, + ObservationType.SUMMARY, summary_key, "summary", data, @@ -334,7 +333,7 @@ def _handle_summary_observation( ) return { obs_key: ObsVector( - ObservationType.SUMMARY_OBS, + ObservationType.SUMMARY, summary_key, "summary", {date: SummaryObservation(summary_key, obs_key, value, std_dev)}, @@ -463,7 +462,7 @@ def _handle_general_observation( try: return { obs_key: ObsVector( - ObservationType.GEN_OBS, + ObservationType.GENERAL, obs_key, response_key, { diff --git a/src/ert/config/parsing/__init__.py b/src/ert/config/parsing/__init__.py index 3a4a07bedfe..6ac0114fe67 100644 --- a/src/ert/config/parsing/__init__.py +++ b/src/ert/config/parsing/__init__.py @@ -10,6 +10,7 @@ from .history_source import HistorySource from .hook_runtime import HookRuntime from .lark_parser import parse, parse_contents, read_file +from .observations_parser import ObservationType from .queue_system import QueueSystem, QueueSystemWithGeneric from .schema_item_type import SchemaItemType from .types import MaybeWithContext @@ -31,6 +32,7 @@ "HistorySource", "HookRuntime", "MaybeWithContext", + "ObservationType", "QueueSystem", "QueueSystemWithGeneric", "SchemaItemType", diff --git a/src/ert/libres_facade.py b/src/ert/libres_facade.py index 7a075fba84e..37b59792ee1 100644 --- a/src/ert/libres_facade.py +++ b/src/ert/libres_facade.py @@ -152,7 +152,7 @@ def get_observations(self) -> EnkfObs: def get_data_key_for_obs_key(self, observation_key: str) -> str: obs = self.config.enkf_obs[observation_key] - if obs.observation_type == ObservationType.SUMMARY_OBS: + if obs.observation_type == ObservationType.SUMMARY: return next(iter(obs.observations.values())).summary_key # type: ignore else: return obs.data_key diff --git a/tests/ert/unit_tests/config/test_observations.py b/tests/ert/unit_tests/config/test_observations.py index ae03c02b458..5b81dcd9d1d 100644 --- a/tests/ert/unit_tests/config/test_observations.py +++ b/tests/ert/unit_tests/config/test_observations.py @@ -135,7 +135,7 @@ def test_observations(minimum_case): summary_key = "test_key" observation_key = "test_obs_key" observation_vector = ObsVector( - ObservationType.SUMMARY_OBS, + ObservationType.SUMMARY, observation_key, "summary", {}, diff --git a/tests/ert/unit_tests/storage/test_local_storage.py b/tests/ert/unit_tests/storage/test_local_storage.py index b89a961c43d..4d033a5eeac 100644 --- a/tests/ert/unit_tests/storage/test_local_storage.py +++ b/tests/ert/unit_tests/storage/test_local_storage.py @@ -23,14 +23,12 @@ Field, GenDataConfig, GenKwConfig, + ObservationType, ParameterConfig, ResponseConfig, SummaryConfig, SurfaceConfig, ) -from ert.config.enkf_observation_implementation_type import ( - ObservationType, -) from ert.config.gen_kw_config import TransformFunctionDefinition from ert.config.general_observation import GenObservation from ert.config.observation_vector import ObsVector @@ -537,7 +535,7 @@ def _inner(params): words, st.builds( ObsVector, - observation_type=st.just(ObservationType.GEN_OBS), + observation_type=st.just(ObservationType.GENERAL), observation_key=words, data_key=words, observations=st.dictionaries(