Skip to main content

A package for collecting and assigning wind turbine metrics

Project description

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

Special Note for users of Microsoft Windows:

The Anaconda python distribution is required for users of Microsoft Windows. This is because the pip package of GDAL for Windows requires Visual Studio to compile some of the dependencies. While advanced users are welcome to explore this option, we find it is easier to install the following packages via Anaconda:

conda install shapely
conda install geos
conda install fiona

If errors about Visual Studio persist, you can try downloading the Microsoft Visual Studio compiler for Python and compiling GDAL yourself.

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 -o python_files=test/*.py --cov=operational_analysis

To run unit tests only:

pytest -o python_files=test/test_*.py --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, 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

OpenOA-2.0.0.tar.gz (70.4 kB view details)

Uploaded Source

Built Distribution

OpenOA-2.0.0-py3-none-any.whl (74.4 kB view details)

Uploaded Python 3

File details

Details for the file OpenOA-2.0.0.tar.gz.

File metadata

  • Download URL: OpenOA-2.0.0.tar.gz
  • Upload date:
  • Size: 70.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for OpenOA-2.0.0.tar.gz
Algorithm Hash digest
SHA256 d167d245908b3e9423f6b8245327ee5495838c227f5acc88b61d4bc094f64f91
MD5 541f9a187738cb1a4f69a842d414c491
BLAKE2b-256 20216591378596354881c1a141c3e24ef31f376cb97bb0a3b47508ae6836b88a

See more details on using hashes here.

Provenance

File details

Details for the file OpenOA-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: OpenOA-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 74.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for OpenOA-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a75e96656a777e4bf7c9609ea7cbe707b127196feedeb5a06dd1ff3c5065052
MD5 9e8414ba5a8275e32e8d10b436fa4cf2
BLAKE2b-256 d4f34ec6f3cfe9cbfa3e6af95680af97fab0640a1426f81f0fe04d216e955905

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page