Version History

  • v0.1.0:

    • Implemented necessary features to run together with AixCaliBuHa and EnSTATS

  • v0.1.1:

    • Fixed bugs necessary to work with AixCaliBuHa and EnSTATS and refactor functions based on feedback

  • v0.1.2:

    • Move CalibrationClass to AixCaliBuHa

    • Add scipy.optimize.differential_evolution as an optimizer

  • v0.1.3:

    • Move conversion.py to utils and make preprocessing a direct module

    • Introduce current_best_iterate as a parameter for optimization to ensure that the best solution to a problem is still saved even if an iteration step causes an error

    • Make interrupt of optimization through Keyboard-Interrupt possible

    • Adjust Goals functions to make slicing of multiple time-intervals possible.

  • v0.1.4:

    • Create a tutorial with juypter-notebook

    • Introduce MultiIndex (from pandas) and make TimeSeriesData extend of the standard DataFrame

    • Adjust all classes, most notably Goals. This class will go into AixCaliBuHa, as it is only relevant for Calibrations.

  • v0.1.5:

    • Remove dlib and PyQt5 from setup.py and delete TunerParas.show()

    • Refactor Optimizer so the framework parameter is only necessary to call optimize()

  • v0.1.6:

    • Issue23: Change conversion functions to correctly handle multiheaders

    • Issue24: Add converters and correctly inherit from pd.DataFame in TimeSeriesData

    • Add functions for configuration using yaml

    • Add regex functions for extraction of modelica variables

    • Add option to directly return results as a dataframe using simulateMultiResultsModel.

  • v0.1.7:

    • Issue13: Add an FMU API as simulation api

    • Issue36: Use Python Logging as default logger in all modules

    • Issue38: Fix future warning in pandas loffset

    • Issue39: Add simres from modelicares to avoid version errors with matplotlib.

    • Issue41: Fix inheritance of pd.DataFrame in TimeSeriesData.

      This also enables converting any single-index df to the required multi-index format (See #37).
      
    • Issue42: Move TunerParas to AixCaliBuHA

    • Add unit-tests for the dymola-api.

    • Use f-strings only

    • Update setup.py and requirements

    • Use TimeSeriesData in classes as output in the simulation api

  • v0.1.8:

    • Drop support for Python 3.6 (See #44)

      • Breaking changes in pandas forces us to increase the version required

      • Pandas dropped the support for Python 3.6

  • v0.2.0:

    • Prepare JOSS publication. Fixed #48

    • Prepare workshop using new examples. Fixes #49

    • Add multiprocessing to Simulation APIs. Fixed #5

    • Genereal restructuring of examples, tutorials and tests

    • Several new functions for easier access / utility

    • Add inputs option for DymolaAPI

  • v0.2.1:

    • Fix installation error by using scikit-learn instead of sklearn

  • v0.2.2:

    • Allow custom methods in StatisticsAnalyzer

    • Allow structural parameter changes in DymolaAPI

  • v0.2.3:

    • Fix bad import in setup.py

    • Remove requirement for PyTables to enable support on python >3.9 #5

    • Add further save- and load functions for .csv

  • v0.3.0:

    • Add parallelization option for optimization backends

  • v0.3.1:

    • Avoid DType Warning #53

  • v0.3.2:

    • Correct bounds for simulation Variables #56

    • Add script to reproduce simulation studies and store info in an archive #27

  • v0.3.3:

    • Fix memory error for large parameter variations durring multiproccesing #76

    • Add option to set only one savepath for saving files of parameter varaiations #74

  • v0.3.4:

    • Fix reproduction for new pip versions and old Dymola versions #80

    • Add support for the data format parquet with compression options #81

  • v0.3.5:

    • Add simulation time estimation and checking of free hard drive space for saving #86

    • Add saving of directories for reproduction and tests for reproduction functions #87

  • v0.3.6

    • Fix mp issue #95

    • fix tests for newer dependency versions

    • Remove warnings and update frequency if TimeSeriesData

    • Add CI based pypi release

  • v0.3.7

    • Fix setup.py pydantic version

  • v0.3.8

    • Fix sampling error for non-numeric values #69 #102

  • v0.3.9

    • Fix error in loading newer ds-data from Dymola #70

  • v0.3.10

    • Fix fmpy version #109

    • Fix data format for index frequency of tsd #107

    • Fix bug in function clean_and_space_equally_time_series #111

  • v0.3.11

    • Add dymola_exe_path to set of kwargs in DymolaAPI #115

  • v0.3.12

    • Port handling Add dymola_exe_path to set of kwargs in DymolaAPI #118

  • v0.3.13

    • Fixes in simulate options and add Dymola CI tests #28, #113, #117

  • v0.3.14

    • Fix retranslation #121

    • refactor cd to working_directory #61

    • Propagate names of simres to TimeSeriesData to speed up mat-loading

  • v0.4.0

    • Preprocessing functions now copy the input DataFrame by default with the new inplace argument (default False). #125

    • Add inplace option to TimeSeriesData function (default True)

  • v0.4.1

    • fix reproduction with modifiers #82

    • enable model_name=None upon startup of DymolaAPI #130

    • Only create logger handler if not already done by root-logger

  • v0.4.2

    • Do not use chars_to_strings from scipy #132

  • v0.4.3

    • Fix missing .egg for new Dymola release #138

  • v0.5.0

    • Added bayesian-optimization to the possible optimizers #129

  • v0.5.1

    • Add save-logs option for SimulatioAPI #141

    • Minor bug fixes #143