eflips-depot 4.14.0__tar.gz → 4.14.2__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.
Potentially problematic release.
This version of eflips-depot might be problematic. Click here for more details.
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/PKG-INFO +1 -1
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/api/private/consumption.py +18 -22
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/depot.py +6 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/pyproject.toml +1 -1
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/LICENSE.md +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/README.md +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/__init__.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/api/__init__.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/api/defaults/default_settings.json +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/api/private/__init__.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/api/private/depot.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/api/private/results_to_database.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/api/private/util.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/configuration.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/evaluation.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/filters.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/input_epex_power_price.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/__init__.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/doc/__init__.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/doc/direct_details.pdf +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/evaluation.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/opt_tools/__init__.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/opt_tools/crossover.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/opt_tools/fitness_c_urfd.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/opt_tools/fitness_util.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/opt_tools/init.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/opt_tools/mutation.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/optimize_c_urfd.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/packing.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/settings.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/template_creation.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/util.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/plots.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/processes.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/rating.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/resources.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/settings_config.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/simple_vehicle.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/simulation.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/smart_charging.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/standalone.py +0 -0
- {eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/validation.py +0 -0
|
@@ -121,38 +121,29 @@ class ConsumptionInformation:
|
|
|
121
121
|
)
|
|
122
122
|
|
|
123
123
|
# Recover the scales along each of the four axes from the datapoints
|
|
124
|
+
incline_col_index = self.consumption_lut.columns.index("incline")
|
|
125
|
+
temperature_col_index = self.consumption_lut.columns.index("t_amb")
|
|
126
|
+
level_of_loading_col_index = self.consumption_lut.columns.index(
|
|
127
|
+
"level_of_loading"
|
|
128
|
+
)
|
|
129
|
+
speed_col_index = self.consumption_lut.columns.index("mean_speed_kmh")
|
|
124
130
|
|
|
125
131
|
incline_scale = sorted(
|
|
126
|
-
set(
|
|
127
|
-
[
|
|
128
|
-
x[self.consumption_lut.columns.index("incline")]
|
|
129
|
-
for x in self.consumption_lut.data_points
|
|
130
|
-
]
|
|
131
|
-
)
|
|
132
|
+
set([x[incline_col_index] for x in self.consumption_lut.data_points])
|
|
132
133
|
)
|
|
133
134
|
temperature_scale = sorted(
|
|
134
|
-
set(
|
|
135
|
-
[
|
|
136
|
-
x[self.consumption_lut.columns.index("t_amb")]
|
|
137
|
-
for x in self.consumption_lut.data_points
|
|
138
|
-
]
|
|
139
|
-
)
|
|
135
|
+
set([x[temperature_col_index] for x in self.consumption_lut.data_points])
|
|
140
136
|
)
|
|
141
137
|
level_of_loading_scale = sorted(
|
|
142
138
|
set(
|
|
143
139
|
[
|
|
144
|
-
x[
|
|
140
|
+
x[level_of_loading_col_index]
|
|
145
141
|
for x in self.consumption_lut.data_points
|
|
146
142
|
]
|
|
147
143
|
)
|
|
148
144
|
)
|
|
149
145
|
speed_scale = sorted(
|
|
150
|
-
set(
|
|
151
|
-
[
|
|
152
|
-
x[self.consumption_lut.columns.index("mean_speed_kmh")]
|
|
153
|
-
for x in self.consumption_lut.data_points
|
|
154
|
-
]
|
|
155
|
-
)
|
|
146
|
+
set([x[speed_col_index] for x in self.consumption_lut.data_points])
|
|
156
147
|
)
|
|
157
148
|
|
|
158
149
|
# Create the 4d array
|
|
@@ -168,9 +159,14 @@ class ConsumptionInformation:
|
|
|
168
159
|
# Fill it with NaNs
|
|
169
160
|
consumption_lut.fill(np.nan)
|
|
170
161
|
|
|
171
|
-
for
|
|
172
|
-
|
|
173
|
-
|
|
162
|
+
for (
|
|
163
|
+
i,
|
|
164
|
+
data_point,
|
|
165
|
+
) in enumerate(self.consumption_lut.data_points):
|
|
166
|
+
incline = data_point[incline_col_index]
|
|
167
|
+
temperature = data_point[temperature_col_index]
|
|
168
|
+
level_of_loading = data_point[level_of_loading_col_index]
|
|
169
|
+
speed = data_point[speed_col_index]
|
|
174
170
|
consumption_lut[
|
|
175
171
|
incline_scale.index(incline),
|
|
176
172
|
temperature_scale.index(temperature),
|
|
@@ -556,6 +556,11 @@ class BaseDispatchStrategy(ABC):
|
|
|
556
556
|
for proc in vehicle.dwd.active_processes:
|
|
557
557
|
# Cancel active processes for early departure
|
|
558
558
|
proc.cancel()
|
|
559
|
+
# Update the soc of assigned trip if the charging is interrupted
|
|
560
|
+
current_soc = vehicle.battery.soc
|
|
561
|
+
trip_delta_soc = trip.start_soc - trip.end_soc
|
|
562
|
+
trip.start_soc = current_soc
|
|
563
|
+
trip.end_soc = current_soc - trip_delta_soc
|
|
559
564
|
|
|
560
565
|
trip.got_early_vehicle = True
|
|
561
566
|
trip.t_got_early_vehicle = env.now
|
|
@@ -830,6 +835,7 @@ class DSFirst(BaseDispatchStrategy):
|
|
|
830
835
|
|
|
831
836
|
|
|
832
837
|
class DSSmart(BaseDispatchStrategy):
|
|
838
|
+
# TODO see what happens if charging process is cancelled for dispatch. Do we need to modify the vehicle schedule soc start as well?
|
|
833
839
|
name = "SMART"
|
|
834
840
|
short_description = "smart"
|
|
835
841
|
tooltip = "Match trips and vehicles using DispatchRating."
|
|
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
|
{eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/opt_tools/fitness_c_urfd.py
RENAMED
|
File without changes
|
{eflips_depot-4.14.0 → eflips_depot-4.14.2}/eflips/depot/layout_opt/opt_tools/fitness_util.py
RENAMED
|
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
|