-
Notifications
You must be signed in to change notification settings - Fork 20
/
CHANGES.txt
372 lines (315 loc) · 17.7 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
Change log
==========
The releases are numbered according to the `Semantic Versioning Specification`_.
TBD (in `GitHub <https://github.com/kdavies4/ModelicaRes>`_ only) -- Updates:
- Removed :attr:`nametree` from :class:~modelicares.simres.SimRes` and
:class:~modelicares.simres.SimResList` since it probably is not very useful
on its own. To get the same result as ``sim.nametree`` in the previous
release, do this:
.. code-block:: python
>>> from collections import OrderedDict
>>> from modelicares.util import tree
>>> name = sim.names
>>> tree(names, names, container=OrderedDict) # doctest: +SKIP
- Renamed first parameter of :func:`~modelicares.util.tree` from *strings* to
*keys*. Inserted *values* as the second parameter. To get the original
functionality of ``tree(keys)``, use ``tree(keys, keys)``.
- '/' may now be used as a path separator in Windows (and Unix/Linux).
- Removed :func:`~modelicares.util.delayed_exit`,
:func:`~modelicares.util.flatten_list`,
:func:`~modelicares.util.multiglob`, :func:`~modelicares.util.replace`, and
:func:`~modelicares.util.yes` from :mod:`modelicares.util`. Those
functions are available from natu_ instead.
- Renamed :meth:`~modelicares.simres.SimResList.unique_IVs` to
:meth:`~modelicares.simres.SimResList.get_unique_IVs` to indicate that it
is a method.
- The variable tree in :class:`~modelicares.simres.SimRes.browse` is now
sorted alphabetically.
- In :class:`~modelicares.simres.SimRes`,
:attr:`~modelicares.simres.SimRes.names` and
:attr:`~modelicares.simres.SimRes.nametree` are now properties. Use
:meth:`~modelicares.simres.SimRes.find` to find variables. The
:attr:`~modelicares.simres.SimRes.names`,
:attr:`~modelicares.simres.SimRes.nametree`, and the results of
:meth:`~modelicares.simres.SimRes.find` are now sorted. The same applies
in :class:`~modelicares.simres.SimResList`.
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 :class:`~modelicares.simres.SimRes` and
:class:`~modelicares.linres.LinRes` instances in Python 3.
- :meth:`~modelicares.simres._VarList.arrays` is now available as
:meth:`~modelicares.simres.Variable.array` instead.
- *fbase* is now a property instead of a method of
:class:`~modelicares.simres.SimRes` and
:class:`~modelicares.linres.LinRes`. Likewise, *n_constants* is now a
property of :class:`~modelicares.simres.SimRes` and *basedir* is a property
of :class:`~modelicares.simres.SimResList` and
:class:`~modelicares.linres.LinResList`.
- Added *dirname* as a property to :class:`~modelicares.simres.SimRes` and
:class:`~modelicares.linres.LinRes`.
- *basename*, *dirname*, *fname*, *n_constants*, *sys*, and *tool* are now
properties of :class:`~modelicares.simres.SimResList` and
:class:`~modelicares.linres.LinResList` (as applicable) which give lists of
the corresponding properties across all of the simulations or
linearizations in those lists.
- Deleted :meth:`~modelicares.simres.SimResList.fnames`. Use the *fname*
property of :class:`~modelicares.simres.SimResList` instead.
- :meth:`~modelicares.simres.Variable.is_constant` is now a property instead
of a method of :class:`~modelicares.simres.Variable`.
- :func:`sort` now correctly sorts :class:`~modelicares.simres.SimResList`
and :class:`~modelicares.linres.LinResList` by absolute file path.
- Improved the generation of defaults for the Bode and Nyquist plots.
- Fixed an issue with slicing a :class:`~modelicares.simres.SimResList`.
- Removed :func:`~modelicares.util.pow10`. It is not used internally and
probably is not very helpful externally.
- Change the default value of *roman* in
:func:`~modelicares.texunit.quantity_str` to *False*.
- Renamed and/or reordered the arguments of
:func:`~modelicares.util.setup_subplots`, and
:func:`~modelicares.exps.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 :func:`~modelicares.util.save` or
the `loadres <loadres.html>`_ script.
v0.11.1_ (2014-5-21) -- Updates:
- Fixed the release to PyPI_.
v0.11.0_ (2014-5-21) -- Updates:
- Added IPython notebooks (`tutorial
<http://nbviewer.ipython.org/github/kdavies4/ModelicaRes/blob/master/examples/tutorial.ipynb>`_
and
`advanced <http://nbviewer.ipython.org/github/kdavies4/ModelicaRes/blob/master/examples/advanced.ipynb>`_).
- Decoupled the Dymola-specific algorithms and placed them in a submodule.
ModelicaRes is now independent with respect to the simulation tool.
- New classes :class:`~modelicares.simres.SimResList` and
:class:`~modelicares.linres.LinResList` to manage, sort, and plot multiple
simulation and linearization results (based on the old
:mod:`~modelicares.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 <https://travis-ci.org/>`_).
- Improved installation setup and instructions.
- Added a simpler, more powerful API for accessing data attributes; removed
the *get_* methods of :class:`~modelicares.simres.SimRes`.
- Added time-based indexing to :class:`~modelicares.simres.SimRes.arrays`,
:class:`~modelicares.simres.SimRes.time`, and
:class:`~modelicares.simres.SimRes.values`; accepts time, list of times, or
slice of time.
- Added :meth:`~modelicares.simres.SimRes.to_pandas` to return a
`pandas DataFrame`_ of selected data.
- Added *f1* and *f2* arguments to plot additional expressions using
:meth:`~modelicares.simres.SimRes.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.
- :class:`~modelicares.simres.SimRes` and :class:`~modelicares.linres.LinRes`
now require the file extension to load files.
- Added :meth:`~modelicares.simres.SimRes.n_constants` to return the number
of constants in a simulation.
- wx is now optional---only required for variable browser.
- Added option to :class:`~modelicares.simres.SimRes.names` to list only the
constants.
- Added :mod:`~modelicares.util.si_prefix` (previously nested in
:mod:`~modelicares.texunit`)
- The *fname* attribute in :class:`~modelicares.simres.SimRes` and
:class:`~modelicares.linres.LinRes` now includes the absolute path.
:meth:`~modelicares.simres.SimRes.fbase` returns the base filename without
directory or extension.
- Added :meth:`~modelicares.linres.LinRes.to_tf` to return a selected
transfer function from the state-space representation.
- Added pattern matching to :meth:`~modelicares.simres.SimRes.nametree`.
- Proper handling of Unicode_ in simulation files.
- Eliminated the dependence on :mod:`easygui`; using :mod:`PySide` (Qt)
instead.
- Renamed :mod:`~modelicares.base` to :mod:`~modelicares.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 :func:`~modelicares.texunit.label_number` to
:func:`~modelicares.texunit.label_number` and
:func:`~modelicares.texunit.label_quantity` to
:func:`~modelicares.texunit.quantity_str`.
- Merged :func:`~modelicares.exps.modelica_array` and
:func:`~modelicares.exps.modelica_boolean` into a new function,
:func:`~modelicares.exps.modelica_str`.
- Removed :class:`~modelicares.util.Quantity` and
:func:`~modelicares.util.convert` from :mod:`~modelicares.util`.
- Removed :func:`~modelicares.simres.merge_times`. It is not used internally
and probably is not very helpful externally.
- Removed :func:`~modelicares.util.animate`. matplotlib_ now has built-in
methods for this; see http://matplotlib.org/api/animation_api.html.
v0.10.0_ (2014-4-30) -- Updates:
- Added :meth:`~modelicares.simres.SimRes.get_tuple` to get time, value
tuples for variables.
- Removed the *external/control* folder. Instead, using PyPI/distutils to
install the `control package <https://pypi.python.org/pypi/control>`_.
- Added functions to calculate the minimum, maximum, and mean of variables
(:meth:`~modelicares.simres.SimRes.get_min`,
:meth:`~modelicares.simres.SimRes.get_max`, and
:meth:`~modelicares.simres.SimRes.get_mean`).
- Removed :meth:`~modelicares.simres.SimRes.variables`,
:meth:`~modelicares.simres.SimRes.variables`, and
:meth:`~modelicares.simres.SimRes.glob` from
:meth:`~modelicares.simres.SimRes`. Use
:meth:`~modelicares.simres.SimRes.names` instead.
- Merged the pattern-matching functionality of
:meth:`~modelicares.simres.SimRes.glob` into
:meth:`~modelicares.simres.SimRes.names` and added the option to use
regular expressions. By default, :meth:`~modelicares.simres.SimRes.names`
still returns all variable names.
v0.9.0_ (2014-3-17) -- Updates:
- Improved support for `IPython <http://ipython.org/>`_.
- Added dependence on `easygui <http://easygui.sourceforge.net/>`_.
- Removed spaces in fahrenheit and celsius.
- Improved :func:`~modelicares.exps.write_params` and
:func:`~modelicares.exps.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 <https://github.com/arnoutaertgeerts>`_.
- Updated links to `PySimulator <https://github.com/PySimulator/PySimulator>`_
per `tbeu <https://github.com/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
<https://github.com/kdavies4/ModelicaRes/blob/master/examples/matplotlibrc>`_.
v0.8.2_ (2013-10-16) -- Updates:
- Fixed installation issues (:mod:`setup.py`).
v0.8.1_ (2013-8-6) -- Updates:
- Added missing loadres_ script.
v0.8.0_ (2013-8-6) -- Updates:
- Updated matplotlibrc_ (default formatting).
- Added patterns to :func:`~modelicares.exps.write_params` to match more
entries in a dsin file.
- :func:`~modelicares.exps.write_script` now clears the log between runs.
- Fixed bug so that :meth:`~modelicares.simres.SimRes.plot` keeps the axis
labels blank when *xlabel* = "", *ylabel1* = "", or *ylabel2* = "".
- :func:`~modelicares.texunit.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).
- :func:`~modelicares.texunit.unit2tex` now automatically formats some units
and constants.
- Added *color* option to :func:`~modelicares.multi.multiplot`.
- Added :meth:`~modelicares.simres.SimRes.variables` method to list variable
names (same as :meth:`~modelicares.simres.SimRes.keys` and
:meth:`~modelicares.simres.SimRes.names`).
- Added :meth:`~modelicares.simres.SimRes.glob` to return variables that
match a pattern.
- Removed the :mod:`simres.info` submodule. It is better to use the methods
of :class:`~modelicares.simres.SimRes` directly.
v0.7.2_ (2013-7-9) -- Updates:
- When a variable cannot be found, suggestions are now given. See the
example in :meth:`~modelicares.simres.SimRes.get_values`.
- :func:`~modelicares.exps.write_script` now allows initialization scripts.
- Added warning message in :meth:`~modelicares.simres.SimRes.plot` if y-axis
variable descriptions are different.
- :func:`~modelicares.exps.write_script` now writes scripts that are more
readable.
v0.7.1_ (2013-7-7) -- Updates:
- Added missing files to :file:`MANIFEST`_.
v0.7.0_ (2013-7-7) -- Updates:
- Added :func:`~modelicares.multi.multibode` and
:func:`~modelicares.multi.multinyquist` to create Bode and Nyquist diagrams
of multiple linearizations.
- Fixed and improved specification of axes in
:meth:`~modelicares.linres.LinRes.bode` and
:meth:`~modelicares.linres.LinRes.nyquist`. The argument *ax* argument to
:meth:`~modelicares.linres.LinRes.bode` is now *axes* instead---a tuple
(pair) of axes.
- Fixed error with chosen directory in :func:`~modelicares.base.save`
- Added function to generate one-factor-at-a-time experiments. The old
*permute* argument to :func:`~modelicares.exps.gen_experiments` is now
generalized to *design*, as in design of experiments. Now, assign a
function from :mod:`~modelicares.exps.doe` to that argument.
- Square axes are now the default for Nyquist plots.
v0.6.2_ (2013-7-4) -- Updates:
- Updated `python-control <http://sourceforge.net/apps/mediawiki/python-control>`_
to 0.6c. The *mark* argument has been removed from
:meth:`~modelicares.linres.LinRes.nyquist`. Use *labelFreq* to label every
*labelFreq* th frequency. The *w_min* and *w_max* arguments have been
removed from :meth:`~modelicares.linres.LinRes.bode` and
:meth:`~modelicares.linres.LinRes.nyquist`. Instead, use *omega* with
bounds or a list of frequencies.
- :func:`~modelicares.exps.write_script` now saves the Dymola command log
with translation information.
- Fixed error in loadres_ script in loading from a folder.
- Added option to :class:`~modelicares.simres.SimRes` (*constants_only*) to
load only constants.
- Added :meth:`~modelicares.simres.SimRes.keys` method to list variable names
(same as :meth:`~modelicares.simres.SimRes.names`).
- Added methods from :class:`~modelicares.simres.Info` to :mod:`simres.info`
submodule.
v0.6.1_ (2013-7-2) -- Updates:
- Fixed README.txt.
v0.6.0_ (2013-7-2) -- Updates:
- Added :func:`~modelicares.base.save` to save the current figure.
- Added *use_paren* option to :meth:`~modelicares.simres.SimRes.plot`.
- Changed :func:`~modelicares.exps.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
:meth:`~modelicares.simres.SimRes.get_values` and
:meth:`~modelicares.simres.SimRes.get_times` include the final value and
time.
- Added function to scale time.
v0.5.1_ (2013-6-18) -- Updates:
- Fixed errors in :func:`~modelicares.base.load_csv`.
v0.5_ (2013-6-5) -- Updates:
- Updated README.txt_.
v0.4_ (2012-12-10) -- Updates:
- Added default of *label* = '' to :func:`~modelicares.base.figure`.
- Updated documentation for Windows.
- Added check for Python version (currently requires 2.7).
v0.3_ (2012-12-4) -- Updates:
- Added support for Windows. :mod:`~modelicares.aux` is now
:mod:`~modelicares.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
.. _vx.x.x: https://github.com/kdavies4/ModelicaRes/archive/vx.x.x.zip
.. _v0.12.2: https://github.com/kdavies4/ModelicaRes/archive/v0.12.2.zip
.. _v0.12.1: https://github.com/kdavies4/ModelicaRes/archive/v0.12.1.zip
.. _v0.12.0: https://github.com/kdavies4/ModelicaRes/archive/v0.12.0.zip
.. _v0.11.1: https://github.com/kdavies4/ModelicaRes/archive/v0.11.1.zip
.. _v0.11.0: https://github.com/kdavies4/ModelicaRes/archive/v0.11.0.zip
.. _v0.10.0: https://github.com/kdavies4/ModelicaRes/archive/v0.10.0.zip
.. _v0.9.0: https://github.com/kdavies4/ModelicaRes/archive/v0.9.0.zip
.. _v0.8.2: https://github.com/kdavies4/ModelicaRes/archive/v0.8.2.zip
.. _v0.8.1: https://github.com/kdavies4/ModelicaRes/archive/v0.8.1.zip
.. _v0.8.0: https://github.com/kdavies4/ModelicaRes/archive/v0.8.0.zip
.. _v0.7.2: https://github.com/kdavies4/ModelicaRes/archive/v0.7.2.zip
.. _v0.7.1: https://github.com/kdavies4/ModelicaRes/archive/v0.7.1.zip
.. _v0.7.0: https://github.com/kdavies4/ModelicaRes/archive/v0.7.0.zip
.. _v0.6.2: https://github.com/kdavies4/ModelicaRes/archive/v0.6.2.zip
.. _v0.6.1: https://github.com/kdavies4/ModelicaRes/archive/v0.6.1.zip
.. _v0.6.0: https://github.com/kdavies4/ModelicaRes/archive/v0.6.0.zip
.. _v0.5.2: https://github.com/kdavies4/ModelicaRes/archive/v0.5.2.zip
.. _v0.5.1: https://github.com/kdavies4/ModelicaRes/archive/v0.5.1.zip
.. _v0.5: https://github.com/kdavies4/ModelicaRes/archive/v0.5.zip
.. _v0.4: https://github.com/kdavies4/ModelicaRes/archive/v0.4.zip
.. _v0.3: https://github.com/kdavies4/ModelicaRes/archive/v0.3.zip
.. _v0.2: https://github.com/kdavies4/ModelicaRes/archive/v0.2.zip
.. _v0.1: https://github.com/kdavies4/ModelicaRes/archive/v0.1.zip
.. _Semantic Versioning Specification: http://semver.org
.. _PyPI: https://pypi.python.org/pypi/ModelicaRes
.. _matplotlib: http://matplotlib.org/
.. _Pandas DataFrame: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html?highlight=dataframe#pandas.DataFrame
.. _Qt: http://qt-project.org/
.. _PyQt4: http://www.riverbankcomputing.co.uk/software/pyqt/
.. _guidata: https://code.google.com/p/guidata/
.. _PySide: http://qt-project.org/wiki/pyside
.. _Unicode: http://en.wikipedia.org/wiki/Unicode
.. _natu: http://kdavies4.github.io/natu/