NREL is a national laboratory of the U.S. Department of Energy, Office of Energy 

Efficiency & Renewable Energy, operated by the Alliance for Sustainable Energy, LLC.

Contract No. DE-AC36-08GO28308

The SOWFA Super-Controller: A 

High-Fidelity Tool for Evaluating 

Wind Plant Control Approaches

Preprint

P. Fleming, S. Lee, M. Churchfield, 

A. Scholbrock, J. Michalakes, K. Johnson, 

and P. Moriarty

National Renewable Energy Laboratory

P. Gebraad and J. van Wingerden

TU Delft

To be presented at EWEA 2013

Vienna, Austria

February 4-7, 2013

Conference Paper

NREL/CP-5000-57175 

January 2013
NOTICE

The submitted manuscript has been offered by an employee of the Alliance for Sustainable Energy, LLC 

(Alliance), a contractor of the US Government under Contract No. DE-AC36-08GO28308. Accordingly, the US 

Government and Alliance retain a nonexclusive royalty-free license to publish or reproduce the published form of 

this contribution, or allow others to do so, for US Government purposes.

This report was prepared as an account of work sponsored by an agency of the United States government. 

Neither the United States government nor any agency thereof, nor any of their employees, makes any warranty, 

express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of 

any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately 

owned rights. Reference herein to any specific commercial product, process, or service by trade name, 

trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, 

or favoring by the United States government or any agency thereof. The views and opinions of authors 

expressed herein do not necessarily state or reflect those of the United States government or any agency thereof.

Available electronically at http://www.osti.gov/bridge

Available for a processing fee to U.S. Department of Energy

and its contractors, in paper, from:

U.S. Department of Energy

Office of Scientific and Technical Information

P.O. Box 62

Oak Ridge, TN 37831-0062

phone: 865.576.8401

fax: 865.576.5728

email: mailto:reports@adonis.osti.gov

Available for sale to the public, in paper, from:

U.S. Department of Commerce

National Technical Information Service

5285 Port Royal Road

Springfield, VA 22161

phone: 800.553.6847

fax: 703.605.6900

email: orders@ntis.fedworld.gov

online ordering: http://www.ntis.gov/help/ordermethods.aspx

Cover Photos: (left to right) PIX 16416, PIX 17423, PIX 16560, PIX 17613, PIX 17436, PIX 17721

Printed on paper containing at least 50% wastepaper, including 10% post consumer waste.
1 

The SOWFA Super-Controller: A High-Fidelity Tool for 

Evaluating Wind Plant Control Approaches

Paul Fleming,

† Pieter Gebraad,‡ Jan-Willem van Wingerden,‡ Sang Lee,† Matt Churchfield,† Andrew 

Scholbrock,

†

 John Michalakes,

† Kathryn Johnson,† and Pat Moriarty†

Abstract

This paper presents a new tool for testing wind 

plant controllers in the Simulator for Offshore 

Wind Farm Applications (SOWFA). SOWFA is a 

high-fidelity simulator for the interaction between 

wind turbine dynamics and the fluid flow in a 

wind plant. The new super-controller testing 

environment in SOWFA allows for the 

implementation of the majority of the wind plant 

control strategies proposed in the literature. 

Case studies are presented at results from a 

yaw control scheme are promising.

Keywords: wind plants, control engineering, 

software tools

1 Introduction

Wind energy offers a great potential to realize 

the desired reduction in carbon emissions of 

20% by 2020 in the European Union; however, 

the current high costs of wind energy production 

impede further deployment of large-scale wind 

parks.

The reduction of cost of energy (CoE) in wind

power is at the center of many ongoing research 

efforts. Improved control design is one focus; 

advances in controls can lead to reduced 

loading and increased power capture, both of 

which can potentially reduce the CoE. In the 

past, much of this research focused on 

improving the controller of a single turbine, but 

recent research has shifted toward improving 

the performance of the wind plant as a whole

through organized control operations across 

turbines.

Intelligent wind plant controls have the possibility 

to reduce the CoE of wind power by maximizing 

the total power output of the wind plant (instead 

of each individual turbine, which could be 

suboptimal) as well as by helping to reduce the 

loads experienced by turbines. These benefits 

are gained by accounting for the way turbines 

affect each other through their wakes and 

attempting to reduce or direct these wakes 

through changes to the turbine controllers. The 

wake following a turbine can be affected by 

changing the yaw orientation of the turbine 

and/or its power extraction level [1]. 

1.1 Current State-of-the-Art Wind 

Farm Control

Wind farm control is to date a relatively 

unexplored field. Recently, an increasing 

number of approaches for wind plant control 

have been proposed in the literature. Although

the methods are diverse, a typical theme is to 

move from “greedy” algorithms, where each 

turbine controls itself for optimal individual 

performance in isolation, to centralized

algorithms, which modify a base turbine 

algorithm to yield enhanced global performance.

Examples that fit this approach include 

controllers modifying the axial induction factor of 

the turbines by adjusting blade pitch and 

generator torque away from individually optimal

settings to reduce the wake effect ([2]–[6]) and 

controllers that orient the turbine yaw away from 

† National Renewable Energy 

Laboratory, 1617 Cole Blvd, Golden, 

CO 80401, USA

Paul.fleming@nrel.gov

‡ Delft University of Technology 

Mekelweg 2, 

2628 CD Delft, The Netherlands
2 

the wind to deflect the wake downstream of the 

rotor [7]. 

Many of the proposed controllers rely on strong 

simplifying assumptions, such as a strict 

separation between the wind farm controller and 

the local wind turbine controllers and static wind 

inflow to the plant. These allow implementation 

in current software architectures, but testing 

controller reaction to time-varying wake 

interaction is infeasible [8]–[13]. For example, in 

[8], it is shown that turbine power set points can 

be optimized for a static case; however, the 

computational burden of the solution of the 

underlying fluid-dynamics problem makes this 

approach unsuitable for real-time adjustments. 

In [10]–[11], in which the wind farm controller of 

the Horns Rev wind farm is presented, a slow 

proportional-integral (PI) controller is used to 

control the overall power output, but the 

individual power set points are generated by a 

static function, therefore this controller is unable 

to adapt to time-varying wake interaction. 

Time-varying wake dynamics have a significant 

impact on the performance of wind plant 

controllers; however, many proposed wind plant 

control approaches to date have been tested 

only in a highly simplified modeling environment.

Notable exceptions were the tests performed in 

[7], [14]–[15], which used wind tunnels or a 

scaled wind farm. However, a high-fidelity 

simulation tool in which wind plant control 

algorithms can be evaluated and compared is 

essential for researching and developing wind 

plant controllers. This tool should allow for 

testing wind plant controllers at fidelity 

comparable to what has been available for 

individual turbine controller development in the 

past.

In this paper, we present the Simulator for 

Offshore Wind Farm Applications (SOWFA), 

specifically the super-controller functionality that

has been recently developed. The supercontroller is a software architecture that can be 

tailored to implement the majority of wind plant 

control systems proposed in the literature. This 

new capability enables the SOWFA to perform

high-fidelity simulations of wind plant controls. 

In Section 2, we review the SOWFA tool itself. 

This is followed in Section 3 by an overview of 

the super-controller architecture specifically. In 

Section 4, we present several ongoing case 

studies meant to illustrate the functionality of the 

Figure 1. SOWFA simulation of two turbines subjected to an atmospheric boundary layer. The streamlines 

show the instantaneous velocity contours [17].
3 

tool and motivate further research. Finally, 

Section 5 presents conclusions.

2 SOWFA

SOWFA [16] is a computational fluid dynamics 

solver based on OpenFOAM (Open-source Field 

Operations and Manipulations) libraries [17]

coupled with FAST (the National Renewable 

Energy Laboratory’s [NREL] open-source wind 

turbine simulator [18]) that allows users to 

investigate wind turbine performance under 

various atmospheric conditions. The governing 

equations for the fluid dynamics are derived 

from the incompressible Navier-Stokes

equations in which the buoyancy effect is 

computed using the Boussinesq approximation. 

The equations are discretized using an 

unstructured collocated finite-volume 

formulation. The second-order centraldifferencing scheme is employed and uses the 

Rhie and Chow [19] interpolation method to 

avoid checkerboard pressure-velocity 

decoupling. For time advancement, pressure 

implicit splitting operation is used, with three 

substep corrections to maintain a second-order 

temporal accuracy. The actuator line method 

[20] is used to model the turbine blades that

generate wake structures. The discrete forces at 

the actuator points are computed by FAST, 

which employs the fourth-order AdamsBashforth predictor and Adams-Moulton 

corrector time integration schemes. Further 

details are provided in [16]. 

SOWFA has been validated in previously 

published studies, and ongoing studies seek to 

continue the validation process. In [23], a 

SOWFA simulation of the 48 turbine Liligrund 

wind plant was compared with field data and 

good agreement through the first five turbines in 

a wind-aligned row was shown. In [24], 

experiments are performed which test SOWFA’s 

ability to capture the inertial range in the 

turbulent energy spectra and the log-layer in the 

mean flow, both of which characterize a realistic 

atmospheric boundary layer. Future publications

will document ongoing validation studies.

Figure 2. Control architecture in SOWFA.
4 

3 SOWFA Super-Controller

Recently, a super-controller implementation was 

integrated into SOWFA that allows wind plant 

control designers to implement a multi-turbine 

control algorithm in a way that can realistically 

approximate how this might be performed in an 

actual wind plant. Rather than having direct 

control of wind turbines by a central controller,

an architecture is established where a central 

super-controller is capable of receiving 

information from individual turbines and sending 

command messages. This occurs even when 

the individual turbine simulations are being 

performed on multiple processors in a highperformance computing cluster. Alternatively, 

the central controller can function to coordinate 

message passing between turbines to allow 

testing of distributed control designs. This 

architecture is illustrated in Figure 2. 

The super-controller software architecture

consists of a Message Passing Interface (MPI) 

that is supplied with the SOWFA code, which is 

illustrated in Figure 3. Implementing a certain 

control concept is done by writing the control 

algorithms for the super-controller and for the 

controllers of the individual turbines in C code, 

represented in Figure 3 by the blocks SC.c and 

TC.c, respectively. 

The individual turbine control algorithm TC.c 

exchanges its input signals (sensor values) and 

output signals (actuator commands) with the 

FAST turbine simulation program by passing 

back and forth an array variable called 

AVR_SWAP. Additionally, turbine data and 

command values are exchanged with the supercontroller through a predefined C structure 

called TurbineStruct, which is passed to the 

super-controller through the MPI. Likewise, a 

variable SC_STRUCT is defined in the supercontroller code SC.c. These structures enable 

passing turbine data to the super-controller and 

passing command data back to individual 

turbine controllers. The software architecture

Figure 3. Communication in the SOWFA super-controller architecture.
5 

can be classified as a client/server setup in 

which the individual turbine controllers make 

requests to the super-controller program to 

update and pass the SC_STRUCT variable.

4 Case Studies

This section presents two case studies that

illustrate the use of SOWFA for conducting 

evaluations of wind plant control systems.

4.1 System Identification

To show the potential of the proposed 

infrastructure, a simplistic example is given that

illustrates the main components of the tool. In 

this example, two NREL 5-MW baseline turbines 

[21] are simulated, where the second turbine is 

positioned in the full wake of the first turbine.

This setup is shown in Figure 4. 

A super-controller is established that recieves

information from the individual turbine controllers 

(as described in [21]) about the current state of 

the turbines and then returns a value by which a 

given turbine should scale its commanded 

generator torque. Both turbines are commanded 

to operate normally until 300 s have passed, at 

which point the upwind turbine is commanded to 

drastically reduce its torque. Outputs of the 

experiment are shown in Figure 5, where the 

main capabilities of the proposed approach are

illustrated. The super-controller outputs all the 

signals relevant for controller design, although

the flow can be visualised by OpenFoam

outputs. In Figure 5, we can see that at 300 s, a 

step in the torque of the first turbine is applied; 

consequently, the power drops instantanously, 

with a fast dynamic component (dynamics of the 

drivetrain modeled by FAST). At 410 s, the 

effect of the step change reaches the second 

turbine and a large overshoot is observed before 

the power settles to a new, higher power 

equilibrium. The time scale of the overshoot can 

not be explained by the structural dynamics of 

the turbine. By looking at the velocity contour

figures, a travelling wave is visible with an 

increased velocity at the beginning of the wave. 

Both effects are not covered by simplistic 

models that are traditonally used for wind farm 

control studies.

This particular case study is simplistic, but it 

demonstrates the operation of SOWFA with a 

simple hierarchical controller. Moreover, it 

shows that both the fast turbine structural 

dynamics as well as the slow wake dynamics 

can be captured in a single high-fidelity model.

Figure 4. Schematic of computational domain of system-identification experiment with two 5-MW turbines.
6 

4.2 Yaw Alignment Control

A second example is provided to further 

illustrate the potential of SOWFA. In this 

example, the super-controller collects turbine 

data from individual turbines and provides each 

with a reference yaw angle. The turbines 

operate nominal pitch and torque control 

independently (as defined in [21]). This setup is 

illustrated in Figure 6. 

Wind plant controllers that employ yaw have 

been discussed in the literature and focus on 

diverting the wake of an upwind turbine away 

from a downwind turbine through the intentional 

inclusion of yaw misalignment [7],[22]. 

A SOWFA study of this type of controller is 

ongoing. Initial results are presented here as a 

second case study in the use of SOWFA for 

evaluating wind plant control.

Command signal and turbine power response SOWFA Top View

Figure 5. Results of a step response simulation with SOWFA for a two-turbine setup.
7 

A super-controller that commands yaw angles

was first established, as illustrated in Figure 6. 

The individual turbine yaw controllers move at a 

rate of 1o

/s to the yaw reference. Next, a 

scenario was developed to simulate two turbines 

aligned in turbulent inflow. The turbulent 

scenario is that of a neutral boundary layer, 

which is based on a case selected from a 

previously published study [24]. The domain size 

is 3 km by 3 km in area with 1 km in height to 

allow atmospheric boundary layer simulation 

using large-eddy simulation. However, the 

Coriolis term was neglected to orient the mean 

wind direction at a targeted angle (270o

incoming flow) at the turbine hub height (90 m). 

The mean wind speed is 8 m/s at the turbine 

hub height. Further details can be found in [24]. 

As a first step in the study, the logic of the 

super-controller is simplified to command a 

sweep of yaw angles for the upstream turbine

(rather than active control laws). This way, an 

analysis of the benefits and costs to the 

upstream and downstream turbine can be 

performed across misalignments. Cases were 

run with no yaw, then the first turbine yawed in 

both positive and negative angles in increments 

of 5o

. For this case study, no yaw, 10o, and 20o

were selected for analysis. A full analysis will be 

performed in later publications; this description 

is intended as an application example. Screen 

shots of wind velocities are shown in Figure 7. 

Using the tabulated turbine data recorded by the 

super-controller, it is possible to compare the 

effect of misaligning the front turbine. For this 

example, the focus is on the power of each 

turbine individually and collectively, then on the 

effect on blade flap bending. Flap bending is 

presumed to be affected in the upstream turbine 

because of rotor yaw misalignment and in the 

downstream because of changing amounts of 

wake and rotor overlap. These results are 

summarized in Table 1.

The results from SOWFA are instructive. First, in 

terms of power, although misaligning the 

upstream turbine leads to a reduction in output 

power, the increase gained in the downstream 

turbine is more substantial and the global power

increases, as was hoped for. Blade flap bending 

is also interesting to consider, as it is shown that 

Table 1. Comparing Effects of Varying Yaw Misalignment of Upwind Turbines

Power Output (MW) Blade 1 Flap DEL (kNm)

Case Upstream Downstream Total % Change Upstream Downstream

Baseline 0.87 0.43 1.29 801 1,172

Yawed 10° 0.85 0.48 1.33 +2.64% 685 1,185

Yawed 20° 0.79 0.58 1.38 +6.16% 712 1,296

Figure 6. Yaw controller setup.

7
8 

the yaw misalignment reduces the flap damage 

equivalent load (DEL) on the upstream turbine.

However, partial wake overlap leads to an 

increased blade flap DEL for the downstream 

turbine.

A more detailed version of this study will explore 

a broader sweep in depth, and these high-fidelity 

results will be very useful in proposing and 

designing wind plant controllers for optimizing 

wind turbine yaw angles across wind plants.

5 Computational Expense

SOWFA requires significant computational 

power in order to run simulations in a 

reasonable amount of time. The two simulations 

performed in this paper represent two different 

examples of computer/time requirements which 

are summarized in Table 2. The system 

identification experiment was performed on the 

NREL supercomputing cluster Red Rocks, while 

the yaw misalignment study was performed on 

the Sandia/NREL Red Mesa supercomputer

[25]. 

SOWFA is a high-fidelity simulator intended to 

provide the ability to perform realistic validation 

experiments. However, the computational time 

can be prohibitive for developing a wind plant 

control system. Therefore, ongoing research is 

investigating computationally efficient low-order 

models using SOWFA. One such example is 

the development of a dynamic wake-meandering 

model [26]. Additionally, system-identification 

studies within SOWFA are being performed to 

identify controller-order models.

6 Conclusion

Wind plant control is an exciting research field, 

with possibilities for making improvements in 

wind power performance and CoE. With many 

proposed plant controllers arriving in the 

literature, a good method for testing these 

algorithms is required to make meaningful 

evaluations. We believe the open-source and 

freely distributed SOWFA with the supercontroller will provide this essential functionality. 

The tool is flexible enough to implement and 

evaluate any wind plant controller currently 

being proposed in the literature. 

Figure 7. Examples of velocity fields calculated by SOWFA.
9 

Acknowledgements

NREL’s contributions to this report were funded 

by the Wind and Water Power Program, U.S. 

Department of Energy, Office of Energy 

Efficiency and Renewable Energy, under 

contract No. DE-AC02-05CH11231. The authors 

are solely responsible for any omission or errors 

contained herein.

References

[1] Steinbuch, M.; de Boer, W.W.; Bosgra, 

O.H.; Peters, S.A.W.M. and Ploeg, J. 

(1988), “Optimal control of wind power 

plants”, Journal of Wind Engineering and 

Industrial Aerodynamics, 27, 237-246.

[2] van Dam, F.; Gebraad, P. and van 

Wingerden, J.W. (2012), “A Maximum 

Power Point Tracking Approach for Wind 

Farm Control”, in Proceedings of The 

Science of Making Torque from Wind. 

[3] Gebraad, P.; van Dam, F. and van 

Wingerden, J.W. (2012) “A Model-Free 

Distributed Approach for Wind Plant 

Control”, submitted to American Control 

Conference, 2013.

[4] Soleimanzadeh, M.; Wisniewski, R. and

Kanev, S. (2012), “An Optimization 

Framework for Load and Power 

Distribution in Wind Farms” Journal of 

Wind Engineering & Industrial 

Aerodynamics, vol. 107-108, pp. 256-262.

[5] Marden, J.R.; Ruben, S.D. and Pao, L.Y. 

(2012), “Surveying Game Theoretic 

Approaches for Wind Farm Optimization” 

Proceedings of 30th ASME Wind 

Symposium.

[6] Sholbrock, A.K. (2011), “Optimizing Wind 

Farm Control Strategies to Minimize Wake 

Loss Effects” Master’s Thesis, University 

of Colorado.

[7] Wagenaar, J.W.; Machielse, L. A. H. and 

Schepers, J. G. (2012), “Controlling Wind 

in ECN’s Scaled Wind Farm” in EWEA, 

2012.

[8] Johnson, K.E. and Thomas, N. (2009), 

“Wind farm control: addressing the 

aerodynamic interaction among wind 

turbines”, in proceedings of the American 

Control Conference, June 10-12, St. Louis, 

MO, USA. 

[9] Pao, L. Y. and Johnson, K.E. (2009), “A 

tutorial on the dynamics and control of 

wind turbines and wind farms”, in 

proceedings of the American Control 

Conference, June 10-12, St. Louis, MO, 

USA.

[10] Kristoffersen, J.R. and Christiansen, P. 

(2003), “Horns Rev offshore wind farm: its 

main controller and remote control 

system”, Wind Engineering, 27(5), 351-

359.

[11] Hansen, A.; Sørensen, P.; Iov, F. & 

Blaabjerg, F. (2006), “Centralised power 

control of wind farm with doubly fed 

induction generators”, Renewable Energy, 

31, 935-951.

[12] Rodriguez-Amenedo, J.L.; Arnalte, S. and

Burgos, J.C. (2002), “Automatic generation 

control of a wind farm with variable speed 

wind turbines”, IEEE Transactions on 

energy conversion, 17(2), 279-284.

[13] Knudsen, T.; Bak, T. and Soltani (2009), 

“Distributed control of large-scale offshore 

wind farms”, in proceedings of the 

European Wind Energy Conference, 

Marseille, France.

Table 2. Statistics for simulations in this paper

System Identification Yaw Misalignment

Time Step 0.02 s 0.02 s

Domain Size 1285 m x 200 m x 200 m 3 km x 3 km x 1 km

Number Cells 161 x 50 x 50 = 402,500 250 x 250 x 83 = 5,187,500

Processors 64 128

Computer time per step 0.36 s 3.3 s

Simulation Time 600 s 1000 s

Approximate Execution Time 3 h 46 h
10

[14] Corten, G.P. and Schaak, P. (2003) “Heat 

and Flux: Increase of Wind Farm 

Production by Reduction of the Axial 

Induction” in proceedings of European 

Wind Energy Conference 2003, Madrid, 

Spain.

[15] Corten, G.P. and Schaak, P. (2004), “More 

power and less loads in wind farms: “Heat 

and flux”, in proceeding of the European 

wind energy conference, 22-25 November, 

2004.

[16] Churchfield, M. and Lee, S. (2012) NWTC 

Design Codes (SOWFA). URL: 

http://wind.nrel.gov/designcodes/simulator

s/SOWFA/

[17] OPENCFD LTD. OpenFoam. “The Open 

Source CFD Toolbox, User’s Manual, 

Version 2.1.0”. Albert Road, Caversham, 

Reading, Berkshire RG4 &AN, UK.

[18] Jonkman J. NWTC Design Codes (FAST) 

2012. URL: 

http://wind.nrel.gov/designcodes/simulator

s/fast/

[19] Rhie, C.M. and Chow, W.L. (2012)

“Numerical Study of the Turbulent Flow 

Past an Airfoil with Trailing Edge 

Separation”, AIAA Journal 21, pp. 1525-

1532. 

[20] Sørensen, J.N. and Shen, W.Z. (2002) 

“Numerical Modeling of Wind Turbine 

Wakes”, Journal of Fluids Engineering, 

124, pp. 393-399. 

[21] Jonkman J, Butterfield S, Musial W and

Scott G. (2009) Definition of a 5-MW 

Reference Wind Turbine for Offshore 

System Development Definition of a 5-MW 

Reference Wind Turbine for Offshore 

System Development. Technical Report 

February, NREL/TP-500-38060 2009.

[22] Jiménez, A.; Crespo, A. and Migoya, E. 

(2010), “Application of a LES technique to 

characterize the wake deflection of a wind 

turbine in yaw”, Wind Energy, vol.13 

(2010) pp.559-572.

[23] Churchfield, M. J.; Lee, S., Moriarty, P. J., 

Martinez, L. A., Leonardi, S., Vijayakumar, 

G., & Brasseur, J. G. (2012). “A LargeEddy Simulation of Wind-Plant 

Aerodynamics,” Proceedings of 50th AIAA 

Aerospace Sciences Meeting including the 

New Horizons Forum and Aerospace 

Exposition, 09-12 January 2012.

[24] Churchfield, M. J.; Lee, S.; Michalakes, J., 

sand Moriarty, P. J. (2012), “A Numerical 

Study of the Effects of Atmospheric and 

Wake Turbulence on Wind Turbine 

Dynamics,” Journal of Turbulence, Vol. 13, 

No. 14, pp. 1-32.

[25] http://www.nrel.gov/energysciences/csc/hig

h_performance_computing_capabilities

[26] Larsen, G.C., Madsen, H.Aa., Thomsen, K. 

and Larsen, T.J. (2008). Wake meandering 

- a pragmatic approach, Wind Energy 11, 

377-395, 2008.