from emobpy import Mobility, Consumption, HeatInsulation, BEVspecs, DataBase, Export
from emobpy.plot import NBplot
# Initialize seed
from emobpy.tools import set_seed
set_seed()
# # Read the docstrings of function copy_to_user_data_dir
# from emobpy.init import copy_to_user_data_dir; copy_to_user_data_dir()
hrs = 168 # one week
steps = 0.25 # 15 minutes
# Create single profile of an fulltime commuter
m = Mobility()
m.set_params("Commuter_fulltime", hrs, steps, "commuter", "01/01/2020")
m.set_stats(
"TripsPerDay.csv",
"DepartureDestinationTrip_Worker.csv",
"DistanceDurationTrip.csv"
)
m.set_rules("fulltime")
m.run()
m.save_profile("db")
New profile running: Commuter_fulltime_W2_aad34 Progress: 100% [7 / 7] days Profile done: Commuter_fulltime_W2_aad34 Elapsed time (min): 0.11 === profile saved: db/Commuter_fulltime_W2_aad34.pickle
DBm = DataBase('db')
DBm.loadfiles_batch(kind="driving")
mname = list(DBm.db.keys())[0]
vizm = NBplot(DBm)
figm = vizm.sgplot_dp(mname)
Workers: 4 of 16 1
DB = DataBase('db') # Instance of profiles' database whose input is the pickle files' folder
DB.loadfiles_batch(kind="driving") # loading mobility pickle files to the database
mname = list(DB.db.keys())[0] # getting the id of the first mobility profile
HI = HeatInsulation(True) # Creating the heat insulation configuration by copying the default configuration
BEVS = BEVspecs() # Database that contains BEV models
Workers: 4 of 16 1
VW_ID3 = BEVS.model(('Volkswagen', 'ID.3', 2020)) # Model instance that contains vehicle parameters
c = Consumption(mname, VW_ID3)
c.load_setting_mobility(DB)
c.run(
heat_insulation=HI,
weather_country='DE',
weather_year=2016,
passenger_mass=75, # kg
passenger_sensible_heat=70, # W
passenger_nr=1.5,
air_cabin_heat_transfer_coef=20, # W/(m2K)
air_flow=0.02, # m3/s
driving_cycle_type='WLTC',
road_type=0,
road_slope=0
)
c.save_profile('db')
Fallback value 0.9 added for missing battery_charging_eff parameter. Fallback value 0.95 added for missing battery_discharging_eff parameter. Fallback value 0.95 added for missing transmission_eff parameter. Fallback value 0.3 added for missing auxiliary_power parameter. Fallback value 3.5 added for missing cabin_volume parameter. Fallback value 1 added for missing hvac_cop_heating parameter. Fallback value 2 added for missing hvac_cop_cooling parameter. New profile running: Commuter_fulltime_W2_aad34_Volkswagen_ID.3_2020_e8c97 Progress: 100% [14 / 14] trips === profile saved === : db/Commuter_fulltime_W2_aad34_Volkswagen_ID.3_2020_e8c97.pickle
MODEL_3 = BEVS.model(('Tesla', 'Model S 60D', 2017)) # Model instance that contains vehicle parameters
c = Consumption(mname, MODEL_3)
c.load_setting_mobility(DB)
c.run(
heat_insulation=HI,
weather_country='DE',
weather_year=2016,
passenger_mass=75, # kg
passenger_sensible_heat=70, # W
passenger_nr=1.5,
air_cabin_heat_transfer_coef=20, # W/(m2K)
air_flow=0.02, # m3/s
driving_cycle_type='WLTC',
road_type=0,
road_slope=0
)
c.save_profile('db')
Fallback value 0.9 added for missing battery_charging_eff parameter. Fallback value 0.95 added for missing battery_discharging_eff parameter. Fallback value 0.95 added for missing transmission_eff parameter. Fallback value 0.3 added for missing auxiliary_power parameter. Fallback value 3.5 added for missing cabin_volume parameter. Fallback value 1 added for missing hvac_cop_heating parameter. Fallback value 2 added for missing hvac_cop_cooling parameter. New profile running: Commuter_fulltime_W2_aad34_Tesla_Model_S_60D_2017_1dd3d Progress: 100% [14 / 14] trips === profile saved === : db/Commuter_fulltime_W2_aad34_Tesla_Model_S_60D_2017_1dd3d.pickle
ZOE = BEVS.model(('Renault', 'Zoe Q90', 2019)) # Model instance that contains vehicle parameters
c = Consumption(mname, ZOE)
c.load_setting_mobility(DB)
c.run(
heat_insulation=HI,
weather_country='DE',
weather_year=2016,
passenger_mass=75, # kg
passenger_sensible_heat=70, # W
passenger_nr=1.5,
air_cabin_heat_transfer_coef=20, # W/(m2K)
air_flow=0.02, # m3/s
driving_cycle_type='WLTC',
road_type=0,
road_slope=0
)
c.save_profile('db')
Fallback value 0.9 added for missing battery_charging_eff parameter. Fallback value 0.95 added for missing battery_discharging_eff parameter. Fallback value 0.95 added for missing transmission_eff parameter. Fallback value 0.3 added for missing auxiliary_power parameter. Fallback value 3.5 added for missing cabin_volume parameter. Fallback value 1 added for missing hvac_cop_heating parameter. Fallback value 2 added for missing hvac_cop_cooling parameter. New profile running: Commuter_fulltime_W2_aad34_Renault_Zoe_Q90_2019_bcf37 Progress: 100% [14 / 14] trips === profile saved === : db/Commuter_fulltime_W2_aad34_Renault_Zoe_Q90_2019_bcf37.pickle
DBc = DataBase('db')
DBc.loadfiles_batch(kind="consumption", add_variables=['Trips'])
Workers: 4 of 16 4
vw_id3 = [ev for ev in list(DBc.db.keys()) if 'Volkswagen' in ev][0]
vw_id3
'Commuter_fulltime_W2_aad34_Volkswagen_ID.3_2020_e8c97'
vizc = NBplot(DBc)
figc = vizc.sankey(vw_id3, include=None, to_html=False, path='sankey.html')
Consumption [kWh]: 42.353 Distance [km]: 180.0 Specific consumption [kWh/100 km]: 23.53
figc.show()
tesla_model3 = [ev for ev in list(DBc.db.keys()) if 'Tesla' in ev][0]
tesla_model3
'Commuter_fulltime_W2_aad34_Tesla_Model_S_60D_2017_1dd3d'
vizc = NBplot(DBc)
figc = vizc.sankey(tesla_model3, include=None, to_html=False, path='sankey.html')
Consumption [kWh]: 56.263 Distance [km]: 180.0 Specific consumption [kWh/100 km]: 31.257
figc.show()
renault_zoe = [ev for ev in list(DBc.db.keys()) if 'Renault' in ev][0]
renault_zoe
'Commuter_fulltime_W2_aad34_Renault_Zoe_Q90_2019_bcf37'
vizc = NBplot(DBc)
figc = vizc.sankey(renault_zoe, include=None, to_html=False, path='sankey.html')
Consumption [kWh]: 40.783 Distance [km]: 180.0 Specific consumption [kWh/100 km]: 22.657
figc.show()