Skip to main content

Vessim

PyPI version Tests License Supported versions

Vessim is a versatile co-simulation testbed for carbon-aware applications and systems. It lets users connect domain-specific simulators for energy system components like renewable power generation, energy storage, and power flow analysis with real software and hardware.

Vessim is in alpha stage and under active development. Functionality and documentation will improve in the next weeks and months.

Installation

If you are using Vessim for the first time, we recommend to clone and install this repository, so you have all code and examples at hand:

pip install -e .

Alternatively, you can also install our latest release via pip:

pip install vessim

Getting started

To execute our exemplary co-simulation scenario, run:

python examples/cosim_example.py

Software-in-the-Loop (SiL) simulation allows real computing systems to interact with Vessim at runtime. We're currently working on better documentation on how to set up a full SiL scenario, but you can experiment with the existing functionality by installing the "sil" extension (pip install vessim[sil]) and running:

python examples/sil_example.py

Work in progress

Our team at the Distributed and Operating Systems group at TU Berlin is actively working to improve Vessim. We are currently working on the following aspects and features:

  • Better documentation: You can find the current WiP documentation here
  • Improving the scenario API: We currently heavily rely on Mosaik's scenario interface for defining experiment, but want to offer a more opinionated, high-level API to improve usability.
  • Software-in-the-loop (SiL) capabilities: The current SiL implementation is focussed around our exemplary use case presented in our journal paper. We want this to become more general purpose, so users can implement custom interfaces for the communication of computing and energy systems.
  • Prodiving access to relevant datasets: We're currently collectig relevant datasets for carbon-aware test cases such as solar production or carbon intensity traces to simplify the setup of test cases.
  • Integrating the SAM: NREL's System Advisor Model (SAM) will soon be available as a subsystem in Vessim.

Publications

If you use Vessim in your research, please cite our vision paper:

@misc{wiesner2023vessim,
    title={A Testbed for Carbon-Aware Applications and Systems}, 
    author={Wiesner, Philipp and Behnke, Ilja and Kao, Odej},
    year={2023},
    eprint={2306.09774},
    archivePrefix={arXiv},
    primaryClass={cs.DC}
}

Or our journal paper on software-in-the-loop similation for carbon-aware applications:

@article{wiesner2023sil,
    author = {Wiesner, Philipp and Steinke, Marvin and Nickel, Henrik and Kitana, Yazan and Kao, Odej},
    title = {Software-in-the-loop simulation for developing and testing carbon-aware applications},
    journal = {Software: Practice and Experience},
    year = {2023},
    volume = {53},
    number = {12},
    pages = {2362-2376},
    doi = {https://doi.org/10.1002/spe.3275}
}

Metadata

Release files for vessim 0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vessim 0
File Size Uploaded
vessim-0.tar.gz 23.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vessim 0
File Interpreter ABI Platform
vessim-0-py3-none-any.whl Python 3 none any Details

Total release size: 50.5 kB

Release files / vessim-0.tar.gz

Download URL vessim-0.tar.gz
Size 23.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ff244c138f2e1953125afc0e17faf0b9f65f2831d59fda577e686703964c44b9
BLAKE2b-256 checksum
How to use checksums
256211438b4a7f73c2590429103dba444b0f0d6bd9da1eedeac67e6df599d04f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / vessim-0-py3-none-any.whl

Download URL vessim-0-py3-none-any.whl
Size 27.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
23addab003beb878a5f228bc0d595fbe3fbc2b2b555da01b8759c9b63c141cb6
BLAKE2b-256 checksum
How to use checksums
e35f4d1b923fe7fc7a183b577adea2dc4f0c79ef83dfc00b53a402870b738e71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page