As described by @khaeru on Slack (not public), it may be that ixmp4 Parameter data/dicts return different object types than the same data stored in JDBC. In particular, passing an empty "value" might be identified as type object on ixmp4, whereas JDBC always sets this as float:
|
# Prepare dtypes for additional columns |
|
if type == "par": |
|
columns.extend(["value", "unit"]) |
|
dtypes.update(value=float, unit=str) |
|
# Same as above |
|
# dtypes['unit'] = CategoricalDtype(self.jobj.getUnitList()) |
|
elif type in ("equ", "var"): |
|
columns.extend(["lvl", "mrg"]) |
|
dtypes.update(lvl=float, mrg=float) |
I'm not sure whether that changed in the meantime (originally, the comment was made in May), so the first step is to check whether this still exists and should be resolved.
If we want to resolve it, I'm not sure whether this should be ixmp4's task (because that is storing the data, after all), or IXMP4Backend's task (because that's supposed to ensure compatibility).
As described by @khaeru on Slack (not public), it may be that ixmp4 Parameter data/dicts return different object types than the same data stored in JDBC. In particular, passing an empty "value" might be identified as type
objecton ixmp4, whereas JDBC always sets this asfloat:ixmp/ixmp/backend/jdbc.py
Lines 1032 to 1040 in c07d3f3
I'm not sure whether that changed in the meantime (originally, the comment was made in May), so the first step is to check whether this still exists and should be resolved.
If we want to resolve it, I'm not sure whether this should be ixmp4's task (because that is storing the data, after all), or IXMP4Backend's task (because that's supposed to ensure compatibility).