PySD Development Pathway

High priority features, bugs, and other elements of active effort are listed on the github issue tracker. To get involved see Development Guidelines.

High Priority

  • Improve running speed using numpy.arrays instead of xarray.DataArrays

  • Adding unit and full tests for Xmile translation

Medium Priority

  • Improve model execution speed using cython, theano, numba, or another package

Low Priority

  • Import model component documentation in a way that enables doctest, to enable writing unit tests within the modeling environment

  • Handle simulating over timeseries

  • Implement run memoization to improve speed of larger analyses

  • Implement an interface for running the model over a range of conditions, build in intelligent parallelization.

Not Planned

  • Model Construction

  • Outputting models to XMILE or other formats

Ideas for Other Projects

  • SD-lint checker (units, modeling conventions, bounds/limits, etc)

  • Contribution to external Data Science tools to make them more appropriate for dynamic assistant

Current Features

  • Basic XMILE and Vensim parser

  • Established library structure and data formats

  • Simulation using existing Python integration tools

  • Integration with basic Python Data Science functionality

  • Run-at-a-time parameter modification

  • Time-variant exogenous inputs

  • Extended backends for storing parameters and output values

  • Demonstration of integration with Machine Learning/Monte Carlo/Statistical Methods

  • Python methods for programmatically manipulating SD model structure

  • Turn off and on ‘traces’ or records of the values of variables