Plant_CostsSE is a set of models for analyzing wind plant balance of station and operational expenditures for both land-based and offshore wind plants. (See separate notes on the land-based balance of station model at the bottom of this page).

Author: K. Dykes


This software is a beta version 0.1.1.

Detailed Documentation

For detailed documentation see


General: NumPy, SciPy, Swig, pyWin32, MatlPlotLib, Lxml, OpenMDAO


Wind Plant Framework: FUSED-Wind (Framework for Unified Systems Engineering and Design of Wind Plants)

Sub-Models: CommonSE

Supporting python packages: Pandas, Algopy, Zope.interface, Sphinx, Xlrd, PyOpt, py2exe, Pyzmq, Sphinxcontrib-bibtex, Sphinxcontrib-zopeext, Numpydoc, Ipython


First, clone the repository or download the releases and uncompress/unpack (|release|.tar.gz or|release|.zip) from the website link at the bottom the Plant_CostsSE site.

Install PLant_CostsSE within an activated OpenMDAO environment:

$ plugin install

It is not recommended to install the software outside of OpenMDAO.

Run Unit Tests

To check if installation was successful try to import the module in an activated OpenMDAO environment:

$ python
> import plant_costsse.nrel_csm_bos.nrel_csm_bos
> import plant_costsse.nrel_csm_opex.nrel_csm_opex
> import plant_costsse.ecn_opex_offshore.ecn_opex_offshore

Note that you must have the ECN Offshore OPEX model and license in order to use the latter module. This software contains only the OpenMDAO wrapper for the model.

You may also run the unit tests which include functional and gradient tests. Analytic gradients are provided for variables only so warnings will appear for missing gradients on model input parameters; these can be ignored.

$ python src/test/

If you have the ECN model, you may run the ECN test which checks for a non-zero value for operational expenditures. You will likely need to modify the code for the ECN model based on the version you have and its particular configuration.

$ python src/test/

For software issues please use For functionality and theory related questions and comments please use the NWTC forum for Systems Engineering Software Questions.


A C version of the NREL land-based balance of station model. A continuously differentiable version is also implemented for use in gradient-based optimization applications. The repository also includes a Python wrapper, an OpenMDAO wrapper and a C++ wrapper all using the same core implementation.

C Implementation:

All computations are done here.


A "smoothed" version is provided for use in gradient-based optimization applications

LandBOSsmooth.c (uses same header file)

C++ wrapper:

An object-oriented wrapper to simplify i/o. Uses original implementation (LandBOS.c)

(also maintest.cpp, makefile, just to test running it)

Python wrapper:

A one-to-one mapping, making all C functions available from Python. By default, the smooth version is used. But this can be swapped by editing line 23 in

_landbos.c (generated from Cython, can be compiled directly as a Python extension)
_landbos.pyx, c_landbos.pxd (for development use with Cython) (used to install Python module)

OpenMDAO wrapper:

An OpenMDAO assembly to facilitate gradient propogation.

Unit Tests:

test/ (tests core C functionality. Unit tests run through the Python wrapper.)
test/ (tests OpenMDAO workflow)

Wind and Water Tools: ,

You must log in to download this software.

If you want to refer to this website in a report, here is a reference you can use:
NWTC Information Portal (Plant_CostsSE). Last modified 21-September-2014 ; Accessed 18-March-2019