Welcome excels2vensim library documentation!

Easy generate Vensim GET XLS/DIRECT equations with cellrange names.

made-with-sphinx-doc docs PyPI license Anaconda package PyPI package PyPI status PyPI pyversions coverage

Systems Dynamics models often use large amounts of input data. Reading this data is complicated when it corresponds to multidimensional matrices. In the case of Vensim, if the data is read from ‘.xlsx’ files, the data can only be read in two-dimensional tables at most, which implies the introduction of multiple equations in the model file.

The excels2vensim library aims to simplify the incorporation of equations from external data into Vensim. Given the name of the variable and information on how its dimensions are distributed, the library returns the equations for copying and pasting into the Vensim model. In addition, the library uses cellrange names to write the equations, and automatically creates the cellranges in the ‘.xlsx’ file.

The automation of this process can save a lot of time for the modeller, as well as reduce possible human error by avoiding entering a large number of equations by hand. The library is also flexible and works for any number of dimensions. In addition, it allows reading data of which one dimension is spread over different files or sheets.

This library is able to automate the generation of the following type of equations:

  1. GET XLS CONSTANTS

  2. GET DIRECT CONSTANTS

  3. GET XLS DATA (with or without keywords)

  4. GET DIRECT DATA (with or without keywords)

  5. GET XLS LOOKUPS

  6. GET DIRECT LOOKUPS

The original code for excels2vensim is available at GitHub. If you find a bug, or are interested in a particular feature, please use the issue tracker from GitHub. For contributions see development.

Requirements

  • Python 3.9+

  • PySD 3.12+

Contents

Additional Resources

Examples

Some jupyter notebook examples are available in the examples folder of the GitHub repository.

Acknowledgmentes

This library was originally developed for H2020 LOCOMOTION project by @enekomartinmartinez at Centre de Recerca Ecològica i Aplicacions Forestals (CREAF).

This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 821105.