ChaProEV 1.2.2__tar.gz → 1.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {chaproev-1.2.2 → chaproev-1.2.3}/ChaProEV.toml +2 -2
- {chaproev-1.2.2/src/ChaProEV.egg-info → chaproev-1.2.3}/PKG-INFO +1 -1
- {chaproev-1.2.2 → chaproev-1.2.3}/pyproject.toml +1 -1
- chaproev-1.2.3/scenarios/Mopo/Switzerland_car_own_driveway_2050.toml +405 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/charging.py +54 -37
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/scenarios_module.py +4 -0
- {chaproev-1.2.2 → chaproev-1.2.3/src/ChaProEV.egg-info}/PKG-INFO +1 -1
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/SOURCES.txt +1 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/.flake8 +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/.gitignore +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/.vscode/ltex.dictionary.en-US.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/.vscode/settings.json +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/ChaProEV.pptx +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/Gemfile +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/LICENCE +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/MOPO_logo_chaproev on wht.svg +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/MOPO_logo_chaproev.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/MOPO_logo_chaproev.svg +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/MOPO_logo_main.svg +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/MOPO_logo_main_onwhite.svg +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/README.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/comparisons/comparison_template.toml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/ChaProEV_workflow.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/Legs.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/Locations.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/Makefile +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/README.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/Trips.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/Vehicle_Temperature_correction_factor.svg +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/_config.yml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/doctrees/environment.pickle +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/doctrees/index.doctree +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/.buildinfo +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_sources/index.rst.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/alabaster.css +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/basic.css +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/custom.css +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/doctools.js +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/documentation_options.js +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/file.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/language_data.js +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/minus.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/plus.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/pygments.css +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/searchtools.js +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/sphinx_highlight.js +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/genindex.html +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/index.html +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/objects.inv +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/search.html +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/searchindex.js +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/charging.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/consumption.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/define.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/index.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/make.bat +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/mobility.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/running_model,md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/scenario.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/source/index.rst +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/using.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/docs/weather.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/eu-emblem-low-res.jpg +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/mkdocs.yml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/requirements.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/scenarios/Mopo/XX_bus.toml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/scenarios/Mopo/XX_car.toml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/scenarios/Mopo/XX_truck.toml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/scenarios/Mopo/XX_van.toml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/scenarios/local_impact_BEVs/baseline.toml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/setup.cfg +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/ChaProEV.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/__init__.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/consumption.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/define.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/make_variants.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/mobility.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/profiles.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/py.typed +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/run_time.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/weather.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/writing.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/PKG-INFO-PC-28624 +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/PKG-INFO-PC-28624-2 +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/SOURCES-PC-28624-2.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/SOURCES-PC-28624.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/dependency_links.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/requires-PC-28624-2.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/requires-PC-28624.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/top_level.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/tests/test_battery_space.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/tests/test_charge_and_consumption.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/tests/test_empty_values.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/tests/test_same_output.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/todo.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/variants/Mopo/XX_car.csv +0 -0
- {chaproev-1.2.2 → chaproev-1.2.3}/variants/Mopo.toml +0 -0
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
[run]
|
|
2
|
+
use_day_types_in_charge_computing = true
|
|
3
|
+
|
|
4
|
+
[vehicle]
|
|
5
|
+
name = "car"
|
|
6
|
+
base_location = "home"
|
|
7
|
+
yearly_kilometrage = 13422.74074
|
|
8
|
+
kilometers_column_for_consumption = "Arrivals"
|
|
9
|
+
use_weighted = false
|
|
10
|
+
battery_capacity = 66.09381655
|
|
11
|
+
solar_panel_size_kWp = 0
|
|
12
|
+
|
|
13
|
+
[mobility_module]
|
|
14
|
+
day_start_hour = 5.0
|
|
15
|
+
compute_start_location_split = true
|
|
16
|
+
day_types = [ "weekday_in_work_week", "weekend_in_work_week", "weekday_in_holiday_week", "weekend_in_holiday_week", "weekend_holiday_departures", "weekend_holiday_returns", "holiday_overlap_weekend",]
|
|
17
|
+
mobility_quantities = [ "Departures amount", "Departures kilometers", "Departures weighted kilometers", "Departures impact", "Departures impact kilometers", "Departures impact weighted kilometers", "Arrivals amount", "Arrivals kilometers", "Arrivals weighted kilometers", "Arrivals impact", "Arrivals impact kilometers", "Arrivals impact weighted kilometers",]
|
|
18
|
+
battery_space_shift_quantities = [ "departures", "departures_weighted", "departures_impact", "departures_impact_weighted", "arrivals", "arrivals_weighted", "arrivals_impact", "arrivals_impact_weighted",]
|
|
19
|
+
location_connections_headers = [ "Duration (hours)", "Distance (km)", "Weighted distance (km)",]
|
|
20
|
+
mobility_index_names = [ "From", "To", "Time Tag",]
|
|
21
|
+
kilometers_driven_headers = [ "Proportion at base", "Proportion idle en route", "Proportion driving", "Proportion of run time driving", "Driven kilometers (km)",]
|
|
22
|
+
holiday_weeks = [ 1, 8, 18, 28, 29, 30, 31, 32, 33, 42, 51, 52, 53,]
|
|
23
|
+
number_of_holiday_weeks = 10
|
|
24
|
+
holiday_departures_in_weekend_week_numbers = [ 7, 17, 27, 30, 41, 50,]
|
|
25
|
+
holiday_returns_in_weekend_week_numbers = [ 1, 8, 18, 30, 33, 42,]
|
|
26
|
+
work_hours_in_a_work_day = 8
|
|
27
|
+
hours_worked_per_work_week = 36.2
|
|
28
|
+
hours_in_a_standard_work_week = 40
|
|
29
|
+
percentage_working_on_a_work_week = 1
|
|
30
|
+
worked_hours_per_year = 1576.161491
|
|
31
|
+
leisure_trips_per_weekend = 1
|
|
32
|
+
leisure_trips_per_week_outside_weekends = 2
|
|
33
|
+
maximal_fill_percentage_leisure_trips_on_non_work_weekdays = 1
|
|
34
|
+
weekday_leisure_trips = 2
|
|
35
|
+
percentage_of_weekday_leisure_trips_on_a_work_day = 0.5
|
|
36
|
+
weekend_trips_per_year = 12
|
|
37
|
+
holiday_trips_taken = 1
|
|
38
|
+
time_spent_at_holiday_destination = 14
|
|
39
|
+
|
|
40
|
+
[transport_factors]
|
|
41
|
+
road_types = [ "highway", "city",]
|
|
42
|
+
weights = [ 0.66, 1.6,]
|
|
43
|
+
|
|
44
|
+
[weather]
|
|
45
|
+
weather_factors_table_root_name = "weather_factors"
|
|
46
|
+
|
|
47
|
+
[charging]
|
|
48
|
+
price_reaction_exponent = 0
|
|
49
|
+
desirability_reaction_exponent = 0
|
|
50
|
+
|
|
51
|
+
[charging_sessions]
|
|
52
|
+
resolution = 1
|
|
53
|
+
|
|
54
|
+
[run.start]
|
|
55
|
+
year = 2017
|
|
56
|
+
month = 12
|
|
57
|
+
day = 31
|
|
58
|
+
hour = 5.0
|
|
59
|
+
minute = 0
|
|
60
|
+
|
|
61
|
+
[run.end]
|
|
62
|
+
year = 2019
|
|
63
|
+
month = 1
|
|
64
|
+
day = 1
|
|
65
|
+
hour = 0
|
|
66
|
+
minute = 0
|
|
67
|
+
|
|
68
|
+
[run.display_start]
|
|
69
|
+
year = 2018
|
|
70
|
+
month = 1
|
|
71
|
+
day = 1
|
|
72
|
+
hour = 0
|
|
73
|
+
minute = 0
|
|
74
|
+
|
|
75
|
+
[run.display_end]
|
|
76
|
+
year = 2019
|
|
77
|
+
month = 1
|
|
78
|
+
day = 1
|
|
79
|
+
hour = 0
|
|
80
|
+
minute = 0
|
|
81
|
+
|
|
82
|
+
[run.frequency]
|
|
83
|
+
size = 1
|
|
84
|
+
type = "h"
|
|
85
|
+
|
|
86
|
+
[run.display_frequency]
|
|
87
|
+
size = 1
|
|
88
|
+
type = "h"
|
|
89
|
+
|
|
90
|
+
[run.get_extra_downloads]
|
|
91
|
+
download_weather_data = false
|
|
92
|
+
make_weather_database = false
|
|
93
|
+
download_EV_tool_data = false
|
|
94
|
+
|
|
95
|
+
[locations.home]
|
|
96
|
+
vehicle = "car"
|
|
97
|
+
connectivity = 1
|
|
98
|
+
charging_power = 7.4
|
|
99
|
+
charger_efficiency = 0.87
|
|
100
|
+
latitude = 52
|
|
101
|
+
longitude = 6.2
|
|
102
|
+
charging_price = 0.25
|
|
103
|
+
charging_desirability = 1
|
|
104
|
+
percentage_in_location_at_run_start = 1
|
|
105
|
+
vehicle_discharge_power = 7.4
|
|
106
|
+
proportion_of_discharge_to_network = 0.87
|
|
107
|
+
time_modulation_factors = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,]
|
|
108
|
+
|
|
109
|
+
[locations.work]
|
|
110
|
+
vehicle = "car"
|
|
111
|
+
connectivity = 0.75
|
|
112
|
+
charging_power = 22.0
|
|
113
|
+
charger_efficiency = 0.92
|
|
114
|
+
latitude = 52.1
|
|
115
|
+
longitude = 5.8
|
|
116
|
+
charging_price = 0
|
|
117
|
+
charging_desirability = 1
|
|
118
|
+
percentage_in_location_at_run_start = 0
|
|
119
|
+
vehicle_discharge_power = 22.0
|
|
120
|
+
proportion_of_discharge_to_network = 0.92
|
|
121
|
+
time_modulation_factors = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,]
|
|
122
|
+
|
|
123
|
+
[locations.leisure]
|
|
124
|
+
vehicle = "car"
|
|
125
|
+
connectivity = 0.75
|
|
126
|
+
charging_power = 22.0
|
|
127
|
+
charger_efficiency = 0.92
|
|
128
|
+
latitude = 52.1
|
|
129
|
+
longitude = 6.2
|
|
130
|
+
charging_price = 0.35
|
|
131
|
+
charging_desirability = 0.25
|
|
132
|
+
percentage_in_location_at_run_start = 0
|
|
133
|
+
vehicle_discharge_power = 22.0
|
|
134
|
+
proportion_of_discharge_to_network = 0.92
|
|
135
|
+
time_modulation_factors = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,]
|
|
136
|
+
|
|
137
|
+
[locations.weekend]
|
|
138
|
+
vehicle = "car"
|
|
139
|
+
connectivity = 0.375
|
|
140
|
+
charging_power = 22.0
|
|
141
|
+
charger_efficiency = 0.92
|
|
142
|
+
latitude = 51.8
|
|
143
|
+
longitude = 6.2
|
|
144
|
+
charging_price = 0.35
|
|
145
|
+
charging_desirability = 0.1
|
|
146
|
+
percentage_in_location_at_run_start = 0
|
|
147
|
+
vehicle_discharge_power = 22.0
|
|
148
|
+
proportion_of_discharge_to_network = 0.92
|
|
149
|
+
time_modulation_factors = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,]
|
|
150
|
+
|
|
151
|
+
[locations.holiday]
|
|
152
|
+
vehicle = "car"
|
|
153
|
+
connectivity = 1
|
|
154
|
+
charging_power = 22.0
|
|
155
|
+
charger_efficiency = 0.92
|
|
156
|
+
latitude = 53.0
|
|
157
|
+
longitude = 6.2
|
|
158
|
+
charging_price = 0.35
|
|
159
|
+
charging_desirability = 0.2
|
|
160
|
+
percentage_in_location_at_run_start = 0
|
|
161
|
+
vehicle_discharge_power = 22.0
|
|
162
|
+
proportion_of_discharge_to_network = 0.92
|
|
163
|
+
time_modulation_factors = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,]
|
|
164
|
+
|
|
165
|
+
[legs.go_to_work]
|
|
166
|
+
vehicle = "car"
|
|
167
|
+
distance = 21.18518519
|
|
168
|
+
duration = 0.433333333
|
|
169
|
+
hour_in_day_factors = [ 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,]
|
|
170
|
+
|
|
171
|
+
[legs.come_from_work]
|
|
172
|
+
vehicle = "car"
|
|
173
|
+
distance = 21.18518519
|
|
174
|
+
duration = 0.433333333
|
|
175
|
+
hour_in_day_factors = [ 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,]
|
|
176
|
+
|
|
177
|
+
[legs.home_to_leisure]
|
|
178
|
+
vehicle = "car"
|
|
179
|
+
distance = 5.777777778
|
|
180
|
+
duration = 0.118181818
|
|
181
|
+
hour_in_day_factors = [ 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,]
|
|
182
|
+
|
|
183
|
+
[legs.leisure_to_home]
|
|
184
|
+
vehicle = "car"
|
|
185
|
+
distance = 5.777777778
|
|
186
|
+
duration = 0.118181818
|
|
187
|
+
hour_in_day_factors = [ 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,]
|
|
188
|
+
|
|
189
|
+
[legs.home_to_weekend]
|
|
190
|
+
vehicle = "car"
|
|
191
|
+
distance = 96.2962963
|
|
192
|
+
duration = 0.962962963
|
|
193
|
+
hour_in_day_factors = [ 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,]
|
|
194
|
+
|
|
195
|
+
[legs.weekend_to_home]
|
|
196
|
+
vehicle = "car"
|
|
197
|
+
distance = 96.2962963
|
|
198
|
+
duration = 0.962962963
|
|
199
|
+
hour_in_day_factors = [ 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,]
|
|
200
|
+
|
|
201
|
+
[legs.home_to_holiday]
|
|
202
|
+
vehicle = "car"
|
|
203
|
+
distance = 385.1851852
|
|
204
|
+
duration = 3.851851852
|
|
205
|
+
hour_in_day_factors = [ 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,]
|
|
206
|
+
|
|
207
|
+
[legs.holiday_to_home]
|
|
208
|
+
vehicle = "car"
|
|
209
|
+
distance = 385.1851852
|
|
210
|
+
duration = 3.851851852
|
|
211
|
+
hour_in_day_factors = [ 1, 1, 1, 1, 1, 1, 1, 1, 1.2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,]
|
|
212
|
+
|
|
213
|
+
[vehicle.base_consumption_per_km]
|
|
214
|
+
electricity_kWh = 0.15983688
|
|
215
|
+
gasoline_litres = 0.071491478
|
|
216
|
+
diesel_litres = 0.061357093
|
|
217
|
+
hydrogen_kg = 0.008371883
|
|
218
|
+
LPG_litres = 0.101343852
|
|
219
|
+
CNG_kg = 0.050782082
|
|
220
|
+
|
|
221
|
+
[trips.commute_to_work]
|
|
222
|
+
vehicle = "car"
|
|
223
|
+
legs = [ "go_to_work", "come_from_work",]
|
|
224
|
+
time_between_legs = [ 9,]
|
|
225
|
+
percentage_station_users = 0
|
|
226
|
+
start_probabilities = [ 0, 0, 0.25, 0.5, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,]
|
|
227
|
+
repeated_sequence = []
|
|
228
|
+
repetition_amounts = [ 0,]
|
|
229
|
+
time_between_repetitions = [ 0,]
|
|
230
|
+
|
|
231
|
+
[trips.commute_to_work_and_leisure]
|
|
232
|
+
vehicle = "car"
|
|
233
|
+
legs = [ "go_to_work", "come_from_work", "home_to_leisure", "leisure_to_home",]
|
|
234
|
+
time_between_legs = [ 9, 2, 3,]
|
|
235
|
+
percentage_station_users = 0
|
|
236
|
+
start_probabilities = [ 0, 0, 0.25, 0.5, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,]
|
|
237
|
+
repeated_sequence = []
|
|
238
|
+
repetition_amounts = [ 0,]
|
|
239
|
+
time_between_repetitions = [ 0,]
|
|
240
|
+
|
|
241
|
+
[trips.leisure_only]
|
|
242
|
+
vehicle = "car"
|
|
243
|
+
legs = [ "home_to_leisure", "leisure_to_home",]
|
|
244
|
+
time_between_legs = [ 2,]
|
|
245
|
+
percentage_station_users = 0
|
|
246
|
+
start_probabilities = [ 0, 0.083333333, 0.083333333, 0.083333333, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0, 0, 0, 0, 0, 0, 0, 0,]
|
|
247
|
+
repeated_sequence = []
|
|
248
|
+
repetition_amounts = [ 0,]
|
|
249
|
+
time_between_repetitions = [ 0,]
|
|
250
|
+
|
|
251
|
+
[trips.weekend_trip]
|
|
252
|
+
vehicle = "car"
|
|
253
|
+
legs = [ "home_to_weekend", "weekend_to_home",]
|
|
254
|
+
time_between_legs = [ 4,]
|
|
255
|
+
percentage_station_users = 0
|
|
256
|
+
start_probabilities = [ 0, 0.083333333, 0.083333333, 0.083333333, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0.0625, 0, 0, 0, 0, 0, 0, 0, 0,]
|
|
257
|
+
repeated_sequence = []
|
|
258
|
+
repetition_amounts = [ 0,]
|
|
259
|
+
time_between_repetitions = [ 0,]
|
|
260
|
+
|
|
261
|
+
[trips.holiday_outward]
|
|
262
|
+
vehicle = "car"
|
|
263
|
+
legs = [ "home_to_holiday",]
|
|
264
|
+
time_between_legs = []
|
|
265
|
+
percentage_station_users = 0
|
|
266
|
+
start_probabilities = [ 0, 0.03125, 0.03125, 0.03125, 0.09375, 0.09375, 0.09375, 0.09375, 0.09375, 0.09375, 0.09375, 0.09375, 0.03125, 0.03125, 0.03125, 0.03125, 0.03125, 0, 0, 0, 0, 0, 0, 0,]
|
|
267
|
+
repeated_sequence = []
|
|
268
|
+
repetition_amounts = [ 0,]
|
|
269
|
+
time_between_repetitions = [ 0,]
|
|
270
|
+
|
|
271
|
+
[trips.holiday_back]
|
|
272
|
+
vehicle = "car"
|
|
273
|
+
legs = [ "holiday_to_home",]
|
|
274
|
+
time_between_legs = []
|
|
275
|
+
percentage_station_users = 0
|
|
276
|
+
start_probabilities = [ 0, 0.03125, 0.03125, 0.03125, 0.09375, 0.09375, 0.09375, 0.09375, 0.09375, 0.09375, 0.09375, 0.09375, 0.03125, 0.03125, 0.03125, 0.03125, 0.03125, 0, 0, 0, 0, 0, 0, 0,]
|
|
277
|
+
repeated_sequence = []
|
|
278
|
+
repetition_amounts = [ 0,]
|
|
279
|
+
time_between_repetitions = [ 0,]
|
|
280
|
+
|
|
281
|
+
[trips.stay_put_home]
|
|
282
|
+
vehicle = "car"
|
|
283
|
+
legs = []
|
|
284
|
+
time_between_legs = []
|
|
285
|
+
percentage_station_users = 0
|
|
286
|
+
start_probabilities = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,]
|
|
287
|
+
repeated_sequence = []
|
|
288
|
+
repetition_amounts = [ 0,]
|
|
289
|
+
time_between_repetitions = [ 0,]
|
|
290
|
+
|
|
291
|
+
[trips.stay_put_holiday]
|
|
292
|
+
vehicle = "car"
|
|
293
|
+
legs = []
|
|
294
|
+
time_between_legs = []
|
|
295
|
+
percentage_station_users = 0
|
|
296
|
+
start_probabilities = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,]
|
|
297
|
+
repeated_sequence = []
|
|
298
|
+
repetition_amounts = [ 0,]
|
|
299
|
+
time_between_repetitions = [ 0,]
|
|
300
|
+
|
|
301
|
+
[mobility_module.trips_per_day_type]
|
|
302
|
+
bus = [ "bus_weekday_in_workweek", "bus_weekend_in_workweek", "bus_weekday_in_holiday_week", "bus_weekend_in_holiday_week", "bus_weekend_in_holiday_week", "bus_weekend_in_holiday_week", "bus_weekend_in_holiday_week",]
|
|
303
|
+
truck = [ "truck_weekday", "truck_weekend", "truck_weekday", "truck_weekend", "truck_weekend", "truck_weekend", "truck_weekend",]
|
|
304
|
+
van = [ "van_weekday", "van_weekend", "van_weekday", "van_weekend", "van_weekend", "van_weekend", "van_weekend",]
|
|
305
|
+
|
|
306
|
+
[weather.source_data]
|
|
307
|
+
start_year = 2020
|
|
308
|
+
end_year = 2022
|
|
309
|
+
quantities = [ "2m_temperature", "skin_temperature", "surface_solar_radiation_downwards", "total_precipitation",]
|
|
310
|
+
raw_data_folder = "input/cds_weather_data"
|
|
311
|
+
latitude_min = 36
|
|
312
|
+
latitude_max = 68
|
|
313
|
+
longitude_min = -11
|
|
314
|
+
longitude_max = 60
|
|
315
|
+
|
|
316
|
+
[weather.processed_data]
|
|
317
|
+
raw_data_folder = "input/cds_weather_data"
|
|
318
|
+
processed_folder = "input/processed_weather_data"
|
|
319
|
+
weather_database_file_name = "weather.sqlite3"
|
|
320
|
+
chunk_size = 100000
|
|
321
|
+
quantities = [ "2m_temperature", "skin_temperature", "surface_solar_radiation_downwards", "total_precipitation",]
|
|
322
|
+
KELVIN_TO_CELSIUS = -273.15
|
|
323
|
+
quantity_tags = [ "t2m", "skt", "ssrd", "tp",]
|
|
324
|
+
quantity_processed_names = [ "Temperature at 2 meters (°C)", "Skin temperature (°C)", "Surface solar radiation downwards (J/m2)", "Total precipitation (m)",]
|
|
325
|
+
cumulative_quantity_processed_names = [ "Surface solar radiation downwards (J/m2)", "Total precipitation (m)",]
|
|
326
|
+
cumulative_quantities = [ "surface_solar_radiation_downwards", "total_precipitation",]
|
|
327
|
+
queries_for_cumulative_quantities = [ "SELECT * FROM 'Surface solar radiation downwards (J/m2)';", "SELECT * FROM 'Total precipitation (m)';",]
|
|
328
|
+
temperature_quantities = [ "2m_temperature", "skin_temperature",]
|
|
329
|
+
processed_index_tags = [ "Timetag", "Latitude", "Longitude",]
|
|
330
|
+
latitude_min = 50.6
|
|
331
|
+
latitude_max = 53.5
|
|
332
|
+
longitude_min = 3.4
|
|
333
|
+
longitude_max = 7.2
|
|
334
|
+
coordinate_step = 0.1
|
|
335
|
+
|
|
336
|
+
[weather.EV_tool]
|
|
337
|
+
EV_tool_url = "https://www.geotab.com/CMS-GeneralFiles-production/NA/EV/EVTOOL.html"
|
|
338
|
+
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57"
|
|
339
|
+
efficiency_curve_script_index = 2
|
|
340
|
+
data_splitter = "Temp:"
|
|
341
|
+
file_name = "vehicle_temperature_efficiencies"
|
|
342
|
+
groupfile_name = "vehicle_temperature_efficiencies"
|
|
343
|
+
folder = "input"
|
|
344
|
+
efficiency_factor_column_name = "Vehicle Relative efficiency factor"
|
|
345
|
+
|
|
346
|
+
[weather.vehicle_temperature_efficiencies]
|
|
347
|
+
folder = "input"
|
|
348
|
+
file_name = "vehicle_temperature_efficiencies.pkl"
|
|
349
|
+
fitting_polynomial_order = 6
|
|
350
|
+
|
|
351
|
+
[legs.go_to_work.locations]
|
|
352
|
+
start = "home"
|
|
353
|
+
end = "work"
|
|
354
|
+
|
|
355
|
+
[legs.go_to_work.road_type_mix]
|
|
356
|
+
mix = [ 0.8, 0.2,]
|
|
357
|
+
|
|
358
|
+
[legs.come_from_work.locations]
|
|
359
|
+
start = "work"
|
|
360
|
+
end = "home"
|
|
361
|
+
|
|
362
|
+
[legs.come_from_work.road_type_mix]
|
|
363
|
+
mix = [ 0.8, 0.2,]
|
|
364
|
+
|
|
365
|
+
[legs.home_to_leisure.locations]
|
|
366
|
+
start = "home"
|
|
367
|
+
end = "leisure"
|
|
368
|
+
|
|
369
|
+
[legs.home_to_leisure.road_type_mix]
|
|
370
|
+
mix = [ 0.8, 0.2,]
|
|
371
|
+
|
|
372
|
+
[legs.leisure_to_home.locations]
|
|
373
|
+
start = "leisure"
|
|
374
|
+
end = "home"
|
|
375
|
+
|
|
376
|
+
[legs.leisure_to_home.road_type_mix]
|
|
377
|
+
mix = [ 0.8, 0.2,]
|
|
378
|
+
|
|
379
|
+
[legs.home_to_weekend.locations]
|
|
380
|
+
start = "home"
|
|
381
|
+
end = "weekend"
|
|
382
|
+
|
|
383
|
+
[legs.home_to_weekend.road_type_mix]
|
|
384
|
+
mix = [ 0.8, 0.2,]
|
|
385
|
+
|
|
386
|
+
[legs.weekend_to_home.locations]
|
|
387
|
+
start = "weekend"
|
|
388
|
+
end = "home"
|
|
389
|
+
|
|
390
|
+
[legs.weekend_to_home.road_type_mix]
|
|
391
|
+
mix = [ 0.8, 0.2,]
|
|
392
|
+
|
|
393
|
+
[legs.home_to_holiday.locations]
|
|
394
|
+
start = "home"
|
|
395
|
+
end = "holiday"
|
|
396
|
+
|
|
397
|
+
[legs.home_to_holiday.road_type_mix]
|
|
398
|
+
mix = [ 0.8, 0.2,]
|
|
399
|
+
|
|
400
|
+
[legs.holiday_to_home.locations]
|
|
401
|
+
start = "holiday"
|
|
402
|
+
end = "home"
|
|
403
|
+
|
|
404
|
+
[legs.holiday_to_home.road_type_mix]
|
|
405
|
+
mix = [ 0.8, 0.2,]
|
|
@@ -1097,6 +1097,22 @@ def copy_day_type_profiles_to_whole_run(
|
|
|
1097
1097
|
for (
|
|
1098
1098
|
modified_battery_space
|
|
1099
1099
|
) in spillover_battery_spaces_change.index:
|
|
1100
|
+
if (
|
|
1101
|
+
modified_battery_space
|
|
1102
|
+
not in battery_spaces[spillover_location].columns
|
|
1103
|
+
):
|
|
1104
|
+
battery_spaces[spillover_location][
|
|
1105
|
+
modified_battery_space
|
|
1106
|
+
] = float(0)
|
|
1107
|
+
# We sort the battery spaces for consistency
|
|
1108
|
+
battery_spaces[
|
|
1109
|
+
spillover_location
|
|
1110
|
+
] = battery_spaces[spillover_location].reindex(
|
|
1111
|
+
sorted(
|
|
1112
|
+
battery_spaces[spillover_location].columns
|
|
1113
|
+
),
|
|
1114
|
+
axis=1,
|
|
1115
|
+
)
|
|
1100
1116
|
battery_spaces[spillover_location].loc[
|
|
1101
1117
|
spillover_time_tag, modified_battery_space
|
|
1102
1118
|
] = (
|
|
@@ -1868,51 +1884,52 @@ def get_profile_from_sessions(
|
|
|
1868
1884
|
# def shift to next session (do this wile not setisfied?)
|
|
1869
1885
|
if __name__ == '__main__':
|
|
1870
1886
|
case_name = 'Mopo'
|
|
1871
|
-
scenario_name = 'XX_car'
|
|
1887
|
+
# scenario_name = 'XX_car'
|
|
1872
1888
|
general_parameters_file_name = 'ChaProEV.toml'
|
|
1873
1889
|
general_parameters = Box(
|
|
1874
1890
|
cook.parameters_from_TOML(general_parameters_file_name)
|
|
1875
1891
|
)
|
|
1876
|
-
scenario_file_name: str = f'scenarios/{case_name}/{scenario_name}.toml'
|
|
1877
|
-
scenario = Box(cook.parameters_from_TOML(scenario_file_name))
|
|
1878
|
-
scenario.name = scenario_name
|
|
1879
|
-
|
|
1880
|
-
run_charging_sessions_dataframe: pd.DataFrame = pd.read_pickle(
|
|
1881
|
-
'output/Mopo/XX_car_run_charging_sessions.pkl'
|
|
1882
|
-
)
|
|
1892
|
+
# scenario_file_name: str = f'scenarios/{case_name}/{scenario_name}.toml'
|
|
1893
|
+
# scenario = Box(cook.parameters_from_TOML(scenario_file_name))
|
|
1894
|
+
# scenario.name = scenario_name
|
|
1883
1895
|
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
scenario,
|
|
1888
|
-
general_parameters,
|
|
1889
|
-
case_name,
|
|
1890
|
-
)
|
|
1891
|
-
)
|
|
1892
|
-
(
|
|
1893
|
-
charging_profile_to_vehicle_from_sessions,
|
|
1894
|
-
charging_profile_from_network_from_sessions,
|
|
1895
|
-
) = get_profile_from_sessions(
|
|
1896
|
-
charging_sessions_with_charged_amounts,
|
|
1897
|
-
scenario,
|
|
1898
|
-
general_parameters,
|
|
1899
|
-
case_name,
|
|
1900
|
-
)
|
|
1896
|
+
# run_charging_sessions_dataframe: pd.DataFrame = pd.read_pickle(
|
|
1897
|
+
# 'output/Mopo/XX_car_run_charging_sessions.pkl'
|
|
1898
|
+
# )
|
|
1901
1899
|
|
|
1902
|
-
charging_sessions_with_charged_amounts
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1900
|
+
# charging_sessions_with_charged_amounts = (
|
|
1901
|
+
# charging_amounts_in_charging_sessions(
|
|
1902
|
+
# run_charging_sessions_dataframe,
|
|
1903
|
+
# scenario,
|
|
1904
|
+
# general_parameters,
|
|
1905
|
+
# case_name,
|
|
1906
|
+
# )
|
|
1907
|
+
# )
|
|
1908
|
+
# (
|
|
1909
|
+
# charging_profile_to_vehicle_from_sessions,
|
|
1910
|
+
# charging_profile_from_network_from_sessions,
|
|
1911
|
+
# ) = get_profile_from_sessions(
|
|
1912
|
+
# charging_sessions_with_charged_amounts,
|
|
1913
|
+
# scenario,
|
|
1914
|
+
# general_parameters,
|
|
1915
|
+
# case_name,
|
|
1916
|
+
# )
|
|
1907
1917
|
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
#
|
|
1911
|
-
#
|
|
1918
|
+
# charging_sessions_with_charged_amounts['Start time'] = (
|
|
1919
|
+
# charging_sessions_with_charged_amounts['Start time'].astype(
|
|
1920
|
+
# 'datetime64[ns]'
|
|
1921
|
+
# )
|
|
1912
1922
|
# )
|
|
1913
|
-
|
|
1914
|
-
|
|
1923
|
+
|
|
1924
|
+
# case_name = 'Mopo'
|
|
1925
|
+
scenario_name = 'Switzerland_car_own_driveway_2050'
|
|
1926
|
+
scenario_file_name: str = f'scenarios/{case_name}/{scenario_name}.toml'
|
|
1927
|
+
# # scenario: Box = Box(cook.parameters_from_TOML(scenario_file_name))
|
|
1928
|
+
# scenario.name = scenario_name
|
|
1915
1929
|
general_parameters_file_name = 'ChaProEV.toml'
|
|
1930
|
+
|
|
1931
|
+
scenario = Box(cook.parameters_from_TOML(scenario_file_name))
|
|
1932
|
+
scenario.name = scenario_name
|
|
1916
1933
|
general_parameters = Box(
|
|
1917
1934
|
cook.parameters_from_TOML(general_parameters_file_name)
|
|
1918
1935
|
)
|
|
@@ -1936,9 +1953,9 @@ if __name__ == '__main__':
|
|
|
1936
1953
|
start_: datetime.datetime = datetime.datetime.now()
|
|
1937
1954
|
(
|
|
1938
1955
|
battery_spaces,
|
|
1956
|
+
total_battery_space_per_location,
|
|
1939
1957
|
charge_drawn_by_vehicles,
|
|
1940
1958
|
charge_drawn_from_network,
|
|
1941
|
-
total_battery_space_per_location,
|
|
1942
1959
|
charging_costs,
|
|
1943
1960
|
) = get_charging_profile(
|
|
1944
1961
|
location_split,
|
|
@@ -58,6 +58,7 @@ docs/build/html/_static/pygments.css
|
|
|
58
58
|
docs/build/html/_static/searchtools.js
|
|
59
59
|
docs/build/html/_static/sphinx_highlight.js
|
|
60
60
|
docs/source/index.rst
|
|
61
|
+
scenarios/Mopo/Switzerland_car_own_driveway_2050.toml
|
|
61
62
|
scenarios/Mopo/XX_bus.toml
|
|
62
63
|
scenarios/Mopo/XX_car.toml
|
|
63
64
|
scenarios/Mopo/XX_truck.toml
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|