Measuring Turbulence from 

Moored Acoustic Doppler 

Velocimeters 

A Manual to Quantifying Inflow at Tidal 

Energy Sites 

Levi Kilcher 

National Renewable Energy Laboratory 

Jim Thomson, Joe Talbert, and Alex DeKlerk 

University of Washington 

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 

This report is available at no cost from the National Renewable Energy 

Laboratory (NREL) at www.nrel.gov/publications. 

Technical Report 

NREL/TP-5000-62979 

March 2016 

Contract No. DE-AC36-08GO28308 
 

 

 

 

 

 

 

 

 

National Renewable Energy Laboratory 

15013 Denver West Parkway 

Golden, CO 80401 

303-275-3000 • www.nrel.gov 

Measuring Turbulence from 

Moored Acoustic Doppler 

Velocimeters 

A Manual to Quantifying Inflow at 

Tidal Energy Sites 

Levi Kilcher 

National Renewable Energy Laboratory 

Jim Thomson, Joe Talbert, and Alex DeKlerk 

University of Washington 

Prepared under Task No. WA14.3B01 

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 

This report is available at no cost from the National Renewable Energy 

Laboratory (NREL) at www.nrel.gov/publications. 

Technical Report 

NREL/TP-5000-62979 

March 2016 

Contract No. DE-AC36-08GO28308 
 

 

 

 

 

 

 

 

 

 

NOTICE 

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. 

This report is available at no cost from the National Renewable Energy 

Laboratory (NREL) at www.nrel.gov/publications. 

Available electronically at SciTech Connect http:/www.osti.gov/scitech 

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 

OSTI http://www.osti.gov 

Phone: 865.576.8401 

Fax: 865.576.5728 

Email: reports@osti.gov 

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

U.S. Department of Commerce 

National Technical Information Service 

5301 Shawnee Road 

Alexandria, VA 22312 

NTIS http://www.ntis.gov 

Phone: 800.553.6847 or 703.605.6000 

Fax: 703.605.6900 

Email: orders@ntis.gov 

Cover Photos by Dennis Schroeder: (left to right) NREL 26173, NREL 18302, NREL 19758, NREL 29642, NREL 19795. 

NREL prints on paper that contains recycled content. 
Acknowledgments

The authors thank Captain Andy Reay-Ellers for his patient and precise ship operations. This work was supported

by the U.S. Department of Energy under Contract No. DE-AC36-08GO28308 with the National Renewable Energy

Laboratory. Funding for the work was provided by the DOE Office of Energy Efficiency and Renewable Energy,

Wind and Water Power Technologies Office.

iii

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
Executive Summary

This manual details a low-cost method for measuring turbulence at tidal energy sites. The critical issue with measuring tidal turbulence is positioning a sufficiently accurate velocity sensor at the height of interest to tidal devices (hub

height). In the wind industry, sonic anemometers mounted on meterological towers provide high-fidelity turbulence

velocity measurements that are needed to drive device design tools and for inflow experiments; however, towers are

extremely costly to install and maintain in the oceanic environment.

This work introduces a method for measuring turbulence velocity from compliant moorings. These moorings serve

as a platform that position acoustic Doppler velocimeters (ADVs) at turbine hub heights (the ADV is the oceanographer’s sonic anemometer). These ADVs are equipped with inertial motion units (IMUs) that measure mooring

motion. These independent measurements of mooring motion are then removed from the ADV-measured velocity signal in post-processing to produce stationary/earth frame estimates of turbulence velocity time series. These

time series are critical for producing realistic performance and loads estimates from device simulation tools such as

HydroFAST and Tidal bladed.

This manual details mooring design, instrument configuration, data processing steps, and analysis guidelines for

quantifying turbulence at tidal energy sites. Because turbulence is known to reduce turbine performance and lifetime,

this information is critical to classifying tidal energy sites, and performing device simulations with realistic estimates

of device performance and lifetime.

This manual is intended to provide site and device developers with a complete guide for performing turbulence

assessments at tidal energy sites. It includes:

• Hardware requirements and recommendations

• Instrumentation configuration details

• Guidelines for deployment and recovery planning

• Data processing and analysis details.

The key innovations described in this work are:

• The use of moorings to position ADVs at tidal turbine hub heights

• The use of IMU measurements to remove mooring motion from the measured velocity signal.

Together, the report and innovations provide a versatile and low-cost methodology for quantifying turbulence statistics that are important to tidal turbine performance, loads, and lifetime predictions. The detailed implementation of

the methodology can be adapted to fit site conditions and project scope/funding considerations. This is useful for

tidal energy resource characterization, tidal turbine simulation tool model-validation studies, tidal turbine performance modeling, and tidal turbine loads/lifetime modeling.

iv

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
Contents

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Measuring Turbulence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1 Mooring Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1.1 Tidal Turbulence Mooring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1.2 Stable TTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Instrument Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2.1 Record Position and Orientation of the ADV Head . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.2 Software Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3 Deployment Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Data Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1 Reading Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 Motion Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2.1 Translational Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2.2 Rotational Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2.3 Select a Local Coordinate System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.3 Cleaning Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.4 Turbulence Metrics and Averaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.4.1 Turbulence Intensity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.4.2 Turbulent Kinetic Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.4.3 Reynold’s Stresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.4.4 Turbulence Auto Spectra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.4.5 Spatial Coherence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4 Data Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.1 Initial Inspection: Time Series and Histograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.2 Turbulence Spectra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.3 Spatial Coherence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5 Summary and Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

A Coordinate Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

A.1 Defining Coordinate Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

A.2 Stationary Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

A.2.1 The Earth Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

A.2.2 The Analysis Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

A.3 Measurement Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

A.3.1 The ADV Head . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

A.3.2 The IMU Coordinate System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

A.3.2.1 The Orientation Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

B DOLfYN Data Processing Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

v

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
List of Figures

Figure 1. Diagram of turbulent inflow to a hydrokinetic turbine . . . . . . . . . . . . . . . . . . . . . . . . 3

Figure 2. Schematic diagram of the tidal turbulence mooring . . . . . . . . . . . . . . . . . . . . . . . . . 4

Figure 3. ADVs mounted on a strongback vane prior to deployment . . . . . . . . . . . . . . . . . . . . . 5

Figure 4. Images of the stable TTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Figure 5. Nortek Vector software deployment planning pane with typical settings for quantifying turbulence using IMU-equipped ADVs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Figure 6. An example velocity time series measured using a TTM at Admiralty Inlet . . . . . . . . . . . . . 12

Figure 7. A time series of turbulence statistics measured from a TTM at Admiralty Head . . . . . . . . . . 16

Figure 8. Histogram of mean horizontal velocity magnitude . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Figure 9. A comparison of the shape of spectra at two different sites from ADVs on: a rigid tripod (a), and

a TTM (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Figure 10. Spectra of turbulence highlighting motion correction . . . . . . . . . . . . . . . . . . . . . . . . 18

Figure 11. Spatial coherence estimates from TTMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Figure 12. Lateral spatial-coherence estimates from the Stable TTM . . . . . . . . . . . . . . . . . . . . . . 19

Figure A.1. The circuit board and pressure-case end-cap of a Nortek Vector equipped with a MicroStrain

IMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Figure A.2. Coordinate systems of the ADV body and head . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Figure B.1. The ‘crop_data.pdf’ figure generated by the adv_example01.py script . . . . . . . . . . . . . . . 33

Figure B.2. The ‘motion_vel_spec.pdf’ figure generated by the adv_example01.py script . . . . . . . . . . . 34

vi

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
1 Introduction

Turbulence is a dominant driver of the fatigue and extreme loads that determine the operational lifetime of hydrokinetic turbines. Device simulation tools, such as HydroFAST and Tidal bladed have been developed to estimate

hydrokinetic turbine power performance and loading based on device mechanical-electrical models and realistic

inflow conditions. These tools accelerate the pace of hydrokinetic turbine development by: helping device designers

predict failure modes in preliminary designs, and providing site developers and financial institutions with estimates

of the cost of energy for a particular device.

Device designers typically have all of the information necessary for creating device models for these simulations

but often lack adequate knowledge of turbulent inflow conditions to produce accurate device power-performance

and lifetime estimates. This gap arises from the difficulty and high cost of making turbulent inflow measurements at

tidal energy sites at hydrokinetic turbine hub heights (i.e., >5 meters [m] above the seafloor). A useful approach for

measuring turbulent inflow should be: affordable, suited to the energetic sites where hydrokinetic turbines will be

deployed (robust), and sufficiently precise for device simulations.

This work details a methodology for measuring hub height inflow turbulence using moored acoustic Doppler velocimiters (ADVs). This approach is motivated by the shortcomings of alternatives. For example, remote velocity

measurements (i.e., from acoustic Doppler profilers) lack sufficient precision for device simulation, and rigid towermounted measurements are very expensive and technically challenging in the tidal environment. Moorings offer a

low-cost, site-adaptable and robust deployment platform, and ADVs provide the necessary precision to accurately

quantify turbulence.

The primary concern of this approach is that mooring motion will contaminate velocity measurements and reduce

their accuracy. Here we demonstrate that measurements of mooring motion from inertial sensors can be used to

correct this motion contamination. This makes mooring-based velocity measurements a sufficiently precise, low-cost

and robust approach for measuring turbulent inflow at hydrokinetic turbine sites.

Section 2 describes mooring hardware and ADV configuration details specific to moored measurements. Section

3 details the processing steps for transforming moored ADV measurements into earth frame velocity signals and

computing turbulence statistics from those measurements. Section 4 describes turbulence analysis methods that are

useful to the hydrokinetic turbine industry and defines the applicability and limitations of the results. Readers are

also encouraged to download and install the Doppler Oceanography Library for pYthoN software package (DOLfYN

lkilcher.github.io/dolfyn/), which provides example instrument configuration files and functions for performing the

data processing and analysis steps described herein.

1

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
2 Measuring Turbulence

The question, “What turbulent statistics determine turbine device performance and fatigue loads?” motivates an active area of research in both the wind and hydrokinetic turbine industries. No single statistic—or group of them—has

been identified that fully predicts fatigue loads, there is broad agreement that mean-shear, Reynold’s stresses, the

turbulence spectrum, and spatial coherence all contribute significantly to fatigue loads.1

If turbulence is conceptualized as a mixture of eddies of different sizes, orientations, and rotation speeds (Figure 1), the importance of these

statistics can be understood as follows:

• Mean shear can impart a torque on the rotor shaft and induce variable loads on the blades as they rotate

through the spatially nonuniform mean flow.

• The Reynold’s stresses (u

0v0

, u

0w0

, and v

0w0

) indicate the orientation of the eddies in the flow. Eddies of different orientations may impart forces on distinct components of the turbine. For example, an eddy aligned with

the rotor (v

0w0

in Figure 1) might impart larger torque on the rotor shaft than eddies of other orientations.

• The turbulence spectra quantifies the energy of eddies of different frequencies (from which length scales δ can

be estimated). For example, an eddy with δ similar to the blade cord (lcord) is likely to impart larger fatigue

loads on the blade than a smaller or larger eddy with the same energy. Likewise, an eddy the same size as the

rotor will impart a larger load on the rotor than a much smaller eddy. Quantifying the energy in these eddies is

therefore important to accurately estimating the loads they induce.

• Spatial coherence quantifies the correlation of the turbulence in space, i.e., the length, L, of the eddies. It is

important because longer eddies are likely to impart larger forces than shorter ones and longer eddies are likely

to be anisotropic, such that L > δ.

The first two of these, mean shear and Reynold’s stresses, can be measured using acoustic Doppler profilers (ADPs)

(Thomson et al. 2012; Stacey, Monismith, and Burau 1999). The Reynold’s stresses, turbulence spectra, and spatial

coherence can be measured using ADVs. Detailed turbulence measurements at tidal energy sites, therefore, require

measurements using both ADPs and ADVs. The deployment of ADPs on the seafloor for this purpose is well described and commonly performed by engineers, scientists, and ocean professionals around the world. This document,

therefore, focuses on measuring turbulence statistics for hydrokinetic turbine inflow using ADVs. In particular, this

is accomplished using moorings to position ADVs at hydrokinetic turbine hub heights, and using inertial motion

sensors (IMUs) to remove mooring motion from the ADV’s velocity measurements.

2.1 Mooring Hardware

This work uses two complimentary moored platforms for measuring turbulence in tidal channels. Both of these platforms are compliant moorings. The basic tidal turbulence mooring (TTM) is a simple, low-cost deployment platform

that captures turbulence spectra, Reynold’s stresses, and mean velocity at turbine hub heights. This platform is ideal

for characterizing turbulence details for project design and capturing basic turbulence statistics for turbine inflow

experiments. The stable tidal turbulence mooring is a large, high-fidelity platform that provides the capability to

measure spatial coherence. It is best suited for detailed turbine inflow experiments, high-fidelity turbulence characterization, device simulation tool model validation studies, and academic research into spatial coherence in tidal

environments.

2.1.1 Tidal Turbulence Mooring

The TTM is essentially an ADV mounted on a weather vane suspended between an anchor and a buoy (Thomson

et al. 2013). Its primary components are a clump-weight-style anchor, an acoustically triggered release for mooring

recovery, mooring lines, a ‘strongback’ vane at turbine hub height that orients the ADVs into the flow (i.e., passive

yaw), and a buoy that holds the mooring lines taught (Figure 2). The clump weight is composed of three railroad

wheels stacked on a central steel cylinder. A steel flange welded securely to the base of the cylinder supports the

weight of the wheels. The total wet weight of the anchor is 1.2 tonnes. Galvanized anchor chains and a steel shackle

1Turbulent energy and turbulence intensity can be computed from the spectrum and mean-shear (velocity) profile.

2

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
Mean Flow Profile

Mean Velocity

Turbulence

Instantaneous

Flow Field

L

Figure 1. Diagram of turbulent inflow to a hydrokinetic turbine

The mean-flow profile is indicated in blue, and turbulent eddies of different sizes

(δ), lengths (L), and orientations are indicated in red. Illustration by Levi Kilcher

connect the top of the anchor stack to the acoustic release. At the top of the acoustic release a high-tension swivel

allows the mooring line to rotate without imparting torque on the hardware below.

The buoy for the TTM is a 0.94-m-diameter spherical steel buoy that is pressure-rated for the depths to which it will

be deployed (manufactured by McClane). Another high-tension swivel between the buoy and mooring line allows

the buoy to spin without imparting large torques on the mooring line. A 13-millimeter (mm) Amsteel line (e.g.,

http://www.amsteelblue.com/) is used to connect the strongback vane to the buoy and acoustic release (using 16-mm

shackles). Amsteel line has a high strength-to-weight ratio, low stretch, and low torque. The 13-mm line used here

has a breaking strength of 13.9 tonnes, much larger than the dry weight of the mooring (<1.6 tonnes).

The ‘blow-down’ angle of the TTM was simulated using University of Victoria’s Mooring Design and Dynamics software. The observed blow-down angle of 20◦

at 2 meters per second (m/s) agreed well with the predictions

(Thomson et al. 2012). This mooring design has been safely deployed in currents up to 3 m/s without exceeding a

maximum advisable blow-down angle of 40◦

. If significant modifications are made to this mooring design (such as

changes in mooring length, deployment depth, or other modifications to major hardware components), or if operating

in much stronger currents, the new design should be re-simulated using a mooring simulation tool to determine the

blow-down angle as well as tension and drag forces.

The strongback vane was designed to be a robust and low-cost component that effectively holds an ADV head (or

two) upstream of the mooring line and the ADV body nearby and rigidly fixed to its head (Figure 3). All components

of the strongback vane, including shackles, are constructed from nonmagnetic materials (high-density plastics and

nonmagnetic stainless steel) so that the IMU-compass can accurately resolve the undistorted magnetic field of the

Earth (i.e., measure north). If magnetic materials must be used in the vicinity (within ≈ 2 m) of the ADV body, the

IMU compass should be recalibrated in the presence of those magnetic materials and in the exact orientation as they

will be deployed (Nortek 2005). At its leading edge, flat-stock, nonmagnetic stainless steel (NMSS) sandwiches

the plastic fin to form the strongback ‘backbone’. Holes in the top and bottom of the backbone connect it—via

NMSS shackles—to the mooring line (Figure 3). The ADV heads and bodies are tilted 15◦

from vertical axis of the

strongback to account for ‘mooring blow-down’ of 10◦–20◦

at 2 m/s.

3

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
10m

4m

1/2" Amsteel Line

1/2" Amsteel Line

1/2" Galvanized Chain

37" Steel Float

~700lbs Buoyancy

Strongback with

2 Nortek

IMU-equipped ADVs

ORE 8242

Acoustic Release

Nortek AWAC

3 RR Wheel Anchor Stack

~ 2500lbs Wet

SBE37 and

AWAC Battery

Figure 2. Schematic diagram of the tidal turbulence mooring

Illustration by Jim Thomson, University of Washington

2.1.2 Stable TTM

The stable TTM (STTM) utilizes a customized StableMoor buoy (DeepWater Buoyancy) as the buoyancy source and

instrument platform. The buoy is 3.5 m long, 0.46 m in diameter, and has tail fins with a tail ring that is 0.91 m in diameter. The slender buoy is designed to maximize the lift-to-drag ratio of the platform. The basic StableMoor design

was modified to include space for two ADV pressure cases, and an oval crossbeam near the nose that positions ADV

heads 1.5 m apart laterally to the inflow direction (Figure 4). This configuration allows the STTM to serve as a platform for measuring spatial coherence in the cross-stream direction. The StableMoor buoy provides its own source of

buoyancy, so the buoy only requires an anchor and tether. Lift, drag, and buoyancy coefficients should be checked to

confirm that the buoy will not collide with the seafloor.

The STTM can also be configured without the crossbeam and with an ADV mounted ahead of the nose. This configuration allows for very stable measurements of turbulence spectra. The STTM can also hold an acoustic Doppler

profiler (ADP) in its hull. When the ADP is downward-looking and measures the bottom motion it provides an independent measure of the mooring motion. This independent estimate of mooring motion is valuable for quantifying

uncertainty in low-frequency mooring motions.

2.2 Instrument Configuration

When preparing instrumentation for deployment always follow the manufacturer’s recommendations. Be sure to:

• Perform bench tests several weeks prior to the deployment to allow for replacing faulty components, if necessary.

• Install batteries with sufficient capacity for the deployment. Follow the manufacturer’s guidelines for determining battery life.

• Seal pressure cases carefully and install dessicant (moisture-absorbing) packs to reduce the risk of water

damage to electrical hardware.

• Synchronize instrument clocks to a single computer clock that has been recently synchronized to Internet time

via Network Time Protocol (NTP).

• Configure the instrument appropriately for the deployment.

4

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
ADV body

strongback

vane

mooring line

with fair wrap

ADV cable

zip-ties

ADV head

strongback

backbone

anchor

stack

shackle

pear link

Figure 3. ADVs mounted on a strongback vane prior to deployment

The heads and bodies are tilted at 15◦to account for mooring blow-down. NMSS shackles and pear links connect the strongback to the mooring lines. The strongback is leaning against the anchor stack (railroad wheels).

White fair wrap on the mooring lines is used to reduce strumming. Plastic ‘zip-ties’ are used to fasten the ADV cables to the vane. NMSS u-bolts and rubber gaskets fasten the ADV body to the fin. A 25-mm NMSS angle positions the ADV heads approximately 250 mm forward of the vane’s leading edge. Photo by Levi Kilcher, NREL

c)

b)

a)

Figure 4. Images of the stable TTM

a) Diagram of STTM with the crossbeam. Illustration from DeepWater Buoyancy b) Photo of STTM nose with

the crossbeam and ADVs mounted prior to deployment. ADV heads are mounted at the crossbeam ends, and the

pressure cases are clamped in the nose of the buoy’s hull. A downward-looking ADP is mounted in the midsection of the hull. Photo by Levi Kilcher, NREL c) The STTM is recovered and the crossbeam is removed. The science team is happy after a successful deployment (from left: Maricarmen Paris, Joe Talbert, Alex DeKlerk, Levi

Kilcher, Jim Thomson, Jenni Rinker, and Sam Harding). Photo from Andy Reay-Ellers, University of Washington

5

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
To produce high-fidelity spectra and spatial coherence estimates from moored ADV measurements, motion-sensor

measurements must be tightly synchronized with ADV velocity measurements. Currently, the Nortek Vector is the

only instrument that can be purchased ‘off the shelf’ with a tightly synchronized IMU. These instruments were used

for the TTM test deployments. The data from those deployments are used in the example analyses in this manual.

2.2.1 Record Position and Orientation of the ADV Head

For deployments involving cabled-head IMU-ADVs (i.e., as in Figure 3), it is critical to record the position and

orientation of the ADV head relative to the ADV body (pressure case). Details of the definitions of these coordinate

systems can be found in Appendix A. The variables should be measured as accurately as possible, as errors will

propagate through motion-correction calculations and lead to errors in the motion-corrected velocity measurements.

2.2.2 Software Configuration

At least as important as recording the orientation of the ADV head relative to the ADV body is configuring the ADV

to record the correct data channels for performing motion correction. The following three primary data channels are

needed to perform motion correction:

1. The linear acceleration vector, ~a, is integrated to obtain an estimate of the translational velocity of the ADV

body and head.

2. The angular rotation rate vector, ω~ , is used to estimate the velocity of the head caused by rotation of the

ADV about the IMU.

3. The (body) orientation matrix, R, provides the orientation of the ADV body relative to the earth. It is used

(with H) to estimate the earth frame orientation of the ADV head, and thus the velocity vector in the earth

frame. It is also used to remove gravity from the linear acceleration measurement (see Section 3).

The Nortek Vector can be purchased with a MicroStrain GDM-GX3-25 ‘miniature attitude heading reference system’ (MicroStrain 2014). The 3DM-GX3-25 can output all three of these channels. Sampled and stored by the same

controller, the Vector velocity measurements and 3DM-GX3-25 motion and orientation measurements are tightly

synchronized (to within 10−2seconds [s]), allowing for high-fidelity motion-correction in post-processing. New

versions of the Nortek software (bundled with a new Vector) allow the user to select which data streams from the

3DM-GX3-25 are stored in the Vector output data file.

To set a Vector to record the correct data, open the “Vector” program and go to Deployment » Planning

» Use Existing . The following settings—on the ‘Standard’ tab—are required to be able to perform motion

correction (Figure 5):

1. Check the box to the left of IMU: .

This tells the Vector to use and record information from the IMU.

2. Select Accl AngR Mag xF from the IMU: drop-down menu.

This tells the Vector to record the acceleration (Accl), Angular Rate (AngR), Magnetometer (Mag), and Orientation Matrix (xF) signals2

.

3. For the Coordinate system select XYZ .

This instructs the Vector to record data in the ADV-head coordinate system.

For most measurements of turbulence at tidal energy sites, the following recommendations may also apply:

1. Set the Sampling Rate to 16 Hz .

In most tidal environments lower sampling frequencies will not resolve all of the turbulence scales. Higher

sampling frequencies are typically dominated by instrument noise.

2. Set Geography to Open ocean .

2The magnetometer signal is not needed for motion correction, but the other three signals are. Note that this is the only option that provides

the orientation matrix, which is required for motion correction.

6

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
This instructs the ADV to operate in ‘high’ power mode, which increases data quality. Consider upgrading

batteries (use two lithium batteries if necessary), or using burst sampling before using lower power ‘Surf zone’

or ‘River’ setting. See the instrument manual for further details.

3. Set the Nominal velocity range to +/- 4 m/s .

Tidal velocities at most tidal energy sites will be in this range. Use the higher range of +/- 7 m/s if there

is reason to believe the velocities will be larger than 4 m/s (at the expense of some data quality).

4. Set Speed of Sound to Measured .

The Nortek Vector uses a temperature sensor and a fixed Salinity value to calculate an estimate of the

speed of sound (which is important to the velocity measurements). If the salinity is not known, consider

measuring it.

5. Modify the burst interval settings to maximize data return. It is valuable to capture as much turbulence data as

possible. Once the above settings have been set, follow these guidelines to maximize data recovery:

A. Use Continuous sampling if possible. Consider purchasing additional (e.g., lithium) batteries to

maximize data return.

B. If continuous sampling will deplete available batteries before the end of the deployment use burst sampling:

i. Set the Number of samples per burst to capture 10–20 minutes (min) of data.3

ii. Set the Battery pack selection to the batteries that are available.4

iii. Adjust the burst interval—which must be greater than the sampling period—until

Battery utilization is between 90% and 100%.

6. Be sure that the memory card in your ADV has sufficient capacity for the deployment. See the instrument’s

documentation for details on clearing the memory card if necessary.

7. Synchronize the computer used to configure the instrument with Internet time via NTP and select the time

zone the ADV data should be recorded in. Restart the computer to ensure the new time settings propagate to

the instrument.

For convenience, the DOLfYN software package provides a sample Nortek Vector configuration file, Nortek_-

Vector_with_IMU.dep (in the <DOLfYN-root>/config_files/ADV/ folder) with the settings described above. To use

one of these files, download it, open it with the Nortek Vector software, and then view and adjust parameters in the

‘deployment’ pane as needed.5 The IMU-related options will be initialized correctly when using this file.

2.3 Deployment Planning

Safe, efficient, and accurate deployment of scientific equipment in the oceanic environment is a science of its own.

Careful planning is critical to deployment safety and success. Hydrokinetic turbine sites are locations with strong

currents that add to the difficulty and complexity of deploying scientific equipment. As a result, it is highly recommended that deployment in these conditions be led by experienced professionals in the field. At the very least, enlist

such professionals to advise the planning and deployment process.

A well-written research cruise plan should include the following:

• Scientific objectives

• A detailed schedule of all activities needed to accomplish objectives

• Noteworthy environmental conditions at the deployment site (e.g., tidal amplitude, current amplitude, probable

weather conditions, and daylight hours)

3At 16 Hz a 10-minute burst will have (10minute)·(60 seconds/minute)·(16 samples/second) = 9,616 samples.

4

It is not recommend to use recharged lithium-ion batteries. The capacity of these batteries can be less than expected after several uses.

5Older versions of Nortek’s Vector configuration software will not load this file correctly. Be sure to use a version that supports the MicroStrain chip (version 136b6 or later).

7

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
Figure 5. Nortek Vector software deployment planning pane with typical settings for quantifying turbulence using IMU-equipped ADVs

Required settings are highlighted in red and recommended settings are in green. The blue box points out the battery consumption and memory requirement estimates for the settings shown. Illustration by Levi Kilcher, NREL

• Schematic diagrams of hardware that will be deployed

• A list of all personnel involved in the deployment

• Maps of deployment locations that include notable bathymetric features (e.g., subsurface ridges or canyons)

and human infrastructure hazards (e.g., buoys or other equipment)

• A risk assessment and risk mitigation plan.

The schedule is one of the most important parts of the cruise plan. It should include personnel arrival/departure

times, ship arrival/departure times, ship-loading and ship-preparation periods, transit periods between port and deployment locations, and target deployment times. Deployment and recovery should be conducted during slack tides

to minimize risks associated with the strong currents present during ebb and flood. When preparing the schedule it is

important to allow ‘contingency’ time for each period. The instruments should be deployed for at least two full tidal

cycles, and ideally up to six or more tidal cycles. Site characterization measurements for power availability should be

much longer (see Polagye and Thomson 2013).

8

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
3 Data Processing

Data processing involves reading raw data from an instrument and converting it to a form that can be readily analyzed. In general it includes cleaning (removing) data points that are caused by instrument errors, converting data to

consistent scientific units, producing high- or mid-level variables from the raw data, and averaging.

During the analysis stage unexpected or unrealistic results will indicate errors in the data. When this happens it is

necessary to cycle back through data processing steps to inspect raw data, locate the source of the error, and clean

(remove) erroneous points from the dataset. The difference between good and erroneous data is generally obvious,

but when it is not and no viable justification can be made for removing the unexpected data, one should err on the

side of keeping it and, if necessary, treating it as a special case.

Fortunately, the reliability of velocity measurements from instruments such as ADVs and ADPs is high, the uncertainties well understood, and methods for cleaning data are well-defined (e.g., Goring and Nikora 2002). Instruments

generally provide estimates of various sources of uncertainty and other errors as part of their output data streams

(e.g., ‘error velocity’ and beam ‘correlation’) that aid in cleaning data. This means that it is now possible to generate

meaningful and reliable statistics with minimal user input and inspection. The DOLfYN software package includes

tools and scripts for processing and analyzing turbulence measurements that were made following the procedures in

this document.

There are four major steps to processing moored ADV data:

1. Read the raw data from the ADV data file and crop it to the period of interest

2. Remove ADV head motion from the measured velocity and rotate it into a useful coordinate system

3. Clean erroneous points from the ADV data record

4. Compute turbulence statistics and averages.

It is common practice to save the results of some or all of these steps so that later analysis does not require reprocessing (which sometimes requires significant CPU time). The DOLfYN software package has tools for performing each

of these steps, and for saving data along the way. See Appendix B for an example processing script.

3.1 Reading Data

ADVs typically record data internally in a compact vendor-defined binary format. The vendor will generally publish

the details of the data format (e.g., Røstad 2011), and also release software tools for viewing this data and/or writing

it to other common data formats (e.g., comma-separated, tab-delimited formats, Matlab format, or other increasingly

common standards such as HDF5).

Nortek provides software tools for converting raw/binary ‘.vec’ files to Matlab format (see http://www.nortekas.com/en/support/software), and the DOLfYN software package is capable of reading these files directly into

Python NumPy arrays (Appendix B, line 40). A data set will also generally need to be ‘cropped’ to the period of

interest (e.g., when the instrument was in place on the seafloor, as shown in Figure B.1).

3.2 Motion Correction

Raw turbulence measurements from moored ADVs will be contaminated by mooring motion. When IMU measurements are tightly synchronized with standard ADV velocity estimates, the IMU measurements can be used to reduce

this contamination. This involves removing the ADV head motion, ~u

e

h

, from the measured velocity, ~u

e

m, to estimate

the ‘motion corrected’ velocity in the earth frame:

~u

e

(t) =~u

e

m(t) +~u

e

h

(t) (3.1)

Here superscript ‘e’s denote the earth coordinate system. Note that the ‘+’ sign is correct because the velocity that is

measured by the ADV head due to its motion is in the opposite direction of the head motion. We now break ~u

e

h

into

two parts, ~u

e

h =~u

e

a +~u

e

ω.

9

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
3.2.1 Translational Motion

The first part of ~u

e

h

is an estimate of the linear motion of the ADV:

~u

e

a

(t) = Z

{~a

e

(t)}HP(fa)dt (3.2)

Here, ~a

e

(t) is the IMU-measured acceleration signal rotated into the earth frame6, and {}HP(fa) denotes an appropriate high-pass filter of frequency fa. The acceleration must be filtered in this way to remove the influence of gravity

and that of low-frequency bias (bias drift) that is inherent to IMU acceleration measurements.

Bench tests of the MicroStrain IMU indicate that its accelerometers drift for frequencies < 10−2 Hz, i.e. a minute or

more (Egeland 2014). Therefore, to remove bias drift in ~a that, when integrated according to Eq. (3.2), leads to large

errors in ~u

e

a

this document recommends using fa = 0.033 Hz (30 s). On the other hand, real motions at and below fa

will not be accurately accounted for in ~u

e

a

, and will therefore persist as low-frequency motion contamination in the

estimate of ~u.

For moorings with low-frequency motion that is limited by the mooring line itself—i.e. the mooring anchor does

not move—this is a reasonable approach. Assuming that the displacement of the ADV head from the mooring’s

neutral position is likely to be < 20% of its distance from the bottom, then the low-frequency motion (i.e. below

fa = 0.03 Hz) of a 10-m tether will be < 0.07 m/s. In other words, for a 10-m mooring the choice of fa = 0.03 Hz

allows for low-frequency motion contamination on the order of 0.07 m/s to persist. This is a notable but relatively

minor level of uncertainty in the context of the highly energetic flows that exist at tidal energy sites. Further details

on accelerometer drift can be found in Egeland 2014.

3.2.2 Rotational Motion

The second component, ~u

e

h

, is rotational motion of the ADV head about the IMU:

~u

e

ω(t) = R

T

(t)·



ω~

∗

(t)×~`

∗



(3.3)

Here ω~

∗

is the IMU-measured rotation-rate, ~`

∗ =~l∗

head −~l

∗

imu is the vector from the IMU to the ADV head, × indicates a cross-product, and superscript ∗s denotes a quantity in the ‘ADV body’ coordinate system. This coordinate

system is used explicitly here to emphasize that ~`

∗

is constant in time. Matrix multiplication (denoted by ‘·’) with

the inverse ADV body orientation matrix, R

T

(t), is used to rotate the ‘body-frame rotation-induced velocity’ into the

earth frame. For details on these coordinate systems and the definition of the orientation matrix see Appendix A.

All of the motion correction steps described above can be performed using DOLfYN’s adv.io.motion module. To do

this, the user must specify H and~l

∗

head as ‘properties’ of the raw (cleaned) ADV data object, and select a value for

fa (e.g., lines 18, 23, 34, and 111 of Appendix B). For those unfamiliar with Python, the ‘motcorrect_vectory.py’

script bundled with DOLfYN provides a command-line interface for performing this motion correction and saves the

motion-corrected data in Matlab format. In that case, H and~l

∗

head are specified in an input ‘orient’ file, and fa can be

specified as a command-line option.

3.2.3 Select a Local Coordinate System

Prior to performing any averaging and computing other statistics it is often useful to rotate the measurements into a

locally meaningful coordinate system. For the purposes of quantifying turbulence at hydrokinetic turbine sites it is

common practice to rotate the data into a coordinate system in which u is the ‘stream-wise’ velocity, v is the ‘crossstream’ velocity, and w is in the ‘up’ direction. For details on selecting, estimating, and transforming into such a

coordinate system see Appendix A.2.

6That is, ~a

e

(t) = R

T

(t)·~a

∗

(t), see Appendix A for details.

10

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
3.3 Cleaning Data

Data ‘cleaning’ is a two-step process of 1) identifying erroneous points in an otherwise good data set and 2) replacing them with either: a) reasonable estimates of the values at those points, or b) ‘error values’ (e.g., NaN = ‘not-anumber’), which explicitly indicate that the points are invalid. Recommended methods for identifying erroneous data

include:

• Search the data for manufacturer-defined ‘error values’ (if the manufacturer defines these7).

• Search for values outside a reasonable range. For example, tidal velocities are typically less than 4 m/s; therefore, a velocity measurement greater than 5 m/s is probably erroneous. Histograms can be useful for identifying the reasonable velocity range.

• Utilize diagnostic data from the instrument. For example, low values of correlation—the similarity of the send

and receive acoustic pulses—can sometimes indicate erroneous data.

• Apply ‘spike detection’ algorithms to the velocity signal. Although turbulence is, by definition, unsteady and

chaotic, it is not discontinuous. Large and sharp spikes in the velocity signal are almost always erroneous.

Modern ADVs often produce data of sufficiently high quality that only a relatively small number of spike-type

erroneous data points are present in the raw data (after cropping). In these cases spike detection is usually sufficient

to identify erroneous points. The recommended spike-identification method is documented in Goring and Nikora

2002 and Wahl 2003, and implemented in DOLfYN’s adv.clean.GN2002 function.

After points have been identified as erroneous they will need to be replaced. For a few cases of sparsely distributed

erroneous data points they can be replaced with interpolated values (DOLfYN’s adv.clean.GN2002 function uses a

least-squares cubic polynomial) without introducing significant interpolation-related biases. This approach produces

a data set that can be further processed without the difficulty of dealing with NaN values.

If, on the other hand, there are segments of data with large fractions of erroneous points (>10%–20%) interpolation

may introduce significant bias to a myriad of statistics of the data. In these cases it is best to crop out the erroneous

segment (perhaps creating two distinct data sets that can be rejoined later), or to assign NaN values to the erroneous

points. In general, the choice between these options will depend on the objectives of the analysis or the preference

of the investigator. For the purposes of this document, in which spectral analysis is a primary result, assigning NaN

values will make spectral analysis difficult to the point that it is best to simply split the data record to remove the

erroneous segments and reassemble it in later stages of processing.

3.4 Turbulence Metrics and Averaging

Having cleaned the raw data and computed an estimate of the velocity vector in a useful coordinate system, ~u, one

can finally begin estimating the turbulence statistics and average (mean) flow properties the measurements were designed to capture. For each component of velocity, ~u = (u,v,w), turbulence is defined by separating the instantaneous

velocity (e.g., u) into ‘average’ (  ̄u) and ‘turbulent’ (u

0

) pieces8:

u = u ̄+u

0

(3.4)

Where the over-bar denotes a ‘suitable average,’ over a period ∆t, such that u

0 = 0. For hydrokinetic turbines, it is

useful to choose ∆t, such that u ̄ is the flow in which the turbine is designed to efficiently convert into useful energy,

whereas the turbulence is what contributes to fatigue loads that decrease device lifetime. That is, ∆t should be somewhat longer than a typical hydrokinetic turbine ramp-up time (tens of seconds to a minute or two). Defined this way,

a turbine can be considered to be in a ‘steady operational state’ so long as changes in u ̄ are small compared to u ̄ itself. Turbulent velocity fluctuations can then be treated as disturbances to a hydrokinetic turbine’s ‘steady operation.’

A time scale, ∆t, must be chosen such that the tidal flow has stationary statistics (i.e., stable mean and variance) for

that duration of tide. If ∆t is too long, the tidal variation itself will contaminate the results. The wind energy industry

uses ∆t = 10 min (International Electrotechnical Commission 2005), which is appropriate for large modern wind

7The velocity data in Nortek Vector (.vec) files do not contain an error value.

8Some discussions include a ‘wave velocity,’ but for simplicity, it is not included here at this time.

11

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
00:00 04:00 08:00 12:00

Time [June 16, 2014]

3

2

1

0

1

2

3

1u [ms

¡1

]

(a)

0 50 100 150 200 250 300

Time [seconds]

0.6

0.4

0.2

0.0

0.2

0.4

0.6

u

0 [ms

¡1

]

(b)

Figure 6. An example velocity time series measured using a TTM at Admiralty Inlet

a) The mean stream-wise velocity (  ̄u, blue, ∆t = 5-minute) is overlaid on the full signal (grey), and b) shows a 5-minute

data window of the turbulent piece of the streamwise velocity, u

0

. The dashed lines indicate one standard deviation.

12

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
turbines (with long ramp-up times); however, the smaller size of current hydrokinetic turbines suggests that they may

respond faster, therefore, a smaller ∆t might be appropriate (Gunawan, Neary, and Colby 2014). On the other hand,

if turbulence is to be treated as the primary driver of device fatigue loads, one should be careful not to implicitly

neglect energetic low-frequency turbulence by selecting ∆t to be too short.

With these considerations in mind, and until further work provides more details on the relationship between turbulent

inflow and hydrokinetic turbine loads, we recommend using ∆t = 2-10 minutes. The exact choice of ∆t—within this

range—is unlikely to alter the results significantly, and should be adjusted depending on the goals of the analysis.

For example, when fitting theoretical spectra to observations for the purpose of input to stochastic flow simulation

tools such as TurbSim (Jonkman 2009), it is desirable to include lower frequencies in the fit, and therefore it is

reasonable to use a longer ∆t (5–10 min).

With ∆t chosen, the ADV data record is broken into segments in which turbulence statistics are computed. In this

way the time series of instantaneous velocity, ~u (at the instrument sample rate, e.g., 16 Hertz [Hz]), is converted to a

time series of turbulence statistics (with time-step ∆t, shown in Figure 6). It is recommended to save data at this level

to allow for quick and easy access during analysis.

The remainder of this section defines several turbulence variables that are commonly used in the hydrokinetic turbine

industry and can be computed from moored ADV measurements. Furthermore, DOLfYN’s adv.io.turbulence module

provides a two-line interface for performing averaging and computing all of these statistics (e.g., lines 123–124 in

Appendix B).

3.4.1 Turbulence Intensity

Turbulence intensity is used throughout the wind industry and other engineering fields as a zeroth-order metric for

√

quantifying turbulence. It is defined as the ratio of the standard deviation of horizontal velocity magnitude (U =

u

2 +v2

) to its mean:

I =

std(U)

U ̄

(3.5)

Turbulence intensity is often quoted in units of percent (i.e., 100 · I). It is useful because it is easy to understand,

and—in many observations of atmospheric and oceanic turbulence—is relatively constant for U ̄  0. On the other

hand, I has often been criticized for being too simple (in particular, that it only includes information about horizontal

velocity) such that it does not provide enough information about the turbulence for various applications.

3.4.2 Turbulent Kinetic Energy

Turbulent kinetic energy (TKE) quantifies the total energy contained in turbulence:

ETKE = u

0u0 +v0v0 +w0w0

(3.6)

Like I, ETKE is useful because it is relatively simple. As a scalar quantity that includes all turbulence components,

it has been studied at length by turbulence scientists and has a well-defined ‘budget’ equation that is the basis of

turbulence theory. For some purposes it may be useful to investigate each component of ETKE individually. It has

been suggested that a turbulence intensity based on TKE, that is ITKE =

√

ETKE/U ̄, would be more meaningful to

engineering applications; however, this approach has not gained wide acceptance.

3.4.3 Reynold’s Stresses

Reynold’s stresses are correlations between velocity components and are fundamentally important to turbulent flow

fields. Unlike ETKE, Reynold’s stresses appear in the mean-flow equation explicitly as terms that transport (move)

momentum from high- to low-velocity regions. Because of how they appear in the mean-flow equation, Reynold’s

stresses are typically treated as three distinct components: u

0v0

, u

0w0

, and v

0w09

. Several studies have found evidence

9

In many formalisms of turbulence the Reynold’s stresses are components of off-diagonal elements of the Reynold’s stress tensor. In these

arenas the diagonal elements of that tensor are the components of ETKE .

13

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
that they are correlated with increased wind turbine fatigue loads (e.g., Kelley et al. 2002; Kelley et al. 2005), which

has begun to elevate their importance in the wind energy field.

3.4.4 Turbulence Auto Spectra

Turbulence velocity auto spectra (hereafter referred to as ‘spectra’) are estimates of the distribution of turbulent

energy as a function of frequency. That is, a spectrum quantifies the amount of energy in the velocity at a range of

time scales. Furthermore, for the measurement approach described herein, time scales can be converted into length

scales using Taylor’s frozen flow hypothesis (i.e., li = u ̄/ fi), spectra quantify the distribution of turbulent energy at

different length scales. When considering turbulence to be a complex interaction of eddies from very small to very

large scales, the spectrum quantifies the energy (rotation speed) of the eddies as a function of their size (δ, Figure 1).

Hydrokinetic turbines respond to each scale of velocity fluctuations differently. Hydrokinetic turbine simulation tools

(such as Tidal bladed and HydroFAST10) are capable of estimating the loads induced by these fluctuations, but the

critical information of how energetic those fluctuations are must be provided as input to these tools. Fortunately,

spectra provide exactly this information: the distribution of energy as a function of eddy size.

Spectra are estimated from fast Fourier transforms (FFTs) of the turbulent velocity:

S{u}(f) = |F(u)|

2

(3.7)

In this work, FFTs [denoted by F()] are computed by removing a linear trend from u

11 and applying hanning

windows to reduce spectral reddening (Priestley 1981). Spectra are normalized so that R

S{u}(f)d f = u

0u0

.

3.4.5 Spatial Coherence

Spatial coherence is an estimate of the correlation of velocity components, over spatial distances, as a function

of frequency. That is, where spectra indicate the energy in eddies as a function of their size (δ), coherence is an

estimator of their ‘length’ (L). For three-dimensional isotropic turbulence, these length scales should be similar. For

the largest eddies, which are expected to be depth-limited and thus two-dimensional and anisotropic, it is likely that

L will greatly exceed δ. Knowledge of the ‘length’ of these large eddies is important to hydrokinetic turbine design

because they are the most energetic, and if their dimensions match that of hydrokinetic turbine components they are

likely to have a larger impact on the hydrokinetic turbine.

The u-component spatial coherence is estimated as12:

Γi j{u}(f) =








F(ui)F(uj)





2

hS{ui}i




S{uj}

 (3.8)

Where hi denotes an ensemble average, and i and j denote different measurement points in space.

10Based on the National Wind Technology Center’s FAST wind turbine simulation tool.

11Note that removing a linear trend means that F(u) = F(u’).

12Equivalent expressions apply for the v and w components.

14

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
4 Data Analysis

This section presents example analyses of moored ADV data that provide potentially useful information for hydrokinetic turbine site- and device-developers, and discusses the accuracy and limitations of the approach.

4.1 Initial Inspection: Time Series and Histograms

As a first step in most analysis of velocity data, it is useful to plot the velocity and other turbulence statistics as a

function of time. In the example data in Figure 7 the tidal currents reach 2 m/s. During this period, at this location,

the floods are significantly larger than the ebb. The mean velocity appears to be a reasonable estimate: there is a clear

tidal signal, there are no sudden dramatic jumps in the values, and the magnitude of the velocity agrees with previous

measurements at this site, which gives us confidence that our methods have produced a reliable data set (Figure 7a).

The instantaneous turbulence intensity has an average of 10%, but approaches 20% in some 5-min periods (7b).

As is often observed in turbulent flows throughout the oceans and atmosphere the turbulence is highly intermittent:

dominated by large spikes and periods of relative calm (7c). Note also that the turbulence is significantly lower for

the small ebb than it is for the two (larger) floods. The Reynold’s stresses show a similar pattern (7d).

Hydrokinetic turbine site developers often use histograms of velocity measurements to estimate the available power

at a tidal energy site. The record in Figure 7 is not long enough to estimate annual energy production but a histogram

of the measurements does provide some indication of the distribution of velocity at the site (Figure 8). During this

time period, for example, more than 30% of the measurements had a U ̄ in the range of 0.8–1.2 m/s.

4.2 Turbulence Spectra

The primary purpose for making ADV measurements at hydrokinetic turbine sites is to measure the turbulence

spectra. That is, ADVs resolve the inflow at a level of detail that cannot be measured with profiling instruments.

Turbulence spectra are estimates of the distribution of energy as a function of frequency (eddy size). Because spectra

reveal detailed information about the signal (velocity), they also reveal detailed sources of error in the measurement.

It is therefore important to be aware of these errors so that one can be careful to exclude them from estimates of

statistics meaningful to the flow.

Kolmogorov’s theory of locally isotropic turbulence predicted that turbulence spectra would have an ‘inertial subrange’ in which the amplitude of the spectral components (i.e., S{u}, S{v}, and S{w}) will be equal, and in which

the spectra will decay as k

−5/3

(Kolmogorov 1941). This prediction has been confirmed by observation so ubiquitously in oceanic and atmospheric turbulence that it has become a defining characteristic of turbulence spectra (e.g.,

Figure 9a, data from Thomson et al. 2012]. Based on this we expect that deviations from this behavior are likely to

indicate some source of error.

There are two primary sources of error in moored ADV spectra: 1) Doppler noise, and 2) imperfect motion correction. Doppler noise has been studied at length and is easy to identify and account for. Doppler noise is a low-energy

‘white-noise’13 that results from uncertainty in the Doppler shift recorded by the ADV. In measurements of oceanic

turbulence it is generally observed at high frequencies where the amplitude of the turbulent motions drops below the

‘Doppler noise level’ (Figure 9).

Estimates of S{v} from a TTM show a peak near 0.1 Hz that deviates from the f

−5/3

spectral slope (Figure 9b).

Comparison of the velocity spectra to the spectra of uncorrected velocity measurements, S{um}, and spectra of the

head motion, S{uh}, shows that this peak is caused by mooring motion (Figure 10). This comparison highlights the

need for motion correction: without it spectral shapes are contaminated by mooring motion. At many frequencies,

head motion is 5 times larger than the corrected signal (which is taken to be correct because it agrees with a f

−5/3

spectral slope). Furthermore, with Kolmogorov’s theory of isotropy and the f

−5/3

slope, there is a strong theoretical

footing to simply interpolate over the persistent motion contamination peak in S{v} to estimate the underlying

real spectrum. These results suggest that motion-corrected moored ADV measurements are capable of producing

accurate estimates of all three components of the turbulence spectra.

13White noise has constant amplitude with frequency.

15

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
2

1

0

1

2

Velocity [m/s]

(a)

u1

v1

w1

0.00

0.05

0.10

0.15

0.20

I

­

I

®

all =0:10

(b)

0.00

0.05

0.10

0.15

0.20

0.25

Turbulent Energy

[m

2 =s

2

]

u (c) 0u

0

v

0

v

0

w

0

w

0

Etke

00:00 04:00 08:00 12:00

Time [June 16 2014]

0.02

0.01

0.00

0.01

0.02

0.03

0.04

0.05

Reynold's stresses

[m

2 =s

2

]

u (d) 0v

0

u

0

w

0

v

0

w

0

Figure 7. A time series of turbulence statistics measured from a TTM at Admiralty Head a) velocity, b) turbulence intensity, c) turbulent kinetic energy and its components, d) Reynold’s stresses.

Shaded regions indicate ebb (red) and flood (blue) periods where U > 0.7. Turbulence intensity is only plotted during these periods because it is meaningless for small values of U. The mean I over the data record is 10%.

16

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
0.0 0.5 1.0 1.5 2.0 2.5 3.0

U1 [m/s]

0

5

10

15

20

25

30

35

% of data

Figure 8. Histogram of mean horizontal velocity magnitude

10-3 10-2 10-1 100 101

f [hz]

10-4

10-3

10-2

10-1

100

[(m

2 =

s

2

)=hz]

Inertial

Subrange

Doppler Noise

(a)

Fixed ADV

S

©

u

a

S

©

v

a

S

©

w

a

10-3 10-2 10-1 100 101

f [hz]

Inertial

Subrange

Persistent

motion

contamination

Successful

motion

correction

Doppler Noise

(b)

Moored ADV

Figure 9. A comparison of the shape of spectra at two different sites from ADVs on: a rigid tripod (a), and a TTM (b)

The spectra for each velocity component, u, v, w are in blue, green, and red, respectively. The shaded region indicates the ‘inertial subrange,’ in which the spectra decay like f

−5/3

and all components have nearly

the same amplitude. The dashed line indicates a f

−5/3

slope. The difference in amplitude of the spectra (between a and b) is expected because the turbulence measurements were made at different sites. In each panel

the ‘Doppler noise’ level arrow points at Doppler noise that exceeds the high-frequency turbulence levels.

17

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
2x

(a) (b) (c)

Figure 10. Spectra of turbulence highlighting motion correction

a) Shows the streamwise velocity, b) shows the cross-stream velocity, and c) shows the vertical velocity. Black lines show the

uncorrected spectra, red show the spectra of head motion, and blue show the spectra after motion correction. Green shading

highlights locations where motion correction reduced the spectral amplitude. The inertial subrange is shaded as it was in Figure 9.

4.3 Spatial Coherence

Measurements of spatial coherence over the scales important to hydrokinetic turbines (e.g., rotor diameter) can

be used to improve the accuracy of inflow simulations at hydrokinetic turbine sites. Vertical spatial coherence estimates from two IMU-equipped ADVs deployed on a TTM, separated by 0.6 m, are plotted in Figure 11a. The

lack of motion contamination in S{wm} (Figure 10), suggests that this component will have an accurate estimate of

Γ∆z{w}. Indeed, the shape of Γ∆z{w} agrees with measurements of coherence from other environments; i.e., it has

an exponential decay (Kilcher, Thomson, and Colby 2014). Unfortunately, Γ∆z{u} and Γ∆z{v} are contaminated by

persistent mooring motion at 0.1 Hz. The peak in coherence arises because the measurements were made from the

same TTM strongback vane, and the co-motion of that vane created a peak in the coherence estimate at the frequency

of mooring motion.

The lateral spatial-coherence estimates between ADVs on two different TTMs show zero-spatial coherence. We

believe this to be a reliable and important result: at this site (50 m water depth) and distance above the bottom (11

m), turbulence is incoherent over spatial separations of 50 m. This supports the theory that the limiting scale for

spatial coherence of turbulence is controlled by the outer scale of the forcing. That is, the lateral spatial coherence

is controlled by the distance from the bottom. This result suggests that turbulent loading on devices in an array with

hub heights smaller than their separation distance will be uncorrelated across the array.

Measurements of lateral spatial coherence from the STTM have a far lower motion contamination (Figure 12). Γ{w}

has minimal motion contamination at 0.15 Hz, but is otherwise an assurring estimate of spatial coherence. Γ{u} has

a significant motion contamination peak at 0.1 Hz, but this peak is much smaller than the contamination in Γ{u}

in Figure 11a. The differences in low-frequency amplitude of the coherence is a result of the different orientations:

Γ{w} has high coherence when the measurements are separated vertically, and Γ{u} has higher coherence when the

measurements are separated laterally.

The STTM-based coherence estimates are more accurate because the buoy is streamlined and has a larger inertia

than the strongback vane, resulting in lower total motion. Additionally, the ADP mounted in the buoy’s hull provides

an independent measurement of platform motion. The ratio of this motion to the velocity measurements provides

an estimate of the uncertainty in the coherence estimates. That is, because the two ADVs are on the same platform,

their coherence might be enhanced by as much as the motion of the platform (shading in Figure 12). If the platform

motion is much less than the measured signal, then the uncertainty is small. A best-fit exponential to the uncontaminated data provides an estimate of the spatial coherence parameters used in turbulence simulation tools such as

TurbSim.

18

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
Figure 11. Spatial coherence estimates from TTMs

Vertical coherence estimates (a) are from ADVs on TTM1 spaced 0.6 m apart. Lateral coherence estimates (b) are between neighboring TTMs spaced 50 m apart. Dashed lines in both figures indicate the 95% confidence level above which the coherence estimates are statistically different from 0.

Figure 12. Lateral spatial coherence estimates from the Stable TTM

The measurement spacing is 1.5 m in the cross-stream (y) direction. The horizontal dotted line indicates the 95% confidence level. The shaded region indicates the uncertainty from mooring motion measured by the ADP. The upper panel shows the u-component coherence, and the lower panel shows

the w-component. Dashed lines indicate best fits to the data in which the uncertainty is less than 0.2.

19

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
5 Summary and Future Work

This document outlines the methods for making turbulence measurements at hydrokinetic turbine sites using

mooring-deployed IMU-equipped ADVs. Using the data processing techniques described herein, it is possible to

obtain accurate turbulence spectra estimates from these measurements. This approach produces reliable estimates of

the Reynold’s stresses, turbulent energy, and turbulence spectra. The w-component of vertical spatial coherence can

be estimated using a tidal turbulence mooring, and the stable tidal turbulence mooring provides data that resolves

lateral spatial coherence. Other existing approaches—most of which deploy instrumentation on the seafloor (either

ADPs or ADVs)—do not resolve the statistics of the turbulence with sufficient accuracy (ADPs) or at the correct

location (ADVs) to produce realistic inflow time series for device simulation tools.

This manual provides guidance on: designing mooring hardware that can support the instrumentation, planning deployments to capture the statistics of turbulence that are important to hydrokinetic turbines, configuring instrumentation for data collection, processing data, and quantifying statistics relevant to tidal energy. It is highly recommended

that users of this manual also download and install the DOLfYN software package, as each data processing step described herein can be performed in a few lines of code. In particular, the tedious details of accounting for different

coordinate systems have been simplified therein (Appendix A).

Since this project began, a new generation of higher-accuracy ADP has become commercially available. Although

these modernized instruments still lack the precision of ADVs for high-fidelity turbulence measurements, they may

be capable of measuring turbulence statistics in sufficient detail for site characterization and project design studies. More work is needed to validate this capability and investigate whether measurements from these instruments

can be extrapolated to high frequency to provide the statistics needed for input to device simulation tools. If this

capability can be demonstrated, the TTM system will be valuable in high-fidelity site characterization and model

validation studies, and the new ADPs could provide an even lower cost all-in-one tool for low- to mid-fidelity site

characterization.

To engineer low-cost devices, the hydrokinetic turbine industry still needs a clear understanding of the range of

turbulent conditions in which turbines are likely to operate. To gain this understanding, more data—at alternate sites,

with TTM moorings and new ADPs—is needed. This data would be highly valuable for incorporating turbulence

information into tidal energy resource assessment and design standards, and would provide input data to standardized

device simulation tools that include realistic inflow conditions across a representative distribution of site conditions.

20

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
Feedback

Comments, questions, suggestions, or corrections should be directed to Levi Kilcher (Levi.Kilcher@nrel.gov) at the

National Renewable Energy Laboratory.

21

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
References

Egeland, Matthew Nicklas. 2014. “Spectral Evaluation of Motion Compensated ADV Systems for Ocean Turbulence

Measurements.” PhD thesis, Florida Atlantic University.

Goring, Derek G., and Vladimir I. Nikora. 2002. “Despiking acoustic doppler velocimeter data.” Journal of Hydraulic Engineering 128:117–126.

Gunawan, B., V. S. Neary, and J. Colby. 2014. “Tidal energy site resource assessment in the East River tidal strait,

near Roosevelt Island, New York, NY (USA).” Renewable Energy 71:509–517. doi:10.1016/j.renene.2014.06.002.

International Electrotechnical Commission. 2005. Wind Turbines Part 1: Design requirements. 61400-1.

Jonkman, B. J. 2009. TurbSim User’s Guide Version 1.50 (Technical Report). NREL/TP-500-46198. National

Renewable Energy Laboratory, Golden, CO (US). http://www.nrel.gov/docs/fy09osti/46198.pdf.

Kelley, N., M. Hand, S. Larwood, and E. McKenna. 2002. “The NREL Large-Scale Turbine Inflow and Response

Experiment - Preliminary Results.” In 21st American Society of Mechanical Engineers Wind Energy Symposium.

NREL/CP-500-30917. January 14-17. Reno, Nevada.

Kelley, N. D., B. J. Jonkman, G. N. Scott, J. T. Bialasiewicz, and L. S. Redmond. 2005. “The Impact of Coherent

Turbulence on Wind Turbine Aeroelastic Response and its Simulation.” In WindPower. NREL/CP-500-38074.

May 15-18. Denver, Colorado.

Kilcher, Levi, Jim Thomson, and Jonathan Colby. 2014. “Determining the spatial coherence of turbulence at MHK

sites.” In 2nd Marine Energy Technology Symposium. April 16-17. Seattle, Washington.

Kolmogorov, A. N. 1941. “Dissipation of Energy in the Locally Isotropic Turbulence.” Ed. by J. C. R. Hunt, O. M.

Phillips, and D. Williams, Dokl. Akad. Nauk SSSR 32 (1): 16–18. http://www.jstor.org/stable/51981.

MicroStrain, Inc. 2012. 3DM-GX3-15,-25 MIP Data Communications Protocol. Retrieved January 2014. http :

//files.microstrain.com/3DM-GX3-15-25-MIP-Data-Communications-Protocol.pdf.

– . 2014. 3DM-GX3-25 Miniature Attitude Heading Reference System. Retrieved January 2014. http : / / files .

microstrain.com/3DM-GX3-25-Attitude-Heading-Reference-System-Data-Sheet.pdf.

Nortek. 2005. Vector Current Meter User Manual. H. Vangkroken 2, NO-1351 RUD, Norway.

Polagye, B, and J Thomson. 2013. “Tidal energy resource characterization: methodology and field study in Admiralty Inlet, Puget Sound, WA (USA).” Proceedings of the Institution of Mechanical Engineers, Part A: Journal of

Power and Energy 227 (3): 352–367.

Priestley, M.B. 1981. Spectral Analysis and Time Series. London: Academic Press.

Røstad, Jonas. 2011. System Integrator Manual. Vangkroken 2, NO-1351 RUD, Norway: Nortek AS.

Stacey, Mark T., Stephen G. Monismith, and Jon R. Burau. 1999. “Observations of Turbulence in a Partially Stratified Estuary.” Journal of Physical Oceanography 29:1950–1970.

Thomson, Jim, Brian Polagye, V. Durgesh, and M.C. Richmond. 2012. “Measurements of turbulence at two tidal

energy sites in Puget Sound, WA.” Journal of Oceanic Engineering 37 (3): 363–374. doi:10.1109/ JOE.2012.

2191656.

Thomson, Jim, Levi Kilcher, Marshall Richmond, Joe Talbert, Alex deKlerk, Brian Polagye, Maricarmen Guerra,

and Rodrigo Cienfuegos. 2013. “Tidal turbulence spectra from a compliant mooring.” In 1st Marine Energy

Technology Symposium. Washington, DC.

Wahl, Tony L. 2003. “Discussion of "Despiking Acoustic Doppler Velocimeter Data" by Derek G. Goring and

Vladimir I. Nokora.” Journal of Hydraulic Engineering 129:484–487.

22

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
A Coordinate Systems

Tracking coordinate systems (i.e., ‘reference frames’ or simply ‘frames’) is a critical and somewhat tedious task for

making accurate velocity measurements using moored acoustic Doppler velocimeters (ADVs). The coordinate systems for doing so can be broken into two categories: 1) the ‘inertial’ or ‘stationary’ ones, into which it is the goal to

transform the measurements, and 2) the moving coordinate systems, in which sensors make the measurements. The

purpose of this appendix is to clearly document and define the relationships between all of the coordinate systems

necessary for quantifying turbulence using moored ADVs. This appendix starts with general definitions of coordinate

systems and the relationships between them (Section A.1), then details the stationary and measurement frames used

herein (Sections A.2 and A.3, respectively).

A.1 Defining Coordinate Systems

Consider two three-dimensional right-handed coordinate systems (‘a’ and ‘b’) with orthogonal basis vectors xˆ

a

, yˆ

a

,

zˆ

a

, and xˆ

b

, yˆ

b

, zˆ

b

. In general, these coordinate systems are related by the equation:

~r

b = R

a

b

·(~r

a −l

a

b

) (A.1)

Here superscripts denote the coordinate system that the quantity is measured in and · indicates standard matrix

multiplication. The vectors~r

a

and~r

b

indicate the same point in space, but in the two distinct coordinate systems.

In this framework the vector l

a

b

is the ‘translation vector’ that specifies the origin of coordinate system ‘b’ in the ‘a’

frame, and R

a

b

is the ‘orientation matrix’ of ‘b’ in ‘a’. With these definitions, the following statements are true:

• A vector can be mapped from one coordinate system to the other by:

~u

b = Ra

b

·~u

a

(A.2)

• The inverse rotation is simply the transpose:

R

b

a = (R

a

b

)

−1 = (Ra

b

)

T

(A.3)

• The determinant of the rotation matrix is 1:

det(R

a

b

) = 1 (A.4)

A.2 Stationary Frames

Throughout the main body of this document measurements are discussed in terms of two stationary coordinate

systems: a) the ‘earth frame’ is the coordinate system in which motion correction is performed,∗and b) a local

‘analysis frame’ coordinate system in which turbulence is analyzed and discussed.

A.2.1 The Earth Frame

The earth frame is the coordinate system in which the orientation of the ADV is measured (see Section A.3.2), and

is the coordinate system in which motion correction is most easily calculated and discussed (Section 3.2). This work

utilizes ‘e’ superscripts to denote an east-north-up (ENU) earth coordinate system with basis vectors:

xˆ

e East

yˆ

e North

zˆ

e Up

∗The earth reference frame is not technically inertial because the earth is rotating, but for the purposes of measuring turbulence in tidal straits

we consider it to be stationary.

23

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
A.2.2 The Analysis Frame

The choice of ‘analysis frame’ will, in general, depend on the data available and the goals of the analysis. For quantifying inflow to hydrokinetic turbines it is common practice to use a coordinate system where:

xˆ is the ‘stream-wise’ or ‘flood’ direction,

yˆ is the ‘cross-stream’ direction (defined by the right-hand rule relative to xˆ and zˆ)

zˆ is the ‘vertical up’ direction.

Note that throughout this work vector quantities with no superscript are in this local frame. The orientation of this

frame relative to the earth is defined as:

S

e =





cosθ sinθ 0

−sinθ cosθ 0

0 0 1



 (A.5)

where θ is the angle from the east to the ‘stream-wise’ direction.

For the purpose of estimating θ, it is convenient to use complex notation for the horizontal velocity:

U ̃

e = u

e +i ve = Ueiφ

e

(A.6)

where i =

√

−1, e ≈ 2.71828 is Euler’s number, U is the instantaneous horizontal velocity magnitude, and φ

e

is the

angle of that velocity from the east.

For measurements at locations where the flow does not change direction dramatically over the measurement period

(e.g., in rivers), the stream-wise direction can be estimated by averaging the horizontal velocity over the entire data

record:

θriver = arghU ̃

e

idata

(A.7)

where hidata denotes an average of all data, and arg returns the complex angle of its argument.

For measurements at locations where velocity changes direction over the measurement period a more sophisticated

method for determining a local coordinate system is often required. For tidal flows, for example, it is often useful to

define the ‘stream-wise’ direction to be parallel with ebb and opposite flood (or vice-versa). This can be done by first

defining:

φ

† =

(

2φ

e

for 0 < φ

e < π

2(φ

e −π) for pi < φe < 2π

(A.8)

That is, φ

e

angles in the lower half of the unit circle are rotated to be in the opposite direction, then all angles are

doubled so that φ

† fills out the unit circle again. When re-combined with the velocity magnitudes, φ†

, can be used to

estimate the ebb-flood direction as:

θtide = arg

hUeiφ

†

idata/2 (A.9)

The ambiguity over whether θtide points in the direction of ebb or flood can easily be resolved knowing the geographic context of the measurements.

A.3 Measurement Frames

To combine signals from an inertial motion sensor (IMU) with those of an ADV to perform motion correction, the

coordinate systems in which each of the measurements are made must be carefully accounted for.

For the Nortek Vector instruments that were used for this work the ‘ADV-body’ coordinate system is defined as being

centered on the cylinder-body axis at the point where the head cable meets its end-cap. The basis vectors of this

coordinate system (shown in Figures A.1 and A.2) are:

24

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
Notch in end-cap

Figure A.1. The circuit board and pressure-case end-cap of a Nortek Vector equipped with a MicroStrain IMU

The ADV-body coordinate system (yellow) is depicted on the right. The notch in the end-cap defines the xˆ

∗ direction

(out of the page), and the zˆ

∗ direction points back along the pressure-case axis. The MicroStrain chip coordinate system

is expanded and highlighted (magenta) to emphasize its orientation relative to the body. Photo by Levi Kilcher, NREL

xˆ

∗ points from the center of the ‘head’ end-cap toward the notch in that end-cap

yˆ

∗

is defined by the right-hand rule based on the other two basis vectors

zˆ

∗ points from the ‘head’ end-cap toward the ‘battery’ end-cap along the body-cylinder (pressure-case) axis.

A.3.1 The ADV Head

To transform measured velocities into a meaningful reference frame and perform motion correction, the orientation

and position of the ADV head in terms of the body coordinate system must be known. The orientation matrix of the

ADV head, H, and translation vector†,~l

∗

head, are defined according to:

~x

head = H·(~x∗ −~l∗

head) (A.10)

where~x

head and~x∗

are the same point in the head and body coordinate systems, respectively. Using Eq. (A.2), (A.3)

and (A.10) the velocity vectors in the head frame can be transformed into the body frame by:

~u

∗ = H

T

·~u

head (A.11)

For Nortek Vectors the coordinate system of the ADV head is centered on the transmit transducer face (shown in

Figure A.2, Nortek 2005), and the coordinate directions are defined as:

xˆ

head is the direction of one of the transducer ‘receive’ arms (marked with tape or paint)

yˆ

head is defined by the right-hand rule based on the other two basis vectors

zˆ

head is into the transducer face.

†The position of the ADV head origin (transmit transducer) in the body coordinate system.

25

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
For fixed-head Nortek Vector ADVs, the body frame and head frame have parallel coordinate systems (i.e., H is the

identity matrix). The center of the head frame is translated 21 cm along the z-axis, i.e.,~l

∗

head = (0,0,−0.21)m (Nortek

2005).

For cable-head ADVs, the position and orientation of the ADV head is arbitrary. This means that when preparing

to make measurements using cable-head ADVs the orientation and position of the ADV head must be accurately

recorded to allow the ADV measurements to be motion corrected and transformed into the body frame during postprocessing. For the example in Figure A.2a,~l

∗

head = (254,64,−165)mm, and:

H =





0 0 −1

0 −1 0

−1 0 0



 (A.12)

In general, H will not necessarily be symmetric nor will it have so many zero elements (i.e., these characteristics are

specific to the head-body alignment of the example).

A.3.2 The IMU Coordinate System

Like the ADV head, the coordinate system in which the IMU measurements are made must be clearly defined and

documented. In general, the IMU frame is related to the body coordinate system by:

~x

imu = A·(~x∗ −~l∗

imu) (A.13)

For the MicroStrain 3DM-GX3-25 (IMU) as it is integrated into the Nortek Vector (Figure A.1),~l

∗

imu = (0.006,0.006,0.150)m,

and:

A =





0 0 1

0 1 0

−1 0 0



 (A.14)

The DOLfYN software package automatically rotates all IMU vectors so that the orientation and motion data returned by dolfyn.io.read_nortek is in the ADV body frame (see the dolfyn.io.nortek.NortekReader.sci_microstrain

source code for details). DOLfYN also adds~l

∗

imu to~l

∗

head to estimate ~`

∗

.

A.3.2.1 The Orientation Matrix

To use the orientation matrix to rotate velocity measurements into an earth-fixed coordinate system it is important

to understand how the orientation matrix is defined. The MicroStrain IMU outputs an orientation matrix, Rimu, such

that:

~u

imu = Rimu ·~uNED (A.15)

where ~u

imu and ~uNED are vectors in the IMU’s local coordinate system and a ‘north-east-down’ earth-fixed coordinate system, respectively (MicroStrain 2012); however, this coordinate system is different from the east-north-up

coordinate system used here (and typically used by Nortek, Røstad 2011). That is:

~u = B·~u

NED (A.16)

where:

B =





0 1 0

1 0 0

0 0 −1



 (A.17)

From this and the above discussion of the orientation of the IMU in the ADV it is simple to show that the orientation

matrix of the ADV body in an ENU frame is:

R = A·Rimu ·B (A.18)

26

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
b

a Marked Arm

Figure A.2. Coordinate systems of the ADV body and head

a) A strongback with an ADV rests on a block of wood. Coordinate systems of the ADV head (magenta) and body (yellow) are shown. The xˆ

head-direction is known by the black band around the transducer arm, and the xˆ∗ direction is marked

by a notch on the end-cap (indiscernible in the image). The cyan arrow indicates the body-to-head vector,~l

∗

head. The perspective slightly distorts the fact that xˆ

head k −zˆ∗

, yˆ

head k −yˆ∗

and zˆ

head k −xˆ∗

. Photo from Levi Kilcher, NREL b) Coordinate system of the ADV head as defined in the Nortek Vector manual (Nortek 2005). Illustration from Nortek, Inc.

27

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
The DOLfYN software package makes this transformation when reading the orientation matrix from Nortek Vector

‘.vec’ files (i.e., the ‘orientmat’ attribute in the data object returned by DOLfYN’s io.read_nortek is R, not Rimu).

This way, vectors in the body frame can be rotated into the ENU earth frame by:

~u = R

T

·~u

∗

(A.19)

28

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
B DOLfYN Data Processing Script

The following script details data processing steps. Figures B.1 and B.2 were created using this script and DOLfYN

version 0.4 (the “Bottlenose” release). An up-to-date and fully functional version of the script will always be available in the ‘examples’ folder of the DOLfYN repository. The data file used is available in the ‘example_data’ folder

of the DOLfYN repository.

adv_example01.py

1 # To get started first import the DOLfYN ADV advanced programming

2 # interface (API):

3 import dolfyn.adv.api as avm

4

5 # Import matplotlib tools for plotting the data:

6 from matplotlib import pyplot as plt

7 import matplotlib.dates as dt

8 import numpy as np

9

10 ##############################

11 # User input and customization

12

13 # The file to load:

14 fname = ’./example_data/vector_data_imu01.vec’

15 # This file is available at:

16 # http://goo.gl/yckXtG

17

18 # This is the vector from the ADV head to the body frame, in meters,

19 # in the ADV coordinate system.

20 body2head_vec = np.array([0.48, -0.07, -0.27])

21

22 # This is the orientation matrix of the ADV head relative to the body.

23 # In this case the head was aligned with the body, so it is the

24 # identity matrix:

25 body2head_rotmat = np.eye(3)

26

27 # The time range of interest.

28 t_range = [

29 # The instrument was in place starting at 12:08:30 on June 12,

30 # 2012.

31 dt.date2num(dt.datetime.datetime(2012, 6, 12, 12, 8, 30)),

32 # The data is good to the end of the file.

33 np.inf

34 ]

35

36 # This is the filter to use for motion correction:

37 accel_filter = 0.1

38

39 # End user input section.

40 ###############################

41

42 # Read a file containing adv data:

43 dat_raw = avm.read_nortek(fname)

44

45 # Crop the data for t_range using DOLfYN’s ’subset’ method (creates a

46 # copy):

29

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
47 t_range_inds = (t_range[0] < dat_raw.mpltime) & (dat_raw.mpltime < t_range[1])

48 dat = dat_raw.subset(t_range_inds)

49 dat.props[’body2head_vec’] = body2head_vec

50 dat.props[’body2head_rotmat’] = body2head_rotmat

51

52 # Then clean the file using the Goring+Nikora method:

53 avm.clean.GN2002(dat)

54

55 ####

56 # Create a figure for comparing screened data to the original.

57 fig = plt.figure(1, figsize=[8, 4])

58 fig.clf()

59 ax = fig.add_axes([.14, .14, .8, .74])

60

61 # Plot the raw (unscreened) data:

62 ax.plot(dat_raw.mpltime, dat_raw.u, ’r-’, rasterized=True)

63

64 # Plot the screened data:

65 ax.plot(dat.mpltime, dat.u, ’g-’, rasterized=True)

66 bads = np.abs(dat.u - dat_raw.u[t_range_inds])

67 ax.text(0.55, 0.95,

68 "%0.2f%% of the data were ’cleaned’\nby the Goring and Nikora method."

69 % (np.float(sum(bads > 0)) / len(bads) * 100),

70 transform=ax.transAxes,

71 va=’top’,

72 ha=’left’,

73 )

74

75 # Add some annotations:

76 ax.axvspan(dt.date2num(dt.datetime.datetime(2012, 6, 12, 12)),

77 t_range[0], zorder=-10, facecolor=’0.9’,

78 edgecolor=’none’)

79 ax.text(0.13, 0.9, ’Mooring falling\ntoward seafloor’,

80 ha=’center’, va=’top’, transform=ax.transAxes,

81 size=’small’)

82 ax.text(t_range[0] + 0.0001, 0.6, ’Mooring on seafloor’,

83 size=’small’,

84 ha=’left’)

85 ax.annotate(’’, (t_range[0] + 0.006, 0.3),

86 (t_range[0], 0.3),

87 arrowprops=dict(facecolor=’black’, shrink=0.0),

88 ha=’right’)

89

90 # Finalize the figure

91 # Format the time axis:

92 tkr = dt.MinuteLocator(interval=5)

93 frmt = dt.DateFormatter(’%H:%M’)

94 ax.xaxis.set_major_locator(tkr)

95 ax.xaxis.set_minor_locator(dt.MinuteLocator(interval=1))

96 ax.xaxis.set_major_formatter(frmt)

97 ax.set_ylim([-3, 3])

98

99 # Label the axes:

100 ax.set_ylabel(’$u\,\mathrm{[m/s]}$’, size=’large’)

30

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
101 ax.set_xlabel(’Time [June 12, 2012]’)

102 ax.set_title(’Data cropping and cleaning’)

103 ax.set_xlim([dt.date2num(dt.datetime.datetime(2012, 6, 12, 12)),

104 dt.date2num(dt.datetime.datetime(2012, 6, 12, 12, 30))])

105

106 # Save the figure:

107 fig.savefig(’./fig/crop_data.pdf’)

108 # end cropping figure

109 ####

110

111 dat_cln = dat.copy()

112

113 # Perform motion correction (including rotation into earth frame):

114 avm.motion.correct_motion(dat, accel_filter)

115

116 # Rotate the uncorrected data into the earth frame,

117 # for comparison to motion correction:

118 avm.rotate.inst2earth(dat_cln)

119

120 #ax.plot(dat.mpltime, dat.u, ’b-’)

121

122 # Then rotate it into a ’principal axes frame’:

123 avm.rotate.earth2principal(dat)

124 avm.rotate.earth2principal(dat_cln)

125

126 # Average the data and compute turbulence statistics

127 dat_bin = avm.calc_turbulence(dat, n_bin=19200,

128 n_fft=4096)

129 dat_cln_bin = avm.calc_turbulence(dat_cln, n_bin=19200,

130 n_fft=4096)

131

132 # At any point you can save the data:

133 dat_bin.save(’adv_data_rotated2principal.h5’)

134

135 # And reload the data:

136 dat_bin_copy = avm.load(’adv_data_rotated2principal.h5’)

137

138 ####

139 # Figure to look at spectra

140 fig2 = plt.figure(2, figsize=[6, 6])

141 fig2.clf()

142 ax = fig2.add_axes([.14, .14, .8, .74])

143

144 ax.loglog(dat_bin.freq, dat_bin.Suu_hz.mean(0),

145 ’b-’, label=’motion corrected’)

146 ax.loglog(dat_cln_bin.freq, dat_cln_bin.Suu_hz.mean(0),

147 ’r-’, label=’no motion correction’)

148

149 # Add some annotations

150 ax.axhline(1.7e-4, color=’k’, zorder=21)

151 ax.text(2e-3, 1.7e-4, ’Doppler noise level’, va=’bottom’, ha=’left’,)

152

153 ax.text(1, 2e-2, ’Motion\nCorrection’)

154 ax.annotate(’’, (3.6e-1, 3e-3), (1, 2e-2),

31

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
155 arrowprops={’arrowstyle’: ’fancy’,

156 ’connectionstyle’: ’arc3,rad=0.2’,

157 ’facecolor’: ’0.8’,

158 ’edgecolor’: ’0.6’,

159 },

160 ha=’center’,

161 )

162

163 ax.annotate(’’, (1.6e-1, 7e-3), (1, 2e-2),

164 arrowprops={’arrowstyle’: ’fancy’,

165 ’connectionstyle’: ’arc3,rad=0.2’,

166 ’facecolor’: ’0.8’,

167 ’edgecolor’: ’0.6’,

168 },

169 ha=’center’,

170 )

171

172 # Finalize the figure

173 ax.set_xlim([1e-3, 20])

174 ax.set_ylim([1e-4, 1])

175 ax.set_xlabel(’frequency [hz]’)

176 ax.set_ylabel(’$\mathrm{[m^2s^{-2}/hz]}$’, size=’large’)

177

178 f_tmp = np.logspace(-3, 1)

179 ax.plot(f_tmp, 4e-5 * f_tmp ** (-5. / 3), ’k--’)

180

181 ax.set_title(’Velocity Spectra’)

182 ax.legend()

183 ax.axvspan(1, 16, 0, .2, facecolor=’0.8’, zorder=-10, edgecolor=’none’)

184 ax.text(4, 4e-4, ’Doppler noise’, va=’bottom’, ha=’center’,

185 #bbox=dict(facecolor=’w’, alpha=0.9, edgecolor=’none’),

186 zorder=20)

187

188 fig2.savefig(’./fig/motion_vel_spec.pdf’)

32

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
12:00 12:05 12:10 12:15 12:20 12:25 12:30

Time [June 12, 2012]

3

2

1

0

1

2

3

u [m

=s]

0.40% of the data were 'cleaned'

by the Goring and Nikora method. Mooring falling

toward seafloor

Mooring on seafloor

Data cropping and cleaning

Figure B.1. The ‘crop_data.pdf’ figure generated by the adv_example01.py script

The uncropped, uncleaned data is in red, and the cropped and cleaned data is in green.

33

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.
10-3 10-2 10-1 100 101

frequency [hz]

10-4

10-3

10-2

10-1

100

[m

2

s

¡2 =hz]

Doppler noise level

Motion

Correction

Velocity Spectra

motion corrected

no motion correction

Doppler noise

Figure B.2. The ‘motion_vel_spec.pdf’ figure generated by the adv_example01.py script

Spikes in the spectra from motion contamination (red) are removed

by motion correction (blue). The dashed line indicates a f

−5/3

slope.

34

This report is available at no cost from the National Renewable Energy Laboratory (NREL) at www.nrel.gov/publications.