Skip to content

Commit

Permalink
Run pre-commit hooks
Browse files Browse the repository at this point in the history
  • Loading branch information
birgits committed Sep 9, 2022
1 parent 3f7f760 commit 1db13a4
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 28 deletions.
28 changes: 14 additions & 14 deletions doc/features_in_detail.rst
Original file line number Diff line number Diff line change
Expand Up @@ -271,35 +271,35 @@ The import and integration of electromobility data is implemented in :py:func:`~
Allocation of charging demand
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The allocation of charging processes to charging stations is implemented in
The allocation of charging processes to charging stations is implemented in
:py:func:`~edisgo.io.electromobility_import.distribute_charging_demand`.
After electromobility data is loaded, the charging demand from SimBEV is allocated to potential charging parks
from TracBEV. The allocation of the charging processes to the charging infrastructure is carried out with the
help of the weighting factor of the potential charging parks determined by TracBEV. This involves a random and
After electromobility data is loaded, the charging demand from SimBEV is allocated to potential charging parks
from TracBEV. The allocation of the charging processes to the charging infrastructure is carried out with the
help of the weighting factor of the potential charging parks determined by TracBEV. This involves a random and
weighted selection of one charging park per charging process. In the case of private charging infrastructure, a
separate charging point is set up for each electric vehicle (EV). All charging processes of the respective EV and charging use case
are assigned to this charging point. The allocation of private charging processes to charging stations is
are assigned to this charging point. The allocation of private charging processes to charging stations is
implemented in :py:func:`~edisgo.io.electromobility_import.distribute_private_charging_demand`.

For public charging infrastructure, the allocation is made explicitly per charging process. For each charging
process it is determined whether a suitable charging point is already available. For this purpose it is checked
process it is determined whether a suitable charging point is already available. For this purpose it is checked
whether the charging point is occupied by another EV in the corresponding period and whether it can provide the
corresponding charging capacity. If no suitable charging point is available, a charging point is determined
randomly and weighted in the same way as for private charging. The allocation of public charging processes to
corresponding charging capacity. If no suitable charging point is available, a charging point is determined
randomly and weighted in the same way as for private charging. The allocation of public charging processes to
charging stations is implemented in :py:func:`~edisgo.io.electromobility_import.distribute_public_charging_demand`.

.. _charging_strategies-label:

Charging strategies
^^^^^^^^^^^^^^^^^^^^^^^^

eDisGo right now provides three charging strategy methodologies called 'dumb', 'reduced' and 'residual', that
are implemented in :py:mod:`~edisgo.flex_opt.charging_strategies`.
eDisGo right now provides three charging strategy methodologies called 'dumb', 'reduced' and 'residual', that
are implemented in :py:mod:`~edisgo.flex_opt.charging_strategies`.
The aim of the charging strategies 'reduced' and 'residual' is to generate the most grid-friendly charging behavior possible without
restricting the convenience for end users. Therefore, the boundary condition of all charging strategies is that
the charging requirement of each charging process must be fully covered. This means that charging processes can
restricting the convenience for end users. Therefore, the boundary condition of all charging strategies is that
the charging requirement of each charging process must be fully covered. This means that charging processes can
only be flexibilised if the EV can be fully charged while it is stationary. Furthermore, only private
charging processes can be used as a flexibility, since the fulfillment of the service is the priority for public
charging processes can be used as a flexibility, since the fulfillment of the service is the priority for public
charging processes.

'dumb'
Expand All @@ -309,7 +309,7 @@ In this charging strategy the cars are charged directly after arrival with the m
'reduced'
""""""""""""""""""
This is a preventive charging strategy. The cars are charged directly after arrival with the minimum possible
charging power. The minimum possible charging power is determined by the parking time and the parameter
charging power. The minimum possible charging power is determined by the parking time and the parameter
minimum_charging_capacity_factor.

'residual'
Expand Down
20 changes: 10 additions & 10 deletions doc/usage_details.rst
Original file line number Diff line number Diff line change
Expand Up @@ -363,10 +363,10 @@ You can access these data as follows:
# Access GeoDataFrame with all TracBEV potential charging parks
edisgo.electromobility.potential_charging_parks_gdf
# Access DataFrame with all charging parks that got integrated
edisgo.electromobility.integrated_charging_parks_df
The integrated charging points are also stored in the :class:`~.network.topology.Topology`
object and can be accessed as follows:

Expand All @@ -379,12 +379,12 @@ object and can be accessed as follows:
So far, adding electromobility data to an eDisGo object requires electromobility
data from `SimBEV <https://github.com/rl-institut/simbev>`_ (required version:
`3083c5a <https://github.com/rl-institut/simbev/commit/
86076c936940365587c9fba98a5b774e13083c5a>`_)
86076c936940365587c9fba98a5b774e13083c5a>`_)
and `TracBEV <https://github.com/rl-institut/tracbev>`_ (required version:
`14d864c <https://github.com/rl-institut/tracbev/commit/
03e335655770a377166c05293a966052314d864c>`_) to be stored in the directories
specified through the parameters simbev_directory and tracbev_directory.
SimBEV provides data on standing times, charging demand, etc. per vehicle,
03e335655770a377166c05293a966052314d864c>`_) to be stored in the directories
specified through the parameters simbev_directory and tracbev_directory.
SimBEV provides data on standing times, charging demand, etc. per vehicle,
whereas TracBEV provides potential charging point locations.

.. todo:: Add information on how to retrieve SimBEV and TracBEV data
Expand Down Expand Up @@ -413,21 +413,21 @@ the example jupyter notebook
)
edisgo.set_time_series_reactive_power_control()
# Resample edisgo timeseries to 15-minute resolution to match with SimBEV and
# TracBEV data
edisgo.resample_timeseries()
# Import electromobility data
edisgo.import_electromobility(
simbev_directory=simbev_path,
tracbev_directory=tracbev_path,
)
# Apply charging strategy
edisgo.apply_charging_strategy(strategy="dumb")
Further information on the electromobility integration methodology and the charging
Further information on the electromobility integration methodology and the charging
strategies can be found in section :ref:`electromobility-integration-label`.


Expand Down
2 changes: 1 addition & 1 deletion examples/example_grid_reinforcement.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ def run_example():
setup_logger(
loggers=[
{"name": "root", "file_level": None, "stream_level": "warning"},
{"name": "edisgo", "file_level": None, "stream_level": "info"}
{"name": "edisgo", "file_level": None, "stream_level": "info"},
]
)

Expand Down
5 changes: 3 additions & 2 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,9 @@ def pytest_configure(config):
)

pytest.tracbev_example_scenario_path = os.path.join(
os.path.realpath(os.path.dirname(__file__)), "data",
"tracbev_example_scenario_2"
os.path.realpath(os.path.dirname(__file__)),
"data",
"tracbev_example_scenario_2",
)

pytest.simbev_example_scenario_path_1 = os.path.join(
Expand Down
3 changes: 2 additions & 1 deletion tests/test_edisgo.py
Original file line number Diff line number Diff line change
Expand Up @@ -1038,7 +1038,8 @@ def test_apply_charging_strategy(self):

# Check if all charging points have a valid chargingdemand_kWh > 0
cps = self.edisgo_obj.topology.loads_df[
self.edisgo_obj.topology.loads_df.type == "charging_point"].index
self.edisgo_obj.topology.loads_df.type == "charging_point"
].index
ts = self.edisgo_obj.timeseries.loads_active_power.loc[:, cps]
df = ts.loc[:, (ts <= 0).any(axis=0)]
assert df.shape == ts.shape
Expand Down

0 comments on commit 1db13a4

Please sign in to comment.