-
Notifications
You must be signed in to change notification settings - Fork 10
Description
According to the QuantityType class there are two ways of transforming a quantity over the timeslice dimension:
- Intensive: In this case a quantity should be split over the timeslice dimension according to the length of each timeslice. For example if you have a quantity representing the running costs of a technology over a year, you'd find the running cost in each timeslice by multiplying the total cost over the year by the fraction of the year that the timeslice occupies.
- Extensive: In this case a quantity should be broadcast over the timeslice dimension, so all the values in each timeslice are the same. For example if you have the price of a commodity in a year, you'd apply this same price to each timeslice.
The convert_timeslice function takes a dataset of quantities along with timeslice data, and applies the appropriate transformation according to the specified QuantityType
However... I think it's doing this the wrong way around (i.e. splitting the data when extensive is specified, and broadcasting the data when intensive is specified). The tests would appear to back this up. Thus, there are many cases in the code where the wrong transformation is being applied, and I think this is what's causing the problem here (along with potentially many other problems)
Fixing this bug properly is going to require:
- Fixing the
convert_timeslicefunction so it's doing the correct thing - Going through the code to make sure that every call of
convert_timesliceis using the correct quantity type. - Most likely this will break a lot of things and could take a fair bit of additional work to get everything running again
Originally posted by @tsmbland in #512 (comment)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status