Skip to content

Commit 3e16570

Browse files
committed
Fix mult-curve value order when storing to DSS
1 parent 307a994 commit 3e16570

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

src/hecdss/native.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -559,14 +559,22 @@ def hec_dss_pdStore(
559559
c_char_p, # timeZoneName (const char*) - New argument
560560
]
561561

562+
numberCurves = len(pd.values[0])
563+
if numberCurves > 1:
564+
_values = pd.values.tolist()
565+
if len(_values[0]) > 1:
566+
_values = [[_values[i][j] for i in range(len(_values))] for j in range(len(_values[0]))]
567+
values2 = np.array(_values)
568+
else:
569+
values2 = pd.values
562570
c_pathname = c_char_p(pd.id.encode("utf-8"))
563571
c_Ordinates = (c_double * len(pd.ordinates))(*pd.ordinates)
564572
c_OrdinatesLength = len(pd.ordinates)
565-
flat_list = pd.values.flatten()
573+
flat_list = values2.flatten()
566574
c_Values = (c_double * len(flat_list))(*flat_list)
567575
c_ValuesLength = len(flat_list)
568576
c_numberOrdinates = len(pd.ordinates)
569-
c_numberCurves = len(pd.values[0])
577+
c_numberCurves = numberCurves
570578
c_unitsIndependent = c_char_p(pd.units_independent.encode("utf-8"))
571579
c_typeIndependent = c_char_p(pd.type_independent.encode("utf-8"))
572580
c_unitsDependent = c_char_p(pd.units_dependent.encode("utf-8"))

0 commit comments

Comments
 (0)