Configuration data
eDisGo’s default behaviour is controlled by configuration files shipped with
the package (edisgo/config/). You can inspect the current values below and
override them in several ways: persistently via the user config directory
(~/.edisgo/config, where the defaults are copied on first use), by pointing the
config_path argument (a path or a dict) at your own configs, or in memory by
editing edisgo.config[...]. This page reproduces the most relevant default files
verbatim; the additional config_system.cfg holds internal system paths, the
equipment-file mapping and network parameters (e.g. the grid frequency, 50 Hz) and is
not meant to be edited.
config_db_tables
config_db_tables.cfg selects which data source (model_draft vs versioned)
and data version to use, and maps dataset names to the corresponding OpenEnergy
Platform / egon-data table names (see Data sources).
# This file is part of eDisGo, a python package for distribution grid
# analysis and optimization.
#
# It is developed in the project open_eGo: https://openegoproject.wordpress.com
#
# eDisGo lives on github: https://github.com/openego/edisgo/
# The documentation is available on RTD: https://edisgo.readthedocs.io/en/dev/
[data_source]
oedb_data_source = versioned
[model_draft]
conv_generators_prefix = t_ego_supply_conv_powerplant_
conv_generators_suffix = _mview
re_generators_prefix = t_ego_supply_res_powerplant_
re_generators_suffix = _mview
res_feedin_data = EgoRenewableFeedin
load_data = EgoDemandHvmvDemand
load_areas = EgoDemandLoadarea
#conv_generators_nep2035 = t_ego_supply_conv_powerplant_nep2035_mview
#conv_generators_ego100 = ego_supply_conv_powerplant_ego100_mview
#re_generators_nep2035 = t_ego_supply_res_powerplant_nep2035_mview
#re_generators_ego100 = t_ego_supply_res_powerplant_ego100_mview
[versioned]
conv_generators_prefix = t_ego_dp_conv_powerplant_
conv_generators_suffix = _mview
re_generators_prefix = t_ego_dp_res_powerplant_
re_generators_suffix = _mview
res_feedin_data = EgoRenewableFeedin
load_data = EgoDemandHvmvDemand
load_areas = EgoDemandLoadarea
version = v0.4.5
config_grid_expansion
config_grid_expansion.cfg holds everything needed to size and cost grid
reinforcement: the standard equipment used for expansion
(grid_expansion_standard_equipment), the allowed voltage deviations
(grid_expansion_allowed_voltage_deviations), the line/transformer load factors for
normal operation (grid_expansion_load_factors) and for n-1 operation
(grid_expansion_load_factors_n_minus_one), each per voltage level and per
load/feed-in case, and the unit costs (costs_cables, costs_transformers).
These drive Grid reinforcement and Grid-expansion costs.
# This file is part of eDisGo, a python package for distribution grid
# analysis and optimization.
#
# It is developed in the project open_eGo: https://openegoproject.wordpress.com
#
# eDisGo lives on github: https://github.com/openego/edisgo/
# The documentation is available on RTD: https://edisgo.readthedocs.io/en/dev/
[grid_expansion_standard_equipment]
# standard equipment
# ==================
# Standard equipment for grid expansion measures. Source: Rehtanz et. al.: "Verteilnetzstudie für das Land Baden-Württemberg", 2017.
hv_mv_transformer = 40 MVA
mv_lv_transformer = 630 kVA
mv_line_10kv = NA2XS2Y 3x1x185 RM/25
mv_line_20kv = NA2XS2Y 3x1x240
lv_line = NAYY 4x1x150
[grid_expansion_allowed_voltage_deviations]
# allowed voltage deviations
# ==========================
# voltage at HV/MV station's secondary side
# ------------------------------------------
# hv_mv_trafo_offset:
# offset which is set at HV-MV station
# (pos. if op. voltage is increased, neg. if decreased)
hv_mv_trafo_offset = 0.0
# hv_mv_trafo_control_deviation:
# control deviation of HV-MV station
# (always pos. in config; pos. or neg. usage depending on case in edisgo)
hv_mv_trafo_control_deviation = 0.0
# COMBINED MV+LV
# --------------
# max. allowed voltage rise and drop in case voltage band is not allocated to different
# voltage levels
# (values according to DIN EN 50160)
# caution: offset and control deviation at HV-MV station must be considered in calculations!
mv_lv_max_v_rise = 0.1
mv_lv_max_v_drop = 0.1
# MV ONLY
# -------
# max. allowed voltage rise in MV grids
mv_max_v_rise = 0.05
# max. allowed voltage drop in MV grids
mv_max_v_drop = 0.015
# LV ONLY
# -------
# max. allowed voltage rise in LV grids
lv_max_v_rise = 0.035
# max. allowed voltage rise over MV/LV stations
mv_lv_station_max_v_rise = 0.015
# max. allowed voltage drop in LV grids
# according to VDE-AR-N 4105
lv_max_v_drop = 0.065
# max. allowed voltage drop over MV/LV stations
mv_lv_station_max_v_drop = 0.02
[grid_expansion_load_factors]
# These are the load factors to use when grid issues in normal grid operation are checked.
# Load factors for n-1 security are set in section grid_expansion_load_factors_n_minus_one.
mv_load_case_transformer = 1.0
mv_load_case_line = 1.0
mv_feed-in_case_transformer = 1.0
mv_feed-in_case_line = 1.0
lv_load_case_transformer = 1.0
lv_load_case_line = 1.0
lv_feed-in_case_transformer = 1.0
lv_feed-in_case_line = 1.0
[grid_expansion_load_factors_n_minus_one]
# These are the load factors to use when n-1 security is checked. Usually, only the
# MV grid components need to be n-1 secure.
# Source: Rehtanz et. al.: "Verteilnetzstudie für das Land Baden-Württemberg", 2017.
mv_load_case_transformer = 0.5
mv_load_case_line = 0.5
mv_feed-in_case_transformer = 1.0
mv_feed-in_case_line = 1.0
lv_load_case_transformer = 1.0
lv_load_case_line = 1.0
lv_feed-in_case_transformer = 1.0
lv_feed-in_case_line = 1.0
# costs
# ============
[costs_cables]
# costs in kEUR/km
# costs for cables without earthwork are taken from [1] (costs for standard
# cables are used here as representative since they have average costs), costs
# including earthwork are taken from [2]
# [1] https://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Energie/Unternehmen_Institutionen/Netzentgelte/Anreizregulierung/GA_AnalytischeKostenmodelle.pdf?__blob=publicationFile&v=1
# [2] https://shop.dena.de/fileadmin/denashop/media/Downloads_Dateien/esd/9100_dena-Verteilnetzstudie_Abschlussbericht.pdf
# costs including earthwork costs depend on population density according to [2]
# here "rural" corresponds to a population density of <= 500 people/km²
# and "urban" corresponds to a population density of > 500 people/km²
lv_cable = 9
lv_cable_incl_earthwork_rural = 60
lv_cable_incl_earthwork_urban = 100
mv_cable = 20
mv_cable_incl_earthwork_rural = 80
mv_cable_incl_earthwork_urban = 140
[costs_transformers]
# costs in kEUR, source: DENA Verteilnetzstudie
lv = 10
mv = 1000
config_timeseries
config_timeseries.cfg defines the two worst-case situations (heavy load /
reverse feed-in) via simultaneity scale factors, the power factors and modes
(inductive/capacitive) used to generate reactive power (Reactive power),
and the demandlib settings used when generating load profiles.
# This file is part of eDisGo, a python package for distribution grid
# analysis and optimization.
#
# It is developed in the project open_eGo: https://openegoproject.wordpress.com
#
# eDisGo lives on github: https://github.com/openego/edisgo/
# The documentation is available on RTD: https://edisgo.readthedocs.io/en/dev/
# This file contains relevant data to generate load and feed-in time series.
# Scale factors are used in worst-case scenarios.
# Power factors are used to generate reactive power time series.
[worst_case_scale_factor]
# scale factors
# ===========================
# scale factors describe actual power to nominal power ratio of generators and loads in worst-case scenarios
# following values provided by "dena-Verteilnetzstudie. Ausbau- und
# Innovationsbedarf der Stromverteilnetze in Deutschland bis 2030", .p. 98
# conventional load
# factors taken from "dena-Verteilnetzstudie. Ausbau- und
# Innovationsbedarf der Stromverteilnetze in Deutschland bis 2030", p. 98
mv_feed-in_case_load = 0.15
lv_feed-in_case_load = 0.1
mv_load_case_load = 1.0
lv_load_case_load = 1.0
# generators
# factors taken from "dena-Verteilnetzstudie. Ausbau- und
# Innovationsbedarf der Stromverteilnetze in Deutschland bis 2030", p. 98
feed-in_case_feed-in_pv = 0.85
feed-in_case_feed-in_wind = 1.0
feed-in_case_feed-in_other = 1.0
load_case_feed-in_pv = 0.0
load_case_feed-in_wind = 0.0
load_case_feed-in_other = 0.0
# storage units (own values)
feed-in_case_storage = 1.0
load_case_storage = -1.0
# charging points (temporary own values)
# simultaneity in feed-in case is in dena study "Integrierte Energiewende" (p. 90) as well assumed to be zero
mv_feed-in_case_cp_home = 0.0
mv_feed-in_case_cp_work = 0.0
mv_feed-in_case_cp_public = 0.0
mv_feed-in_case_cp_hpc = 0.0
lv_feed-in_case_cp_home = 0.0
lv_feed-in_case_cp_work = 0.0
lv_feed-in_case_cp_public = 0.0
lv_feed-in_case_cp_hpc = 0.0
# simultaneity in load case should be dependent on number of charging points in the grid
# as well as charging power
# assumed factors for home and work charging higher for LV, as simultaneity of charging
# decreases with the number of charging points
# simultaneity of 0.2 follows assumptions from dena study "Integrierte Energiewende" (p. 90) where
# simultaneity for 70-500 charging points lies around 20%
mv_load_case_cp_home = 0.2
mv_load_case_cp_work = 0.2
mv_load_case_cp_public = 1.0
mv_load_case_cp_hpc = 1.0
lv_load_case_cp_home = 1.0
lv_load_case_cp_work = 1.0
lv_load_case_cp_public = 1.0
lv_load_case_cp_hpc = 1.0
# heat pumps (temporary own values)
# simultaneity in feed-in case is in dena study "Integrierte Energiewende" (p. 90) as well assumed to be zero
mv_feed-in_case_hp = 0.0
lv_feed-in_case_hp = 0.0
# simultaneity in load case should be dependent on number of heat pumps in the grid
# simultaneity of 0.8 follows assumptions from dena study "Integrierte Energiewende" (p. 90) where
# simultaneity for 70-500 heat pumps lies around 80%
mv_load_case_hp = 0.8
lv_load_case_hp = 1.0
[reactive_power_factor]
# power factors
# ===========================
# power factors used to generate reactive power time series for loads and generators
mv_generator = 0.9
mv_conventional_load = 0.9
mv_storage_unit = 0.9
mv_charging_point = 1.0
mv_heat_pump = 1.0
lv_generator = 0.95
lv_conventional_load = 0.95
lv_storage_unit = 0.95
lv_charging_point = 1.0
lv_heat_pump = 1.0
[reactive_power_mode]
# power factor modes
# ===========================
# power factor modes used to generate reactive power time series for loads and generators
mv_generator = inductive
mv_conventional_load = inductive
mv_storage_unit = inductive
mv_charging_point = inductive
mv_heat_pump = inductive
lv_generator = inductive
lv_conventional_load = inductive
lv_storage_unit = inductive
lv_charging_point = inductive
lv_heat_pump = inductive
[demandlib]
# demandlib data
# ===========================
# data used in the demandlib to generate industrial load profile
# see IndustrialProfile in https://github.com/oemof/demandlib/blob/master/demandlib/particular_profiles.py
# for further information
# scaling factors for night and day of weekdays and weekend days
week_day = 0.8
week_night = 0.6
weekend_day = 0.6
weekend_night = 0.6
holiday_day = 0.6
holiday_night = 0.6
# tuple specifying the beginning/end of a workday (e.g. 18:00)
day_start = 6:00
day_end = 22:00
config_grid
config_grid.cfg specifies how new components are connected to the grid (the
voltage-level power thresholds used by
integrate_component_based_on_geolocation(), the geometric
connection parameters such as the branch detour factor and buffer radii) and the
allowed MV/LV voltage deviations for component connection, plus the coordinate
reference system (SRID 4326).
# This file is part of eDisGo, a python package for distribution grid
# analysis and optimization.
#
# It is developed in the project open_eGo: https://openegoproject.wordpress.com
#
# eDisGo lives on github: https://github.com/openego/edisgo/
# The documentation is available on RTD: https://edisgo.readthedocs.io/en/dev/
# Config file to specify parameters used when connecting new generators to the grid and
# where to position disconnecting points.
[geo]
# WGS84: 4326
srid = 4326
[grid_connection]
# branch_detour_factor:
# normally, lines do not go straight from A to B due to obstacles etc. Therefore, a detour factor is used.
# unit: -
branch_detour_factor = 1.3
# conn_buffer_radius:
# radius used to find connection targets
# unit: m
conn_buffer_radius = 2000
# conn_buffer_radius_inc:
# radius which is incrementally added to connect_buffer_radius as long as no target is found
# unit: m
conn_buffer_radius_inc = 1000
# conn_diff_tolerance:
# threshold which is used to determine if 2 objects are on the same position
# unit: -
conn_diff_tolerance = 0.0001
# Upper limits for nominal capacity in MW at which generators, loads and storage units are
# integrated into a certain voltage level. The voltage levels have the following meaning:
# voltage level 7 = LV grid
# voltage level 6 = LV side of MV-LV station
# voltage level 5 = MV grid
# voltage level 4 = MV side of HV-MS station
# The upper limit of one voltage level at the same time signifies the lower limit of
# the next higher voltage level, i.e. upper limit of voltage limit 7 is lower limit for
# voltage level 6.
upper_limit_voltage_level_7 = 0.1
upper_limit_voltage_level_6 = 0.2
upper_limit_voltage_level_5 = 5.5
upper_limit_voltage_level_4 = 20.0
# from VDE-AR-N 4100 (VDE-AR-N 4100) Anwendungsregel: 2019-04, table 3
lv_max_voltage_deviation = 0.03
# from VDE-AR-N 4110 (VDE-AR-N 4110) Anwendungsregel: 2023-09, 5.3.2 Zulässige Spannungsänderung
mv_max_voltage_deviation = 0.02
[disconnecting_point]
# Positioning of disconnecting points: Can be position at location of most
# balanced load or generation. Choose load, generation, loadgen
position = load
config_opf_julia
config_opf_julia.cfg points to the Julia binary used by the multi-period optimal
power flow (Multi-period optimal power flow). It is only relevant when running
pm_optimize(); see Additional requirements for the optimal power flow for the full
Julia/Gurobi setup.
# This file is part of eDisGo, a python package for distribution grid
# analysis and optimization.
#
# It is developed in the project open_eGo: https://openegoproject.wordpress.com
#
# eDisGo lives on github: https://github.com/openego/edisgo/
# The documentation is available on RTD: https://edisgo.readthedocs.io/en/dev/
# This file contains path to julia binary and path to project.toml containing correct julia environment
# julia dir should be in users directory
[julia_dir]
julia_bin = julia-1.1.0/bin