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.
Files changed (97) hide show
  1. {chaproev-1.2.2 → chaproev-1.2.3}/ChaProEV.toml +2 -2
  2. {chaproev-1.2.2/src/ChaProEV.egg-info → chaproev-1.2.3}/PKG-INFO +1 -1
  3. {chaproev-1.2.2 → chaproev-1.2.3}/pyproject.toml +1 -1
  4. chaproev-1.2.3/scenarios/Mopo/Switzerland_car_own_driveway_2050.toml +405 -0
  5. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/charging.py +54 -37
  6. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/scenarios_module.py +4 -0
  7. {chaproev-1.2.2 → chaproev-1.2.3/src/ChaProEV.egg-info}/PKG-INFO +1 -1
  8. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/SOURCES.txt +1 -0
  9. {chaproev-1.2.2 → chaproev-1.2.3}/.flake8 +0 -0
  10. {chaproev-1.2.2 → chaproev-1.2.3}/.gitignore +0 -0
  11. {chaproev-1.2.2 → chaproev-1.2.3}/.vscode/ltex.dictionary.en-US.txt +0 -0
  12. {chaproev-1.2.2 → chaproev-1.2.3}/.vscode/settings.json +0 -0
  13. {chaproev-1.2.2 → chaproev-1.2.3}/ChaProEV.pptx +0 -0
  14. {chaproev-1.2.2 → chaproev-1.2.3}/Gemfile +0 -0
  15. {chaproev-1.2.2 → chaproev-1.2.3}/LICENCE +0 -0
  16. {chaproev-1.2.2 → chaproev-1.2.3}/MOPO_logo_chaproev on wht.svg +0 -0
  17. {chaproev-1.2.2 → chaproev-1.2.3}/MOPO_logo_chaproev.png +0 -0
  18. {chaproev-1.2.2 → chaproev-1.2.3}/MOPO_logo_chaproev.svg +0 -0
  19. {chaproev-1.2.2 → chaproev-1.2.3}/MOPO_logo_main.svg +0 -0
  20. {chaproev-1.2.2 → chaproev-1.2.3}/MOPO_logo_main_onwhite.svg +0 -0
  21. {chaproev-1.2.2 → chaproev-1.2.3}/README.md +0 -0
  22. {chaproev-1.2.2 → chaproev-1.2.3}/comparisons/comparison_template.toml +0 -0
  23. {chaproev-1.2.2 → chaproev-1.2.3}/docs/ChaProEV_workflow.png +0 -0
  24. {chaproev-1.2.2 → chaproev-1.2.3}/docs/Legs.png +0 -0
  25. {chaproev-1.2.2 → chaproev-1.2.3}/docs/Locations.png +0 -0
  26. {chaproev-1.2.2 → chaproev-1.2.3}/docs/Makefile +0 -0
  27. {chaproev-1.2.2 → chaproev-1.2.3}/docs/README.md +0 -0
  28. {chaproev-1.2.2 → chaproev-1.2.3}/docs/Trips.png +0 -0
  29. {chaproev-1.2.2 → chaproev-1.2.3}/docs/Vehicle_Temperature_correction_factor.svg +0 -0
  30. {chaproev-1.2.2 → chaproev-1.2.3}/docs/_config.yml +0 -0
  31. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/doctrees/environment.pickle +0 -0
  32. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/doctrees/index.doctree +0 -0
  33. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/.buildinfo +0 -0
  34. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_sources/index.rst.txt +0 -0
  35. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/alabaster.css +0 -0
  36. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/basic.css +0 -0
  37. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/custom.css +0 -0
  38. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/doctools.js +0 -0
  39. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/documentation_options.js +0 -0
  40. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/file.png +0 -0
  41. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/language_data.js +0 -0
  42. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/minus.png +0 -0
  43. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/plus.png +0 -0
  44. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/pygments.css +0 -0
  45. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/searchtools.js +0 -0
  46. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/_static/sphinx_highlight.js +0 -0
  47. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/genindex.html +0 -0
  48. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/index.html +0 -0
  49. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/objects.inv +0 -0
  50. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/search.html +0 -0
  51. {chaproev-1.2.2 → chaproev-1.2.3}/docs/build/html/searchindex.js +0 -0
  52. {chaproev-1.2.2 → chaproev-1.2.3}/docs/charging.md +0 -0
  53. {chaproev-1.2.2 → chaproev-1.2.3}/docs/consumption.md +0 -0
  54. {chaproev-1.2.2 → chaproev-1.2.3}/docs/define.md +0 -0
  55. {chaproev-1.2.2 → chaproev-1.2.3}/docs/index.md +0 -0
  56. {chaproev-1.2.2 → chaproev-1.2.3}/docs/make.bat +0 -0
  57. {chaproev-1.2.2 → chaproev-1.2.3}/docs/mobility.md +0 -0
  58. {chaproev-1.2.2 → chaproev-1.2.3}/docs/running_model,md +0 -0
  59. {chaproev-1.2.2 → chaproev-1.2.3}/docs/scenario.md +0 -0
  60. {chaproev-1.2.2 → chaproev-1.2.3}/docs/source/index.rst +0 -0
  61. {chaproev-1.2.2 → chaproev-1.2.3}/docs/using.md +0 -0
  62. {chaproev-1.2.2 → chaproev-1.2.3}/docs/weather.md +0 -0
  63. {chaproev-1.2.2 → chaproev-1.2.3}/eu-emblem-low-res.jpg +0 -0
  64. {chaproev-1.2.2 → chaproev-1.2.3}/mkdocs.yml +0 -0
  65. {chaproev-1.2.2 → chaproev-1.2.3}/requirements.txt +0 -0
  66. {chaproev-1.2.2 → chaproev-1.2.3}/scenarios/Mopo/XX_bus.toml +0 -0
  67. {chaproev-1.2.2 → chaproev-1.2.3}/scenarios/Mopo/XX_car.toml +0 -0
  68. {chaproev-1.2.2 → chaproev-1.2.3}/scenarios/Mopo/XX_truck.toml +0 -0
  69. {chaproev-1.2.2 → chaproev-1.2.3}/scenarios/Mopo/XX_van.toml +0 -0
  70. {chaproev-1.2.2 → chaproev-1.2.3}/scenarios/local_impact_BEVs/baseline.toml +0 -0
  71. {chaproev-1.2.2 → chaproev-1.2.3}/setup.cfg +0 -0
  72. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/ChaProEV.py +0 -0
  73. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/__init__.py +0 -0
  74. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/consumption.py +0 -0
  75. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/define.py +0 -0
  76. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/make_variants.py +0 -0
  77. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/mobility.py +0 -0
  78. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/profiles.py +0 -0
  79. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/py.typed +0 -0
  80. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/run_time.py +0 -0
  81. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/weather.py +0 -0
  82. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV/writing.py +0 -0
  83. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/PKG-INFO-PC-28624 +0 -0
  84. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/PKG-INFO-PC-28624-2 +0 -0
  85. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/SOURCES-PC-28624-2.txt +0 -0
  86. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/SOURCES-PC-28624.txt +0 -0
  87. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/dependency_links.txt +0 -0
  88. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/requires-PC-28624-2.txt +0 -0
  89. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/requires-PC-28624.txt +0 -0
  90. {chaproev-1.2.2 → chaproev-1.2.3}/src/ChaProEV.egg-info/top_level.txt +0 -0
  91. {chaproev-1.2.2 → chaproev-1.2.3}/tests/test_battery_space.py +0 -0
  92. {chaproev-1.2.2 → chaproev-1.2.3}/tests/test_charge_and_consumption.py +0 -0
  93. {chaproev-1.2.2 → chaproev-1.2.3}/tests/test_empty_values.py +0 -0
  94. {chaproev-1.2.2 → chaproev-1.2.3}/tests/test_same_output.py +0 -0
  95. {chaproev-1.2.2 → chaproev-1.2.3}/todo.txt +0 -0
  96. {chaproev-1.2.2 → chaproev-1.2.3}/variants/Mopo/XX_car.csv +0 -0
  97. {chaproev-1.2.2 → chaproev-1.2.3}/variants/Mopo.toml +0 -0
@@ -248,8 +248,8 @@ sessions_values_columns = [
248
248
  ]
249
249
 
250
250
  [sessions]
251
- produce = true
252
- generate_profiles = true
251
+ produce = false
252
+ generate_profiles = false
253
253
  [standard_profiles]
254
254
  produce = true
255
255
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ChaProEV
3
- Version: 1.2.2
3
+ Version: 1.2.3
4
4
  Summary: ChaProEV: Charging Profiles of Electric Vehicles
5
5
  Author-email: Omar Usmani <Omar.Usmani@TNO.nl>
6
6
  Project-URL: Homepage, https://github.com/TNO/ChaProEV
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'ChaProEV'
7
- version = '1.2.2'
7
+ version = '1.2.3'
8
8
  authors = [
9
9
  { name='Omar Usmani', email='Omar.Usmani@TNO.nl' },
10
10
  ]
@@ -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
- 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
- )
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['Start time'] = (
1903
- charging_sessions_with_charged_amounts['Start time'].astype(
1904
- 'datetime64[ns]'
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
- case_name = 'Mopo'
1909
- scenario_name = 'XX_car'
1910
- # scenario_file_name: str = (
1911
- # f'scenarios/{case_name}/{test_scenario_name}.toml'
1918
+ # charging_sessions_with_charged_amounts['Start time'] = (
1919
+ # charging_sessions_with_charged_amounts['Start time'].astype(
1920
+ # 'datetime64[ns]'
1921
+ # )
1912
1922
  # )
1913
- # scenario: Box = Box(cook.parameters_from_TOML(scenario_file_name))
1914
- scenario.name = scenario_name
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,
@@ -230,3 +230,7 @@ def load_scenarios(case_name: str) -> ty.List[Box]:
230
230
  for scenario, scenario_file in zip(scenarios, scenario_files):
231
231
  scenario.name = scenario_file.split('.')[0]
232
232
  return scenarios
233
+
234
+
235
+ if __name__ == '__main__':
236
+ case_name = 'Mopo'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ChaProEV
3
- Version: 1.2.2
3
+ Version: 1.2.3
4
4
  Summary: ChaProEV: Charging Profiles of Electric Vehicles
5
5
  Author-email: Omar Usmani <Omar.Usmani@TNO.nl>
6
6
  Project-URL: Homepage, https://github.com/TNO/ChaProEV
@@ -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