Skip to content

Commit

Permalink
local running works including validation fucntions
Browse files Browse the repository at this point in the history
  • Loading branch information
Sven Eggimann authored and Sven Eggimann committed Jul 10, 2018
1 parent 67d82cb commit 194c589
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 91 deletions.
40 changes: 26 additions & 14 deletions energy_demand/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
from energy_demand.basic import basic_functions
from energy_demand.scripts import s_disaggregation
from energy_demand.validation import lad_validation
from energy_demand.scripts import init_scripts

def energy_demand_model(regions, data, assumptions):
"""Main function of energy demand model to calculate yearly demand
Expand Down Expand Up @@ -88,7 +89,6 @@ def get_region_objects(path):
'''
with fiona.open(path, 'r') as source:
return [elem for elem in source]
# return [shape(elem['geometry']) for elem in source]

if __name__ == "__main__":
"""
Expand All @@ -111,8 +111,7 @@ def get_region_objects(path):
os.path.dirname(__file__), '..', "energy_demand/config_data"))

# Initialise logger
#logger_setup.set_up_logger(os.path.join(local_data_path, "..", "logging_local_run.log"))
# logger_setup.set_up_logger(os.path.join(local_data_path, "logging_local_run.log"))
logger_setup.set_up_logger(os.path.join(local_data_path, "logging_local_run.log"))

# Load data
data['criterias'] = {}
Expand Down Expand Up @@ -251,9 +250,15 @@ def get_region_objects(path):

# In order to load these data, the initialisation scripts need to be run
print("... Load data from script calculations")
data = read_data.load_script_data(data)
init_cont = init_scripts.scenario_initalisation(
data['paths']['path_main'],
data['fuel_disagg'],
data)

for key, value in init_cont.items():
setattr(data['assumptions'], key, value)


# ------------------------------------------------
# Spatial Validation
# ------------------------------------------------
Expand All @@ -267,15 +272,6 @@ def get_region_objects(path):
data['reg_coord'],
data['criterias']['plot_crit'])

#-------------------
# Folder cleaning
#--------------------
print("... delete previous model run results")
basic_functions.del_previous_setup(data['result_paths']['data_results'])
basic_functions.create_folder(data['result_paths']['data_results'])
basic_functions.create_folder(data['result_paths']['data_results_PDF'])
basic_functions.create_folder(data['result_paths']['data_results_model_run_pop'])

# Create .ini file with simulation information
write_data.write_simulation_inifile(data['result_paths']['data_results'], data)

Expand Down Expand Up @@ -307,6 +303,22 @@ def get_region_objects(path):
# Main model run function
sim_obj = energy_demand_model(region_selection, data, data['assumptions'])

# ------------------------------------------------
# Temporal Validation
# ------------------------------------------------
if data['criterias']['validation_criteria'] == True and sim_yr == data['assumptions'].base_yr:
lad_validation.temporal_validation_lad(
sim_obj.ed_fueltype_national_yh,
sim_obj.ed_fueltype_regs_yh,
data['lookups']['fueltypes'],
data['result_paths'],
data['paths'],
region_selection,
data['reg_coord'],
data['assumptions'].seasons,
data['assumptions'].model_yeardays_daytype,
data['criterias']['plot_crit'])

# --------------------
# Result unconstrained
#
Expand Down Expand Up @@ -399,4 +411,4 @@ def get_region_objects(path):

print("-------------------------")
print("... Finished running HIRE")
print("-------------------------")
print("-------------------------")
22 changes: 0 additions & 22 deletions energy_demand/read_write/read_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -430,28 +430,6 @@ def read_enduse_specific_results(path_to_folder):

return dict(results)

def load_script_data(data):
"""Load data generated by scripts
#SCRAP REMOVE
Arguments
---------
data : dict
Data container
"""
init_cont = init_scripts.scenario_initalisation(
data['paths']['path_main'],
data['fuel_disagg'],
data)

for key, value in init_cont.items():
setattr(data['assumptions'], key, value)

#data['fuel_disagg'] = {}
#for key, value in fuel_disagg.items():
# data['fuel_disagg'][key] = value

return data

def read_fuel_ss(path_to_csv, fueltypes_nr):
"""This function reads in base_data_CSV all fuel types
Expand Down
50 changes: 1 addition & 49 deletions energy_demand/scripts/init_scripts.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,54 +64,6 @@ def scenario_initalisation(path_data_ed, fuel_disagg, data=False):
for folder in folders_to_create:
basic_functions.create_folder(folder)

'''# ===========================================
# I. Disaggregation
# ===========================================
fuel_disagg = {}
# Load data for disaggregateion
data['scenario_data']['employment_stats'] = data_loader.read_employment_stats(
data['paths']['path_employment_statistics'])
# Disaggregate fuel for all regions
fuel_disagg['rs_fuel_disagg'], fuel_disagg['ss_fuel_disagg'], fuel_disagg['is_fuel_disagg'] = s_disaggregation.disaggregate_base_demand(
data['regions'],
data['fuels'],
data['scenario_data'],
data['assumptions'],
data['reg_coord'],
data['weather_stations'],
data['temp_data'],
data['sectors'],
data['sectors']['all_sectors'],
data['enduses'],
data['service_building_count'])
# Sum demand across all sectors for every region
fuel_disagg['ss_fuel_disagg_sum_all_sectors'] = sum_across_sectors_all_regs(
fuel_disagg['ss_fuel_disagg'])
fuel_disagg['is_aggr_fuel_sum_all_sectors'] = sum_across_sectors_all_regs(
fuel_disagg['is_fuel_disagg'])
# Sum demand across all submodels and sectors for every region
fuel_disagg['tot_disaggregated_regs'] = sum_across_all_submodels_regs(
data['lookups']['fueltypes_nr'],
data['regions'],
[fuel_disagg['rs_fuel_disagg'],
fuel_disagg['ss_fuel_disagg'],
fuel_disagg['is_fuel_disagg']])
fuel_disagg['tot_disaggregated_regs_residenital'] = sum_across_all_submodels_regs(
data['lookups']['fueltypes_nr'],
data['regions'],
[fuel_disagg['rs_fuel_disagg']])
fuel_disagg['tot_disaggregated_regs_non_residential'] = sum_across_all_submodels_regs(
data['lookups']['fueltypes_nr'],
data['regions'],
[fuel_disagg['ss_fuel_disagg'], fuel_disagg['is_fuel_disagg']])'''

# ---------------------------------------
# Convert base year fuel input assumptions to energy service
# ---------------------------------------
Expand Down Expand Up @@ -474,7 +426,7 @@ def scenario_initalisation(path_data_ed, fuel_disagg, data=False):
init_cont['regional_strategy_variables'] = dict(init_cont['regional_strategy_variables'])

logging.info("... finished scenario initialisation")
return dict(init_cont) #, fuel_disagg
return dict(init_cont)

def global_to_reg_capacity_switch(
regions,
Expand Down
12 changes: 6 additions & 6 deletions energy_demand/validation/lad_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ def spatial_validation_lad_level(
label_points=False,
plotshow=plot_crit)

logging.info("... ================= Validation of electricity")
logging.info("... Validation of electricity")
spatial_validation(
reg_coord,
fuel_elec_regs_yh,
Expand All @@ -280,7 +280,7 @@ def spatial_validation_lad_level(
label_points=True,
plotshow=plot_crit)

logging.info("... ================= Validation of residential electricity")
logging.info("... Validation of residential electricity")
spatial_validation(
reg_coord,
fuel_elec_residential_regs_yh,
Expand All @@ -291,7 +291,7 @@ def spatial_validation_lad_level(
label_points=True,
plotshow=plot_crit)

logging.info("... ================= Validation of non-residential electricity")
logging.info("... Validation of non-residential electricity")
spatial_validation(
reg_coord,
fuel_elec_non_residential_regs_yh,
Expand All @@ -302,7 +302,7 @@ def spatial_validation_lad_level(
label_points=True,
plotshow=plot_crit)

logging.info("... ================= Validation of gas")
logging.info("... Validation of gas")
spatial_validation(
reg_coord,
fuel_gas_regs_yh,
Expand All @@ -313,7 +313,7 @@ def spatial_validation_lad_level(
label_points=True,
plotshow=plot_crit)

logging.info("... ================= Validaiton of residential gas")
logging.info("... Validation of residential gas")
spatial_validation(
reg_coord,
fuel_gas_residential_regs_yh,
Expand All @@ -324,7 +324,7 @@ def spatial_validation_lad_level(
label_points=True,
plotshow=plot_crit)

logging.info("... ================= Validaiton of non residential gas")
logging.info("... Validation of non residential gas")
spatial_validation(
reg_coord,
fuel_gas_non_residential_regs_yh,
Expand Down

0 comments on commit 194c589

Please sign in to comment.