{"id":10498,"name":"Vessim","description":"A co-simulation testbed for energy-aware and carbon-aware applications and systems, based on Mosaik.","url":"https://github.com/dos-group/vessim","last_synced_at":"2026-06-21T03:02:42.599Z","repository":{"id":176865683,"uuid":"603417933","full_name":"dos-group/vessim","owner":"dos-group","description":"A co-simulation testbed for microgrids and energy-aware systems 🍃","archived":false,"fork":false,"pushed_at":"2026-06-10T10:44:50.000Z","size":57177,"stargazers_count":86,"open_issues_count":1,"forks_count":12,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-06-10T12:15:01.079Z","etag":null,"topics":["carbon-aware","co-simulator","green-computing","microgrid","mosaik","sustainable-ai","testbed"],"latest_commit_sha":null,"homepage":"https://vessim.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dos-group.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-02-18T12:59:09.000Z","updated_at":"2026-06-10T10:44:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"f00e242d-a02c-4577-b290-01938007c565","html_url":"https://github.com/dos-group/vessim","commit_stats":{"total_commits":839,"total_committers":11,"mean_commits":76.27272727272727,"dds":0.7616209773539928,"last_synced_commit":"7be55b5e21ed195292e2831158f6f13a92021086"},"previous_names":["dos-group/vessim"],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/dos-group/vessim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dos-group%2Fvessim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dos-group%2Fvessim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dos-group%2Fvessim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dos-group%2Fvessim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dos-group","download_url":"https://codeload.github.com/dos-group/vessim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dos-group%2Fvessim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34514285,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"dos-group","name":"DOS Group at TU Berlin","uuid":"5664005","kind":"organization","description":"Distributed and Operating Systems group at Technische Universität Berlin","email":null,"website":"https://tu.berlin/en/dos","location":"Technische Universität Berlin","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5664005?v=4","repositories_count":71,"last_synced_at":"2024-04-16T16:22:44.883Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/dos-group","funding_links":[],"total_stars":290,"followers":7,"following":0,"created_at":"2022-11-06T11:37:21.536Z","updated_at":"2024-04-16T16:23:02.089Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dos-group","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dos-group/repositories"},"packages":[{"id":12697730,"name":"github.com/dos-group/vessim","ecosystem":"go","description":null,"homepage":null,"licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/dos-group/vessim","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-21T10:46:28.000Z","latest_release_published_at":"2026-01-21T10:46:28.000Z","latest_release_number":"v0.13.1","last_synced_at":"2026-06-18T00:30:26.977Z","created_at":"2026-01-21T15:08:29.260Z","updated_at":"2026-06-18T00:30:26.977Z","registry_url":"https://pkg.go.dev/github.com/dos-group/vessim","install_command":"go get github.com/dos-group/vessim","documentation_url":"https://pkg.go.dev/github.com/dos-group/vessim#section-documentation","metadata":{},"repo_metadata":{"id":176865683,"uuid":"603417933","full_name":"dos-group/vessim","owner":"dos-group","description":"A co-simulation testbed for carbon-aware computing systems 🍃","archived":false,"fork":false,"pushed_at":"2026-01-29T14:24:59.000Z","size":53552,"stargazers_count":80,"open_issues_count":3,"forks_count":13,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-03-13T06:55:13.028Z","etag":null,"topics":["carbon-aware","co-simulation","energy-system","simulation","software-in-the-loop","testbed"],"latest_commit_sha":null,"homepage":"https://vessim.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dos-group.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-02-18T12:59:09.000Z","updated_at":"2026-03-12T16:57:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"f00e242d-a02c-4577-b290-01938007c565","html_url":"https://github.com/dos-group/vessim","commit_stats":{"total_commits":839,"total_committers":11,"mean_commits":76.27272727272727,"dds":0.7616209773539928,"last_synced_commit":"7be55b5e21ed195292e2831158f6f13a92021086"},"previous_names":["dos-group/vessim"],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/dos-group/vessim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dos-group%2Fvessim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dos-group%2Fvessim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dos-group%2Fvessim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dos-group%2Fvessim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dos-group","download_url":"https://codeload.github.com/dos-group/vessim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dos-group%2Fvessim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30467783,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T11:00:43.441Z","status":"ssl_error","status_checked_at":"2026-03-13T11:00:23.173Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"repo_metadata_updated_at":"2026-03-13T13:07:55.817Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":1.0395920099155789,"dependent_packages_count":0.9757272722803187,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":1.0076596410979488},"purl":"pkg:golang/github.com/dos-group/vessim","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/dos-group/vessim","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/dos-group/vessim","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/dos-group/vessim/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-03-04T22:01:03.301Z","issues_count":49,"pull_requests_count":201,"avg_time_to_close_issue":4708288.711111112,"avg_time_to_close_pull_request":715794.265625,"issues_closed_count":45,"pull_requests_closed_count":192,"pull_request_authors_count":12,"issue_authors_count":6,"avg_comments_per_issue":0.7959183673469388,"avg_comments_per_pull_request":0.39800995024875624,"merged_pull_requests_count":167,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":11,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":1039501.2222222222,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":9,"past_year_pull_request_authors_count":6,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.09090909090909091,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/dos-group%2Fvessim/issues","maintainers":[{"login":"birnbaum","count":54,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/birnbaum"}],"active_maintainers":[{"login":"birnbaum","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/birnbaum"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fdos-group%2Fvessim/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fdos-group%2Fvessim/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fdos-group%2Fvessim/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fdos-group%2Fvessim/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fdos-group%2Fvessim/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fdos-group%2Fvessim/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2180425,"maintainers_count":0,"namespaces_count":792747,"keywords_count":113213,"github":"golang","metadata":{"funded_packages_count":53976},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-06-10T05:03:23.672Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":1326065,"full_name":"dos-group/vessim","default_branch":"main","total_commits":1096,"total_committers":12,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":91.33333333333333,"dds":0.6651459854014599,"past_year_total_commits":193,"past_year_total_committers":6,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":32.166666666666664,"past_year_dds":0.09326424870466321,"last_synced_at":"2026-06-17T18:07:14.267Z","last_synced_commit":"408ed48db0cb21221970627dd1244e6b5edd86d4","created_at":"2023-09-11T16:06:36.755Z","updated_at":"2026-06-17T18:06:21.421Z","committers":[{"name":"Philipp Wiesner","email":"wiesner@tu-berlin.de","login":"birnbaum","count":367},{"name":"marvin.steinke","email":"marvin.steinke@campus.tu-berlin.de","login":"marvin-steinke","count":276},{"name":"kilianp14","email":"Paul-Kilian@gmx.de","login":"kilianp14","count":206},{"name":"amandamalk0601","email":"amanda061@windowslive.com","login":"amandamalk0601","count":147},{"name":"marvin.steinke","email":"marvin.steinke@campus.tu-berlin.de.de","login":null,"count":74},{"name":"martin","email":"martinnice1379@gmail.com","login":"martinkuechler","count":6},{"name":"Ovi T","email":"ovi.tatar@googlemail.com","login":"Impelon","count":6},{"name":"philipkalesse","email":"187253664+philipkalesse","login":"philipkalesse","count":5},{"name":"Marc Hentschel","email":"marc.hentschel@campus.tu-berlin.de","login":null,"count":4},{"name":"GitHub Action","email":"action@github.com","login":"actions-user","count":2},{"name":"Fynn Kaschta","email":"fynnik202@gmail.com","login":"fynnik202","count":2},{"name":"Otto Richter","email":"otto@codeberg.org","login":null,"count":1}],"past_year_committers":[{"name":"Philipp Wiesner","email":"wiesner@tu-berlin.de","login":"birnbaum","count":175},{"name":"martin","email":"martinnice1379@gmail.com","login":"martinkuechler","count":6},{"name":"philipkalesse","email":"187253664+philipkalesse","login":"philipkalesse","count":5},{"name":"Marc Hentschel","email":"marc.hentschel@campus.tu-berlin.de","login":null,"count":4},{"name":"Fynn Kaschta","email":"fynnik202@gmail.com","login":"fynnik202","count":2},{"name":"Otto Richter","email":"otto@codeberg.org","login":null,"count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/dos-group%2Fvessim/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-19T00:00:07.604Z","repositories_count":6263364,"commits_count":875467786,"contributors_count":35074437,"owners_count":1168495,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"dos-group/vessim","html_url":"https://github.com/dos-group/vessim","last_synced_at":"2026-04-28T10:04:19.539Z","status":"active","issues_count":49,"pull_requests_count":202,"avg_time_to_close_issue":4708288.711111112,"avg_time_to_close_pull_request":938561.881443299,"issues_closed_count":45,"pull_requests_closed_count":194,"pull_request_authors_count":13,"issue_authors_count":6,"avg_comments_per_issue":0.7959183673469388,"avg_comments_per_pull_request":0.39603960396039606,"merged_pull_requests_count":168,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":12,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":1358921.5,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":10,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.08333333333333333,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"created_at":"2023-09-11T16:07:09.533Z","updated_at":"2026-04-28T10:04:19.539Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/dos-group%2Fvessim","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/dos-group%2Fvessim/issues","issue_labels_count":{"enhancement":22,"bug":9,"question":8,"documentation":7,"not important":5,"wontfix":1},"pull_request_labels_count":{"documentation":9,"enhancement":7,"codex":4},"issue_author_associations_count":{"CONTRIBUTOR":39,"COLLABORATOR":6,"NONE":4},"pull_request_author_associations_count":{"CONTRIBUTOR":144,"COLLABORATOR":48,"NONE":10},"issue_authors":{"marvin-steinke":25,"Impelon":7,"kilianp14":7,"birnbaum":6,"amandamalk0601":3,"ArneTR":1},"pull_request_authors":{"marvin-steinke":73,"birnbaum":48,"kilianp14":39,"amandamalk0601":24,"Impelon":8,"crai0":2,"Cem2024":2,"McdotcomGH":1,"martinkuechler":1,"ghafek":1,"ngoerlitz":1,"Nirusu-GH":1,"fnetX":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-19T00:00:10.812Z","repositories_count":14815390,"issues_count":33071668,"pull_requests_count":109108276,"authors_count":11311102,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{"codex":4},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"NONE":5,"COLLABORATOR":4,"CONTRIBUTOR":1},"past_year_issue_authors":{},"past_year_pull_request_authors":{"birnbaum":4,"fnetX":1,"ghafek":1,"martinkuechler":1,"McdotcomGH":1,"ngoerlitz":1,"Nirusu-GH":1},"maintainers":[{"login":"birnbaum","count":54,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/birnbaum"}],"active_maintainers":[{"login":"birnbaum","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/birnbaum"}]},"events":{"total":{"ReleaseEvent":14,"DeleteEvent":11,"PullRequestEvent":6,"ForkEvent":3,"WatchEvent":25,"PushEvent":63,"PullRequestReviewCommentEvent":7,"PullRequestReviewEvent":4,"CreateEvent":18},"last_year":{"ReleaseEvent":4,"DeleteEvent":3,"PullRequestEvent":3,"ForkEvent":1,"WatchEvent":12,"PushEvent":42,"PullRequestReviewEvent":2,"PullRequestReviewCommentEvent":7,"CreateEvent":6}},"keywords":["carbon-aware","co-simulator","green-computing","microgrid","mosaik","sustainable-ai","testbed"],"dependencies":[],"score":null,"created_at":"2023-09-11T14:38:49.265Z","updated_at":"2026-06-21T03:02:42.600Z","avatar_url":"https://github.com/dos-group.png","language":"Python","category":"Energy Systems","sub_category":"Grid Management and Microgrid","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"Vessim Logo\" src=\"docs/assets/logo.png\" width=\"250\" /\u003e\n\u003c/p\u003e\n\nVessim is a **co-simulation testbed for microgrids**\\*\n\nVessim lets you model how loads, (renewable) generation, energy storage, and the public grid interact, and test control and dispatch strategies against them, in pure simulation or with **real software and hardware** in the loop.\n\n*\\*By \"microgrid\" we mean any local energy system that combines loads, generation, and storage behind a grid connection. Grids can scale from small battery-constrained systems to a GW-scale datacenter campus.*\n\nCheck out the [website and documentation](https://vessim.readthedocs.io/en/latest/)!\n\n## What can I do with Vessim?\n\nVessim helps you understand and optimize how loads, energy sources, and storage interact.\nIt was originally designed for energy-aware and carbon-aware data centers, but has also been used for other use cases such as battery price arbitrage and demand response for cooling warehouses.\n\n- **Control and dispatch strategies**: Test battery charging/discharging, load-shifting, and price- or carbon-driven dispatch.\n- **Demand response and power outages**: Simulate demand response signals or power outages to understand your system's flexibility and test mitigation strategies.\n- **Microgrid composition**: Experiment with adding solar panels, wind turbines, or batteries to see how they would affect your energy costs and carbon emissions.\n- **Energy- and carbon-aware computing**: Develop applications that adapt their energy consumption to the carbon intensity and price of electricity.\n\nVessim can simulate multiple distributed microgrids in parallel and easily integrates historical datasets and new simulators. \nVessim’s software-in-the-loop capabilities let you run real systems against simulated microgrids. Connect live data sources like Prometheus and interact through REST APIs.\n\n\n## Simple Example\n\nThe scenario below simulates a microgrid with a computing system drawing 700W, a solar panel, and a 1.5 kWh battery.\n\n```python\nimport vessim as vs\n\nenvironment = vs.Environment(sim_start=\"2022-06-09\", step_size=300)\n\nenvironment.add_microgrid(\n    name=\"datacenter\",\n    actors=[\n        vs.Actor(name=\"server\", signal=vs.StaticSignal(value=700), consumer=True),\n        vs.Actor(name=\"solar_panel\", signal=vs.Trace.from_csv(\n            \"datasets/solar_example.csv\", column=\"Berlin\", scale=5000\n        )),\n    ],\n    dispatchables=[\n        vs.SimpleBattery(name=\"battery\", capacity=1500, initial_soc=0.8, min_soc=0.3)\n    ],\n)\n\nenvironment.add_controller(vs.CsvLogger(\"results/my_experiment\"))\nenvironment.run(until=24 * 3600)\n```\n\nCheck out the [Getting Started walkthrough](https://vessim.readthedocs.io/en/latest/getting_started/) and [`examples/`](examples/) for software-in-the-loop simulations.\n\n\n## Installation\n\nYou can install the [latest release](https://pypi.org/project/vessim/) of Vessim\nvia [pip](https://pip.pypa.io/en/stable/quickstart/):\n\n```\npip install vessim\n```\n\nIf you require software-in-the-loop capabilities, install the `sil` extension:\n\n```\npip install vessim[sil]\n```\n\n## Publications\n\nIf you use Vessim in your research, please cite our paper:\n\n- Philipp Wiesner, Ilja Behnke, Paul Kilian, Marvin Steinke, and Odej Kao. \"[Vessim: A Testbed for Carbon-Aware Applications and Systems.](https://dl.acm.org/doi/pdf/10.1145/3727200.3727210)\" _ACM SIGENERGY Energy Informatics Review 4 (5)_. 2024.\n\nFor details in Vessim's software-in-the-loop simulation methodology, refer to:\n\n- Philipp Wiesner, Marvin Steinke, Henrik Nickel, Yazan Kitana, and Odej Kao. \"[Software-in-the-Loop Simulation for Developing and Testing Carbon-Aware Applications.](https://doi.org/10.1002/spe.3275)\" _Software: Practice and Experience, 53 (12)_. 2023.\n\nFor more related papers and concrete use cases, please refer to the [documentation](https://vessim.readthedocs.io/en/latest/publications).\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.1002/spe.3275"],"works":{"https://doi.org/10.1002/spe.3275":{"id":"https://openalex.org/W4387058911","doi":"https://doi.org/10.1002/spe.3275","title":"Software‐in‐the‐loop simulation for developing and testing carbon‐aware applications","display_name":"Software‐in‐the‐loop simulation for developing and testing carbon‐aware applications","publication_year":2023,"publication_date":"2023-09-25","ids":{"openalex":"https://openalex.org/W4387058911","doi":"https://doi.org/10.1002/spe.3275"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1002/spe.3275","pdf_url":"https://onlinelibrary.wiley.com/doi/pdfdirect/10.1002/spe.3275","source":{"id":"https://openalex.org/S122199241","display_name":"Software: Practice and Experience","issn_l":"0038-0644","issn":["0038-0644","1097-024X"],"is_oa":false,"is_in_doaj":false,"host_organization":"https://openalex.org/P4310320503","host_organization_name":"Wiley-Blackwell","host_organization_lineage":["https://openalex.org/P4310320503","https://openalex.org/P4310320595"],"host_organization_lineage_names":["Wiley-Blackwell","Wiley"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"journal-article","open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://onlinelibrary.wiley.com/doi/pdfdirect/10.1002/spe.3275","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5046693151","display_name":"Philipp Wiesner","orcid":"https://orcid.org/0000-0001-5352-7525"},"institutions":[{"id":"https://openalex.org/I4577782","display_name":"Technische Universität Berlin","ror":"https://ror.org/03v4gjf40","country_code":"DE","type":"education","lineage":["https://openalex.org/I4577782"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Philipp Wiesner","raw_affiliation_string":"Distributed and Operating Systems Technische Universität Berlin  Berlin Germany","raw_affiliation_strings":["Distributed and Operating Systems Technische Universität Berlin  Berlin Germany"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5061162720","display_name":"Marvin Steinke","orcid":null},"institutions":[{"id":"https://openalex.org/I4577782","display_name":"Technische Universität Berlin","ror":"https://ror.org/03v4gjf40","country_code":"DE","type":"education","lineage":["https://openalex.org/I4577782"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Marvin Steinke","raw_affiliation_string":"Distributed and Operating Systems Technische Universität Berlin  Berlin Germany","raw_affiliation_strings":["Distributed and Operating Systems Technische Universität Berlin  Berlin Germany"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5039877826","display_name":"H.-U. Nickel","orcid":null},"institutions":[{"id":"https://openalex.org/I4577782","display_name":"Technische Universität Berlin","ror":"https://ror.org/03v4gjf40","country_code":"DE","type":"education","lineage":["https://openalex.org/I4577782"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Henrik Nickel","raw_affiliation_string":"Distributed and Operating Systems Technische Universität Berlin  Berlin Germany","raw_affiliation_strings":["Distributed and Operating Systems Technische Universität Berlin  Berlin Germany"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5092946026","display_name":"Yazan Kitana","orcid":null},"institutions":[{"id":"https://openalex.org/I4577782","display_name":"Technische Universität Berlin","ror":"https://ror.org/03v4gjf40","country_code":"DE","type":"education","lineage":["https://openalex.org/I4577782"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Yazan Kitana","raw_affiliation_string":"Distributed and Operating Systems Technische Universität Berlin  Berlin Germany","raw_affiliation_strings":["Distributed and Operating Systems Technische Universität Berlin  Berlin Germany"]},{"author_position":"last","author":{"id":"https://openalex.org/A5042349846","display_name":"Odej Kao","orcid":"https://orcid.org/0000-0001-6454-6799"},"institutions":[{"id":"https://openalex.org/I4577782","display_name":"Technische Universität Berlin","ror":"https://ror.org/03v4gjf40","country_code":"DE","type":"education","lineage":["https://openalex.org/I4577782"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Odej Kao","raw_affiliation_string":"Distributed and Operating Systems Technische Universität Berlin  Berlin Germany","raw_affiliation_strings":["Distributed and Operating Systems Technische Universität Berlin  Berlin Germany"]}],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5046693151"],"corresponding_institution_ids":["https://openalex.org/I4577782"],"apc_list":{"value":4220,"currency":"USD","value_usd":4220,"provenance":"doaj"},"apc_paid":{"value":4220,"currency":"USD","value_usd":4220,"provenance":"doaj"},"has_fulltext":false,"cited_by_count":1,"cited_by_percentile_year":{"min":87,"max":94},"biblio":{"volume":"53","issue":"12","first_page":"2362","last_page":"2376"},"is_retracted":false,"is_paratext":false,"keywords":[{"keyword":"carbon‐aware","score":0.4343},{"keyword":"simulation","score":0.3782}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7474034},{"id":"https://openalex.org/C2780936489","wikidata":"https://www.wikidata.org/wiki/Q310667","display_name":"Carbon footprint","level":3,"score":0.56400937},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.53284746},{"id":"https://openalex.org/C19527686","wikidata":"https://www.wikidata.org/wiki/Q1665453","display_name":"System integration","level":2,"score":0.41286418},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.39107502},{"id":"https://openalex.org/C201995342","wikidata":"https://www.wikidata.org/wiki/Q682496","display_name":"Systems engineering","level":1,"score":0.3239795},{"id":"https://openalex.org/C47737302","wikidata":"https://www.wikidata.org/wiki/Q167336","display_name":"Greenhouse gas","level":2,"score":0.17731854},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.11690158},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.09709352},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.1002/spe.3275","pdf_url":"https://onlinelibrary.wiley.com/doi/pdfdirect/10.1002/spe.3275","source":{"id":"https://openalex.org/S122199241","display_name":"Software: Practice and Experience","issn_l":"0038-0644","issn":["0038-0644","1097-024X"],"is_oa":false,"is_in_doaj":false,"host_organization":"https://openalex.org/P4310320503","host_organization_name":"Wiley-Blackwell","host_organization_lineage":["https://openalex.org/P4310320503","https://openalex.org/P4310320595"],"host_organization_lineage_names":["Wiley-Blackwell","Wiley"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1002/spe.3275","pdf_url":"https://onlinelibrary.wiley.com/doi/pdfdirect/10.1002/spe.3275","source":{"id":"https://openalex.org/S122199241","display_name":"Software: Practice and Experience","issn_l":"0038-0644","issn":["0038-0644","1097-024X"],"is_oa":false,"is_in_doaj":false,"host_organization":"https://openalex.org/P4310320503","host_organization_name":"Wiley-Blackwell","host_organization_lineage":["https://openalex.org/P4310320503","https://openalex.org/P4310320595"],"host_organization_lineage_names":["Wiley-Blackwell","Wiley"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/9","display_name":"Industry, innovation and infrastructure","score":0.64},{"id":"https://metadata.un.org/sdg/12","display_name":"Responsible consumption and production","score":0.14}],"grants":[],"referenced_works_count":33,"referenced_works":["https://openalex.org/W2076992503","https://openalex.org/W2082414281","https://openalex.org/W2106424475","https://openalex.org/W2119541875","https://openalex.org/W2126491373","https://openalex.org/W2134807578","https://openalex.org/W2294973828","https://openalex.org/W2551233363","https://openalex.org/W2589264760","https://openalex.org/W2736768677","https://openalex.org/W2796336776","https://openalex.org/W2804347281","https://openalex.org/W2891113010","https://openalex.org/W2919074396","https://openalex.org/W2991175020","https://openalex.org/W2997874008","https://openalex.org/W3007855629","https://openalex.org/W3024575953","https://openalex.org/W3044700476","https://openalex.org/W3088526311","https://openalex.org/W3098742069","https://openalex.org/W3130390537","https://openalex.org/W3170182333","https://openalex.org/W3175111539","https://openalex.org/W3175335403","https://openalex.org/W3178849868","https://openalex.org/W3208379186","https://openalex.org/W3209819948","https://openalex.org/W3213101878","https://openalex.org/W4292825917","https://openalex.org/W4299992785","https://openalex.org/W4318540568","https://openalex.org/W4327615886"],"related_works":["https://openalex.org/W4212950458","https://openalex.org/W3167995501","https://openalex.org/W2073399950","https://openalex.org/W2324619284","https://openalex.org/W2099425616","https://openalex.org/W229119946","https://openalex.org/W2141672647","https://openalex.org/W2069599135","https://openalex.org/W2350915311","https://openalex.org/W1991506854"],"ngrams_url":"https://api.openalex.org/works/W4387058911/ngrams","abstract_inverted_index":{"Abstract":[0],"The":[1,130],"growing":[2],"electricity":[3],"demand":[4,147],"of":[5,21,34,39,56,64,78,157],"IT":[6],"infrastructure":[7],"has":[8],"raised":[9],"significant":[10],"concerns":[11],"about":[12],"its":[13],"carbon":[14],"footprint.":[15],"To":[16,42,102],"mitigate":[17],"the":[18,31,37,57,76,137,143,149,155,175],"associated":[19],"emissions":[20],"computing":[22,100,144,172],"systems,":[23],"current":[24],"efforts":[25],"therefore":[26],"increasingly":[27],"focus":[28],"on":[29,170],"aligning":[30],"power":[32,146],"usage":[33],"software":[35],"with":[36,98],"availability":[38],"clean":[40],"energy.":[41],"operate,":[43],"such":[44],"carbon‐aware":[45,112,171],"applications":[46,121],"require":[47],"visibility":[48],"and":[49,54,62,70,88,110,165],"control":[50],"over":[51],"relevant":[52],"metrics":[53],"configurations":[55],"energy":[58,66,125,138],"system.":[59],"However,":[60],"research":[61,169],"development":[63],"novel":[65],"system":[67,126,152],"abstraction":[68],"layers":[69],"interfaces":[71],"remain":[72],"difficult":[73],"due":[74],"to":[75,86,96],"scarcity":[77],"available":[79],"testing":[80,111],"environments:":[81],"Real":[82],"testbeds":[83,93],"are":[84,94],"expensive":[85],"build":[87],"maintain,":[89],"while":[90,140],"existing":[91],"simulation":[92],"unable":[95],"interact":[97],"real":[99,120],"systems.":[101],"provide":[103],"a":[104,116,123],"widely":[105],"applicable":[106],"approach":[107],"for":[108,118,135,154],"developing":[109],"software,":[113],"we":[114],"propose":[115],"method":[117],"integrating":[119],"into":[122],"simulated":[124],"through":[127],"software‐in‐the‐loop":[128],"simulation.":[129,150],"integration":[131,156],"offers":[132],"an":[133],"API":[134],"accessing":[136],"system,":[139],"continuously":[141],"modeling":[142],"system's":[145],"within":[148],"Our":[151],"allows":[153],"physical":[158],"as":[159,161],"well":[160],"virtual":[162],"compute":[163],"nodes,":[164],"can":[166],"help":[167],"accelerate":[168],"systems":[173],"in":[174],"future.":[176]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W4387058911","counts_by_year":[{"year":2023,"cited_by_count":1}],"updated_date":"2023-12-15T06:25:24.547091","created_date":"2023-09-27"}},"citation_counts":{"https://doi.org/10.1002/spe.3275":1},"total_citations":1,"keywords_from_contributors":["co-simulation","energy-system","software-in-the-loop","sustainability"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/10498","html_url":"https://ost.ecosyste.ms/projects/10498"}