============
Introduction
============
Transactive Energy Simulation Platform (TESP) simulates
the electric power distribution grid with transactive control
of loads and resources. Current features include:
* GridLAB-D_ for the distribution system and residential loads
* EnergyPlus_ for large buildings
* MATPOWER_ or PYPOWER_ for the bulk power systems
* Bindings for transactive agents in Python_, Java or C++
The goal of TESP_ is that researchers can focus their work
on the last item, to push advances in the field.
Installation
============
tesp_support can be installed using pip_::
$ pip install tesp_support
However, in order to be useful, tesp_support needs custom versions of
GridLAB-D and EnergyPlus. It also requires Python 3.8 or later, with
NumPy_, SciPy_, NetworkX_, Matplotlib_ and PYPOWER_. There are
cross-platform installers of the complete TESP for Windows, Linux and Mac
OS X on GitHub. A Docker_ version is also available for users.
Development Work Flow for tesp_support
======================================
* From this directory, 'pip install -e .' points Python to this cloned repository for any calls to tesp_support functions
* See the https://github.com/pnnl/tesp/tree/master/src/tesp_support/tesp_support for a roadmap of existing Python source files, and some documentation. Any changes or additions to the code need to be made in this directory.
* Run tests from any other directory on this computer
* When ready, edit the tesp_support version number and dependencies in setup.py
* To deploy follow the instructions in the Python Packaging Guide:
1. Create an account on PyPI if you haven't yet.
2. Install twine and build: pip install twine build
3. Create the source distribution, change to tesp_support directory execute: python3 -m build .
4. Check your distribution files for errors: twine check dist/*
5. (Optional) Upload to the PyPI test server first (note: separate user registration required): twine upload --repository-url https://test.pypi.org/legacy/ dist/*
6. Upload to PyPI: twine upload dist/*
* Any user gets the changes with 'pip install tesp_support --upgrade'
* Use 'pip show tesp_support' to verify the version and location on your computer
Using TESP
==========
This is a developer's platform for electric power grid research. See
http://tesp.readthedocs.io/en/latest/ for user instructions, and
http://github.com/pnnl/tesp for source code.
Links to Dependencies
=====================
* Docker_
* EnergyPlus_
* GridLAB-D_
* Matplotlib_
* MATPOWER_
* NetworkX_
* NumPy_
* Pandas_
* pip_
* PYPOWER_
* Python_
* SciPy_
* TESP_
Subdirectories
==============
- *tesp_support*; utilities for building and running using PYPOWER with or without FNCS/HELICS co-simulations.
- *test*; scripts that support testing the package; not automated.
License & Copyright
===================
- Copyright (c) 2017-2023 Battelle Memorial Institute
.. _Docker: https://www.docker.com
.. _EnergyPlus: https://energyplus.net
.. _GridLAB-D: http://gridlab-d.shoutwiki.com
.. _Matplotlib: https://www.matplotlib.org
.. _MATPOWER: https://www.matpower.org
.. _NetworkX: https://www.networkx.org
.. _NumPy: https://www.numpy.org
.. _Pandas: https://pandas.pydata.org
.. _pip: https://pip.pypa.io/en/stable
.. _PYPOWER: https://github.com/rwl/PYPOWER
.. _Python: https://www.python.org
.. _SciPy: https://www.scipy.org
.. _TESP: https://tesp.readthedocs.io/en/latest
Changelog
=========
Version 1.0.0 (2017-06-08)
--------------------------
* Initial release
Version 0.2 (2017-10-14)
------------------------
* For NIST TE Challenge 2
Version 0.1.4 (2018-09-30)
--------------------------
* For GridAPPS-D Demo
* GridLAB-D feature/1146 branch with FNCS-controlled switching
Version 0.1.9 (2018-12-13)
--------------------------
* Three desktop version installers for Mac, Windows and Linux
* Tutorial video
* DSO+T study files
Version 0.9.2 (2020-09-11)
--------------------------
* Support for HELICS and EnergyPlus 9.3
* Bundled with ns-3 (HELICS) and opendsscmd (FNCS)
* Execution on Linux or Docker
* Postprocessing on Linux, Windows or Mac OS X
Version 0.9.5 (2021-03-09)
--------------------------
* Standalone housing generator
* Plot functions can save files
* Case-generated SGIP1 example
* Fixed the FNCS SGIP1 example
Version 1.0.1 (2021-04-23)
--------------------------
* No longer supports Windows
* Updates to consensus mechanism
* Balanced three-phase houses for housing generator
* Remove deprecated solar and battery attributes
* Update to HELICS 2.6.1
Version 1.2.0 (2022-10-3)
--------------------------
* Added data.py to for shared data with TESP, recommended using TESP install
* Added several APIs for plot GridLAB-D and EnergyPlus attributes
* Added player server
* Added DSOT agents and feeder generators
* Update to HELICS 3.3.0
Version 1.2.3 (2022-11-22)
--------------------------
* Fix the EnergyPlus to work with newer compiler and updated version number
* Fix read the docs document warnings and fix clean shell script for energyplus
* Added Ubuntu apt install version dependencies for 18.04,20.04,22.04
* Revised pip and venv for install script
* Revised clean scripts, clean up models directory
* Add loadshed* examples for auto test
* Fixed the installation for Ubuntu 22.04
* Fixed monitor.py and tesp_case.py when not using EnergyPlus,
* Minor fix for feeders generator when using name_prefix
* Fixed complex python to use helics complex type
Version 1.2.4 (2022-12-1)
--------------------------
* Fix version number in tesp_support for PyPI distribution and read the docs
* Fix the version.sh, move documentation to end of the install, fix warning in Consensus_Usecase.rst
* Fix git patch warning for FNCS and EnergyPlus
* GridLAB-D triplex_node no longer uses power_12_real and power12_reac, this has commented out for SGIP1*.glm files
* Add pypi packaging to stamping process, refined docker build in scripts/docker, moved HELICS version checker to build
Version 1.3.0 (2023-9-23)
--------------------------
* Refactor the TESP PyPI installation for better division between api vs custom (one off) file
* Upgrade all models(GridLAB-D, EnergyPlus, NS3) to work with HELICS 3.4
* Add modifier.py for GridLAB-D models
Version 1.3.1 (2023-10-3)
--------------------------
* Fix modifier.py for GridLAB-D models, upgrade np.float to np.float64
Version 1.3.2 (2023-10-27)
--------------------------
* Another fix for model and modifier for GridLAB-D models
Version 1.3.3 (2023-12-4)
--------------------------
* Add tesp_component download in tesp_support pypi, add schedule in model_GLM.py
* Minor changes to path for RECS system feeder
* Restructured, new RECS parameters, updated to include income, new hvac setpoint RECS data, teleworking.
* Fix postposing for DSOT
* Dockerfile for each module getting ready for dockerize COSU Simulations
* Change directory structure
Raw data
{
"_id": null,
"home_page": "https://github.com/pnnl/tesp",
"name": "tesp-support",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "",
"author": "Trevor Hardy",
"author_email": "trevor.hardy@PNNL.gov",
"download_url": "https://files.pythonhosted.org/packages/aa/16/9bd7ebe32c958fe474d11e8edcf2ae120ee1f6d2878be8cfe5b51f25ee0b/tesp_support-1.3.5.tar.gz",
"platform": null,
"description": "============\nIntroduction\n============\n\nTransactive Energy Simulation Platform (TESP) simulates \nthe electric power distribution grid with transactive control\nof loads and resources. Current features include:\n\n* GridLAB-D_ for the distribution system and residential loads\n* EnergyPlus_ for large buildings\n* MATPOWER_ or PYPOWER_ for the bulk power systems\n* Bindings for transactive agents in Python_, Java or C++\n\nThe goal of TESP_ is that researchers can focus their work\non the last item, to push advances in the field.\n\nInstallation\n============\n\ntesp_support can be installed using pip_::\n\n $ pip install tesp_support\n\nHowever, in order to be useful, tesp_support needs custom versions of \nGridLAB-D and EnergyPlus. It also requires Python 3.8 or later, with\nNumPy_, SciPy_, NetworkX_, Matplotlib_ and PYPOWER_. There are \ncross-platform installers of the complete TESP for Windows, Linux and Mac \nOS X on GitHub. A Docker_ version is also available for users. \n\nDevelopment Work Flow for tesp_support\n======================================\n\n* From this directory, 'pip install -e .' points Python to this cloned repository for any calls to tesp_support functions\n* See the https://github.com/pnnl/tesp/tree/master/src/tesp_support/tesp_support for a roadmap of existing Python source files, and some documentation. Any changes or additions to the code need to be made in this directory. \n* Run tests from any other directory on this computer\n* When ready, edit the tesp_support version number and dependencies in setup.py\n* To deploy follow the instructions in the Python Packaging Guide:\n 1. Create an account on PyPI if you haven't yet.\n 2. Install twine and build: pip install twine build\n 3. Create the source distribution, change to tesp_support directory execute: python3 -m build .\n 4. Check your distribution files for errors: twine check dist/*\n 5. (Optional) Upload to the PyPI test server first (note: separate user registration required): twine upload --repository-url https://test.pypi.org/legacy/ dist/*\n 6. Upload to PyPI: twine upload dist/*\n* Any user gets the changes with 'pip install tesp_support --upgrade'\n* Use 'pip show tesp_support' to verify the version and location on your computer\n\nUsing TESP\n==========\n\nThis is a developer's platform for electric power grid research. See \nhttp://tesp.readthedocs.io/en/latest/ for user instructions, and \nhttp://github.com/pnnl/tesp for source code. \n\nLinks to Dependencies\n=====================\n\n* Docker_\n* EnergyPlus_\n* GridLAB-D_\n* Matplotlib_\n* MATPOWER_\n* NetworkX_\n* NumPy_\n* Pandas_\n* pip_\n* PYPOWER_\n* Python_\n* SciPy_\n* TESP_\n\nSubdirectories\n==============\n\n- *tesp_support*; utilities for building and running using PYPOWER with or without FNCS/HELICS co-simulations.\n- *test*; scripts that support testing the package; not automated.\n\nLicense & Copyright\n===================\n\n- Copyright (c) 2017-2023 Battelle Memorial Institute\n\n.. _Docker: https://www.docker.com\n.. _EnergyPlus: https://energyplus.net\n.. _GridLAB-D: http://gridlab-d.shoutwiki.com\n.. _Matplotlib: https://www.matplotlib.org\n.. _MATPOWER: https://www.matpower.org\n.. _NetworkX: https://www.networkx.org\n.. _NumPy: https://www.numpy.org\n.. _Pandas: https://pandas.pydata.org\n.. _pip: https://pip.pypa.io/en/stable\n.. _PYPOWER: https://github.com/rwl/PYPOWER\n.. _Python: https://www.python.org\n.. _SciPy: https://www.scipy.org\n.. _TESP: https://tesp.readthedocs.io/en/latest\n\n\nChangelog\n=========\n\nVersion 1.0.0 (2017-06-08)\n--------------------------\n* Initial release\n\nVersion 0.2 (2017-10-14)\n------------------------\n* For NIST TE Challenge 2\n\nVersion 0.1.4 (2018-09-30)\n--------------------------\n* For GridAPPS-D Demo\n* GridLAB-D feature/1146 branch with FNCS-controlled switching\n\nVersion 0.1.9 (2018-12-13)\n--------------------------\n* Three desktop version installers for Mac, Windows and Linux\n* Tutorial video\n* DSO+T study files\n\nVersion 0.9.2 (2020-09-11)\n--------------------------\n* Support for HELICS and EnergyPlus 9.3\n* Bundled with ns-3 (HELICS) and opendsscmd (FNCS)\n* Execution on Linux or Docker\n* Postprocessing on Linux, Windows or Mac OS X\n\nVersion 0.9.5 (2021-03-09)\n--------------------------\n* Standalone housing generator\n* Plot functions can save files\n* Case-generated SGIP1 example\n* Fixed the FNCS SGIP1 example\n\nVersion 1.0.1 (2021-04-23)\n--------------------------\n* No longer supports Windows\n* Updates to consensus mechanism\n* Balanced three-phase houses for housing generator\n* Remove deprecated solar and battery attributes\n* Update to HELICS 2.6.1\n\nVersion 1.2.0 (2022-10-3)\n--------------------------\n* Added data.py to for shared data with TESP, recommended using TESP install\n* Added several APIs for plot GridLAB-D and EnergyPlus attributes\n* Added player server\n* Added DSOT agents and feeder generators\n* Update to HELICS 3.3.0\n\nVersion 1.2.3 (2022-11-22)\n--------------------------\n* Fix the EnergyPlus to work with newer compiler and updated version number\n* Fix read the docs document warnings and fix clean shell script for energyplus\n* Added Ubuntu apt install version dependencies for 18.04,20.04,22.04\n* Revised pip and venv for install script\n* Revised clean scripts, clean up models directory\n* Add loadshed* examples for auto test\n* Fixed the installation for Ubuntu 22.04\n* Fixed monitor.py and tesp_case.py when not using EnergyPlus,\n* Minor fix for feeders generator when using name_prefix\n* Fixed complex python to use helics complex type\n\nVersion 1.2.4 (2022-12-1)\n--------------------------\n* Fix version number in tesp_support for PyPI distribution and read the docs\n* Fix the version.sh, move documentation to end of the install, fix warning in Consensus_Usecase.rst\n* Fix git patch warning for FNCS and EnergyPlus\n* GridLAB-D triplex_node no longer uses power_12_real and power12_reac, this has commented out for SGIP1*.glm files\n* Add pypi packaging to stamping process, refined docker build in scripts/docker, moved HELICS version checker to build\n\nVersion 1.3.0 (2023-9-23)\n--------------------------\n* Refactor the TESP PyPI installation for better division between api vs custom (one off) file\n* Upgrade all models(GridLAB-D, EnergyPlus, NS3) to work with HELICS 3.4\n* Add modifier.py for GridLAB-D models\n\nVersion 1.3.1 (2023-10-3)\n--------------------------\n* Fix modifier.py for GridLAB-D models, upgrade np.float to np.float64\n\nVersion 1.3.2 (2023-10-27)\n--------------------------\n* Another fix for model and modifier for GridLAB-D models\n\nVersion 1.3.3 (2023-12-4)\n--------------------------\n* Add tesp_component download in tesp_support pypi, add schedule in model_GLM.py\n* Minor changes to path for RECS system feeder\n* Restructured, new RECS parameters, updated to include income, new hvac setpoint RECS data, teleworking.\n* Fix postposing for DSOT\n* Dockerfile for each module getting ready for dockerize COSU Simulations\n* Change directory structure\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "Python support for the Transactive Energy Simulation Platform",
"version": "1.3.5",
"project_urls": {
"Homepage": "https://github.com/pnnl/tesp"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0206c809c6a578bb848d352ab448808439f92a281901e99a9c9265f674c1f2aa",
"md5": "2bfa381472e936a3ac8b51aa00afc95c",
"sha256": "9eac39cffd5d45744ec506cdc4a6aebfed7036ef8ee127c48b3c7e091c464035"
},
"downloads": -1,
"filename": "tesp_support-1.3.5-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "2bfa381472e936a3ac8b51aa00afc95c",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.8",
"size": 782023,
"upload_time": "2023-12-07T23:25:58",
"upload_time_iso_8601": "2023-12-07T23:25:58.322717Z",
"url": "https://files.pythonhosted.org/packages/02/06/c809c6a578bb848d352ab448808439f92a281901e99a9c9265f674c1f2aa/tesp_support-1.3.5-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "aa169bd7ebe32c958fe474d11e8edcf2ae120ee1f6d2878be8cfe5b51f25ee0b",
"md5": "9c9c821b227084bf450f5bc69dbffa56",
"sha256": "8a93fe3764cbe465bb36df28eb200b2b0183b6f7a1d54b5af4d6ecded4f68bff"
},
"downloads": -1,
"filename": "tesp_support-1.3.5.tar.gz",
"has_sig": false,
"md5_digest": "9c9c821b227084bf450f5bc69dbffa56",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 718237,
"upload_time": "2023-12-07T23:26:01",
"upload_time_iso_8601": "2023-12-07T23:26:01.059463Z",
"url": "https://files.pythonhosted.org/packages/aa/16/9bd7ebe32c958fe474d11e8edcf2ae120ee1f6d2878be8cfe5b51f25ee0b/tesp_support-1.3.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-07 23:26:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pnnl",
"github_project": "tesp",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "Jinja2",
"specs": [
[
"~=",
"3.1.2"
]
]
},
{
"name": "NREL-PySAM",
"specs": [
[
"~=",
"4.2.0"
]
]
},
{
"name": "PYPOWER",
"specs": [
[
"==",
"5.1.16"
]
]
},
{
"name": "PuLP",
"specs": [
[
"~=",
"2.7.0"
]
]
},
{
"name": "PyGLM",
"specs": [
[
"~=",
"2.7.0"
]
]
},
{
"name": "PyYAML",
"specs": [
[
"~=",
"6.0.1"
]
]
},
{
"name": "Pyomo",
"specs": [
[
"==",
"6.5.0"
]
]
},
{
"name": "Sphinx",
"specs": [
[
"~=",
"7.1.2"
]
]
},
{
"name": "colorama",
"specs": [
[
"~=",
"0.4.6"
]
]
},
{
"name": "docutils",
"specs": [
[
"==",
"0.18.1"
]
]
},
{
"name": "future",
"specs": [
[
"~=",
"0.18.3"
]
]
},
{
"name": "h5py",
"specs": [
[
"~=",
"3.9.0"
]
]
},
{
"name": "helics",
"specs": [
[
"~=",
"3.4.0"
]
]
},
{
"name": "importlib-resources",
"specs": [
[
"~=",
"6.1.0"
]
]
},
{
"name": "joblib",
"specs": [
[
"~=",
"1.3.2"
]
]
},
{
"name": "matplotlib",
"specs": [
[
"~=",
"3.7.3"
]
]
},
{
"name": "networkx",
"specs": [
[
"~=",
"3.1"
]
]
},
{
"name": "numpy",
"specs": [
[
"~=",
"1.24.4"
]
]
},
{
"name": "openpyxl",
"specs": [
[
"~=",
"3.1.2"
]
]
},
{
"name": "pandas",
"specs": [
[
"~=",
"2.0.3"
]
]
},
{
"name": "plotly",
"specs": [
[
"~=",
"5.17.0"
]
]
},
{
"name": "psst",
"specs": [
[
"~=",
"0.1.1a0"
]
]
},
{
"name": "pyutilib",
"specs": [
[
"==",
"6.0.0"
]
]
},
{
"name": "recommonmark",
"specs": [
[
"~=",
"0.7.1"
]
]
},
{
"name": "requests",
"specs": [
[
"~=",
"2.31.0"
]
]
},
{
"name": "resource",
"specs": [
[
"~=",
"0.2.1"
]
]
},
{
"name": "scikit-learn",
"specs": [
[
"~=",
"1.3.1"
]
]
},
{
"name": "scipy",
"specs": [
[
"~=",
"1.10.1"
]
]
},
{
"name": "seaborn",
"specs": [
[
"~=",
"0.13.0"
]
]
},
{
"name": "sphinx-jsonschema",
"specs": [
[
"~=",
"1.19.1"
]
]
},
{
"name": "sphinx_rtd_theme",
"specs": [
[
"~=",
"1.3.0"
]
]
},
{
"name": "sphinxcontrib-bibtex",
"specs": [
[
"~=",
"2.5.0"
]
]
},
{
"name": "tables",
"specs": [
[
"~=",
"3.8.0"
]
]
},
{
"name": "urllib3",
"specs": [
[
"~=",
"2.0.7"
]
]
},
{
"name": "xlrd",
"specs": [
[
"~=",
"2.0.1"
]
]
},
{
"name": "xarray",
"specs": [
[
"~=",
"2023.1.0"
]
]
},
{
"name": "tesp-support",
"specs": [
[
">=",
"1.3.0"
]
]
}
],
"lcname": "tesp-support"
}