FAQ & Glossary
Glossary
- Model
Representation of real processes (assuming simplifications), using the general procedure of “Input - internal calculation - output”.
- Orchestrator
Coordination of the whole simulation procedure and coupling of the models (mosaik).
- Simulator
API/interface for communication between the orchestrator mosaik and the entities of the specific model.
- Entity
Created instance of a model type. In “ename”, “etype”, “eid” etc. the “e” stands for entity.
- PSC
We use the passive sign convention (german: Verbraucherzaehlpfeilsystem), therefore loads are positive while generation is negative.
- Forecast
Prediction of a behaviour for a defined time horizon in the future, e.g. power values for the upcoming 24h steps for a household base load from a csv reader.
- Schedule
Calculated set values for a defined time horizon in the future, e.g. target power values for the upcoming 24h steps for a battery storage system.
- time-based
Used for time-discrete simulation of models, e.g. if just some data is collected to be transmitted to other models.
- event-based/hybrid
Used for triggered simulation of models, e.g. if model calculation can be triggered by inputs like the receiving of a power set value.
- weak and strong connections for mosaik simulations
As you may be tasked with adding a new model or directly adding new connections between existing models, you may come across connections between models in multiple directions - either directly or within a circle of multiple models. When that happens, you have to add the order of the connections (into
model_connections/connect_directions_config.json
) for mosaik to know the order in which the models have to be called. Weak connections are first replaced by None-values such that their recieving model is first called and afterwards the strong connection is taken.
Parameters used in test scenarios
START
simulation starting time (e.g. 2023-01-01 00:00:00)
END
simulation ending time (e.g. 2023-01-02 00:00:00 for a full day calculation)
N_STEPS
number of steps that should be simulated, calculated from start and end time (e.g. 96 steps for a day with 15 min time steps)
STEP_SIZE_IN_SECONDS
length of one (pre-defined) time step in seconds (e.g. 15 min steps: 15*60 sec = 900 sec)
USE_FORECAST
True-False value whether to consider forecasts in the simulation or not
FAQ
- What is the process of building Model-Factories?
examplesim = world.start("ExampleSim", eidprefix="Model")
The resulting
examplesim
is an entity of the classmosaik.scenario.ModelFactory
. It can create and store the entities of an example model.- What can one do in case of an ImportError when running the example scenarios?
pip install -e .
- What about an error like
Could not import module: No module named 'XXX' --> No module named 'XXX'
when running the example scenarios (after merging main into your branch)?
Maybe some new package was added to the requirements, try to install them again by
pip install -r requirements.txt
and see wether any packages were newly installed.- What attributes does a model have?
For that you should have a look at the
META
of the simulator or optionally within the model class itself.13# SIMULATION META DATA 14META = { 15 "type": "hybrid", 16 "models": { 17 "HEMS": { 18 "public": True, 19 "params": ["init_vals"], 20 "attrs": [ 21 "q", 22 "p", 23 "p_max", 24 "p_min", 25...
- What inputs does a model have?
Have a look at the
VALID_PARAMETERS
stored in each model class:20# Valid values and types for each parameter that apply for all subclasses 21_VALID_PARAMETERS = { 22 "cs_strategy": { 23 "types": [str], 24 "values": ["max_p", "balanced", "night_charging", "solar_charging"], 25 }, 26 "bss_strategy": { 27 "types": [None, str], 28 "values": [None, "reduce_curtailment"], 29 }, 30}
Exemplarily the
model_data
of the test scenarios set (at least some of) these parameters and their initial values for the models:1{ 2 "ems": [ 3 { 4 "cs_strategy": "balanced" 5 } 6 ],
- What connections does a model have?
For that the eELib provides the
model_connections/model_connect_config.json
file, where all of theFROM-TO-CONNECTIONS
are given for each model type implemented in the eELib:10"HEMS_default": { 11 "PVLib": [["p_set_pv", "p_set"]], 12 "BSS": [ 13 [ 14 "p_set_storage", 15 "p_set" 16 ] 17 ], 18 "ChargingStation": [ 19 [ 20 "p_set_charging_station", 21 "p_set" 22 ] 23 ], 24 "Heatpump": [ 25 [ 26 "p_th_set_heatpump", 27 "p_th_set" 28 ] 29 ], 30 "grid_load": [["p_balance", "p_w"], ["q_balance", "q_var"]] 31},
111"BSS": { 112 "HEMS_default": [ 113 [ 114 "p_discharge_max", 115 "p_min" 116 ], 117 [ 118 "p_charge_max", 119 "p_max" 120 ], 121 [ 122 "p", 123 "p" 124 ] 125 ], 126},
Extracted from these two examples above can be the sending of values for attributes
p
,p_min
andp_max
fromBSS
toHEMS
and the return of a value forp_set
.
Units
Make use of the SI-units!!
Power: W
Time (e.g. simulation time): s
Energy: Wh
…