Model loading

For loading a translated model with Python the function pysd.load() can be used:

pysd.load(py_model_file, data_files=None, initialize=True, missing_values='warning')[source]

Load a Python-converted model file.

Parameters:
  • py_model_file (str) – Filename of a model which has already been converted into a Python format.

  • initialize (bool (optional)) – If False, the model will not be initialize when it is loaded. Default is True.

  • data_files (dict or list or str or None) – The dictionary with keys the name of file and variables to load the data from there. Or the list of names or name of the file to search the data in. Only works for TabData type object and it is neccessary to provide it. Default is None.

  • missing_values (str ("warning", "error", "ignore", "keep") (optional)) – What to do with missing values. If “warning” (default) shows a warning message and interpolates the values. If “raise” raises an error. If “ignore” interpolates the values without showing anything. If “keep” it will keep the missing values, this option may cause the integration to fail, but it may be used to check the quality of the data.

Examples

>>> model = load('../tests/test-models/samples/teacup/teacup.py')

To translate a load a model the pysd.read_vensim() and pysd.read_xmile() functions can be used:

pysd.read_vensim(mdl_file, data_files=None, initialize=True, missing_values='warning', split_views=False, encoding=None, **kwargs)[source]

Construct a model from Vensim .mdl file.

Parameters:
  • mdl_file (str or pathlib.Path) – The relative path filename for a raw Vensim .mdl file.

  • initialize (bool (optional)) – If False, the model will not be initialize when it is loaded. Default is True.

  • data_files (list or str or None (optional)) – If given the list of files where the necessary data to run the model is given. Default is None.

  • missing_values (str ("warning", "error", "ignore", "keep") (optional)) – What to do with missing values. If “warning” (default) shows a warning message and interpolates the values. If “raise” raises an error. If “ignore” interpolates the values without showing anything. If “keep” it will keep the missing values, this option may cause the integration to fail, but it may be used to check the quality of the data.

  • split_views (bool (optional)) – If True, the sketch is parsed to detect model elements in each model view, and then translate each view in a separate Python file. Setting this argument to True is recommended for large models split in many different views. Default is False.

  • encoding (str or None (optional)) – Encoding of the source model file. If None, the encoding will be read from the model, if the encoding is not defined in the model file it will be set to ‘UTF-8’. Default is None.

  • subview_sep (list) – Characters used to separate views and subviews (e.g. [“,”, “.”]). If provided, and split_views=True, each submodule will be placed inside the directory of the parent view.

  • **kwargs ((optional)) – Additional keyword arguments for translation.

Returns:

model – Elements from the Python model are loaded into the PySD class and ready to run

Return type:

a PySD class object

Examples

>>> model = read_vensim('../tests/test-models/samples/teacup/teacup.mdl')
pysd.read_xmile(xmile_file, data_files=None, initialize=True, missing_values='warning')[source]

Construct a model from a Xmile file.

Parameters:
  • xmile_file (str or pathlib.Path) – The relative path filename for a raw Xmile file.

  • initialize (bool (optional)) – If False, the model will not be initialize when it is loaded. Default is True.

  • data_files (list or str or None (optional)) – If given the list of files where the necessary data to run the model is given. Default is None.

  • missing_values (str ("warning", "error", "ignore", "keep") (optional)) – What to do with missing values. If “warning” (default) shows a warning message and interpolates the values. If “raise” raises an error. If “ignore” interpolates the values without showing anything. If “keep” it will keep the missing values, this option may cause the integration to fail, but it may be used to check the quality of the data.

Returns:

model – Elements from the Python model are loaded into the PySD class and ready to run

Return type:

a PySD class object

Examples

>>> model = read_xmile('../tests/test-models/samples/teacup/teacup.xmile')