The eDisGo workflow
eDisGo is a toolbox, so there is no single “run” function — you assemble a study from building blocks. Those blocks must be called in a particular order, because later steps consume data produced by earlier ones. This page gives the canonical order, the rules that must be respected, and the errors you get when they are not.
Canonical call order
A full study typically follows these stages (steps 2, 5 and 6 are optional depending on the scenario):
Load the grid —
EDisGofrom a ding0 grid, orimport_edisgo_from_files()to reload a saved object.Import the generator park —
import_generators()(to adopt a future-scenario generator park; skip if you want to keep the status-quo park that every ding0 grid already ships with).Set the time index — pass
timeindexto the constructor or callset_timeindex(). Required before any time-series import.Import flexible assets —
import_home_batteries(),import_heat_pumps(),import_dsm(),import_electromobility().Set active power time series —
set_time_series_active_power_predefined()(orworst_case/ manual), then apply operation strategies (apply_charging_strategy(),apply_heat_pump_operating_strategy()).Set reactive power time series —
set_time_series_reactive_power_control(). Always last of the time-series steps.(Optional) optimise flexibilities —
pm_optimize()(see Multi-period optimal power flow).Analyse —
analyze()(power flow) and/orReinforce —
reinforce().
The eDisGo full workflow walkthrough notebook implements exactly this sequence, stage by stage.
At any point before analysing you can call
check_integrity() to validate that the time series,
components and flexibility data are mutually consistent — a quick way to catch the
ordering mistakes described below.
Critical ordering rules
Warning
Time index first. Set the time index before importing any
oedb/predefined time series — otherwise the imported series cannot be aligned.All component imports before time series. Import generators and flexible assets before setting their time series.
Active power before reactive power. Reactive-power control derives
Qfrom the active-power series.Reactive power last. Call
set_time_series_reactive_power_control()only after all active-power series and components are in place.Import electromobility before the charging strategy.
apply_charging_strategy()operates on the charging parks fromimport_electromobility()(it writes the charging-point series itself); run the import first, or it has nothing to do.
Common errors and how to fix them
Symptom |
Cause / fix |
|---|---|
Reactive power is empty / zero after
|
Reactive-power control was called before the active-power series existed ( |
|
Reactive power was not set. Run
|
|
By default all of |
|
No charging parks present; run
|
Storage unit has no time series |
Storage series are not auto-generated; set them manually (e.g. assign a
DataFrame to |
Power flow does not converge |
Extreme voltages/loads. Use the |
|
Reduce the problem with
|
For the meaning of each step, continue with The data model, Time series and Analysis, results, plots and I/O; for the engineering behind analysis and reinforcement see Methodology & Physics.