Metadata-Version: 2.1
Name: tesp_support
Version: 1.3.4
Summary: Python support for the Transactive Energy Simulation Platform
Home-page: https://github.com/pnnl/tesp
Author: Trevor Hardy
Author-email: trevor.hardy@PNNL.gov
License: BSD
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: importlib-resources~=6.1.0
Requires-Dist: h5py~=3.9.0
Requires-Dist: helics~=3.4.0
Requires-Dist: pandas~=2.0.3
Requires-Dist: numpy~=1.24.4
Requires-Dist: scipy~=1.10.1
Requires-Dist: matplotlib~=3.7.3
Requires-Dist: networkx~=3.1
Requires-Dist: PYPOWER==5.1.16
Requires-Dist: pyutilib==6.0.0
Requires-Dist: Pyomo==6.5.0

============
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
