|
|
@ -21,6 +21,8 @@ class JsonSettingsExtractor: |
|
|
|
self._reinstallation_price = [technology["reinstallation_price"] for technology in _technologies] |
|
|
|
self._kwh_expenditure = [technology["kwh_expenditure"] for technology in _technologies] |
|
|
|
self._kwh_price = [technology["kwh_price"] for technology in _technologies] |
|
|
|
self._maintenance_price = [technology["maintenance_price"] for technology in _technologies] |
|
|
|
self._maintenance_interval = [technology["maintenance_interval"] for technology in _technologies] |
|
|
|
self._percent_inflation = [technology["percent_inflation"] for technology in _technologies] |
|
|
|
self._years_lifespan = [technology["years_lifespan"] for technology in _technologies] |
|
|
|
self._amount_of_technologies = len(self.label) |
|
|
@ -44,7 +46,15 @@ class JsonSettingsExtractor: |
|
|
|
@property |
|
|
|
def kwh_expenditure(self): |
|
|
|
return np.array(self._kwh_expenditure) |
|
|
|
|
|
|
|
|
|
|
|
@property |
|
|
|
def maintenance_price(self): |
|
|
|
return self._maintenance_price |
|
|
|
|
|
|
|
@property |
|
|
|
def maintenance_interval(self): |
|
|
|
return self._maintenance_interval |
|
|
|
|
|
|
|
@property |
|
|
|
def percent_inflation(self): |
|
|
|
return np.array(self._percent_inflation) |
|
|
@ -83,7 +93,7 @@ def main(): |
|
|
|
increase_expenditure = np.zeros(input_data.amount_of_technologies) |
|
|
|
|
|
|
|
# Handle possible replacement of heating system |
|
|
|
for j in range(len(input_data.years_lifespan)): |
|
|
|
for j in range(input_data.amount_of_technologies): |
|
|
|
if (year % input_data.years_lifespan[j]) == 0 and year == 0: |
|
|
|
increase_installation[j] = input_data.installation_price[j] |
|
|
|
elif (year % input_data.years_lifespan[j]) == 0 and year > 0: |
|
|
@ -91,9 +101,14 @@ def main(): |
|
|
|
else: |
|
|
|
increase_installation[j] = 0 # just to be clear |
|
|
|
|
|
|
|
# Handle possible maintenance |
|
|
|
for j in range(input_data.amount_of_technologies): |
|
|
|
if (year % input_data.maintenance_interval[j]) == 0 and year != 0: |
|
|
|
increase_expenditure[j] += input_data.maintenance_price[j] |
|
|
|
|
|
|
|
# Calculate increase |
|
|
|
inflation_factor = np.array([1.0 + (x * year) / 100.0 for x in input_data.percent_inflation]) |
|
|
|
increase_expenditure = input_data.kwh_expenditure * inflation_factor |
|
|
|
increase_expenditure = input_data.kwh_expenditure * input_data._kwh_price * inflation_factor |
|
|
|
increase_total = increase_installation + increase_expenditure |
|
|
|
|
|
|
|
# Safe the yearly costs for plotting |
|
|
|