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

Joss #88

Merged
merged 48 commits into from
Nov 6, 2023
Merged

Joss #88

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
91ef843
Updating contributing page and adding a few lines to gitignore
kbonney Mar 16, 2023
710e67b
Small edit
kbonney Mar 16, 2023
365a27f
adding files to paper folder for JOSS
kbonney Apr 27, 2023
caeb659
Adding joss workflow
kbonney Apr 27, 2023
a09cdb3
Making adjustments to get joss workflow to run
kbonney Apr 27, 2023
bff0bc2
Minor updates to bib formatting and spacing in paper
kbonney Apr 27, 2023
bb9ce4a
Attempt at fixing table newlines
kbonney Apr 28, 2023
ca85ca4
Another attempt
kbonney Apr 28, 2023
ae6ae5b
Attempt 3
kbonney Apr 28, 2023
f482fb6
Now we are on track
kbonney Apr 28, 2023
328a6c5
Trying html unordered lists
kbonney Apr 28, 2023
5a0a0fb
testing a new table format
kbonney May 3, 2023
0e96e8e
try again
kbonney May 3, 2023
f9c8be6
attempting a picture approach
kbonney May 3, 2023
b016eb2
Adding JOSS status
kbonney Jun 13, 2023
42ab20c
Merge pull request #45 from kbonney/patch-1
kbonney Jun 13, 2023
cb0243e
Updating python setup action in testing workflow
kbonney Jun 23, 2023
2526d49
Merge pull request #43 from kbonney/contributing
kbonney Jun 23, 2023
a4de9a4
Keyword search in text from reference dictionary (#46)
charity-kwha Jul 7, 2023
b0beb08
updating testing and linting workflow
kbonney Aug 9, 2023
810dd43
Fixing minor flake8 issues from latest flake8 version
kbonney Aug 9, 2023
bc94ccc
Adding links to example code in user guides and pulling some incomple…
kbonney Aug 28, 2023
a5e3b4c
Merge remote-tracking branch 'sandialabs/joss' into joss
kbonney Aug 28, 2023
0d7d9b4
Adding module overview to index
kbonney Aug 28, 2023
93a89a7
Merge pull request #48 from kbonney/workflows
tgunda Aug 29, 2023
4f0ed58
Merge pull request #53 from kbonney/issue-49
tgunda Aug 29, 2023
fe6e657
Merge pull request #54 from kbonney/issue-51
tgunda Aug 29, 2023
c0a0d55
updating paper to show failed formatting on table
kbonney Aug 30, 2023
98d5e71
updating the gitignore with standard python ignores (#79)
kbonney Oct 5, 2023
8bf2f6c
[JOSS review] Updates to the documentation (#74)
AdamRJensen Oct 5, 2023
08911d7
Add Python 3.11 to test environment (#57)
AdamRJensen Oct 5, 2023
01be577
Addressing various JOSS review comments
kbonney Oct 5, 2023
bf91ab6
[JOSS review] Update tested versions in documentation (#58)
AdamRJensen Oct 16, 2023
fcb6301
Docs updates (#81)
kbonney Oct 17, 2023
d21db98
Update .readthedocs.yml
kbonney Oct 17, 2023
ef4f015
troubleshooting rtd
kbonney Oct 18, 2023
75fbbb3
rtd
kbonney Oct 18, 2023
506b0eb
Docs updates (#82)
kbonney Oct 19, 2023
28778d1
Update builddocs.yml
kbonney Oct 19, 2023
96163e2
Merge branch 'master' into joss
kbonney Oct 24, 2023
5b19da3
attempting latex table
kbonney Oct 24, 2023
9f0f216
adding dependencies
kbonney Oct 24, 2023
536ebdf
reverting to simplified markdown style table
kbonney Oct 24, 2023
00f3697
adding missing italics
kbonney Oct 24, 2023
0edee50
joss paper updates based on adam's comments
kbonney Nov 6, 2023
ab59f5e
Merge branch 'joss' into joss
kbonney Nov 6, 2023
6cfbc22
updating bib file
kbonney Nov 6, 2023
8f68161
Merge remote-tracking branch 'origin/joss' into joss
kbonney Nov 6, 2023
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
7 changes: 7 additions & 0 deletions paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -184,4 +184,11 @@ @article{pedregosa2011sklearn
journal={Journal of Machine Learning Research},
volume={12},
pages={2825--2830}
}

@techreport{perry2022pvanalytics,
title={PVAnalytics: A Python Package for Automated Processing of Solar Time Series Data},
author={Perry, Kirsten and Vining, William and Anderson, Kevin and Muller, Matthew and Hansen, Cliff},
year={2022},
institution={National Renewable Energy Lab.(NREL), Golden, CO (United States)}
}
6 changes: 3 additions & 3 deletions paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ The purpose of `pvOps` is to support empirical evaluations of data collected in

# Statement of Need

Continued interest in PV deployment across the world has resulted in increased awareness of needs associated with managing reliability and performance of these systems during operation. Current open-source packages for PV analysis focus on theoretical evaluations of solar power simulations (e.g., `pvlib`; [@holmgren2018pvlib]), specific use cases of empirical evaluations (e.g., `RdTools`; [@deceglie2018rdtools] and `Pecos`; [@klise2016performance] for degradation analysis), or analysis of electroluminescene images (e.g., `PVimage`; [@pierce2020identifying]). However, a general package that can support data-driven, exploratory evaluations of diverse field collected information is currently lacking. To address this gap, we present `pvOps`, an open-source, Python package that can be used by researchers and industry analysts alike to evaluate different types of data routinely collected during PV field operations.
Continued interest in PV deployment across the world has resulted in increased awareness of needs associated with managing reliability and performance of these systems during operation. Current open-source packages for PV analysis (see [openpvtools](https://openpvtools.readthedocs.io/en/latest/) for a list) focus on theoretical evaluations of solar power simulations (e.g., `pvlib`; [@holmgren2018pvlib]), data cleaning and feature development for production data (e.g., `pvanalytics`; [@perry2022pvanalytics]), specific use cases of empirical evaluations (e.g., `RdTools`; [@deceglie2018rdtools] and `Pecos`; [@klise2016performance] for degradation analysis), or analysis of electroluminescene images (e.g., `PVimage`; [@pierce2020identifying]). However, a general package that can support data-driven, exploratory evaluations of diverse field collected information is currently lacking. For example, a maintenance log that describes an inverter failure may be temporally correlated to a dip in production levels. Identifying these relationships improve understanding of the impacts of certain types of failures on a PV plant. To address this gap, we present `pvOps`, an open-source, Python package that can be used by researchers and industry analysts alike to evaluate and extract insights from different types of data routinely collected during PV field operations.

PV data collected in the field varies greatly in structure (i.e., timeseries and text records) and quality (i.e., completeness and consistency). The data available for analysis is frequently semi-structured. Furthermore, the level of detail collected between different owners/operators might vary. For example, some may capture a general start and end time for an associated event whereas others might include additional time details for different resolution activities. This diversity in data types and structures often leads to data being under-utilized due to the amount of manual processing required. To address these issues, `pvOps` provides a suite of data processing, cleaning, and visualization methods to leverage insights across a broad range of data types, including operations and maintenance records, production timeseries, and IV curves. The functions within `pvOps` enable users to better parse available data to understand patterns in outages and production losses.

Expand All @@ -52,7 +52,7 @@ The following table summarizes the four modules within `pvOps` by presenting: th

Module | Type of data | Example data features | Highlights of functions
------- | ------ | --------- | -----------
text | O&M records | timestamps, issue description, issue classification | fill data gaps in dates and categorical records, visualize word clusters and patterns over time
text | O&M records | *timestamps*, *issue description*, *issue classification* | fill data gaps in dates and categorical records, visualize word clusters and patterns over time
timeseries | Production data | *site*, *timestamp*, *power production*, *irradiance* | estimate expected energy with multiple models, evaluate inverter clipping
text2time | O&M records and production data | see entries for `text` and `timeseries` modules above | analyze overlaps between O&M and production (timeseries) records, visualize overlaps between O&M records and production data
iv | IV records | *current*, *voltage*, *irradiance*, *temperature* | *simulate* IV curves with physical faults, extract diode parameters from IV curves,. classify faults using IV curves
Expand All @@ -71,7 +71,7 @@ The `pvOps` functionality and documentation continues to be improved and updated

<!-- see: https://www.elsevier.com/authors/policies-and-guidelines/credit-author-statement -->

KLB: Writing - Original Draft; TG: Conceptualization, Writing - Original Draft; MWH: Writing - Review & Editing; HM: Writing - Review & Editing; NDJ: Conceptualization, Funding Acquisition, Project Administration, Supervision, Writing - review & editing.
KLB: Writing - Original Draft, Software - Software Development; TG: Conceptualization, Writing - Original Draft; MWH: Writing - Review & Editing, Software - Software Development; HM: Writing - Review & Editing, Software - Software Development; NDJ: Conceptualization, Funding Acquisition, Project Administration, Supervision, Writing - Review & Editing.

# Acknowledgements
This material is supported by the U.S. Department of Energy, Office of Energy Efficiency and Renewable Energy - Solar Energy Technologies Office. Sandia National Laboratories, a multimission laboratory managed and operated by National Technology and Engineering Solutions of Sandia LLC, a wholly owned subsidiary of Honeywell International Inc. for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.
Expand Down
Loading