@@ -299,7 +299,6 @@ def update(self, values, check_conflict=False, check_already_exists=True, path="
299299 if value .startswith ("[function]" ):
300300 loaded_value = pybamm .load_function (os .path .join (path , value [10 :]))
301301 self ._dict_items [name ] = loaded_value
302- values [name ] = loaded_value
303302 # Data is flagged with the string "[data]" or "[current data]"
304303 elif value .startswith ("[current data]" ) or value .startswith ("[data]" ):
305304 if value .startswith ("[current data]" ):
@@ -317,8 +316,6 @@ def update(self, values, check_conflict=False, check_already_exists=True, path="
317316 ).to_numpy ()
318317 # Save name and data
319318 self ._dict_items [name ] = (function_name , ([data [:, 0 ]], data [:, 1 ]))
320- values [name ] = (function_name , ([data [:, 0 ]], data [:, 1 ]))
321-
322319 # parse 2D parameter data
323320 elif value .startswith ("[2D data]" ):
324321 filename = os .path .join (path , value [9 :] + ".json" )
@@ -330,14 +327,19 @@ def update(self, values, check_conflict=False, check_already_exists=True, path="
330327 data [0 ] = [np .array (el ) for el in data [0 ]]
331328 data [1 ] = np .array (data [1 ])
332329 self ._dict_items [name ] = (function_name , data )
333- values [name ] = (function_name , data )
334330
335331 elif value == "[input]" :
336332 self ._dict_items [name ] = pybamm .InputParameter (name )
337333 # Anything else should be a converted to a float
338334 else :
339335 self ._dict_items [name ] = float (value )
340- values [name ] = float (value )
336+ elif isinstance (value , tuple ) and isinstance (value [1 ], np .ndarray ):
337+ # If data is provided as a 2-column array (1D data),
338+ # convert to two arrays for compatibility with 2D data
339+ # see #1805
340+ func_name , data = value
341+ data = ([data [:, 0 ]], data [:, 1 ])
342+ self ._dict_items [name ] = (func_name , data )
341343 else :
342344 self ._dict_items [name ] = value
343345 # reset processed symbols
@@ -645,9 +647,6 @@ def _process_symbol(self, symbol):
645647 # to create an Interpolant
646648 name , data = function_name
647649
648- if isinstance (data , np .ndarray ):
649- data = [data [:, 0 ]], data [:, 1 ]
650-
651650 if len (data [0 ]) == 1 :
652651 input_data = data [0 ][0 ], data [1 ]
653652
0 commit comments