Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Model chains #117

Merged
merged 106 commits into from
Nov 20, 2020
Merged
Show file tree
Hide file tree
Changes from 92 commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
546398c
Add normalized_filter() function to replace the mannual filter in exa…
mdeceglie May 22, 2019
04ed9f7
Initial working system analysis class
mdeceglie May 28, 2019
829543c
system analysis version that reproduces notebook results
mdeceglie May 31, 2019
599646f
Improve underlying analysis
mdeceglie May 31, 2019
b7c45c0
Allow poa, temperature, and temperature_coefficient to be None
mdeceglie May 31, 2019
9630408
Add system_analysis to rdtools namespace
mdeceglie May 31, 2019
c20da25
Basic example of system_analysis() use
mdeceglie May 31, 2019
6716846
Update degradation_and_soiling_example.ipynb
mdeceglie Jun 24, 2019
3182215
Update system_analysis_example notebook
mdeceglie Jun 24, 2019
6315594
Add a plotting module
mdeceglie Jun 25, 2019
bf6e8f4
Update notebook to use plotting module
mdeceglie Jun 25, 2019
be0a3a1
Add plotting methods
mdeceglie Jun 25, 2019
e4b3106
update system_analysis example notebook
mdeceglie Jun 25, 2019
557fdc2
add docstrings
mdeceglie Jun 25, 2019
a7b52a2
Delete model chain dev notes
mdeceglie Jun 25, 2019
f6be9d9
add matplotlib to setup.py and update requirements
mdeceglie Jul 2, 2019
20661a8
change matplotlib version
mdeceglie Jul 2, 2019
1b27251
Move docstring to class
mdeceglie Jul 3, 2019
d8909ae
renormalization bug fix
mdeceglie Sep 4, 2019
d8dda41
Update temperature input interface
mdeceglie Nov 4, 2019
2e292b5
update docstring for new temperature interface
mdeceglie Nov 4, 2019
0b92681
Remove __init__ docstring
mdeceglie Nov 5, 2019
20447e6
update class name to CamelCase
mdeceglie Nov 5, 2019
93a1347
update kwarg explanatations in docstrings
mdeceglie Nov 6, 2019
9c03791
remove model parameter from calc_clearsky_poa()
mdeceglie Nov 6, 2019
962ed2f
Update SystemAnalysis_example.ipynb
mdeceglie Nov 6, 2019
916200f
Reformat dosctrings to numpy style
mdeceglie Nov 12, 2019
c8a9af3
command style docstrings
mdeceglie Nov 12, 2019
40fd133
Remove duplicate line
mdeceglie Nov 14, 2019
3350b31
Update plotting docstrings to numpy style
mdeceglie Nov 14, 2019
9043b19
Format normalized_filter docstring according to numpy style
mdeceglie Nov 14, 2019
36ca2bd
Add an ad hoc filter example to the notebook
mdeceglie Nov 14, 2019
7fdafe8
Fixes system_analysis bug #132 when pv_nameplate is passed into syste…
cdeline Mar 10, 2020
a784c81
typo fix
mdeceglie Apr 10, 2020
4acfd75
add bins parameter to plotting.degradation_summary_plot from #132
kandersolar Feb 4, 2020
dd5902e
plotting bug fix
cdeline Apr 21, 2020
a6be7ab
Drop py2.7 and add 3.7 and 3.8 to testing (#135)
kandersolar Jan 31, 2020
16c3959
add matplotlib to requirements
cdeline Apr 22, 2020
be8d66d
matplotlib 3.1
cdeline Apr 22, 2020
9629adb
matplotlib
cdeline Apr 22, 2020
cfe60df
Merge branch 'development' into model_chains
cdeline Apr 22, 2020
edf361d
merge pytests and jupyter example
cdeline Apr 22, 2020
4353fc0
PVLib > 0.7 changes to cell_temp calculation
cdeline Jun 23, 2020
0d0c3a7
Merge branch 'development' into model_chains
cdeline Aug 5, 2020
4a8df0a
Merge branch 'master' into model_chains
mdeceglie Aug 18, 2020
11969d3
Modelchain pytests (#196)
cdeline Sep 24, 2020
079e6e4
Merge remote-tracking branch 'remotes/origin/master' into model_chains
cdeline Oct 20, 2020
75e5597
Update tests, include tables in setup.py
cdeline Oct 21, 2020
6b368f5
suppress import warnings for soiling module.
cdeline Oct 22, 2020
c1f4b79
Merge branch 'master' of https://github.com/NREL/rdtools into model_c…
cdeline Oct 26, 2020
fffbbf9
Merge branch 'development' of https://github.com/NREL/rdtools into mo…
cdeline Oct 26, 2020
a312855
Merge remote-tracking branch 'remotes/origin/development' into model_…
cdeline Oct 30, 2020
7d68e29
Change warning suppression from warnings.resetwarnings to with warnin…
cdeline Oct 30, 2020
ec56eff
Merge remote-tracking branch 'remotes/origin/development' into model_…
cdeline Nov 3, 2020
4328f22
Model chains exp energy (#232)
cdeline Nov 9, 2020
04ff5e5
pep8 compliance
mdeceglie Nov 12, 2020
780373d
more robust frequency check
mdeceglie Nov 12, 2020
3cb3cfd
shorten long lines
mdeceglie Nov 12, 2020
cd9afe4
Model chains set clearsky (#233)
cdeline Nov 12, 2020
7e47999
improve index equality conditional
mdeceglie Nov 12, 2020
7e3193e
Merge branch 'model_chains' of https://github.com/NREL/rdtools into m…
mdeceglie Nov 12, 2020
3e1d7d6
pep8 cleanup
mdeceglie Nov 13, 2020
ef9552a
change dict key syntax
mdeceglie Nov 13, 2020
f3ad18e
Clarify behavior when pv_nameplate is omitted
mdeceglie Nov 13, 2020
e24ffd8
Useful errors for plotting methods
mdeceglie Nov 13, 2020
3907d87
update requreiments for tables
mdeceglie Nov 13, 2020
a558bb0
reduce minimum version of tables
mdeceglie Nov 13, 2020
f4d97d7
Delete RdAnalysis_example.ipynb
mdeceglie Nov 17, 2020
e7a2d4d
Remove max_timedelta parameter use in PVDAQ example
mdeceglie Nov 17, 2020
9782d8c
Move sun position calculation to clearsky section of example
mdeceglie Nov 17, 2020
016166e
Merge branch 'development' into model_chains
mdeceglie Nov 17, 2020
d503814
Update chage log version number
mdeceglie Nov 17, 2020
a7ab0ce
Allow warning for experimental modules
mdeceglie Nov 17, 2020
20f8569
pep8 analysis_test.py
mdeceglie Nov 17, 2020
44ecd5c
Change module and class names
mdeceglie Nov 17, 2020
fc1f608
Update example with new module/class name
mdeceglie Nov 17, 2020
22d4dd1
Fix outdated ref to system_analysis
mdeceglie Nov 17, 2020
a2b1905
Update api.rst with analysis chains module name
mdeceglie Nov 18, 2020
b32fc63
Fix changelog underline length
mdeceglie Nov 18, 2020
c65efb5
update index.rst with TrendAnalysis info
mdeceglie Nov 18, 2020
04ca63c
poa -> poa_global
mdeceglie Nov 18, 2020
961620d
cell_temperature -> temperature_cell
mdeceglie Nov 18, 2020
3cbc453
ambient_temperature->temperature_ambient
mdeceglie Nov 19, 2020
f88828b
temperature_coefficient->gamma_pdc
mdeceglie Nov 19, 2020
a840f66
temperature_model docstring
mdeceglie Nov 19, 2020
5c8c746
pv_nameplate->power_dc_rated
mdeceglie Nov 19, 2020
10f28fd
clearsky_poa->poa_global_clearsky
mdeceglie Nov 19, 2020
fb19a13
clearsky_temperature_cell->temperature_cell_clearsky
mdeceglie Nov 19, 2020
4477fe6
clearsky_temperature_ambient->temperature_ambient_clearsky
mdeceglie Nov 19, 2020
c9c5a5d
Align yoy and srr parameters with functional API
mdeceglie Nov 19, 2020
484d6b2
Use `case` in plotting methods
mdeceglie Nov 19, 2020
4f27fa5
Change notebook kernel
mdeceglie Nov 19, 2020
f508a05
weakly privatize some methods
mdeceglie Nov 19, 2020
96f5a80
Update rdtools/analysis_chains.py
mdeceglie Nov 19, 2020
9c5507b
Interpolate windspeed
mdeceglie Nov 19, 2020
e3de5c6
Merge branch 'model_chains' of https://github.com/NREL/rdtools into m…
mdeceglie Nov 19, 2020
f743671
Update rdtools/analysis_chains.py
mdeceglie Nov 19, 2020
00a9ef7
implement review suggestions
mdeceglie Nov 19, 2020
5b9d441
more TrendAnalysis tests to improve coverage
kandersolar Nov 20, 2020
a61ee61
cleanup
kandersolar Nov 20, 2020
5112cc4
Fix copy/paste error in notebook
mdeceglie Nov 20, 2020
d28943c
change _calc_cell_temeprature parameter order
mdeceglie Nov 20, 2020
aba0a7b
More elegant error if filtering results in empty series
mdeceglie Nov 20, 2020
4f689c3
Changelog consolidation
mdeceglie Nov 20, 2020
41e5d0d
Merge pull request #242 from kanderso-nrel/model_chains_coverage
mdeceglie Nov 20, 2020
34b3d09
change log update
mdeceglie Nov 20, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
798 changes: 798 additions & 0 deletions docs/TrendAnalysis_example_pvdaq4.ipynb

Large diffs are not rendered by default.

440 changes: 250 additions & 190 deletions docs/degradation_and_soiling_example_pvdaq_4.ipynb

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion docs/notebook_requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ pyzmq==17.1.0
qtconsole==4.3.1
Send2Trash==1.5.0
simplegeneric==0.8.1
tables==3.6.1
terminado==0.8.1
testpath==0.3.1
tornado==5.1
Expand Down
3 changes: 3 additions & 0 deletions docs/sphinx/source/TrendAnalysis_example.nblink
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"path": "../../TrendAnalysis_example_pvdaq4.ipynb"
}
19 changes: 19 additions & 0 deletions docs/sphinx/source/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ analysis workflow.
.. autosummary::
:toctree: generated/

analysis_chains
degradation
soiling
availability
Expand All @@ -23,7 +24,25 @@ analysis workflow.
clearsky_temperature
plotting

Analysis Chains
===============

Object-oriented end-to-end analysis

.. autosummary::
:toctree: generated/

analysis_chains.TrendAnalysis
analysis_chains.TrendAnalysis.set_clearsky
analysis_chains.TrendAnalysis.sensor_analysis
analysis_chains.TrendAnalysis.clearsky_analysis
analysis_chains.TrendAnalysis.plot_degradation_summary
analysis_chains.TrendAnalysis.plot_soiling_rate_histogram
analysis_chains.TrendAnalysis.plot_soiling_interval
analysis_chains.TrendAnalysis.plot_soiling_monte_carlo
analysis_chains.TrendAnalysis.plot_pv_vs_irradiance


Degradation
===========

Expand Down
2 changes: 2 additions & 0 deletions docs/sphinx/source/changelog.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
RdTools Change Log
==================

.. include:: changelog/v2.1.0-beta.0.rst
.. include:: changelog/v2.0.2.rst
.. include:: changelog/v2.0.1.rst
.. include:: changelog/v2.0.0.rst
.. include:: changelog/pre_2.0.0.rst


52 changes: 52 additions & 0 deletions docs/sphinx/source/changelog/v2.1.0-beta.0.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
*********************************
v2.1.0-beta.0 (November XX, 2020)
*********************************

API Changes
-----------
* Add :py:class:`~rdtools.analysis_chains.TrendAnalysis` class for single-line analysis. (:pull:`117`).

Enhancements
------------
* Add new :py:mod:`~rdtools.analysis_chains` module to focus on single-line analysis workflow
(:pull:`117`).
* Add :py:class:`~rdtools.analysis_chains.TrendAnalysis` class for single-line analysis.
Degradation analysis is run by :py:meth:`~rdtools.analysis_chains.TrendAnalysis.sensor_analysis`
and :py:meth:`~rdtools.analysis_chains.TrendAnalysis.clearsky_analysis`. Soiling analysis
is run by including 'srr_soiling' option when calling
:py:meth:`~rdtools.analysis_chains.TrendAnalysis.sensor_analysis` (:pull:`117`).


Bug fixes
---------


Testing
-------
* Complete testing for functions and plotting of :py:mod:`~rdtools.analysis_chains` module (:pull:`196`).


Documentation
-------------
* :py:class:`~rdtools.analysis_chains.TrendAnalysis` docstrings (:pull:`117`).


Requirements
------------
* tables=3.6.1 now added to requirements.txt and setup.py (:pull:`196`).

Example Updates
---------------
* New example notebook based on PVDAQ system #4 for the new :py:class:`~rdtools.analysis_chains.TrendAnalysis`
analysis workflow (:pull:`196`).
* Update the standard PVDAQ system #4 workbook to match best practice, including
`pvlib.get_total_irradiance()` and `max_timedelta = '15T'` in rdtools.interpolate (:pull:`196`).
* Update the standard PVDAQ system #4 workbook to include a single `soiling * ac_power`
analysis (:pull:`196`).


Contributors
------------
* Mike Deceglie (:ghuser:`mdeceglie`)
* Kevin Anderson (:ghuser:`kanderso-nrel`)
* Chris Deline (:ghuser:`cdeline`)
12 changes: 10 additions & 2 deletions docs/sphinx/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Full examples are worked out in the example notebooks in the
To report issues, contribute code, or suggest improvements to this
documentation, visit the RdTools development repository on `github`_.

Degradation and Soiling
Trends
-----------------------

Both degradation and soiling analyses are based on normalized yield, similar to performance
Expand Down Expand Up @@ -98,6 +98,13 @@ identified soiling rates for the dataset.
:width: 320
:height: 216

TrendAnalysis
^^^^^^^^^^^^^
An object-oriented API for complete soiling and degradation analysis including
the normalize, filter, aggregate, analyze steps is available in
:py:class:`.analysis_chains.TrendAnalysis`. See the `TrendAnalysis example`_
for details.

Availability
------------

Expand Down Expand Up @@ -285,6 +292,7 @@ Documentation Contents
:maxdepth: 2

Degradation and Soiling <rd_example>
TrendAnalysis <TrendAnalysis_example>
Inverter Downtime <system_availability_example>
API Reference <api>
Change Log <changelog>
Expand All @@ -299,7 +307,7 @@ Indices and tables


.. links and references

.. _TrendAnalysis example: TrendAnalysis_example.nblink
.. _example notebook: rd_example.nblink
.. _release: https://github.com/NREL/rdtools/releases
.. _github: https://github.com/NREL/rdtools
7 changes: 4 additions & 3 deletions rdtools/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@
from rdtools.filtering import tcell_filter
from rdtools.filtering import clip_filter
from rdtools.filtering import normalized_filter
# from rdtools.soiling import soiling_srr
# from rdtools.soiling import monthly_soiling_rates
# from rdtools.soiling import annual_soiling_ratios
#from rdtools.soiling import soiling_srr
#from rdtools.soiling import monthly_soiling_rates
#from rdtools.soiling import annual_soiling_ratios
from rdtools.analysis_chains import TrendAnalysis
from rdtools.plotting import degradation_summary_plots
# from rdtools.plotting import soiling_monte_carlo_plot
# from rdtools.plotting import soiling_interval_plot
Expand Down
Loading