OSeMOSYS / otoole

OSeMOSYS Tools for Energy
https://otoole.readthedocs.io
MIT License
25 stars 18 forks source link

AmplyError: Error in number of records of StorageMaxCapacity when reading #118

Closed EmiFej closed 2 years ago

EmiFej commented 2 years ago

Hi, I tried converting an output generated with CBC (a .txt file) using Otoole like this:

otoole results cbc csv <path to cbc solution file> <path to folder where you want the results> --input_datafile <path to datafile>

But I get an error: AmplyError: Error in number of records of StorageMaxCapacity when reading ['param', 'StorageMaxCapacity', 'default', 10000.0, [<SliceRecord: ('region', '*', '*')>, <TabularRecord: {'BASVISEG': {2020.0: 161.0, 2021.0: 161.0, 2022.0: 161.0, 2023.0: 161.0, 2024.0: 161.0, 2025.0: 161.0, 2026.0: 161.0, 2027.0: 161.0, 2028.0: 161.0, 2029.0: 161.0, 2030.0: 161.0, 2031.0: 161.0, 2032.0: 161.0, 2033.0: 161.0, 2034.0: 161.0, 2035.0: 161.0, 2036.0: 161.0, 2037.0: 161.0, 2038.0: 161.0, 2039.0: 161.0, 2040.0: 161.0, 2041.0: 161.0, 2042.0: 161.0, 2043.0: 161.0, 2044.0: 161.0, 2045.0: 161.0, 2046.0: 161.0, 2047.0: 161.0, 2048.0: 161.0, 2049.0: 161.0, 2050.0: 161.0, 2051.0: 161.0, 2052.0: 161.0, 2053.0: 161.0, 2054.0: 161.0, 2055.0: 161.0}, .... and so on.

which then lists all my storages and different years and values. Any idea on why this is happening?

My StorageMaxCapacity has the following written in the input data file: Region, Year, Technology, Value. Could it be that the above mentioned error occurs due to it having only ('region, '*', '*') and not an additional '*' for the values?

willu47 commented 2 years ago

The issue is that you are using a modified version of OSeMOSYS which contains custom input parameters. Until custom parameter configurations are supported, the only way to solve this is to perform an editable install of otoole, and manually add the parameter to config.yaml.