Skip to main content
OpenOA

codecov


This library provides a framework for working with large timeseries data from wind plants, such as SCADA. Its development has been motivated by the WP3 Benchmarking (PRUF) project, which aims to provide a reference implementation for plant-level performance assessment.

Analysis routines are grouped by purpose into methods, and these methods in turn rely on more abstract toolkits. In addition to the provided analysis methods, anyone can write their own, which is intended to provide natural growth of tools within this framework.

The library is written around Pandas Data Frames, utilizing a flexible backend so that data loading, processing, and analysis could be performed using other libraries, such as Dask and Spark, in the future.

Requirements

  • Python 3.6+ with pip.

We strongly recommend using the Anaconda Python distribution and creating a new conda environment for OpenOA. You can download Anaconda through their website.

After installing Anaconda, create and activate a new conda environment with the name "openoa-env":

conda create --name openoa-env python=3
conda activate openoa-env

Installation:

Clone the repository and install the library and its dependencies using pip:

git clone https://github.com/NREL/OpenOA.git
pip install ./OpenOA

You should now be able to import operational_analysis from the Python interpreter:

python
>>> import operational_analysis

Development

Development dependencies are provided in a requirements.txt file.

We recommend utilizing a fresh virtual environment or Anaconda root before installing these requirements. To use requirements.txt:

pip install -r ./OpenOA/requirements.txt

Next, we recommend installing OpenOA in editable mode:

pip install -e ./OpenOA

Extracting Example Data

The example data will be automaticaly extracted as needed by the tests. The following command is provided for reference:

unzip examples/data/la_haute_borne.zip -d examples/data/la_haute_borne/

Testing

Tests are written in the Python unittest framework and are runnable using pytest. To run all tests with code coverage reporting:

pytest --cov=operational_analysis

To run unit tests only:

pytest --ignore=test/regression/ --cov=operational_analysis

Documentation

Documentation is automatically built by, and visible through, Read The Docs.

You can build the documentation with sphinx, but will need to ensure Pandoc is installed on your computer first:

cd sphinx
pip install -r requirements.txt
make html

Contributors

Alphabetically: Nathan Agarwal, Nicola Bodini, Anna Craig, Jason Fields, Rob Hammond, Travis Kemper, Joseph Lee, Monte Lunacek, John Meissner, Mike Optis, Jordan Perr-Sauer, Sebastian Pfaffel, Caleb Phillips, Eliot Quon, Sheungwen Sheng, Eric Simley, and Lindy Williams.

Release files for OpenOA 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for OpenOA 2.0.1
File Size Uploaded
OpenOA-2.0.1.tar.gz 72.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for OpenOA 2.0.1
File Interpreter ABI Platform
OpenOA-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 161.9 kB

Release files / OpenOA-2.0.1.tar.gz

Download URL OpenOA-2.0.1.tar.gz
Size 72.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c1b0b235179f748f3bfd2a51e8c4c1fba5312f3ef99673b02ed08f0262246367
BLAKE2b-256 checksum
How to use checksums
0cd4486e3a6ecb2aa9323169eba1ad6fc2bb9a561c2b55e9bb53433d2e5d3d16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6

Release files / OpenOA-2.0.1-py3-none-any.whl

Download URL OpenOA-2.0.1-py3-none-any.whl
Size 89.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
226ae1b98d6ff0f946f635ab96785ecaf36f322279b668268de5e0bf1e40f8ed
BLAKE2b-256 checksum
How to use checksums
e2f5266ccb3c9b0d2adaa8e58391274f3ce333e2b493c44b6c9c4d3d244f8000
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6

Release history Release notifications | RSS feed

3.2

2 release files

3.1.4

2 release files

3.1.3

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0

2 release files

2.3

2 release files

2.2

2 release files

This release

2.0.1 This release

2 release files

2.0.0

2 release files

0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page