wcomp
is a Python-based framework for comparing the wind turbine and wind farm wake
calculations from a class of simulation software that typically have the following
characteristics:
- Python-based
- Low-fidelity, analytical models
- Research oriented
The objective is to provide a framework for characterizing the spread in implementations and customizations of a common set of mathematical wake models.
This framework and simple use cases were presented at the
2023 Wind Energy Sciences Conference in Glasgow, Scotland, by Rafael Mudafort.
The slides from this talk are available at
here,
and a corresponding executable notebook is here.
Documentation for wcomp
is available at https://rafmudaf.github.io/wcomp/.
DOI: 10.11578/dc.20231113.4
Currently, wcomp
must be installed manually pip
. The dependencies are:
- windIO v1.0, can be installed directly from PyPI
- FLORIS v3.6 can be installed directly from PyPI
- foxes v0.6.2, can be installed directly from PyPI
- PyWake v2.5.0 plus three additional commits, must be installed from https://github.com/rafmudaf/PyWake at master branch
Follow these steps to install the dependencies and wcomp
:
- Create a new Python environment
- Install the dependencies:
pip install windIO
pip install foxes==v0.6.2
pip install floris==v3.6
git clone https://github.com/rafmudaf/PyWake && pip install -e PyWake/
- Install
wcomp
:
git clone https://github.com/rafmudaf/wcomp
pip install -e wcomp
The wcomp
framework is meant to be simple and flexible. At it's core, it is three
district components:
- A connection to the windIO interface for each integrated wake modeling software
- A library of data structures to represent the results of a wake calculation
- A library of plotting methods that couple with the included data structures
Any methods related to wind farm simulations or the calculation of related values or statistics should exist in the wake modeling software packages themselves. This framework should remain the point of the connection across this class of software.
The architecture of this framework is outlined below. The integrated wake modeling
software are dependencies of wcomp
, but their source code is external to this repository.
The windIO
package is used both to define the comparison cases and to load the input files.
graph TD
L["FLORIS"]
M["FOXES"]
N["PyWake"]
A["windIO"]
subgraph a[wcomp]
B["Model Interface"]
C["Output Data Structure"]
D["Plotting"]
end
L --> a
M --> a
N --> a
A --> B
C --> B
See the Architecture and API documentation for more information.