Skip to main content

A simulator for carbon-aware applications and systems.

Project description

Vessim

PyPI version Tests License Supported versions

Vessim is a versatile co-simulation testbed for carbon-aware applications and systems which connects domain-specific simulators for renewable power generation and energy storage with real software and hardware.

Simulated energy systems for computing systems

Vessim allows you to simulate energy systems next to real or simulated computing systems:

from vessim.actor import ComputingSystem, Generator
from vessim.controller import Monitor
from vessim.cosim import Environment
from vessim.power_meter import MockPowerMeter
from vessim.signal import HistoricalSignal
from vessim.storage import SimpleBattery

environment = Environment(sim_start="15-06-2022")

monitor = Monitor()
environment.add_microgrid(
    actors=[
        ComputingSystem(power_meters=[MockPowerMeter(p=100)]),
        Generator(signal=HistoricalSignal.from_dataset("solcast2022_global")),
    ],
    controllers=[monitor],
    storage=SimpleBattery(capacity=100),
    step_size=60,
)

environment.run(until=24 * 3600)  # 24h
monitor.to_csv("result.csv")

Installation

You can install the latest release of Vessim via pip:

pip install vessim

If you require software-in-the-loop (SiL) capabilities, you can install the sil extra:

pip install vessim[sil]

For complex scenarios that involve custom co-simulation actors we recommend cloning and editing this depository directly.

Datasets

Vessim comes with ready-to-user datasets for solar irradiance and average carbon intensity provided by

and

We're working on documentation on how to include custom datasets for your simulations.

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:

  • Website: We are currently working on better examples and documentation. You can find the current WiP documentation here.
  • Imroved Software-in-the-loop (SiL) API: We will soon release a new API for SiL simulations with new examples and better documentation.
  • System Advisor Model (SAM): We are working on making NREL's SAM available as a subsystem in Vessim.

Publications

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

Philipp Wiesner, Ilja Behnke and Odej Kao. "A Testbed for Carbon-Aware Applications and Systems" arXiv:2302.08681 [cs.DC]. 2023.

@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:

Philipp Wiesner, Marvin Steinke, Henrik Nickel, Yazan Kitana, and Odej Kao. "Software-in-the-Loop Simulation for Developing and Testing Carbon-Aware Applications" Software: Practice and Experience, 53 (12). 2023.

@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}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vessim-0.5.0a1.tar.gz (18.7 kB view hashes)

Uploaded Source

Built Distribution

vessim-0.5.0a1-py3-none-any.whl (20.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page