Skip to content

Commit

Permalink
Building Stock. Cleaning code. This is a good version.
Browse files Browse the repository at this point in the history
  • Loading branch information
eggimasv authored and eggimasv committed Mar 2, 2017
1 parent 87383b4 commit 56f3518
Show file tree
Hide file tree
Showing 6 changed files with 191 additions and 120 deletions.
9 changes: 6 additions & 3 deletions energy_demand/assumptions.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
""" This file contains all assumptions of the energy demand model"""
# pylint: disable=I0011,C0321,C0301,C0103, C0325

def load_assumptions():
def load_assumptions(data):
"""All assumptions
Returns
Expand All @@ -16,15 +16,17 @@ def load_assumptions():
assumptions_dict = {}


# Load assumptions from csv files
dwtype_floorarea = data['dwtype_floorarea']

# ------------------------------------------------------------------------
# Residential model
# ------------------------------------------------------------------------

# Building stock related
change_floorarea_pp = 0.1 # [%] # Assumption of change in floor area up to end_year ASSUMPTION (if minus, check if new buildings are needed)
assump_dwtype_distr_ey = {'semi_detached': 20.0, 'terraced': 20, 'flat': 30, 'detached': 20, 'bungalow': 10} # Assumption of distribution of dwelling types in end_year ASSUMPTION

assump_dwtype_distr_ey = {'semi_detached': 20.0, 'terraced': 20, 'flat': 30, 'detached': 20, 'bungalow': 10} # Assumption of distribution of dwelling types in end_year ASSUMPTION
dwtype_floorarea = dwtype_floorarea # Average floor area per dwelling type (loaded from CSV)



Expand All @@ -33,5 +35,6 @@ def load_assumptions():
# Add to dictionary
assumptions_dict['change_floorarea_pp'] = change_floorarea_pp
assumptions_dict['assump_dwtype_distr_ey'] = assump_dwtype_distr_ey
assumptions_dict['dwtype_floorarea'] = dwtype_floorarea

return assumptions_dict
24 changes: 9 additions & 15 deletions energy_demand/building_stock_functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ def get_sum_scenario_driver_lighting(self):
sum_driver += dwelling.scenario_driver_lighting
return sum_driver

def get_floorarea_pp(reg_floorarea, reg_pop_by, glob_var, assump_final_diff_floorarea_pp):
def calc_floorarea_pp(reg_floorarea, reg_pop_by, glob_var, assump_final_diff_floorarea_pp):
""" Calculates future floor area per person depending on
assumptions on final change and base year data
Expand Down Expand Up @@ -212,23 +212,17 @@ def get_dwtype_dist(dwtype_distr_by, assump_dwtype_distr_ey, glob_var):

# iterate type
for dtype in dwtype_distr_by:
val_by = dwtype_distr_by[dtype] # base year value
sim_y = assump_dwtype_distr_ey[dtype] # cur year value
diff_val = sim_y - val_by # Total difference
diff_y = diff_val / (len(sim_period)-1) # Linear difference per year
y_distr[dtype] = val_by + (diff_y * sim_year_nr) # Differene up to current year
val_by = dwtype_distr_by[dtype] # base year value
sim_y = assump_dwtype_distr_ey[dtype] # cur year value
diff_val = sim_y - val_by # Total difference
diff_y = diff_val / (len(sim_period)-1) # Linear difference per year
y_distr[dtype] = val_by + (diff_y * sim_year_nr) / 100 # Differene up to current year #TODO: Check procent

dwtype_distr[sim_year] = y_distr

# test if not 100% all entries
for i in dwtype_distr:
n = 0
for e in dwtype_distr[i]:
n += dwtype_distr[i][e]
if round(n, 1) != 100:
print("ERROR")
import sys
sys.exit()
# Test if distribution is 100%
for y in dwtype_distr:
assert round(sum(dwtype_distr[y].values()), 1) == 100 # "The values in the dictionary do not sum to 100"
return dwtype_distr

def get_dwtype_age_distr(get_dwtype_age_distr_base):
Expand Down

0 comments on commit 56f3518

Please sign in to comment.