diff --git a/src/subscript/fmuobs/parsers.py b/src/subscript/fmuobs/parsers.py index 607a9e1ac..50d6253c9 100644 --- a/src/subscript/fmuobs/parsers.py +++ b/src/subscript/fmuobs/parsers.py @@ -462,7 +462,11 @@ def resinsight_df2df(ri_dframe: pd.DataFrame) -> pd.DataFrame: dframe = ri_dframe.copy() dframe.rename({"VECTOR": "KEY"}, axis="columns", inplace=True) - dframe["LABEL"] = dframe["KEY"].astype(str) # + "-" + dframe["DATE"].astype(str) + dframe["LABEL"] = ( + dframe["KEY"].astype(str) + + "-" + + (dframe.groupby("KEY").cumcount() + 1).astype(str) + ) dframe["CLASS"] = "SUMMARY_OBSERVATION" if "DATE" in dframe: dframe["DATE"] = pd.to_datetime(dframe["DATE"]) diff --git a/tests/testdata_fmuobs/ert-doc.csv b/tests/testdata_fmuobs/ert-doc.csv index 65c412744..9c2a6fac4 100644 --- a/tests/testdata_fmuobs/ert-doc.csv +++ b/tests/testdata_fmuobs/ert-doc.csv @@ -1,5 +1,6 @@ CLASS,LABEL,VALUE,ERROR,DATE,KEY,RESTART,DAYS,OBS,FIELD,I,J,K,SOURCE,DATA,OBS_FILE,INDEX_LIST,ERROR_MODE,ERROR_MIN,SEGMENT,START,STOP SUMMARY_OBSERVATION,SEP_TEST_2005,100.0,5.0,2005-08-21,GOPR:BRENT,,,,,,,,,,,,,,,, +SUMMARY_OBSERVATION,SEP_TEST_2006,100.0,5.0,2006-08-21,GOPR:BRENT,,,,,,,,,,,,,,,, SUMMARY_OBSERVATION,SEP_TEST_RST_2005,100.0,5.0,,GOPR:BRENT,42.0,,,,,,,,,,,,,,, SUMMARY_OBSERVATION,SEP_TEST_2008,213.0,10.0,,GOPR:NESS,,911.0,,,,,,,,,,,,,, BLOCK_OBSERVATION,RFT_2006,100.0,5.0,2006-10-22,,,,P1,PRESSURE,1.0,1.0,1.0,,,,,,,,, diff --git a/tests/testdata_fmuobs/ert-doc.obs b/tests/testdata_fmuobs/ert-doc.obs index 9d517a528..5e20080c0 100644 --- a/tests/testdata_fmuobs/ert-doc.obs +++ b/tests/testdata_fmuobs/ert-doc.obs @@ -1,4 +1,4 @@ - -- These observation data are copied from the ERT docs, + -- These observation data are mainly copied from the ERT docs, -- https://github.com/equinor/ert/blob/master/docs/rst/manual/reference/configuration/observations.rst SUMMARY_OBSERVATION SEP_TEST_2005 @@ -8,6 +8,14 @@ DATE = 21/08/2005; KEY = GOPR:BRENT; }; + -- Duplicate key, but unique label and date. + SUMMARY_OBSERVATION SEP_TEST_2006 + { + VALUE = 100.0; + ERROR = 5; + DATE = 21/08/2006; + KEY = GOPR:BRENT; + }; -- Giving the observation time in terms of restart number. SUMMARY_OBSERVATION SEP_TEST_RST_2005 diff --git a/tests/testdata_fmuobs/ert-doc.yml b/tests/testdata_fmuobs/ert-doc.yml index 152ed3a7a..8201596ef 100644 --- a/tests/testdata_fmuobs/ert-doc.yml +++ b/tests/testdata_fmuobs/ert-doc.yml @@ -53,6 +53,10 @@ smry: error: 5.0 label: SEP_TEST_2005 value: 100.0 + - date: '2006-08-21' + error: 5.0 + label: SEP_TEST_2006 + value: 100.0 - error: 5.0 label: SEP_TEST_RST_2005 restart: 42.0 diff --git a/tests/testdata_fmuobs/ri-obs.csv b/tests/testdata_fmuobs/ri-obs.csv index e3f2c3cb6..5915bdc68 100644 --- a/tests/testdata_fmuobs/ri-obs.csv +++ b/tests/testdata_fmuobs/ri-obs.csv @@ -1,2 +1,3 @@ DATE;VECTOR;VALUE;ERROR 2005-08-21;GOPR:BRENT;100.0;5.0 +2006-08-21;GOPR:BRENT;100.0;5.0