Change logĀ¶

The releases are numbered according to the Semantic Versioning Specification.

TBD (in GitHub only) – Updates:

v0.12.2 (2014-6-10) – Updates:

  • Improved installation script and documentation

v0.12.1 (2014-6-10) – Updates:

  • Updated documentation
  • General cleanup of code and development scripts
  • Re-enabled setup_requires to automatically install requirements

v0.12.0 (2014-6-5) – Updates:

  • Fixed issues with Unicode in Python 3.
  • Fixed sorting and ordering of SimRes and LinRes instances in Python 3.
  • arrays() is now available as array() instead.
  • fbase is now a property instead of a method of SimRes and LinRes. Likewise, n_constants is now a property of SimRes and basedir is a property of SimResList and LinResList.
  • Added dirname as a property to SimRes and LinRes.
  • basename, dirname, fname, n_constants, sys, and tool are now properties of SimResList and LinResList (as applicable) which give lists of the corresponding properties across all of the simulations or linearizations in those lists.
  • Deleted fnames(). Use the fname property of SimResList instead.
  • is_constant() is now a property instead of a method of Variable.
  • sort() now correctly sorts SimResList and LinResList by absolute file path.
  • Improved the generation of defaults for the Bode and Nyquist plots.
  • Fixed an issue with slicing a SimResList.
  • Removed pow10(). It is not used internally and probably is not very helpful externally.
  • Change the default value of roman in quantity_str() to False.
  • Renamed and/or reordered the arguments of setup_subplots(), and modelica_str() for clarity and simplicity.
  • Supported Qt via several installations: PyQt4, guidata, and PySide. PySide is no longer required, but if no Qt installation is available, then file dialogs are not available in save() or the loadres script.

v0.11.1 (2014-5-21) – Updates:

  • Fixed the release to PyPI.

v0.11.0 (2014-5-21) – Updates:

  • Added IPython notebooks (tutorial and advanced).
  • Decoupled the Dymola-specific algorithms and placed them in a submodule. ModelicaRes is now independent with respect to the simulation tool.
  • New classes SimResList and LinResList to manage, sort, and plot multiple simulation and linearization results (based on the old multi submodule).
  • Now supports Python 3.
  • Now supports format version 1.0 Dymola/OpenModelica files (previously only 1.1).
  • Improved the speed of loading files and retrieving data.
  • Improved test coverage, with continuous integration testing (thanks to Travis CI).
  • Improved installation setup and instructions.
  • Added a simpler, more powerful API for accessing data attributes; removed the get_ methods of SimRes.
  • Added time-based indexing to arrays, time, and values; accepts time, list of times, or slice of time.
  • Added to_pandas() to return a pandas DataFrame of selected data.
  • Added f1 and f2 arguments to plot additional expressions using plot().
  • Plotting examples are now included as scripts in the examples folder. Only the plots are show in the documentation, with links to the source files.
  • SimRes and LinRes now require the file extension to load files.
  • Added n_constants() to return the number of constants in a simulation.
  • wx is now optional—only required for variable browser.
  • Added option to names to list only the constants.
  • Added si_prefix (previously nested in texunit)
  • The fname attribute in SimRes and LinRes now includes the absolute path. fbase() returns the base filename without directory or extension.
  • Added to_tf() to return a selected transfer function from the state-space representation.
  • Added pattern matching to nametree().
  • Proper handling of Unicode in simulation files.
  • Eliminated the dependence on easygui; using PySide (Qt) instead.
  • Renamed base to util for clarity. It is a package of utility functions and classes, not base classes.
  • Renamed internal submodules with leading underscore to denote that they are not meant for external use.
  • Renamed label_number() to label_number() and label_quantity() to quantity_str().
  • Merged modelica_array() and modelica_boolean() into a new function, modelica_str().
  • Removed Quantity and convert() from util.
  • Removed merge_times(). It is not used internally and probably is not very helpful externally.
  • Removed animate(). matplotlib now has built-in methods for this; see

v0.10.0 (2014-4-30) – Updates:

  • Added get_tuple() to get time, value tuples for variables.
  • Removed the external/control folder. Instead, using PyPI/distutils to install the control package.
  • Added functions to calculate the minimum, maximum, and mean of variables (get_min(), get_max(), and get_mean()).
  • Removed variables(), variables(), and glob() from SimRes(). Use names() instead.
  • Merged the pattern-matching functionality of glob() into names() and added the option to use regular expressions. By default, names() still returns all variable names.

v0.9.0 (2014-3-17) – Updates:

  • Improved support for IPython.

  • Added dependence on easygui.

  • Removed spaces in fahrenheit and celsius.

  • Improved write_params() and read_params():

    1. More flexible with respect to whitespace
    2. Now accepts square brackets in parameter name
  • Changed MATLABĀ® file string encoding to ‘latin-1’ per arnoutaertgeerts.

  • Updated links to PySimulator per tbeu.

  • Updated the credits.

  • Added doc/images per tbeu.

  • Narrowed the margins in HTML documentation.

  • Explained setup in the loadres example.

  • Updated expected example output.

  • Updated matplotlibrc.

v0.8.2 (2013-10-16) – Updates:

  • Fixed installation issues (

v0.8.1 (2013-8-6) – Updates:

v0.8.0 (2013-8-6) – Updates:

  • Updated matplotlibrc (default formatting).
  • Added patterns to write_params() to match more entries in a dsin file.
  • write_script() now clears the log between runs.
  • Fixed bug so that plot() keeps the axis labels blank when xlabel = “”, ylabel1 = “”, or ylabel2 = “”.
  • label_number() now uses “in” instead of “/” to denote a quantity in a unit that involves a function other than simple scaling (e.g., degC, dB).
  • unit2tex() now automatically formats some units and constants.
  • Added color option to multiplot().
  • Added variables() method to list variable names (same as keys() and names()).
  • Added glob() to return variables that match a pattern.
  • Removed the submodule. It is better to use the methods of SimRes directly.

v0.7.2 (2013-7-9) – Updates:

  • When a variable cannot be found, suggestions are now given. See the example in get_values().
  • write_script() now allows initialization scripts.
  • Added warning message in plot() if y-axis variable descriptions are different.
  • write_script() now writes scripts that are more readable.

v0.7.1 (2013-7-7) – Updates:

v0.7.0 (2013-7-7) – Updates:

  • Added multibode() and multinyquist() to create Bode and Nyquist diagrams of multiple linearizations.
  • Fixed and improved specification of axes in bode() and nyquist(). The argument ax argument to bode() is now axes instead—a tuple (pair) of axes.
  • Fixed error with chosen directory in save()
  • Added function to generate one-factor-at-a-time experiments. The old permute argument to gen_experiments() is now generalized to design, as in design of experiments. Now, assign a function from doe to that argument.
  • Square axes are now the default for Nyquist plots.

v0.6.2 (2013-7-4) – Updates:

  • Updated python-control to 0.6c. The mark argument has been removed from nyquist(). Use labelFreq to label every labelFreq th frequency. The w_min and w_max arguments have been removed from bode() and nyquist(). Instead, use omega with bounds or a list of frequencies.
  • write_script() now saves the Dymola command log with translation information.
  • Fixed error in loadres script in loading from a folder.
  • Added option to SimRes (constants_only) to load only constants.
  • Added keys() method to list variable names (same as names()).
  • Added methods from Info to submodule.

v0.6.1 (2013-7-2) – Updates:

  • Fixed README.txt.

v0.6.0 (2013-7-2) – Updates:

  • Added save() to save the current figure.
  • Added use_paren option to plot().
  • Changed write_script() to put results in folders instead of special renaming scheme.
  • Improved organization of the examples folder.

v0.5.2 (2013-6-30) – Updates:

  • Fixed error so that by default get_values() and get_times() include the final value and time.
  • Added function to scale time.

v0.5.1 (2013-6-18) – Updates:

  • Fixed errors in load_csv().

v0.5 (2013-6-5) – Updates:

v0.4 (2012-12-10) – Updates:

  • Added default of label = ‘’ to figure().
  • Updated documentation for Windows.
  • Added check for Python version (currently requires 2.7).

v0.3 (2012-12-4) – Updates:

  • Added support for Windows. aux is now base.

v0.2 (2012-11-20) – Updates:

  • Fixed bug when file or folder selection is canceled.
  • Updated documentation.

v0.1 (2012-11-8) – Initial release