ChaProEV 1.2.1__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 (98) hide show
  1. {chaproev-1.2.1 → chaproev-1.2.3}/ChaProEV.toml +2 -2
  2. {chaproev-1.2.1/src/ChaProEV.egg-info → chaproev-1.2.3}/PKG-INFO +1 -1
  3. chaproev-1.2.3/docs/scenario.md +94 -0
  4. {chaproev-1.2.1 → chaproev-1.2.3}/pyproject.toml +1 -1
  5. chaproev-1.2.3/scenarios/Mopo/Switzerland_car_own_driveway_2050.toml +405 -0
  6. {chaproev-1.2.1 → chaproev-1.2.3}/scenarios/Mopo/XX_bus.toml +37 -42
  7. {chaproev-1.2.1 → chaproev-1.2.3}/scenarios/Mopo/XX_car.toml +7 -4
  8. {chaproev-1.2.1 → chaproev-1.2.3}/scenarios/Mopo/XX_truck.toml +17 -11
  9. {chaproev-1.2.1 → chaproev-1.2.3}/scenarios/Mopo/XX_van.toml +12 -12
  10. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV/charging.py +54 -37
  11. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV/define.py +1 -4
  12. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV/run_time.py +34 -34
  13. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV/scenarios_module.py +4 -0
  14. {chaproev-1.2.1 → chaproev-1.2.3/src/ChaProEV.egg-info}/PKG-INFO +1 -1
  15. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV.egg-info/SOURCES.txt +1 -0
  16. chaproev-1.2.1/docs/scenario.md +0 -64
  17. {chaproev-1.2.1 → chaproev-1.2.3}/.flake8 +0 -0
  18. {chaproev-1.2.1 → chaproev-1.2.3}/.gitignore +0 -0
  19. {chaproev-1.2.1 → chaproev-1.2.3}/.vscode/ltex.dictionary.en-US.txt +0 -0
  20. {chaproev-1.2.1 → chaproev-1.2.3}/.vscode/settings.json +0 -0
  21. {chaproev-1.2.1 → chaproev-1.2.3}/ChaProEV.pptx +0 -0
  22. {chaproev-1.2.1 → chaproev-1.2.3}/Gemfile +0 -0
  23. {chaproev-1.2.1 → chaproev-1.2.3}/LICENCE +0 -0
  24. {chaproev-1.2.1 → chaproev-1.2.3}/MOPO_logo_chaproev on wht.svg +0 -0
  25. {chaproev-1.2.1 → chaproev-1.2.3}/MOPO_logo_chaproev.png +0 -0
  26. {chaproev-1.2.1 → chaproev-1.2.3}/MOPO_logo_chaproev.svg +0 -0
  27. {chaproev-1.2.1 → chaproev-1.2.3}/MOPO_logo_main.svg +0 -0
  28. {chaproev-1.2.1 → chaproev-1.2.3}/MOPO_logo_main_onwhite.svg +0 -0
  29. {chaproev-1.2.1 → chaproev-1.2.3}/README.md +0 -0
  30. {chaproev-1.2.1 → chaproev-1.2.3}/comparisons/comparison_template.toml +0 -0
  31. {chaproev-1.2.1 → chaproev-1.2.3}/docs/ChaProEV_workflow.png +0 -0
  32. {chaproev-1.2.1 → chaproev-1.2.3}/docs/Legs.png +0 -0
  33. {chaproev-1.2.1 → chaproev-1.2.3}/docs/Locations.png +0 -0
  34. {chaproev-1.2.1 → chaproev-1.2.3}/docs/Makefile +0 -0
  35. {chaproev-1.2.1 → chaproev-1.2.3}/docs/README.md +0 -0
  36. {chaproev-1.2.1 → chaproev-1.2.3}/docs/Trips.png +0 -0
  37. {chaproev-1.2.1 → chaproev-1.2.3}/docs/Vehicle_Temperature_correction_factor.svg +0 -0
  38. {chaproev-1.2.1 → chaproev-1.2.3}/docs/_config.yml +0 -0
  39. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/doctrees/environment.pickle +0 -0
  40. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/doctrees/index.doctree +0 -0
  41. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/.buildinfo +0 -0
  42. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/_sources/index.rst.txt +0 -0
  43. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/_static/alabaster.css +0 -0
  44. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/_static/basic.css +0 -0
  45. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/_static/custom.css +0 -0
  46. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/_static/doctools.js +0 -0
  47. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/_static/documentation_options.js +0 -0
  48. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/_static/file.png +0 -0
  49. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/_static/language_data.js +0 -0
  50. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/_static/minus.png +0 -0
  51. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/_static/plus.png +0 -0
  52. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/_static/pygments.css +0 -0
  53. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/_static/searchtools.js +0 -0
  54. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/_static/sphinx_highlight.js +0 -0
  55. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/genindex.html +0 -0
  56. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/index.html +0 -0
  57. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/objects.inv +0 -0
  58. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/search.html +0 -0
  59. {chaproev-1.2.1 → chaproev-1.2.3}/docs/build/html/searchindex.js +0 -0
  60. {chaproev-1.2.1 → chaproev-1.2.3}/docs/charging.md +0 -0
  61. {chaproev-1.2.1 → chaproev-1.2.3}/docs/consumption.md +0 -0
  62. {chaproev-1.2.1 → chaproev-1.2.3}/docs/define.md +0 -0
  63. {chaproev-1.2.1 → chaproev-1.2.3}/docs/index.md +0 -0
  64. {chaproev-1.2.1 → chaproev-1.2.3}/docs/make.bat +0 -0
  65. {chaproev-1.2.1 → chaproev-1.2.3}/docs/mobility.md +0 -0
  66. {chaproev-1.2.1 → chaproev-1.2.3}/docs/running_model,md +0 -0
  67. {chaproev-1.2.1 → chaproev-1.2.3}/docs/source/index.rst +0 -0
  68. {chaproev-1.2.1 → chaproev-1.2.3}/docs/using.md +0 -0
  69. {chaproev-1.2.1 → chaproev-1.2.3}/docs/weather.md +0 -0
  70. {chaproev-1.2.1 → chaproev-1.2.3}/eu-emblem-low-res.jpg +0 -0
  71. {chaproev-1.2.1 → chaproev-1.2.3}/mkdocs.yml +0 -0
  72. {chaproev-1.2.1 → chaproev-1.2.3}/requirements.txt +0 -0
  73. {chaproev-1.2.1 → chaproev-1.2.3}/scenarios/local_impact_BEVs/baseline.toml +0 -0
  74. {chaproev-1.2.1 → chaproev-1.2.3}/setup.cfg +0 -0
  75. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV/ChaProEV.py +0 -0
  76. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV/__init__.py +0 -0
  77. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV/consumption.py +0 -0
  78. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV/make_variants.py +0 -0
  79. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV/mobility.py +0 -0
  80. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV/profiles.py +0 -0
  81. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV/py.typed +0 -0
  82. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV/weather.py +0 -0
  83. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV/writing.py +0 -0
  84. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV.egg-info/PKG-INFO-PC-28624 +0 -0
  85. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV.egg-info/PKG-INFO-PC-28624-2 +0 -0
  86. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV.egg-info/SOURCES-PC-28624-2.txt +0 -0
  87. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV.egg-info/SOURCES-PC-28624.txt +0 -0
  88. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV.egg-info/dependency_links.txt +0 -0
  89. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV.egg-info/requires-PC-28624-2.txt +0 -0
  90. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV.egg-info/requires-PC-28624.txt +0 -0
  91. {chaproev-1.2.1 → chaproev-1.2.3}/src/ChaProEV.egg-info/top_level.txt +0 -0
  92. {chaproev-1.2.1 → chaproev-1.2.3}/tests/test_battery_space.py +0 -0
  93. {chaproev-1.2.1 → chaproev-1.2.3}/tests/test_charge_and_consumption.py +0 -0
  94. {chaproev-1.2.1 → chaproev-1.2.3}/tests/test_empty_values.py +0 -0
  95. {chaproev-1.2.1 → chaproev-1.2.3}/tests/test_same_output.py +0 -0
  96. {chaproev-1.2.1 → chaproev-1.2.3}/todo.txt +0 -0
  97. {chaproev-1.2.1 → chaproev-1.2.3}/variants/Mopo/XX_car.csv +0 -0
  98. {chaproev-1.2.1 → 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.1
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
@@ -0,0 +1,94 @@
1
+ # Scenario file description
2
+
3
+ This page describes the elements of the scenario file
4
+
5
+ ## run
6
+ Run parameters give the elements to produce the time tags of the run range.
7
+ ### use_day_types_in_charge_computing
8
+ If set to true, the charging computations will be done per day type rather
9
+ than for all days of the run, which fastens the computations.
10
+ ### start
11
+ This part gives the year, month, day, hour, and minute of the start of the
12
+ computations. It is best to set this to a day hour start for consistency
13
+ and then cut off the start for display (see below). For example,
14
+ start on 31/12/2019 at 05:00 if your day start hour is 05:00 and if you want
15
+ to show results starting on 1/1/2020 at 00:00.
16
+ ### end
17
+ This part gives the year, month, day, hour, and minute of the end of the
18
+ computations. Note that the end time tag is not included in the run,
19
+ so put 1/1/2021 at 00:00 if you want to compute for 2020.
20
+ ### display_start
21
+ This is the first time tag you want to show in your end results.
22
+ ### display_end
23
+ This is the first time tag that does not appear in your displayed results.
24
+ ### frequency
25
+ The time frequency of the run (size and type).
26
+ For the type, use 'H' for hours, 'min' for minutes,
27
+ 'S' for seconds, 'D' for days. For more info and other types, see
28
+ [here](https://pandas.pydata.org/docs/user_guide/timeseries.html#timeseries-offset-aliases).
29
+ The current model uses hourly (so 1 and 'h'). Changing that might require
30
+ some adjustments in the code.
31
+ ### display frequency
32
+ The frequency of the displayed values can be different than the frequency of the compuatations.
33
+ In the current version, this needs to be the same or less frequent than the computation frequencey above.
34
+ ### extra_downloads
35
+ This is to decide if you want to dowload some files (note that this concerns the
36
+ currently inactive weather module).
37
+ ## locations
38
+
39
+ ## legs
40
+
41
+ ### mix
42
+
43
+ ## vehicle
44
+ These parameters define the scenario's vehicle. If you want profiles
45
+ for several vehicles, run separate scenarios.
46
+ ### vehicle name
47
+ This is the name of the vehicle, which will be checked to see if trips
48
+ and locations are actually declared.
49
+
50
+ ## trips
51
+
52
+ ## mobility_module
53
+ ### day_start_hour
54
+ This parameter defines the start of the day for the scenario. It is chosen
55
+ so that there are no movements during that hour number. It represents the
56
+ shift from midnight, so a day start hour of 5 means that the day starts
57
+ at hour 5 (i.e. 05.00). The idea is to choose an hour that is logical
58
+ for the users/matches their patterns. This is connected to the
59
+ [day types](day_types), as a given day will correspond to a day type.
60
+ For example, the hours between 00:00 and 05:00 on a Saturday belong to
61
+ the Thursday before and are as such on a week day
62
+ (as opposed to a weekend day).
63
+
64
+ ### day_types
65
+
66
+ ### trips_per_day_type
67
+ For vehicles other than cars, we assume that there is one trip per day type.
68
+ This is where we match the trips to their day type
69
+
70
+ ## transport_factors
71
+
72
+ ### road_types
73
+
74
+ ### weights
75
+
76
+ ## weather
77
+
78
+ ## charging
79
+
80
+ ## plots
81
+
82
+ ## files
83
+
84
+ ## maps
85
+
86
+ ## colors
87
+
88
+ ## color_bars
89
+
90
+ ## unit_conversion
91
+
92
+ ## time
93
+
94
+ ## numbers
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'ChaProEV'
7
- version = '1.2.1'
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,]