diff --git a/src/clib/lib/enkf/read_summary.cpp b/src/clib/lib/enkf/read_summary.cpp index 9cbdf018c3f..62ee5d5da46 100644 --- a/src/clib/lib/enkf/read_summary.cpp +++ b/src/clib/lib/enkf/read_summary.cpp @@ -23,12 +23,15 @@ ERT_CLIB_SUBMODULE("_read_summary", m) { const ecl_smspec_type *smspec = ecl_sum_get_smspec(summary); std::vector>> summary_vectors{}; - + std::vector seen_keys{}; for (int i = 0; i < ecl_smspec_num_nodes(smspec); i++) { const ecl::smspec_node &smspec_node = ecl_smspec_iget_node_w_node_index(smspec, i); const char *key = smspec_node.get_gen_key1(); - if (matches(keys, key)) { + if ((matches(keys, key)) && + !(std::find(seen_keys.begin(), seen_keys.end(), key) != + seen_keys.end())) { + seen_keys.push_back(key); int start = ecl_sum_get_first_report_step(summary); int end = ecl_sum_get_last_report_step(summary); std::vector data{}; diff --git a/src/ert/config/summary_config.py b/src/ert/config/summary_config.py index 1c4ce5ebae9..0fed2c8a31c 100644 --- a/src/ert/config/summary_config.py +++ b/src/ert/config/summary_config.py @@ -77,13 +77,12 @@ def read_from_file(self, run_path: str, iens: int) -> xr.Dataset: f"from: {run_path}/{filename}.UNSMRY" ) - summary_data = read_summary(summary, self.keys) + summary_data = read_summary(summary, list(set(self.keys))) summary_data.sort(key=lambda x: x[0]) data = [d for _, d in summary_data] keys = [k for k, _ in summary_data] - ds = xr.Dataset( {"values": (["name", "time"], data)}, coords={"time": time_map, "name": keys}, ) - return ds.drop_duplicates(["time"]) + return ds.drop_duplicates("time")