ChaProEV 1.2.7__tar.gz → 1.2.8__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 (138) hide show
  1. {chaproev-1.2.7 → chaproev-1.2.8}/.gitignore +1 -0
  2. {chaproev-1.2.7/src/ChaProEV.egg-info → chaproev-1.2.8}/PKG-INFO +2 -3
  3. chaproev-1.2.8/README.md +160 -0
  4. chaproev-1.2.8/docs/define.md +183 -0
  5. chaproev-1.2.8/docs/general_parameters.md +153 -0
  6. chaproev-1.2.8/docs/index.md +1 -0
  7. chaproev-1.2.8/docs/mobility.md +4 -0
  8. chaproev-1.2.8/docs/scenario.md +280 -0
  9. chaproev-1.2.8/docs/using.md +32 -0
  10. chaproev-1.2.8/docs/variants.md +4 -0
  11. chaproev-1.2.8/mkdocs.yml +27 -0
  12. {chaproev-1.2.7 → chaproev-1.2.8}/pyproject.toml +2 -2
  13. chaproev-1.2.8/scenarios/Mopo/XX_car.toml +756 -0
  14. chaproev-1.2.8/scenarios/Mopo/XX_truck.toml +437 -0
  15. chaproev-1.2.8/scenarios/Mopo/XX_van.toml +452 -0
  16. chaproev-1.2.8/scenarios/bus_test/XX_bus.toml +572 -0
  17. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV/ChaProEV.py +5 -6
  18. chaproev-1.2.8/src/ChaProEV/__init__.py +0 -0
  19. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV/charging.py +1 -1
  20. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV/define.py +320 -321
  21. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV/non_road.py +8 -8
  22. chaproev-1.2.8/src/ChaProEV/py.typed +0 -0
  23. {chaproev-1.2.7 → chaproev-1.2.8/src/ChaProEV.egg-info}/PKG-INFO +2 -3
  24. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV.egg-info/SOURCES.txt +15 -0
  25. {chaproev-1.2.7 → chaproev-1.2.8}/.flake8 +0 -0
  26. {chaproev-1.2.7 → chaproev-1.2.8}/.vscode/ltex.dictionary.en-US.txt +0 -0
  27. {chaproev-1.2.7 → chaproev-1.2.8}/.vscode/settings.json +0 -0
  28. {chaproev-1.2.7 → chaproev-1.2.8}/ChaProEV.pptx +0 -0
  29. {chaproev-1.2.7 → chaproev-1.2.8}/ChaProEV.toml +0 -0
  30. {chaproev-1.2.7 → chaproev-1.2.8}/ChaProEV_test_case_configuration_files.zip +0 -0
  31. {chaproev-1.2.7 → chaproev-1.2.8}/Gemfile +0 -0
  32. {chaproev-1.2.7 → chaproev-1.2.8}/LICENCE +0 -0
  33. {chaproev-1.2.7 → chaproev-1.2.8}/MOPO_logo_chaproev on wht.svg +0 -0
  34. {chaproev-1.2.7 → chaproev-1.2.8}/MOPO_logo_chaproev.png +0 -0
  35. {chaproev-1.2.7 → chaproev-1.2.8}/MOPO_logo_chaproev.svg +0 -0
  36. {chaproev-1.2.7 → chaproev-1.2.8}/MOPO_logo_main.svg +0 -0
  37. {chaproev-1.2.7 → chaproev-1.2.8}/MOPO_logo_main_onwhite.svg +0 -0
  38. /chaproev-1.2.7/README.md → /chaproev-1.2.8/README-PC-28624.md +0 -0
  39. {chaproev-1.2.7 → chaproev-1.2.8}/comparisons/comparison_template.toml +0 -0
  40. {chaproev-1.2.7 → chaproev-1.2.8}/docs/ChaProEV_workflow.png +0 -0
  41. {chaproev-1.2.7 → chaproev-1.2.8}/docs/Legs.png +0 -0
  42. {chaproev-1.2.7 → chaproev-1.2.8}/docs/Locations.png +0 -0
  43. {chaproev-1.2.7 → chaproev-1.2.8}/docs/Makefile +0 -0
  44. {chaproev-1.2.7 → chaproev-1.2.8}/docs/Trips.png +0 -0
  45. {chaproev-1.2.7 → chaproev-1.2.8}/docs/Vehicle_Temperature_correction_factor.svg +0 -0
  46. {chaproev-1.2.7 → chaproev-1.2.8}/docs/_config.yml +0 -0
  47. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/doctrees/environment.pickle +0 -0
  48. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/doctrees/index.doctree +0 -0
  49. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/.buildinfo +0 -0
  50. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/_sources/index.rst.txt +0 -0
  51. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/_static/alabaster.css +0 -0
  52. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/_static/basic.css +0 -0
  53. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/_static/custom.css +0 -0
  54. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/_static/doctools.js +0 -0
  55. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/_static/documentation_options.js +0 -0
  56. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/_static/file.png +0 -0
  57. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/_static/language_data.js +0 -0
  58. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/_static/minus.png +0 -0
  59. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/_static/plus.png +0 -0
  60. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/_static/pygments.css +0 -0
  61. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/_static/searchtools.js +0 -0
  62. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/_static/sphinx_highlight.js +0 -0
  63. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/genindex.html +0 -0
  64. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/index.html +0 -0
  65. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/objects.inv +0 -0
  66. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/search.html +0 -0
  67. {chaproev-1.2.7 → chaproev-1.2.8}/docs/build/html/searchindex.js +0 -0
  68. {chaproev-1.2.7 → chaproev-1.2.8}/docs/charging.md +0 -0
  69. /chaproev-1.2.7/docs/consumption.md → /chaproev-1.2.8/docs/consumption-PC-28624.md +0 -0
  70. /chaproev-1.2.7/docs/make_variants.md → /chaproev-1.2.8/docs/consumption.md +0 -0
  71. /chaproev-1.2.7/docs/define.md → /chaproev-1.2.8/docs/define-PC-28624.md +0 -0
  72. /chaproev-1.2.7/docs/general_parameters.md → /chaproev-1.2.8/docs/general_parameters-PC-28624.md +0 -0
  73. /chaproev-1.2.7/docs/index.md → /chaproev-1.2.8/docs/index-PC-28624.md +0 -0
  74. {chaproev-1.2.7 → chaproev-1.2.8}/docs/input.md +0 -0
  75. {chaproev-1.2.7 → chaproev-1.2.8}/docs/make.bat +0 -0
  76. /chaproev-1.2.7/docs/outputs.md → /chaproev-1.2.8/docs/make_variants.md +0 -0
  77. /chaproev-1.2.7/docs/mobility.md → /chaproev-1.2.8/docs/mobility-PC-28624.md +0 -0
  78. {chaproev-1.2.7 → chaproev-1.2.8}/docs/multiprocessing.md +0 -0
  79. /chaproev-1.2.7/docs/run_time.md → /chaproev-1.2.8/docs/outputs.md +0 -0
  80. {chaproev-1.2.7 → chaproev-1.2.8}/docs/profiles.md +0 -0
  81. /chaproev-1.2.7/docs/writing.md → /chaproev-1.2.8/docs/run_time.md +0 -0
  82. {chaproev-1.2.7 → chaproev-1.2.8}/docs/running_model.md +0 -0
  83. /chaproev-1.2.7/docs/scenario.md → /chaproev-1.2.8/docs/scenario-PC-28624.md +0 -0
  84. {chaproev-1.2.7 → chaproev-1.2.8}/docs/scenarios_module.md +0 -0
  85. {chaproev-1.2.7 → chaproev-1.2.8}/docs/source/index.rst +0 -0
  86. /chaproev-1.2.7/docs/using.md → /chaproev-1.2.8/docs/using-PC-28624.md +0 -0
  87. /chaproev-1.2.7/docs/variants.md → /chaproev-1.2.8/docs/variants-PC-28624.md +0 -0
  88. /chaproev-1.2.7/docs/weather.md → /chaproev-1.2.8/docs/weather-PC-28624.md +0 -0
  89. /chaproev-1.2.7/requirements_obsolete.txt → /chaproev-1.2.8/docs/weather.md +0 -0
  90. /chaproev-1.2.7/src/ChaProEV/__init__.py → /chaproev-1.2.8/docs/writing.md +0 -0
  91. {chaproev-1.2.7 → chaproev-1.2.8}/eu-emblem-low-res.jpg +0 -0
  92. {chaproev-1.2.7 → chaproev-1.2.8}/input/Mopo/car_own_driveway_percentage.csv +0 -0
  93. {chaproev-1.2.7 → chaproev-1.2.8}/input/Mopo/fleets.csv +0 -0
  94. /chaproev-1.2.7/mkdocs.yml → /chaproev-1.2.8/mkdocs-PC-28624.yml +0 -0
  95. {chaproev-1.2.7 → chaproev-1.2.8}/non-road/Mopo/NL_domestic-aviation_2040_Aviation gasoline.toml +0 -0
  96. {chaproev-1.2.7 → chaproev-1.2.8}/non-road/Mopo/NL_domestic-aviation_2050_Aviation gasoline.toml +0 -0
  97. {chaproev-1.2.7 → chaproev-1.2.8}/non-road/Mopo/scenario_demands.csv +0 -0
  98. {chaproev-1.2.7 → chaproev-1.2.8}/non-road.toml +0 -0
  99. {chaproev-1.2.7 → chaproev-1.2.8}/requirements.txt +0 -0
  100. /chaproev-1.2.7/src/ChaProEV/py.typed → /chaproev-1.2.8/requirements_obsolete.txt +0 -0
  101. {chaproev-1.2.7 → chaproev-1.2.8}/scenarios/Mopo/Latvia_car_own_driveway_2050.toml +0 -0
  102. {chaproev-1.2.7 → chaproev-1.2.8}/scenarios/Mopo/Switzerland_car_own_driveway_2050.toml +0 -0
  103. /chaproev-1.2.7/scenarios/Mopo/XX_bus.toml → /chaproev-1.2.8/scenarios/Mopo/XX_bus-PC-28624.toml +0 -0
  104. {chaproev-1.2.7/scenarios/bus_test → chaproev-1.2.8/scenarios/Mopo}/XX_bus.toml +0 -0
  105. /chaproev-1.2.7/scenarios/Mopo/XX_car.toml → /chaproev-1.2.8/scenarios/Mopo/XX_car-PC-28624.toml +0 -0
  106. /chaproev-1.2.7/scenarios/Mopo/XX_truck.toml → /chaproev-1.2.8/scenarios/Mopo/XX_truck-PC-28624.toml +0 -0
  107. /chaproev-1.2.7/scenarios/Mopo/XX_van.toml → /chaproev-1.2.8/scenarios/Mopo/XX_van-PC-28624.toml +0 -0
  108. {chaproev-1.2.7 → chaproev-1.2.8}/scenarios/local_impact_BEVs/baseline.toml +0 -0
  109. {chaproev-1.2.7 → chaproev-1.2.8}/setup.cfg +0 -0
  110. {chaproev-1.2.7 → chaproev-1.2.8}/siec.csv +0 -0
  111. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV/consumption.py +0 -0
  112. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV/make_variants.py +0 -0
  113. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV/mobility.py +0 -0
  114. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV/profiles.py +0 -0
  115. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV/run_time.py +0 -0
  116. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV/scenarios_module.py +0 -0
  117. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV/weather.py +0 -0
  118. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV/writing.py +0 -0
  119. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV.egg-info/PKG-INFO-PC-28624 +0 -0
  120. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV.egg-info/PKG-INFO-PC-28624-2 +0 -0
  121. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV.egg-info/SOURCES-PC-28624-2.txt +0 -0
  122. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV.egg-info/SOURCES-PC-28624.txt +0 -0
  123. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV.egg-info/dependency_links.txt +0 -0
  124. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV.egg-info/requires-PC-28624-2.txt +0 -0
  125. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV.egg-info/requires-PC-28624.txt +0 -0
  126. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV.egg-info/requires.txt +0 -0
  127. {chaproev-1.2.7 → chaproev-1.2.8}/src/ChaProEV.egg-info/top_level.txt +0 -0
  128. {chaproev-1.2.7 → chaproev-1.2.8}/test_bus_moility_matrices/bus_weekday_in_holiday_week.csv +0 -0
  129. {chaproev-1.2.7 → chaproev-1.2.8}/test_bus_moility_matrices/bus_weekday_in_workweek.csv +0 -0
  130. {chaproev-1.2.7 → chaproev-1.2.8}/test_bus_moility_matrices/bus_weekend_in_holiday_week.csv +0 -0
  131. {chaproev-1.2.7 → chaproev-1.2.8}/test_bus_moility_matrices/bus_weekend_in_workweek.csv +0 -0
  132. {chaproev-1.2.7 → chaproev-1.2.8}/tests/test_battery_space.py +0 -0
  133. {chaproev-1.2.7 → chaproev-1.2.8}/tests/test_charge_and_consumption.py +0 -0
  134. {chaproev-1.2.7 → chaproev-1.2.8}/tests/test_empty_values.py +0 -0
  135. {chaproev-1.2.7 → chaproev-1.2.8}/tests/test_same_output.py +0 -0
  136. {chaproev-1.2.7 → chaproev-1.2.8}/todo.txt +0 -0
  137. {chaproev-1.2.7 → chaproev-1.2.8}/variants/Mopo/XX_car.csv +0 -0
  138. {chaproev-1.2.7 → chaproev-1.2.8}/variants/Mopo.toml +0 -0
@@ -11,4 +11,5 @@ reference_run/
11
11
  reference_run_prev/
12
12
  reference_run_previous/
13
13
  non-road-output/
14
+ test_outputs/
14
15
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ChaProEV
3
- Version: 1.2.7
3
+ Version: 1.2.8
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
@@ -37,8 +37,7 @@ This repository contains the ChaProEV (Charging Profiles of Electric Vehicles)
37
37
  model.
38
38
 
39
39
  ## Status
40
- The ChaProEV model is currently released and useable. This version
41
- has been used in projects and can be used in future projects.
40
+ The ChaProEV model is under construction and not yet ready for use.
42
41
  Please contact the authors below if you have questions or requests to get
43
42
  model runs at some point.
44
43
 
@@ -0,0 +1,160 @@
1
+ # **ChaProEV**
2
+
3
+
4
+
5
+
6
+ <center>
7
+ <img src=MOPO_logo_chaproev.svg>
8
+ </center>
9
+
10
+
11
+
12
+ This repository contains the ChaProEV (Charging Profiles of Electric Vehicles)
13
+ model.
14
+
15
+ ## Status
16
+ The ChaProEV model is under construction and not yet ready for use.
17
+ Please contact the authors below if you have questions or requests to get
18
+ model runs at some point.
19
+
20
+ ## Authors and contact
21
+ Omar Usmani (Omar.Usmani@TNO.nl)
22
+
23
+
24
+ ## Licence
25
+
26
+ ChaProEV is released under the Apache 2.0 license.
27
+ All accompanying documentation and manual are released under the
28
+ Creative Commons BY-SA 4.0 license.
29
+
30
+ ## Requirements
31
+
32
+
33
+ (See requirements.txt file for versions (corresponding to Python 3.11.1, which
34
+ is the version used for developing and testing the model))
35
+
36
+ ## Installation and use
37
+
38
+
39
+ You can install ChaProEV with pip:
40
+ ```
41
+ pip install ChaProEV
42
+ ```
43
+ And then import ChaProEV in your code.
44
+ You can of course use the various functions of ChaProEV, but the general
45
+ use case is to run the model and focus on defining your case through the
46
+ scenarios and their variants.
47
+ In that case, the only piece of code you need is as follows (you just need
48
+ to put the name of the folder where you put your case scenarios instead of the
49
+ 'Mopo' example).
50
+ ```python
51
+ from ChaProEV import ChaProEV
52
+
53
+ if __name__ == '__main__':
54
+ case_name: str = 'Mopo'
55
+ ChaProEV.run_ChaProEV(case_name)
56
+ ```
57
+ If you installed ChaProEV with pip, then the requirements
58
+ should be installed as well (see requirements.txt file if you have issues
59
+ or use the contact below).
60
+ To run the model, you need to put a ChaProEV.toml configuration
61
+ in the folder where you run your model. You also need to have at least one scenario in your scenario/case_name (e.g. scenario/Mopo) folder. A
62
+ If you want to create varaints, then you need to add a case.toml (e.g. Mopo.toml) file in the variants folder and put a variant file in the variants/case (e.g. variants/Mopo) folder.
63
+ If you want to compute fleet-level values and/or do a car owndriveway/street charging split, you need to put some files in the input/case (e.g. input/Mopo) folder.
64
+ You can use the examples provided in this repository. You can also
65
+ unzip [this file](https://github.com/TNO/ChaProEV/blob/main/ChaProEV_test_case_configuration_files.zip)
66
+ into your working folder and use 'test_case' as your case name:
67
+ ```python
68
+ from ChaProEV import ChaProEV
69
+
70
+ if __name__ == '__main__':
71
+ case_name: str = 'test_case'
72
+ ChaProEV.run_ChaProEV(case_name)
73
+ ```
74
+
75
+
76
+
77
+ For examples of running ChaProEV and more configuration files,
78
+ you can visit the [ChaProEV runs repository](https://github.com/TNO/ChaProEV_runs).
79
+
80
+ ## General approach and structure
81
+ - Split into scenarios, modules/computations, output profiles
82
+ - USer can define a case (series of scenarios) without having to do anything
83
+ with the code. They just need to edit/add scenarios and variants.
84
+ <center>
85
+ <img src=ChaProEV_workflow.png>
86
+ </center>
87
+
88
+ ## Documentation
89
+
90
+ The docmentation can be found [here](https://tno.github.io/ChaProEV/)
91
+ ## **Context, goals, and future developments**
92
+
93
+ ### **Driver**
94
+ The primary driver for the publication and development of ChaProEV in this
95
+ repository is the participation in the
96
+ [Mopo](https://www.tools-for-energy-system-modelling.org/) project (funded from
97
+ European Climate,
98
+ Infrastructure and Environment Executive Agency under the European Union’s
99
+ HORIZON Research and Innovation Actions under grant agreement N°101095998).
100
+
101
+ ### **Goal**
102
+ The main goal of providing this repository is transparency regarding the
103
+ assumptions and computations of the ChaProEV model.
104
+
105
+ ### **Uses outside Mopo**
106
+
107
+ #### **Prior to Mopo**
108
+
109
+ 1. [Afspraken maken:
110
+ Van data tot
111
+ informatie
112
+ Informatiebehoeften, datastandaarden en
113
+ protocollen voor provinciale
114
+ systeemstudies – Deel II technische
115
+ rapportage. Nina Voulis, Joeri Vendrik, Reinier van der Veen, Alexander Wirtz, Michiel Haan, Charlotte von Meijenfeldt,
116
+ Edwin Matthijssen, Sebastiaan Hers, Ewoud Werkman (CE Delft, TNO, Quintel), April 2021](https://cedelft.eu/wp-content/uploads/sites/2/2021/07/CE_Delft_200227_Afspraken_maken_Van_data_tot_informatie_Deel-2.pdf) where a previous version of ChaProEV was used to provide charging profiles of electric vehicles at the province level (for the Dutch proivinces of North Holland and Limburg)
117
+
118
+ 2. [Elektrisch rijden personenauto's & logistiek: Trends en impact op het elektriciteitssyteem. Hein de Wilde, Charlotte Smit, Omar Usmani, Sebastiaan Hers (TNO), Marieke Nauta (PBL), August 2022](https://publications.tno.nl/publication/34640002/AVDCKb/TNO-2022-P11511.pdf) where a previous version of ChaProEV was used to identify potential moments where charging electric cars could result in local (i.e. neighbourhood/transformer level) network issues and see if these issues could be solved.
119
+
120
+ 3. [Verlagen van lokale impact laden elektrisch vervoer: De waarde en haalbarheid van potentiële oplossingen, Charlotte Smit, Hein de Wilde, Richard Westerga, Omar Usmani, Sebastiaan Hers, TNO M12721, December 2022](https://energy.nl/wp-content/uploads/kip-local-impact-ev-charging-final-1.2.pdf) where a previous version of ChaProEV was used to identify and quantify potential solutions to potential local (i.e. neighbourhood/transformer level) issues due to a possible large-scale adoption of electric cars (with illustrative examples for neighbourhoods in ihe cities of Amsterdam and Lelystad).
121
+
122
+ 4. [TRADE-RES](https://traderes.eu/). A previous version of ChaProEV was used to generate reference charging profiles for a number of European countries, based on statistical differences per country.
123
+ Results are in the [TRADE-RES scenario database](https://zenodo.org/records/10829706)
124
+
125
+
126
+
127
+ #### **After/during Mopo**
128
+ 1. I.S. Jimenez, D. Ribó-Pérez, M. Cvetkovic, J. Kochems, C. Schimeczek,
129
+ L. de Vries,[Can an energy only market enable resource ade-
130
+ quacy in a decarbonized power system? a co-simulation with
131
+ two agent-based-models](https://www.sciencedirect.com/science/article/pii/S0306261924000783)
132
+ Applied Energy 360 (2024) 122695
133
+ 2. S. Johanndeiter, N. Helistö, J. Kiviluoma, V. Bertsch, [Price formation
134
+ and intersectoral distributional eects in a fully decarbonised european
135
+ electricity market](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=48874423)
136
+ 3. Sanchez Jimenez, Ingrid and Johanndeiter, Silke and de Vries, Laurens, Capacity Remuneration Mechanisms for Power Systems in Transition. Available at SSRN: https://ssrn.com/abstract=5196543 or http://dx.doi.org/10.2139/ssrn.5196543
137
+
138
+
139
+ #### **Future**
140
+ The ChaProEV will be used in other projects that will be listed here, if deemed
141
+ relevant and apprpriate within the context of these projects.
142
+
143
+
144
+
145
+ ## Acknowledgments
146
+ &nbsp;
147
+ <hr>
148
+ <center>
149
+ <table width=500px frame="none">
150
+ <tr>
151
+ <td valign="middle" width=100px>
152
+ <img src=eu-emblem-low-res.jpg alt="EU emblem" width=100%></td>
153
+ <img src=MOPO_logo_main.svg width = 25%>
154
+ <td valign="middle">This project was partly develop under funding from the
155
+ European Climate,
156
+ Infrastructure and Environment Executive Agency under the European Union’s
157
+ HORIZON Research and Innovation Actions under grant agreement N°101095998.</td>
158
+ <tr>
159
+ </table>
160
+ </center>
@@ -0,0 +1,183 @@
1
+
2
+ # Classes
3
+
4
+ ## Leg
5
+ This class defines the legs and their properties, from a scenario
6
+ file that contains a list of instances and their properties.
7
+ Legs are point-to-point vehicle movements (i.e. movements where
8
+ the vehicle goes from a start location and ends/stops at an end location).
9
+
10
+ ### Parameters
11
+ The parameters of a leg are:
12
+
13
+ 1. **Name:** The name of the leg
14
+ 2. **Vehicle:** The vehicle that runs the leg. If this does not correspond
15
+ to the [scenario vehicle name](scenario.md#vehicle-name), then the leg is not
16
+ declared. Note that when running a
17
+ scenario, you select one vehicle, so this is in principle not necessary.
18
+ The reason for having this is to allow the user to copy the baseline file
19
+ and keep the location definitions that are not used for this scenario but
20
+ might be so for another, thereby reducing the need for changes between
21
+ scenarios.
22
+ 3. **Distance:** The distance driven during the leg (in kilometers)
23
+ 4. **Duration:** How long it takes to drive the leg (in hours)
24
+ 5. **Hour in day factors:** These factors add a correction to the vehicle
25
+ consumption that depend on the hour in day (the first is for 00:00 to 00:59,
26
+ last for 23:00 to 23:59). Note that these are actual hours,
27
+ not hours in the user day (which can start and end at other moments than
28
+ midnight). This is used to take into account things like traffic jams.
29
+ The default value is 1. ***This factor is a placeholder and is currently not
30
+ in use.***
31
+
32
+ ## Location
33
+ This class defines the locations where the vehicles are
34
+ and their properties, from a scenario
35
+ file that contains a list of instances and their proper.
36
+
37
+ ### Parameters
38
+
39
+ The parameters of a location are:
40
+
41
+ 1. **Name**: The name of the location.
42
+ 2. **Vehicle:** The vehicle that uses the location. If this does not correspond
43
+ to the [scenario vehicle name](scenario.md#vehicle-name), then the trip is not
44
+ declared. Note that when running a
45
+ scenario, you select one vehicle, so this is in principle not necessary.
46
+ The reason for having this is to allow the user to copy the baseline file
47
+ and keep the location definitions that are not used for this scenario but
48
+ might be so for another, thereby reducing the need for changes between
49
+ scenarios.
50
+ 3. **Connectivity:** A value between 0 and 1 (0% to 100%) that tells the
51
+ probability that a vehicle parked at this location is connected to a
52
+ charger.
53
+ 4. **Charging power:** The (peak) charging power of the charger at this
54
+ location (in kW).
55
+ 5. **Charger efficiency:** A value between 0 and 1 (0% to 100%) that tells how
56
+ much of the power drawn from the network is delivered to the battery of the
57
+ vehicle.
58
+ 6. **Latitude:** The latitude of the location. ***This factor is a placeholder
59
+ and is currently not in use.***
60
+ 7. **Longitude:** The longitude of the location. ***This factor is a
61
+ placeholder and is currently not in use.***
62
+ 8. **Base charging price:** The base/reference (i.e. before
63
+ flexibility/temporal changes) charging price at this location, in €/kWh.
64
+ ***This factor is a placeholder and is currently not in use.***
65
+ 9. **Charging desirability:** A value between 0 and 1 (0% to 100%) that tells
66
+ how much the users like to charge at this location.
67
+ ***This factor is a placeholder and is currently not in use.***
68
+ 10. **Percentage in location at run start:** A value between 0 and 1
69
+ (0% to 100%) that tells which percentage of the vehicles start the run there.
70
+ This is used if we will that in directly instead of computing it. The decision
71
+ t use this is controlled by the compute_start_location_split parameter in
72
+ the [mobility](mobility.md#module-parameters) module.
73
+
74
+ ## Trip
75
+
76
+ This class defines the trips and their properties, from a scenario
77
+ file that contains a list of instances and their properties.
78
+ Trips are collections of legs that take place on a given day.
79
+ Note that this day does not necessarily start (and end) at midnight,
80
+ but can start (and end) at an hour that is more logical/significant for the
81
+ vehicle user (it could for example be 05:00 for car drivers).
82
+ This [day start hour](scenario.md#day_start_hour)
83
+ parameter is universal for all trips
84
+ This value is set in the scenario files.
85
+
86
+ ### Parameters
87
+ 1. **Name**: The name of the trip.
88
+ 2. **Vehicle:** The vehicle that does the trip. If this does not correspond
89
+ to the [scenario vehicle name](scenario.md#vehicle-name), then the trip is not
90
+ declared. Note that when running
91
+ a scenario, you select one vehicle, so this is in principle not necessary.
92
+ The reason for having this is to allow the user to copy the baseline file
93
+ and keep the trip definitions that are not used for this scenario but
94
+ might be so for another, thereby reducing the need for changes between
95
+ scenarios.
96
+ 3. **Legs:** A list of the legs in the trip.
97
+ 4. **Time between legs:** A list of the time spent at the arrival locations
98
+ between each leg (in hours).
99
+ 5. **Percentage station users:**A value between 0 and 1
100
+ (0% to 100%) that tells us which percentage of users use fast charging
101
+ stations.
102
+ ***This factor is a placeholder and is currently not in use.***
103
+ 6. **Start probabilities:** A list of values between 0 and 1 (0%-100%) adding
104
+ up to 1/100% that tells us what the probability of starting the trip is at
105
+ a given hour. Note that the hours start at
106
+ [day start hour](scenario.md#day_start_hour), not at
107
+ midnight.
108
+ 7. **Repeated sequence:** A list of repeated legs
109
+ (which should follow each other) that form a repeated sequence.
110
+ 8. **Repetition amounts:** How often
111
+ the repeated sequence is repeated. This is a list, with one value per leg
112
+ repetition (the nth element corresponds to the nth appearance of
113
+ the sequence in the leg list).
114
+ 9. **Time between repetitions:** The time between repetitions of each
115
+ repeated sequence (in hours). This is a list, with one value per leg
116
+ repetition (the nth element corresponds to the nth appearance of
117
+ the sequence in the leg list).
118
+
119
+
120
+ ### Mobility matrix
121
+
122
+ The main aim of the trip initialization/declaration is to create a mobility
123
+ matrix for the trip.
124
+ This mobility matrix has, for all combinations of possible start and end
125
+ locations (i.e.
126
+ locations connected by a leg in the trip) and for each hour in day number
127
+ (starting at the [day start hour](scenario.md#day_start_hour)), the following
128
+ quantities:
129
+ 1. **Duration:** The duration (in hours) of a leg between the start location
130
+ and the end location.
131
+ 2. **Distance:** The distance (in kilometers) of a leg between the start
132
+ location.
133
+ 3. **Weighted distance:** The weighted distance (in kilometers) of a leg
134
+ between the start location and the end location. This corresponds to using
135
+ different [road types](scenario.md#road_types), with given
136
+ [weights](scenario.md#weights) and given [mixes](scenario.md#mix) to account
137
+ for the fact that vehicles consume more on some road types.
138
+ 4. **Departures amount**: The chance that a vehicle, in a given hour, leaves
139
+ the start location,
140
+ going to the end location (amount and chance are equivalent
141
+ here, as we compute on an individual vehicle basis).
142
+ 5. **Departures kilometers:** The kilometers driven by vehicles leaving the
143
+ start location at a given hour and going to the end location. This is given
144
+ by the departures amount times the distance.
145
+ 6. **Departures weighted kilometers:** The weighted (by road type) kilometers
146
+ driven by vehicles leaving the start location at a given hour and going to the
147
+ end location. This is given
148
+ by the departures amount times the weighted distance.
149
+ 7. **Arrivals amount**: The chance that a vehicle, in a given hour,
150
+ arrives to the end
151
+ location,
152
+ having started the start location (amount and chance are equivalent
153
+ here, as we compute on an individual vehicle basis).
154
+ 8. **Arrivals kilometers:** The kilometers driven by vehicles arriving to the
155
+ end location at a given hour, having started at the start location.
156
+ This is given
157
+ by the arrivals amount times the distance.
158
+ 9. **Arrivals weighted kilometers:** The weighted (by road type) kilometers
159
+ driven by vehicles arriving to the end location at a given hour, having
160
+ started at the start location. This is given
161
+ by the arrivals amount times the weighted distance.
162
+
163
+ The model also produces a version of this mobility matrix for the whole
164
+ run (which is essentially a copy of the above matrix). This run
165
+ mobility matrix is the mobility matrix if the trip had a probability of 1
166
+ for the whole run.
167
+
168
+
169
+
170
+
171
+ #### Leg repetitions
172
+
173
+ Is repeat of leg or two legs????
174
+ [0, 5, 5, 0]
175
+ If next leg is also repeated/still has repeats left, then it is repeated after the leg
176
+ in question
177
+ so when putting a leg, check if it is repeated. If so, check if the next is repeated,
178
+ until you have no repeats (or end the list). Add on of each repeated legs
179
+ then number of repeats goes down by one and redo
180
+ Have one trip per day type for non-cars
181
+
182
+ Reference to day start hour
183
+ cross-links with scenario
@@ -0,0 +1,153 @@
1
+ # Purpose
2
+ The purpose of the ChaProEV.toml file is to set parameters
3
+ that are common for all your scenarios.
4
+ This page describes the various parameters.
5
+ You can use the navigation bar on the left to go directly to a group
6
+ of parameters (or a given parameter).
7
+
8
+ ## variants
9
+ The variants section of the configuration file sets parameters
10
+ to create scenario [variants](variants.md) (see that page for
11
+ details).
12
+
13
+ ### use_variants
14
+ Setting the use_variants parameters to true creates variants,
15
+ while setting it to false skips variant creation althogether.
16
+
17
+ ### csv_version
18
+
19
+ Setting the csv_version to true parameters makes you use csv files
20
+ to define your variants (in a folder within the variants folder: this
21
+ folder needs to have the same name as your case). Setting it to false makes you use a toml file in the variants folder (case_name.toml).
22
+
23
+ ### use_years_in_profiles
24
+
25
+ This is used to create different variants per year when doing
26
+ [car home own driveway and street parking splits](car_home_own_driveway_splits.md)
27
+
28
+
29
+
30
+
31
+ ## parallel_processing
32
+ This parallel processing section of the configuration file sets parameters to manage the [parallel processing/multiprocessing](multiprocessing.md) of the model (which reduces the model run time, see link for details).
33
+
34
+ ### set_amount_of_processes
35
+
36
+ Set this as false if you want the amount of parallel processes to be determined by the model (via the [multiprocessing standard library of Python](https://docs.python.org/3/library/multiprocessing.html)). Set this to true if you want to set the amount of processes yourself.
37
+
38
+ ### amount_for_scenarios
39
+
40
+ If you put true in set_amount_of_processes, provide a number of parallel processes here to run scenarios in parallel.
41
+
42
+ ### amount_for_pickle_saves
43
+ If you put true in set_amount_of_processes, provide a number of parallel processes here to save the pickle output saves to other formats in parallel (see [writing module](writing.md) for details).
44
+
45
+ ## interim_files
46
+ This concerns parameters for saving intermediary results to files.
47
+
48
+ ### pickle
49
+ Set this to true to save interim results to pickle files.
50
+ Set this to false not to do this.
51
+ ### consumption_tables_frequencies
52
+ Provide a list of consumption
53
+ tables frequencies (see [consumption module](consumption.md)). The default is the following list ['hourly', 'daily', 'weekly', 'monthly', 'yearly']
54
+ ### save_consumption_table
55
+ Provide a list of booleans (true or false) to save a given frequency to file (this list needs to have the same length as the above list): true save a file for that frequency and false does not.
56
+
57
+
58
+
59
+
60
+ ## profile_dataframe
61
+
62
+ ### headers
63
+ ### fleet_headers
64
+ ### do_fleet_tables
65
+ ### fleet_file_name
66
+
67
+ ## sessions_dataframe
68
+
69
+ ### properties
70
+ ### dataframe_headers
71
+ ### run_dataframe_headers
72
+ ### display_dataframe_headers
73
+ ### display_dataframe_index
74
+ ### fleet_display_dataframe_headers
75
+
76
+ ## plots
77
+ ### vehicle_temperature_efficiency
78
+ #### style
79
+ #### source_data_folder
80
+ #### source_data_file
81
+ #### fit_color
82
+ #### fit_line_size
83
+ #### geotab_data_color
84
+ #### geotab_data_size
85
+ #### title_size
86
+
87
+ ## files
88
+ ### input_root
89
+ ### output_root
90
+ ### groupfile_root
91
+
92
+ ### figures
93
+ #### dpi
94
+ #### outputs
95
+
96
+ ### dataframe_outputs
97
+
98
+
99
+ ## maps
100
+ ## map_data_folder
101
+ ## area_data_file_name
102
+ ## general_exclusion_codes
103
+ ## border_data_file_prefix
104
+ ## border_data_file_suffix
105
+ ## points_data_file_prefix
106
+ ## points_data_file_suffix
107
+ ## country_code_header
108
+ ## country_code_header_in_map_data
109
+ ## heat_bar_map
110
+
111
+ ## colors
112
+
113
+ ## color_bars
114
+
115
+ ## unit_conversions
116
+
117
+ ## numbers
118
+
119
+ ## consumption
120
+ ### energy_carriers
121
+ ### consumption_table_name
122
+ ### time_header
123
+ ### distance_header
124
+ ### fleet_distance_header
125
+ ### energy_carriers_consumption_names
126
+ ### fleet_energy_carriers_consumption_names
127
+
128
+
129
+ ## home_type
130
+ ### do_car_home_type_split
131
+ ### percentages_file
132
+ ### index_name
133
+ ### own_driveway_name
134
+ ### on_street_name
135
+ ### profiles_index
136
+ ### sessions_index
137
+ ### sessions_values_columns
138
+
139
+ ## sessions
140
+ ### produce
141
+ ### generate_profiles
142
+ ## standard_profiles
143
+ ### produce
144
+
145
+ ## progress_bars
146
+ ### display_scenario_run
147
+ ### scenario_run_description
148
+ ### display_saving_pool_run
149
+ ### saving_pool_run_description
150
+
151
+ ## discharge
152
+ ### no_discharge_efficiency_output
153
+ ### no_charge_efficiency_output
@@ -0,0 +1 @@
1
+ # ChaProEV
@@ -0,0 +1,4 @@
1
+ # Mobility
2
+
3
+
4
+ ## Module parameters