Recent Releases of PySD

PySD - 3.14.3

Bug fixes

  • Make XMILE operator parsing case-insensitive (#463). (@benslavin)
  • Avoid ZeroDivisionError when stretch is 0 in RANDOM NORMAL and RANDOM EXPONENTIAL (#465). (@enekomartinmartinez)

Internal Changes

  • Allow passing encoding for TabData files (#455). (@enekomartinmartinez)

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez 9 months ago

PySD - 3.14.2

Internal Changes

  • Several changes to allow compatibility with latest versions of numpy and xarray:
  • Ensure that float objects evaluated with numpy are converted to float.
  • Ensure proper shape of inputs when loading external data.
  • Avoid DeprecationWarning raised in invert_matrix` test.
  • Remove gethtmlthemepath_ from docs conf.

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez about 1 year ago

PySD - 3.14.1

Bug fixes

  • Support for numpy 2. (@enekomartinmartinez)
  • Allow multiple font styles in var names (#443). (@rogersamso)
  • Allow Vensims GET DIRECT/XLS SUBSCRIPT when lastcell is not a cell value (#443). (@enekomartinmartinez)
  • Allow Vensims GET DIRECT/XLS SUBSCRIPT defined with cell range names (#261). (@enekomartinmartinez)
  • Translate filenames as raw str to made them work properly for Windows paths (#443). (@enekomartinmartinez)
  • Improve support for reading pysd.py_backend.external.External from all the spreadsheet files includying those types from open software (‘.odf’, ‘.ods’, ‘.odt’). (@enekomartinmartinez)
  • Improve support for reading pysd.py_backend.external.External from CSV, TAB and any other kind of text file. (@enekomartinmartinez)

Internal Changes

  • Fix CI tests. (@rogersamso)
  • Run CI coverage only on ubuntu and lowest Python. (@enekomartinmartinez)
  • Rename ‘sheet’ by ‘tab’ in pysd.py_backend.external.External and related functions and classes to follow Vensim’s nomenclature. (@enekomartinmartinez)
  • Add error message when no subscripts are read from pysd.py_backend.external.ExtSubscript during the model building. (@enekomartinmartinez)
  • Add error message when a pysd.py_backend.external.External cell/firstcell is interpreted as cellrange name but the input file is not a spreadsheet. (@enekomartinmartinez)
  • Improve parsing of quoted arguments in the vensim translator for external lookups and external subscripts. (@enekomartinmartinez)

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 1 year ago

PySD - 3.14.0

New Features

- Support Vensim’s RANDOM EXPONENTIAL function (#107). (@enekomartinmartinez)

Bug fixes

  • Fix truncation in Vensim’s RANDOM NORMAL function translation. (@enekomartinmartinez)

Documentation

  • Add supported random functions to the documentation tables. (@enekomartinmartinez)

Internal Changes

  • Add test for random functions, including comparison with Vensim outputs and expected values (#107). (@enekomartinmartinez)
  • Allow to add multiple imports by the python function call builder. (@enekomartinmartinez)

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 1 year ago

PySD - 3.13.4

Bug fixes

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez almost 2 years ago

PySD - 3.13.3

Documentation

  • Improve documentation for netCDF4 dependency. (@enekomartinmartinez)

Internal Changes

  • Support for Python 3.12. (@enekomartinmartinez)
  • Support for numpy >= 1.24. (@enekomartinmartinez)
  • Correct some warnings management in the tests. (@enekomartinmartinez)
  • Set numpy requirements to >= 1.23 to follow NEP29. (@enekomartinmartinez)
  • Custom error messages when netCDF4 is missing (#435). (@enekomartinmartinez)

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez almost 2 years ago

PySD - 3.13.2

Bug fixes - Add support for XMILE's DELAY function through DelayFixed (issue #433). (@enekomartinmartinez)

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez almost 2 years ago

PySD - 3.13.1

Bug fixes

  • Fix bug with pysd.py_backend.output.ModelOutput initializing all the handlers, and thus, importing netCDF4 when unnecessary (issue #431). (@enekomartinmartinez)

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez almost 2 years ago

PySD - 3.13.0

New Features

Bug fixes

Documentation

Performance

  • Improved performace of pysd.py_backend.output.DataFrameHandler by creating the dataframe at the end of the run (issues #374 and #330). (@easyas314159 and @enekomartinmartinez)

Internal Changes

  • Move old pysd.py_backend.model.Macro.set_components to pysd.py_backend.model.Macro._set_components, and create new method with the same name without the new argument. (@enekomartinmartinez)
  • Move old pysd.py_backend.model.Macro.set_stateful to pysd.py_backend.model.Macro._set_stateful. (@enekomartinmartinez)
  • Make integration tests filter only specific warnings. (@enekomartinmartinez)
  • Include warnings in pysd.pybackend.model.Macro.setcomponents when changing the behaviour of the component (issue #58). (@enekomartinmartinez)

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez about 2 years ago

PySD - 3.12.0

Breaking changes

  • Remove support for Python 3.7 and 3.8. (@enekomartinmartinez)
  • Update the cellrange retrievel to be compatible with openpyxl >= 3.1. It breaks the code for lower versions. (@enekomartinmartinez)

Bug fixes

  • Update benchmarking tools to avoid FutureWarning for positional keys from pandas. (@enekomartinmartinez)

Documentation

  • Update requirements. (@enekomartinmartinez)

Internal Changes

  • Update libraries used for building documentation and .readthedocs.yml. (@enekomartinmartinez)
  • Force to use xarray >= 2023.09. (@enekomartinmartinez)
  • Use pandas[excel] instead of xlrd dependency in the requirements. (@gdrosos)

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez about 2 years ago

PySD - 3.11.0

New Features

  • Add the possibility to run a model one or several steps at a time, updating model variables in the process. (@rogersamso)

Documentation

  • Add the Running models one (or more) step(s) at a time section in Advanced Usage. (@rogersamso)

Internal Changes

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 2 years ago

PySD - 3.10.0

New Features

  • Parse TABBED ARRAYS Vensim function. (@rogersamso)
  • Add support for Vensim’s POWER function. (@rogersamso)
  • Add possibility to pass data_files in netCDF format. (@rogersamso)
  • Add support for XMILE’s non-negative flows and stocks. (@enekomartinmartinez)
  • Add support for XMILE’s MIN and MAX functions with one argument. (@enekomartinmartinez)

Bug fixes

  • Set the finalsubscripts to an empty dictionary for ELMCOUNT function in pysd.builders.pythonexressionsbuilder.CallBuilder.buildfunction_call(). (@rogersamso)
  • Define compsubtype of Unchangeable tabbed arrays as Unchangeable. This is done in pysd.builders.python.pythonexpressions_builder.ArrayBuilder.build(). (@rogersamso)

Documentation

  • Add information about slack channel https://slofile.com/slack/sdtoolsandmet-slj3251. (@enekomartinmartinez)
  • Update XMILE stocks section. (@enekomartinmartinez)

Internal Changes

  • Add a weekly scheduled run to all CI workflows, which run each Monday at 06:00 UTC. (@EwoutH)
  • Fix CI pipeline for Python 3.11 and remove Python 3.10 pipeline in favour of 3.11. (@kinow)
  • Add nonnegative argument in[pysd.translators.structures.abstractexpressions.IntegStructure. (@enekomartinmartinez)

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 2 years ago

PySD - 3.9.1

New Features

  • Add numpy.py as translation for the call to the function PI(). (@lionel42)

Bug fixes

Internal Changes

  • Run test for Python 3.11 with ubuntu-latest (hdf5-headers need to be installed using apt manager). (@enekomartinmartinez)

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez almost 3 years ago

PySD - 3.9.0

New Features

  • Parses and ignores reality check functions during translation of Vensim models. (@rogersamso)

Bug fixes

  • Fix issue with the classification of variables in modules and submodules (issue #388). When a model had a view with 3 sublevels (e.g. energy-transformation.losses) but another view was defined with only two of them (e.g. energy-transformation), the variables in the second view were placed in the main model file. Now, if this happens, the variables in the second view will be placed in a main.py file (i.e. energy/transformation/main.py). (@rogersamso)
  • Fix bug on the CLI when passing a hyphen as first value to the –subview-sep argument (issue #388). (@rogersamso)
  • Fix bug on the CLI when parsing initial conditions ([ssue #395). (@rogersamso)

Documentation

  • The Splitting Vensim views in different files section in Command Line Usage has been updated to include an example of the usage of the –subview-sep CLI argument. (@rogersamso)

Internal Changes

  • The mergenested_dicts() method from the pysd.translators.vensim.vensim_file.VensimFile class has been made a static method, as it does not need to access any attribute of the instance, and it does facilitate unit testing. (@rogersamso)
  • The pysd/translators/vensim/parsinggrammars/elementobject.peg grammar has been modified to be able to parse reality check elements. (@rogersamso)
  • pysd.translators.vensim.vensimelement.Constraint and pysd.translators.vensim.vensimelement.TestInputs classes have been added, which inherit from the also newly created pysd.translators.vensim.vensimelement.GenericComponent, which include the parse() and getabstract_component() methods. (@rogersamso and @enekomartinmartinez)
  • The pysd.translators.structures.abstract_model.AbstractSection class now has two extra attributes (constraints and inputtests), which hold the pysd.translators.structures.abstract_model.AbstractConstraint and pysd.translators.structures.abstractmodel.AbstractTestInputs objects. (@rogersamso)

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez about 3 years ago

PySD - 3.8.0

New Features

  • Adds ncfile.py module with helper functions to export a subset or all of the data_vars in netCDF files generated with PySD to pandas.DataFrame, csv or tab files. (@rogersamso)
  • Adds possibility to initialize and export a subset or all external objects to netCDF, and then initialize the external objects from the file. (@rogersamso)

Deprecations

  • Deprecate pysd.pybackend.model.Model.getdependencies() replacing it with pysd.pybackend.model.Model.get_dependencies(). (@enekomartinmartinez)

Bug fixes

  • Include new class pysd.pybackend.utils.Dependencies to return by pysd.pybackend.model.Model.get_dependencies() (issue #379). (@lionel42)

Documentation

  • Updates the Getting Started page with instructions on how to use the new helper functions for netCDF files. (@rogersamso)
  • Updates the Advanced Usage page with instructions on how to export externals to netCDF and initialize a model from it. (@rogersamso)
  • Update citation information to include the new paper published in JOSS. (@enekomartinmartinez)

Performance

  • Initializing external objects from netCDF file is much faster than reading from spreadsheet files.(@rogersamso)

Internal Changes

  • Adds the pysd.pybackend.model.Macro.serializeexternals() and pysd.pybackend.model.Macro.initializeexternal_data() methods, and a few other private methods.(@rogersamso)
  • Adds the pysd.py_backend.utils.UniqueDims class for renaming model dimensions with unique names.(@rogersamso)
  • Force pysd.py_backend.external.External objects to always have the full element dimensions, missing dimensions are filled with numpy.nan. (@enekomartinmartinez)
  • Add dependabot configuration for GitHub Actions updates. (@EwoutH)
  • Include new error messages for initialization of pysd.py_backend.lookups.HardcodedLookups (issue #376). (@enekomartinmartinez)
  • Include new warning message when a translated variable has several types or subtypes. (@enekomartinmartinez)
  • Set CI test to run in parallel in 2 cores. (@enekomartinmartinez)

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez about 3 years ago

PySD - 3.7.1

Bug fixes

  • Fix bugs with pandas release 1.5.0.

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 3 years ago

PySD - 3.7.0

New Features

  • Simulation results can now be stored as netCDF4 files. (@rogersamso)
  • The CLI also accepts netCDF4 file paths after the -o argument. (@rogersamso)

Bug fixes

  • Fix bug when a WITH LOOKUPS argument has subscripts. (@enekomartinmartinez)
  • Fix bug of exportig csv files with multiple subscripts variables. (@rogersamso)
  • Fix bug of missing dimensions in variables defined with not all the subscripts of a range (issue #364). (@enekomartinmartinez)
  • Fix bug when running a model with variable final time or time step and progressbar (issue #361). (@enekomartinmartinez)

Documentation

  • Add Storing simulation results on a file section in the Getting Started page. (@rogersamso)
  • Include cookbook information in the Getting Started page. (@enekomartinmartinez)
  • Include an introduction of main historical changes in the About the Project page. (@enekomartinmartinez)

Performance

  • Exporting outputs as netCDF4 is much faster than exporting a pandas DataFrame, especially for large models. (@rogersamso)

Internal Changes

  • Make PySD work with parsimonius 0.10.0. (@enekomartinmartinez)
  • Add netCDF4 dependency for tests. (@rogersamso)
  • Improve warning message when replacing a stock with a parameter. (@enekomartinmartinez)
  • Include more pytest parametrizations in some test and make them translate the models in temporary directories. (@enekomartinmartinez)
  • Include lychee-action in the GHA workflow to check the links. (@enekomartinmartinez)
  • Update License. (@enekomartinmartinez)
  • Include Maintained? Yes and Contributions welcome badges. (@enekomartinmartinez)
  • Update links to the new repository location. (@enekomartinmartinez)
  • Reduce relative precision from 1e-10 to 1e-5 to compute the saving times and final time. (@enekomartinmartinez)
  • Add convergence tests for Euler integration method. (@enekomartinmartinez)
  • Include build docs check in the GHA workflow to avoid warnings with sphinx. (@enekomartinmartinez)

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 3 years ago

PySD - 3.6.1

Internal Changes - Set parsimonius requirement to 0.9.0 to avoid a breaking change in the newest version. Pending to update PySD to run it with parsimonious 0.10.0.

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 3 years ago

PySD - 3.6.0

New Features

  • Include warning messages when a variable is defined in more than one view, when a control variable appears in a view or when a variable doesn’t appear in any view as a workbench variable (issue #357).
  • Force variables in a module to be saved alphabetically for being able to compare differences between versions (only for the models that are split by views).

Bug fixes

  • Classify control variables in the main file always (issue #357).

Internal Changes

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 3 years ago

PySD - 3.5.2

Bug fixes

  • Make sketch's fontsize_ optional.

Documentation

  • Correct typos.

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 3 years ago

PySD - 3.5.1

Bug fixes

Performance

  • Improve the performance of reading pysd.py_backend.external.External data with cellrange names by loading the data in memory with pandas. As recommended by openpyxl developers, this is a possible way of improving performance to avoid parsing all rows up each time for getting the data (issue 1867 in openpyxl).

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 3 years ago

PySD - 3.5.0

New Features

Bug fixes

  • Fix bug related to the order of elements in 1D GET expressions (issue #343).
  • Fix bug in request 0 values in allocate by priority (issue #345).
  • Fix a numerical error in starting time of step and ramp.

Documentation

  • Include new PySD logo.

Internal Changes

  • Ignore ‘distutils Version classes are deprecated. Use packaging.version instead’ error in tests as it is an internal error of xarray.
  • Add a warning message when a subscript range is duplicated in a variable reference.

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 3 years ago

PySD - 3.4.0

New Features

  • Add support for Vensim’s ALLOCATE AVAILABLE (pysd.py_backend.allocation.allocate_available()) function (issue #339). Integer allocation cases have not been implemented neither the fixed quantity and constant elasticity curve priority functions.

Documentation

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 3 years ago

PySD - 3.3.0

New Features

  • Add support for Vensim’s ALLOCATE BY PRIORITY (pysd.py_backend.allocation.allocate_by_priority()) function (issue #263).

Bug fixes

  • Fix bug of using subranges to define a bigger range (issue #335).

Internal Changes

  • Improve error messages for pysd.py_backend.External objects.

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 3 years ago

PySD - 3.2.0

New Features

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 3 years ago

PySD - 3.1.0

New features

Documentation

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 3 years ago

PySD - 3.0.1

Including suggestions made by @blsqr:

Update development status to beta
Test now fail if there is any warning message
The tests that were still working with unittest have been moved to pytest
Test and add support for Python 3.10
Improve the test documentation
Move from SourceFileLoader.load_module() to importlib.util.spec_from_file_location.loader.exec_module() to avoid deprecation in Python 3.12
Correct some other warnings

Bug correction:

TabData objects' coordinates now are simplified in the model file, using the _subscript_dict as other objects.

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 3 years ago

PySD - 3.0.0

New Features

  • The new Abstract Model Representation translation and building workflow will allow to add new output languages in the future.
  • Added new properties to the pysd.py_backend.model.Macro to make more accessible some information: namespace, subscripts, dependencies, modules, doc.

  • Cleaner Python models:

    • _namespace and _dependencies dictionaries have been removed from the file.
    • Variables original names, dependencies metadata now are given through pysd.pybackend.components.Component.add() decorator, instead of having them in the docstring. Merging of variable equations is now done using the coordinates to a pre-allocated array, instead of using the magic function pysd.pybackend.utils.xrmerge().
    • Arranging and subseting arrays are now done inplace instead of using the magic function pysd.py_backend.utils.rearrange().

Breaking changes

  • Set the argument flatten_output from run() to True by default. Previously it was set to False by default.
  • Move the docstring of the model to a property, doc. Thus, it is not callable anymore.
  • Allow the function pysd.pybackend.functions.pulse() to also perform the operations performed by pysd.pybackend.functions.pulsetrain() and pysd.pybackend.functions.pulse_magnitude().
  • Change first argument of pysd.pybackend.functions.activeinitial(), now it is the stage of the model and not the time.
  • Simplify the function pysd.py_backend.utils.rearrange() orienting it to perform simple rearrange cases for user interaction.
  • Move pysd.pybackend.statefuls.Model and pysd.pybackend.statefuls.Macro to pysd.pybackend.model.Model and pysd.pybackend.model.Macro, respectively.
  • Manage all kinds of lookups with the pysd.py_backend.lookups.Lookups class.
  • Include a second optional argument to lookups functions to set the final coordinates when a subscripted variable is passed as an argument.

Deprecations

  • Remove pysd.pybackend.utils.xrmerge(), pysd.pybackend.functions.pulsetrain(), pysd.pybackend.functions.pulsemagnitude(), pysd.pybackend.functions.lookup(), pysd.pybackend.functions.lookupdiscrete(), pysd.pybackend.functions.lookupextrapolation(), pysd.pybackend.functions.logicaland(), pysd.pybackend.functions.logicalor(), pysd.pybackend.functions.boundednormal(), pysd.py_backend.functions.log().
  • Remove old translation and building files (pysd.translation).

Bug fixes

  • Generate the documentation of the model when loading it to avoid lossing information when replacing a variable value (issue #310, PR #312).
  • Make random functions return arrays of the same shape as the variable, to avoid repeating values over a dimension (issue #309, PR #312).
  • Fix bug when Vensim’s :MACRO: definition is not at the top of the model file (issue #306, PR #312).
  • Make builder identify the subscripts using a main range and subrange to allow using subscripts as numeric values as Vensim does (issue #296, issue #301, PR #312).
  • Fix bug of missmatching of functions and lookups names (issue #116, PR #312).
  • Parse Xmile models case insensitively and ignoring the new lines characters (issue #203, issue #253, PR #312).
  • Add support for Vensim’s :EXCEPT: keyword (issue #168, issue #253, PR #312).
  • Add spport for Xmile’s FORCST and SAFEDIV functions (issue #154, PR #312).
  • Add subscripts support for Xmile (issue #289, PR #312).
  • Fix numeric error bug when using return_timestamps and time step with non-integer values.

Documentation

  • Review the whole documentation, refract it, and describe the new features.

Performance

  • The variables defined in several equations are now assigned to a pre-allocated array instead of using pysd.py_backend.utils.xrmerge().
  • The arranging and subseting of arrays is now done inplace instead of using the magic function pysd.py_backend.utils.rearrange().
  • The grammars for Parsimonious are only compiled once per translation.

Internal Changes

  • The translation and the building of models has been totally modified to use the Abstract Model Representation.

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 3 years ago

PySD - 2.2.4

Update progressbar dependency to progressbar2

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez almost 4 years ago

PySD - 2.2.3

Solve bug when converting to floats 0-d dataarrays

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez almost 4 years ago

PySD - 2.2.2

Solve missing smile grammar in packages

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez almost 4 years ago

PySD - 2.2.1

Solve bug of arrays with line breaks.

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez almost 4 years ago

PySD - 2.2.0

  • Enable using encoding information for reading Vensim model files.
  • Read modules files with "UTF-8" encoding.
  • Correct the paths and use pathlib.Path type object in the model file for external objects, modules and Macros.
  • Correct several tests to make them run on Windows also.
  • Add windows to GitHub Actions CI.
  • Solve dependencies with active initial objects.

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez about 4 years ago

PySD - 2.1.1

Add __init__.py to translation folder to allow using translation tools by other libraries.

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez about 4 years ago

PySD - 2.1.0

Allow working with Vensim models with regular DATA declaration, reading the data from a csv or tab file when loading the model. Giving several options to the user.

Allow comparing two files with missing values and return True if the missing values are at the same place.

Allow running submodel or the current model, selecting it by variable names or modules (produced when translating a file per views).

Bug fixes.

Improve and update documentation.

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez about 4 years ago

PySD - 2.0.0

Dependencies dictionary added: 1. Improving caching strategy 2. Improving initialization of Stateful objects 3. Other possible future applications (graph generation...)

Manage model components: 1. Components class to load model and manage them, allowing inline changes 2. Control variables managing through Time class, allowing dynamic finaltime, timestep and saveper.

Several bug fixes (modulo, exponentials)

General cleanup

Improvements in the documentation

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez about 4 years ago

PySD - 1.11.0

  • Support for Vensim's Forecast function
  • Support for Vensim's ELMCOUNT function
  • Support for Vensim's :NA: keyword
  • Allow any lever of submodules: Now separator takes as values a list, which will indicate the number of sublevels and characters to divide them
  • Correct bugs

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez about 4 years ago

PySD - v1.10.0

Fix bugs related to merging subscripts and subscripts subranges.

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 4 years ago

PySD - v1.9.1

  • Add dev-requirements.txt to packaging

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 4 years ago

PySD - v1.9.0

  • Divide the python model into folders and files depending on the Vensim view and subview
  • Add support for INVERT MATRIX
  • Added support for logical comparisons between subscript ranges
  • Improvements in benchmarking tools
  • Correct bugs

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 4 years ago

PySD - v1.8.1

  • Close opened xlsx files
  • Solve bug related to subrange subdimension
  • Solve bug related to dynamic final time

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 4 years ago

PySD - v1.8.0

  • Add option to split Vensim views into separated Python files
  • Correct bugs with xmile builders

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 4 years ago

PySD - v1.7.0

  • Add possibility to export to a pickle the states and other needed values of the stateful objects using
  • Add possibility to use exported values of stateful objects as initial conditions
  • Add control variables to the run arguments,final_time, time_step and saveper can be modified easily when calling run.
  • A bug with SampleIfTrue was solved. -Solve initialization order bug.

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 4 years ago

PySD - v1.6.1

  • Add requirements.txt and README.md to MANIFEST.in in order to make it possible to build the package in conda-forge

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 4 years ago

PySD - v1.6.0

  • Command-line usage added. Now pysd can be called from the command line. (python -m pysd).
  • Correct bug of initial time in outputs when initial time is modified,

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 4 years ago

PySD - v1.5.0

  • Benchmarking tools added
  • Add an option to totally flatten an output dataframe
  • Add the possibility to select the as default columns only the ones with cache 'step'
  • Logical functions added to support logical operations between subscripted variables
  • Support logical operations of the same operator without parenthesis
  • Solve some bugs related to subscripts

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 4 years ago

PySD - v1.4.1

Correct time overhead in some stateful objects.

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 4 years ago

PySD - v1.4.0

New features: - Basic subscript mapping

Bugs correction: - Support for subscripted SMOOTH and TREND - Correction of user interaction with lookup variables

Other improvements: - Documentation - More descriptive errors with stateful objects

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 4 years ago

PySD - v1.3.1

  • Small bug correction
  • Added the possibility of keeping missing values in External objects

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 4 years ago

PySD - v1.3.0

  • Support for Vensim's Sample If True function (https://www.vensim.com/documentation/fnsampleif_true.html)
  • Support for reading subscript by numeric range (https://www.vensim.com/documentation/22090.html)

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 4 years ago

PySD - v1.2.0

  • Functions for reading data from Excel
  • Better management of subscripted variables
  • Progressbar added
  • Bugs correction
  • ...

Scientific Software - Peer-reviewed - Python
Published by enekomartinmartinez over 4 years ago

PySD - Last version to support Python 2

This release captures the code at the point where we decided to drop support for Python 2 (see: https://github.com/JamesPHoughton/pysd/issues/220). If you need python 2, use this version.

Scientific Software - Peer-reviewed - Python
Published by JamesPHoughton about 5 years ago

PySD - 0.10.0

Fix issues

Scientific Software - Peer-reviewed - Python
Published by alexprey over 6 years ago

PySD - June 2018

Parses Unicode Includes an approximate implementation of Delay Fixed Bug fixes all over the place

Scientific Software - Peer-reviewed - Python
Published by JamesPHoughton over 7 years ago

PySD - XMILE Reintegration

Scientific Software - Peer-reviewed - Python
Published by JamesPHoughton about 8 years ago

PySD - Class-based model components

In this release, we've significantly refactored the way model components are stored and accessed, to increase the power available to the end user

Scientific Software - Peer-reviewed - Python
Published by JamesPHoughton over 10 years ago

PySD - First Packaged Release

Supports import of vensim .mdl files and XMILE files, execution of models, measurement of arbitrary model elements at arbitrary times.

Limited to a subset of vensim and xmile standard functionality

Scientific Software - Peer-reviewed - Python
Published by JamesPHoughton over 11 years ago

PySD - pre-package versions

This documents progress prior to the first packaged release

Scientific Software - Peer-reviewed - Python
Published by JamesPHoughton over 11 years ago