Skip to content

Commit

Permalink
Merge pull request #67 from kaklise/IDAES
Browse files Browse the repository at this point in the history
Custom and streaming quality control analysis, LaTeX formatted monitoring reports
  • Loading branch information
kaklise authored Oct 21, 2020
2 parents dde783f + 2a2df0f commit ffaed3b
Show file tree
Hide file tree
Showing 52 changed files with 1,348 additions and 586 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ logfile
*.html
*.csv
*.png
*.db

pecos/tests/*.csv
pecos/tests/*.png
Expand Down
8 changes: 8 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,23 @@ sudo: false # if false, use TravisCI's container based build
matrix:
include:
- python: 3.6
dist: xenial
env: CONDA_ENV=py36
services:
- xvfb
sudo: true
- python: 3.7
dist: xenial
services:
- xvfb
sudo: true
env: CONDA_ENV=py37
- python: 3.8
dist: xenial
env: CONDA_ENV=py38
services:
- xvfb
sudo: true

addons:
apt:
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
License Notice==============Copyright 2016-2020 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.This software is distributed under the Revised BSD License.Pecos also leverages a variety of third-party software packages, whichhave separate licensing policies. Revised BSD License-------------------Redistribution and use in source and binary forms, with or withoutmodification, are permitted provided that the following conditionsare met:* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.* Neither the name of Sandia National Laboratories, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOTLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FORA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHTOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITEDTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDINGNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THISSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License Notice==============Copyright 2016 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.This software is distributed under the Revised BSD License.Pecos also leverages a variety of third-party software packages, whichhave separate licensing policies. Revised BSD License-------------------Redistribution and use in source and binary forms, with or withoutmodification, are permitted provided that the following conditionsare met:* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.* Neither the name of Sandia National Laboratories, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOTLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FORA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHTOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITEDTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, ORPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDINGNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THISSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

[![TravisCI](https://travis-ci.org/sandialabs/pecos.svg?branch=master)](https://travis-ci.org/sandialabs/pecos)
[![Coverage Status](https://coveralls.io/repos/github/sandialabs/pecos/badge.svg?branch=master)](https://coveralls.io/github/sandialabs/pecos?branch=master)
[![Documentation Status](https://readthedocs.org/projects/pecos/badge/?version=latest)](http://pecos.readthedocs.org/en/latest/)
[![Documentation Status](https://readthedocs.org/projects/pecos/badge/?version=stable)](https://pecos.readthedocs.io/en/stable/?badge=stable)
[![Downloads](https://pepy.tech/badge/pecos)](https://pepy.tech/project/pecos)

Advances in sensor technology have rapidly increased our ability to monitor
Expand Down
7 changes: 4 additions & 3 deletions ci/requirements-py36.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@ channels:
- http://conda.anaconda.org/pvlib
dependencies:
- python=3.6
- numpy
- pandas
- numpy
- jinja2
- matplotlib
- nose
- pvlib
- matplotlib
- plotly
- ephem
- jinja2
- xlrd
- sqlalchemy
- pip:
- coveralls
7 changes: 4 additions & 3 deletions ci/requirements-py37.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@ channels:
- http://conda.anaconda.org/pvlib
dependencies:
- python=3.7
- numpy
- pandas
- numpy
- jinja2
- matplotlib
- nose
- pvlib
- matplotlib
- plotly
- ephem
- jinja2
- xlrd
- sqlalchemy
- pip:
- coveralls
18 changes: 18 additions & 0 deletions ci/requirements-py38.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: test_env
channels:
- defaults
- http://conda.anaconda.org/pvlib
dependencies:
- python=3.8
- pandas
- numpy
- jinja2
- matplotlib
- nose
- pvlib
- plotly
- ephem
- xlrd
- sqlalchemy
- pip:
- coveralls
41 changes: 19 additions & 22 deletions documentation/applications.rst
Original file line number Diff line number Diff line change
@@ -1,40 +1,37 @@
Custom applications
====================

Pecos can be customized for specific applications. Python scripts can be added
to initialize data and add application specific models. Additional quality control tests
can be added by inheriting from the PerformanceMonitoring class.
While Pecos was initially developed to monitor photovoltaic systems, it is designed to be used for a wide range of applications. The ability to run the analysis within the Python environment enables the use of diverse analysis options that can be incorporated into Pecos, including application specific models. The software has been used to monitor energy systems in support of several Department of Energy projects, as described below.

PV system monitoring
Photovoltaic systems
---------------------
Pecos was originally developed to monitor photovoltaic (PV) systems as part of the

Pecos was originally developed at Sandia National Laboratories in 2016 to monitor photovoltaic (PV) systems as part of the
`Department of Energy Regional Test Centers <https://www.energy.gov/eere/solar/regional-test-centers-solar-technologies>`_.
Pecos is used to run daily analysis on data collected at several sites across the US.
For PV systems, the translation dictionary can be used to group data
according to the system architecture, which can include multiple strings and modules.
The time filter can be defined based on sun position and system location.
The data objects used in Pecos are compatible with PVLIB, which can be used to model PV
systems [SHFH16]_ (http://pvlib-python.readthedocs.io/).
The data objects used in Pecos are compatible with `PVLIB <http://pvlib-python.readthedocs.io/>`_, which can be used to model PV
systems [SHFH16]_.
Pecos also includes functions to compute PV specific metrics (i.e. insolation,
performance ratio, clearness index) in the :class:`~pecos.pv` module.
The International Electrotechnical Commission (IEC) has developed guidance to measure
and analyze energy production from PV systems.
[KlSC17]_ describes an application of the standards outlined in IEC 61724-3, using
Klise et al. [KlSC17]_ describe an application of IEC 61724-3, using
Pecos and PVLIB.
Pecos includes a PV system example in the `examples/pv <https://github.com/sandialabs/pecos/tree/master/examples/pv>`_ directory.

MRE quality control analysis
Marine renewable energy systems
--------------------------------
Pecos is also being used to perform quality control analysis on data collected from
marine renewable energy (MRE) systems including wave, tidal, and river
systems.
This effort is part of the `Marine and Hydrokinetic Toolkit (MHKiT) <https://mhkit-code-hub.github.io/MHKiT/>`_.

Performance metrics
---------------------
Pecos is typically used to run a series of quality control tests on data collected
over a set time interval (i.e. hourly, daily, weekly).
The metrics that are generated from each analysis can be used in additional
quality control analysis to track long term performance and system health (i.e. yearly summary reports).
Pecos includes a performance metrics example (based on one year of PV metrics)
in the `examples/metrics <https://github.com/sandialabs/pecos/tree/master/examples/metrics>`_ directory.

In partnership with National Renewable Energy Laboratory (NREL) and Pacific Northwest National Laboratory (PNNL), Pecos was integrated into the `Marine and Hydrokinetic Toolkit (MHKiT) <https://mhkit-code-hub.github.io/MHKiT/>`_ to support research funded by the Department of Energy’s Water Power Technologies Office. MHKiT provides provides the marine renewable energy (MRE) community with tools for data quality control, resource assessment, and device performance which adhere to the International Electrotechnical Commission (IEC) Technical Committee’s, IEC TC 114. Pecos provides a quality control analysis on data collected from
MRE systems including wave, tidal, and river systems.

Fossil energy systems
-----------------------

In partnership with National Energy Technology Laboratory (NETL), Pecos was extended to demonstrate real-time monitoring of coal-fired power plants in support of the Department of Energy's `Institute for the Design of Advanced Energy Systems (IDAES) <https://idaes.org/>`_.
As part of this demonstration, streaming algorithms were added to Pecos to facilitate near real-time analysis using continuous data streams.


Loading

0 comments on commit ffaed3b

Please sign in to comment.