Developers documentation overview

Terminology

  • calculation service: a code repository containing simulation logic aimed at a specific energy (ESDL) object, for instance a PV installation, battery or heat pump. Alternatively there are general services, for instance a weather service or aggregator.

  • calculation model: a running instance of a calculation service, created from a docker image in the service repository. Multiple models can exist for a single service, set in the calculation service definition.

  • calculation service definition: describes which calculation service is used with which ESDL object type. And the calculation service docker image url (on dockerhub) and number of models (each model runs in a separate container).

The framework allows for independent development of calculation services for specific energy objects or services (e.g. PV panel, battery, EV, weather prediction, DSO). The simulations are run on a (cloud) cluster, the results are stored in an influxdb database which can be analyzed and viewed online using grafana, see the component diagram below.
dots component diagram

Repositories

The following repositories are used:

Calculation flow

What happens when a simulation is started is described in a detailed the sequence diagram below: dots sequence diagram