Model loading

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

pysd.load(py_model_file, data_files=None, data_files_encoding=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.

  • data_files_encoding (list or str or dict or None (optional)) – Encoding for data_files. If a string or None is passed this value will be used for all the files. If data_files is a list, a list of the same length could be used to specify different encodings. If data_files is a dictionary, a dictionary with the same keys could be used, being the values the encodings. See documentation from pandas.read_table for further information. 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, data_files_encoding=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 (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.

  • data_files_encoding (list or str or dict or None (optional)) – Encoding for data_files. If a string or None is passed this value will be used for all the files. If data_files is a list, a list of the same length could be used to specify different encodings. If data_files is a dictionary, a dictionary with the same keys could be used, being the values the encodings. See documentation from pandas.read_table for further information. Default is None.

  • data_files_encoding – Encoding for data_files. If a string or None is passed this value will be used for all the files. If data_files is a list, a list of the same length could be used to specify different encodings. If data_files is a dictionary, a dictionary with the same keys could be used, being the values the encodings. See documentation from pandas.read_table for further information. 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, data_files_encoding=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 (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.

  • data_files_encoding (list or str or dict or None (optional)) – Encoding for data_files. If a string or None is passed this value will be used for all the files. If data_files is a list, a list of the same length could be used to specify different encodings. If data_files is a dictionary, a dictionary with the same keys could be used, being the values the encodings. See documentation from pandas.read_table for further information. 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')