How to customize oemof-B3¶
To use oemof-B3, you may want to modify some files, depending on what you want to model.
While you define scenarios in the directory
scenarios, you can specify the structure of
your model in the directory
In the directory
config you can furthermore choose or modify labels, hard coded constant
parameters or colors within plots.
For each scenario you define, you create a YAML-file within
You have to provide a name and a label of your scenario.
Inside the fields at
datetimeindex you specify which time period is examined in your scenario.
start you define the start date and time. It must be given in the ISO 8601 format.
freq you set the frequency in e.g. “H” (hours) and with
periods the number of time steps.
model_structure you pass the structure of your energy system (see section Model).
paths_scalars you provide all paths to your scalar and time
A filter selection is specified for scalar data in
filter_scalars and for time series in
filter_timeseries. Time series additionally can be filtered by a start time index.
For both, keys of scenarios are passed with
scenario_key. These are used to filter the raw
data according to the corresponding keys. This way you can assign different values to attributes
or assign a different time series depending on the scenario.
If you want to calculate only one scenario, you can use a single
model directory is structured as follow:
model ├── model_structure │ ├── model_structure_el_only.yml │ ├── model_structure_full.yml ├── bus_attrs_update.yml ├── component_attrs_update.yml ├── foreign_keys_update.yml ├── __init__.py
model_structure you’ll find the structure of the whole energy system used
in oemof-B3 and the one with electricity sector only.
You can also set up your own energy system in a new YAML file.
In the parent directory
model buses are stored in
differ from the default in oemoflex (compare
busses.yml in oemoflex).
The same applies to the files
These are extended for the energy system in oemof-B3 (or depending on the composition of your
energy system) with information deviating from the default in oemoflex (cf.
config directory is structured as follow:
config ├── labels │ ├── de.yml │ ├── en.yml ├── __init__.py ├── colors.csv ├── colors.yml ├── config.py ├── settings.yml
labels there are YAML-files which contain labels.
They are used in some of the visualization scripts (cf. Visualization).
The labels are assigned to the keys of the components stored in
In the parent directory
config colors are stored in the files
colors.yml uses keys from
colors.csv expects the labels of these keys.
settings.yml, besides assumptions and values taken as constant, paths and settings in
oemof-B3 are stored.