ChaProEV 1.2.2__tar.gz → 1.2.4__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.4}/ChaProEV.toml +2 -2
- {chaproev-1.2.2/src/ChaProEV.egg-info → chaproev-1.2.4}/PKG-INFO +1 -1
- {chaproev-1.2.2 → chaproev-1.2.4}/pyproject.toml +1 -1
- chaproev-1.2.4/scenarios/Mopo/Switzerland_car_own_driveway_2050.toml +405 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV/charging.py +62 -41
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV/scenarios_module.py +4 -0
- {chaproev-1.2.2 → chaproev-1.2.4/src/ChaProEV.egg-info}/PKG-INFO +1 -1
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV.egg-info/SOURCES.txt +1 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/.flake8 +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/.gitignore +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/.vscode/ltex.dictionary.en-US.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/.vscode/settings.json +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/ChaProEV.pptx +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/Gemfile +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/LICENCE +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/MOPO_logo_chaproev on wht.svg +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/MOPO_logo_chaproev.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/MOPO_logo_chaproev.svg +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/MOPO_logo_main.svg +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/MOPO_logo_main_onwhite.svg +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/README.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/comparisons/comparison_template.toml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/ChaProEV_workflow.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/Legs.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/Locations.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/Makefile +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/README.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/Trips.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/Vehicle_Temperature_correction_factor.svg +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/_config.yml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/doctrees/environment.pickle +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/doctrees/index.doctree +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/.buildinfo +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/_sources/index.rst.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/_static/alabaster.css +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/_static/basic.css +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/_static/custom.css +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/_static/doctools.js +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/_static/documentation_options.js +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/_static/file.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/_static/language_data.js +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/_static/minus.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/_static/plus.png +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/_static/pygments.css +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/_static/searchtools.js +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/_static/sphinx_highlight.js +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/genindex.html +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/index.html +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/objects.inv +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/search.html +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/build/html/searchindex.js +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/charging.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/consumption.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/define.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/index.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/make.bat +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/mobility.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/running_model,md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/scenario.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/source/index.rst +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/using.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/docs/weather.md +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/eu-emblem-low-res.jpg +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/mkdocs.yml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/requirements.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/scenarios/Mopo/XX_bus.toml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/scenarios/Mopo/XX_car.toml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/scenarios/Mopo/XX_truck.toml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/scenarios/Mopo/XX_van.toml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/scenarios/local_impact_BEVs/baseline.toml +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/setup.cfg +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV/ChaProEV.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV/__init__.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV/consumption.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV/define.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV/make_variants.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV/mobility.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV/profiles.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV/py.typed +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV/run_time.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV/weather.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV/writing.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV.egg-info/PKG-INFO-PC-28624 +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV.egg-info/PKG-INFO-PC-28624-2 +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV.egg-info/SOURCES-PC-28624-2.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV.egg-info/SOURCES-PC-28624.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV.egg-info/dependency_links.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV.egg-info/requires-PC-28624-2.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV.egg-info/requires-PC-28624.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/src/ChaProEV.egg-info/top_level.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/tests/test_battery_space.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/tests/test_charge_and_consumption.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/tests/test_empty_values.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/tests/test_same_output.py +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/todo.txt +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/variants/Mopo/XX_car.csv +0 -0
- {chaproev-1.2.2 → chaproev-1.2.4}/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
|
] = (
|
|
@@ -1108,11 +1124,15 @@ def copy_day_type_profiles_to_whole_run(
|
|
|
1108
1124
|
]
|
|
1109
1125
|
)
|
|
1110
1126
|
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1127
|
+
if (
|
|
1128
|
+
float(0)
|
|
1129
|
+
in spillover_battery_spaces[spillover_location].columns
|
|
1130
|
+
):
|
|
1131
|
+
spillover_battery_spaces[spillover_location] = (
|
|
1132
|
+
spillover_battery_spaces[spillover_location].drop(
|
|
1133
|
+
float(0), axis=1
|
|
1134
|
+
)
|
|
1114
1135
|
)
|
|
1115
|
-
)
|
|
1116
1136
|
|
|
1117
1137
|
charge_drawn_by_vehicles.loc[
|
|
1118
1138
|
spillover_time_tag, spillover_location
|
|
@@ -1868,51 +1888,52 @@ def get_profile_from_sessions(
|
|
|
1868
1888
|
# def shift to next session (do this wile not setisfied?)
|
|
1869
1889
|
if __name__ == '__main__':
|
|
1870
1890
|
case_name = 'Mopo'
|
|
1871
|
-
scenario_name = 'XX_car'
|
|
1891
|
+
# scenario_name = 'XX_car'
|
|
1872
1892
|
general_parameters_file_name = 'ChaProEV.toml'
|
|
1873
1893
|
general_parameters = Box(
|
|
1874
1894
|
cook.parameters_from_TOML(general_parameters_file_name)
|
|
1875
1895
|
)
|
|
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
|
|
1896
|
+
# scenario_file_name: str = f'scenarios/{case_name}/{scenario_name}.toml'
|
|
1897
|
+
# scenario = Box(cook.parameters_from_TOML(scenario_file_name))
|
|
1898
|
+
# scenario.name = scenario_name
|
|
1879
1899
|
|
|
1880
|
-
run_charging_sessions_dataframe: pd.DataFrame = pd.read_pickle(
|
|
1881
|
-
|
|
1882
|
-
)
|
|
1883
|
-
|
|
1884
|
-
charging_sessions_with_charged_amounts = (
|
|
1885
|
-
charging_amounts_in_charging_sessions(
|
|
1886
|
-
run_charging_sessions_dataframe,
|
|
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
|
-
)
|
|
1900
|
+
# run_charging_sessions_dataframe: pd.DataFrame = pd.read_pickle(
|
|
1901
|
+
# 'output/Mopo/XX_car_run_charging_sessions.pkl'
|
|
1902
|
+
# )
|
|
1901
1903
|
|
|
1902
|
-
charging_sessions_with_charged_amounts
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1904
|
+
# charging_sessions_with_charged_amounts = (
|
|
1905
|
+
# charging_amounts_in_charging_sessions(
|
|
1906
|
+
# run_charging_sessions_dataframe,
|
|
1907
|
+
# scenario,
|
|
1908
|
+
# general_parameters,
|
|
1909
|
+
# case_name,
|
|
1910
|
+
# )
|
|
1911
|
+
# )
|
|
1912
|
+
# (
|
|
1913
|
+
# charging_profile_to_vehicle_from_sessions,
|
|
1914
|
+
# charging_profile_from_network_from_sessions,
|
|
1915
|
+
# ) = get_profile_from_sessions(
|
|
1916
|
+
# charging_sessions_with_charged_amounts,
|
|
1917
|
+
# scenario,
|
|
1918
|
+
# general_parameters,
|
|
1919
|
+
# case_name,
|
|
1920
|
+
# )
|
|
1907
1921
|
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
#
|
|
1911
|
-
#
|
|
1922
|
+
# charging_sessions_with_charged_amounts['Start time'] = (
|
|
1923
|
+
# charging_sessions_with_charged_amounts['Start time'].astype(
|
|
1924
|
+
# 'datetime64[ns]'
|
|
1925
|
+
# )
|
|
1912
1926
|
# )
|
|
1913
|
-
|
|
1914
|
-
|
|
1927
|
+
|
|
1928
|
+
# case_name = 'Mopo'
|
|
1929
|
+
scenario_name = 'Latvia_car_own_driveway_2050'
|
|
1930
|
+
scenario_file_name: str = f'scenarios/{case_name}/{scenario_name}.toml'
|
|
1931
|
+
# # scenario: Box = Box(cook.parameters_from_TOML(scenario_file_name))
|
|
1932
|
+
# scenario.name = scenario_name
|
|
1915
1933
|
general_parameters_file_name = 'ChaProEV.toml'
|
|
1934
|
+
|
|
1935
|
+
scenario = Box(cook.parameters_from_TOML(scenario_file_name))
|
|
1936
|
+
scenario.name = scenario_name
|
|
1916
1937
|
general_parameters = Box(
|
|
1917
1938
|
cook.parameters_from_TOML(general_parameters_file_name)
|
|
1918
1939
|
)
|
|
@@ -1936,9 +1957,9 @@ if __name__ == '__main__':
|
|
|
1936
1957
|
start_: datetime.datetime = datetime.datetime.now()
|
|
1937
1958
|
(
|
|
1938
1959
|
battery_spaces,
|
|
1960
|
+
total_battery_space_per_location,
|
|
1939
1961
|
charge_drawn_by_vehicles,
|
|
1940
1962
|
charge_drawn_from_network,
|
|
1941
|
-
total_battery_space_per_location,
|
|
1942
1963
|
charging_costs,
|
|
1943
1964
|
) = get_charging_profile(
|
|
1944
1965
|
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
|