Multi Vector Simulator

Multi-vector Simulation Tool assessing and optimizing Local Energy Systems (LES) for the E-LAND project
Alternatives To Multi Vector Simulator
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Sheetjs33,9424,3794,357a day ago171March 24, 2022132apache-2.0JavaScript
📗 SheetJS Spreadsheet Data Toolkit -- New home
Administrative Divisions Of China15,80721323 months ago23September 13, 202311wtfplJavaScript
中华人民共和国行政区划:省级(省份)、 地级(城市)、 县级(区县)、 乡级(乡镇街道)、 村级(村委会居委会) ,中国省市区镇村二级三级四级五级联动地址数据。
Yq9,864772 days ago132December 04, 2023120mitGo
yq is a portable command-line YAML, JSON, XML, CSV, TOML and properties processor
Datasette8,4633517322 days ago140October 08, 2023548apache-2.0Python
An open source multi-tool for exploring and publishing data
4 days ago65November 26, 202296otherGo
Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON
Visidata6,976592 days ago52July 17, 202316gpl-3.0Python
A terminal spreadsheet multitool for discovering and arranging data
Structured Text Tools6,759
2 months ago3
A list of command line tools for manipulating structured text data
Countries5,810399111a month ago24September 17, 202318odbl-1.0PHP
World countries in JSON, CSV, XML and Yaml. Any help is welcome!
Countries States Cities Database5,801
6 days ago82odbl-1.0PHP
🌍 Discover our global repository of countries, states, and cities! 🏙️ Get comprehensive data in JSON, SQL, XML, YAML, and CSV formats. Access ISO2, ISO3 codes, country code, capital, native language, timezones (for countries), and more. #countries #states #cities
Servicestack5,3002,0544905 days ago182November 20, 202335otherC#
Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all
Alternatives To Multi Vector Simulator
Select To Compare

Alternative Project Comparisons

MVS - Multi-Vector Simulator of the E-LAND toolbox

Documentation Status Build status Test coverage Zenodo DOI Pypi version License gpl2 black linter

Rights: Reiner Lemoine Institut (Berlin)

The Multi-Vector Simulator (MVS) allows the evaluation of local sector-coupled energy systems that include the energy carriers electricity, heat and/or gas. The MVS has three main features:

  • Analysis of an energy system model, which can be defined from csv or json files, including its costs and performance parameters.
  • Near-future investments into power generation and storage assets can be optimized aiming at least-cost supply of electricity and heat.
  • Future energy supply scenarios that integrate emerging technologies helping to meet sustainability goals and decrease adverse climate effects can be evaluated, e.g. through high renewable energy shares or sector-coupling technologies.

The tool is being developed within the scope of the H2020 project E-LAND (Integrated multi-vector management system for Energy isLANDs, project homepage). A graphical user interface for the MVS will be integrated.

Latest release: Check the latest release. Please check the for past updates and changes.

You find advanced documentation of the MVS on readthedocs (stable version, latest developments here).

Disclaimer: As the MVS is still under development, changes might still occur in the code as well as code structure. If you want to try the MVS, please make sure to check this project regularly.

If you are interested to try out the code, please feel free to do so! In case that you are planning to use it for a specific or a larger-scale project, we would be very happy if you would get in contact with us, eg. via creating a github issue. Maybe you have ideas that can help the MVS move forward? Maybe you noticed a bug that we can resolve?

For advanced programmers: You can also use the dev branch that includes the latest updates and changes. You find the changelog HERE.

Getting started with MVS


To set up the MVS, follow the steps below:

  • If python3 is not pre-installed: Install miniconda (for python 3.7:

  • WINDOWS USERS: Using an Anaconda virtual environment is highly recommended for being able to fully utilize the tool. Venv environtments works only for running the optimization tool (mvs_tool). For this, updating Pandas to at least version 1.3.5 and installing the package pygraphviz as indicated in this link is necessary. However, it is not possible to run the interactive report (mvs_report) with venv, as it gives an error. Therefore, it is best to use conda environments.

  • Open Anaconda prompt (or other software as Pycharm) to create and activate a virtual environment

    conda create -n [your_env_name] python=3.6 activate [your env_name]

  • Install the latest MVS release:

    pip install multi-vector-simulator

  • Download the cbc-solver into your system from and integrate it in your system, ie. unzip, place into chosen path, add path to your system variables (Windows: System Properties -->Advanced--> Environment Variables, requires admin-rights).

    You can also follow the steps from the oemof setup instructions

  • Test if that the cbc solver is properly installed by typing


    You should at least get a confirmation that the cbc solver is working

    Solver installed with oemof:
    cbc: working
    glpk: not working
    gurobi: not working
    cplex: not working
    oemof successfully installed.
  • Test if the MVS installation was successful by executing


This should create a folder MVS_outputs with the example simulation's results

You can always check which version you installed with the following command

mvs_tool --version

Using the MVS

To run the MVS with custom inputs you have several options:

Use the command line

Edit the json input file (or csv files) and run

mvs_tool -i path_input_folder -ext json -o path_output_folder

With path_input_folder: path to folder with input data,

ext: json for using a json file and csv for using csv files

and path_output_folder: path of the folder where simulation results should be stored.

For more information about the possible command lines options

mvs_tool -h

Use the main() function

You can also execute the mvs within a script, for this you need to import

from multi_vector_simulator.cli import main

The possible arguments to this functions are:

  • overwrite (bool): Determines whether to replace existing results in path_output_folder with the results of the current simulation (True) or not (False) (Command line "-f"). Default: False.
  • input_type (str): Defines whether the input is taken from the mvs_config.json file ("json") or from csv files ('csv') located within /csv_elements/ (Command line "-ext"). Default: json.
  • path_input_folder (str): The path to the directory where the input CSVs/JSON files are located. Default: inputs/ (Command line "-i").
  • path_output_folder (str): The path to the directory where the results of the simulation such as the plots, time series, results JSON files are saved by MVS (Command line "-o"). Default: MVS_outputs/.
  • display_output (str): Sets the level of displayed logging messages. Options: "debug", "info", "warning", "error". Default: "info".
  • lp_file_output (bool): Specifies whether linear equation system generated is saved as lp file. Default: False.
  • pdf_report (bool): Specify whether pdf report of the simulation's results is generated or not (Command line "-pdf"). Default: False.
  • save_png (bool): Specify whether png figures with the simulation's results are generated or not (Command line "-png"). Default: False.

Edit the csv files (or, for devs, the json file) and run the main() function. The following kwargs are possible:

Default settings

If you execute the mvs_tool command in a path where there is a folder named inputs (you can use the folder input_template for inspiration) this folder will be taken as default input folder and you can simply run


A default output folder will be created, if you run the same simulation several time you would have to either overwrite the existing output file with

mvs_tool -f

Or provide another output folder's path

mvs_tool -o <path_to_other_output_folder>

Generate pdf report or an app in your browser to visualise the results of the simulation

To use the report feature you need to install extra dependencies first

pip install multi-vector-simulator[report]

If you are using zsh terminals and recieve the error message "no matches found", you might need to run

pip install 'multi-vector-simulator[report]'

Use the option -pdf in the command line mvs_tool to generate a pdf report in a simulation's output folder (by default in MVS_outputs/report/simulation_report.pdf):

mvs_tool -pdf

Use the option -png in the command line mvs_tool to generate png figures of the results in the simulation's output folder (by default in MVS_outputs/):

mvs_tool -png

To generate a report of the simulation's results, run the following command after a simulation generated an output folder:

mvs_report -i path_simulation_output_folder -o path_pdf_report

where path_simulation_output_folder should link to the folder of your simulation's output, or directly to a json file (default MVS_outputs/json_input_processed.json) and path_pdf_report is the path where the report should be saved as a pdf file.

The report should appear in your browser (at as an interactive Plotly Dash app.

You can then print the report via your browser print functionality (ctrl+p), however the layout of the pdf report is only well optimized for chrome or chromium browser.

It is also possible to automatically save the report as pdf by using the option -pdf

mvs_report -i path_simulation_output_folder -pdf

By default, it will save the report in a report folder within your simulation's output folder default (MVS_outputs/report/). See mvs_report -h for more information about possible options. The css and images used to make the report pretty should be located under report/assets.

Contributing and additional information for developers

If you want to contribute to this project, please read For less experienced github users, we propose a workflow.

For advanced programmers: please checkout the dev branch that includes the latest updates and changes. You can find out about the latest changes in the file.

Popular Json Projects
Popular Csv Projects
Popular Data Formats Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.