Sonic tilt corrections

Sonic Anemometer Tilt Correction

Tilt of a sonic anemometer from true vertical can introduce errors in the measured sensible heat and momentum fluxes. The tilt error in u* or in a scalar flux is on the order of 5% per degree of tilt in the vertical plane aligned with the mean wind direction. Consequently, it is often necessary to rotate the coordinates of three-dimensional sonic wind data to correct for this tilt. NCAR estimates the sonic tilt angles from the archived wind data using the planar fit technique described in Wilczak, Oncley, and Stage, 2001, "Sonic Anemometer Tilt Correction Algorithms," Boundary Layer Meteor., 99, pp. 127-150.

Briefly, this technique assumes that the time-averaged wind field is confined to a plane surface, nominally parallel to the ground. It is assumed that the fluxes of interest are those normal to this wind-field plane and thus the vertical velocity axis is re-oriented normal to that plane. The orientation of the wind-field plane relative to the measurement axes of the sonic anemometer is determined by a least-squares fit of the wind data to the equation

w = a + bu + cv

where u, v, w are averaged horizontal and vertical wind components measured by the sonic anemometer.

Confidence in the fit to this model requires data with as wide a range of wind directions as possible; in practice, 90° or greater. Thus confidence can best be achieved with data extending over many hours or days. If the data are available, this requirement is acceptable because the sonic tilt angles are expected to be unchanged unless the sonic anemometer is moved (or the surrounding surface itself changes!). Thus the tilt angles are calculated for periods delimited by known physical changes in the sonic orientation, e.g. re-leveling the mast or swapping the sonic anemometer.


Correcting Wind Vectors for Instrument Tilt

To rotate wind vectors from instrument coordinates to the new coordinate system where the W axis is normal to the plane of mean flow, first determine the unit axes of the new flow coordinates, Uf, Vf, Wf, expressed in instrument coordinates.

Using the equation of the plane:

a = -bu - cv + w

the normal to the plane, Wf is:

Wf = (-b, -c, 1) / sqrt(b2 + c2 + 1)

Wf can be defined in terms of two angles:

tilt = atan(sqrt(b2 + c2))

tiltaz = atan(-c/-b)

Wf = ( sin(tilt)*cos(tiltaz), sin(tilt)*sin(tiltaz), cos(tilt) )

tilt is the angle between the sonic W axis (Ws) and Wf, and is positive, from 0 to 90 degrees.  tiltaz is the azimuth of the projection of the flow normal vector in the sonic UV plane, measured counter-clockwise from Us.

Note: use the two argument arctangent function, atan2(-c,-b) in programming languages such as C, Java and R when computing tiltaz in order to return the full range of -pi to pi.The y and x arguments of atan2 are switched in spreadsheets such as Excel and Google Docs, so, in spreadsheets, tiltaz = atan2(-b,-c).

You have a choice of where to put the Uf axis in the plane of mean flow.

Uf can be defined as the intersection of the plane of mean flow  with the plane defined by the  sonic U and W axes, Us=(1,0,0), Ws=(0,0,1), using the cross-product:

U'f = Vs x Wf

In this case, since Vs = (0,1,0):

U'f = ((cos(tilt), 0, -sin(tilt)*cos(tiltaz))

Normalizing to a unit vector:

Uf = U'f / |U'f|

Or Uf can be defined as the intersection of the plane of mean flow with the plane defined by Us and Wf, and then normalizing:

U''f = (Wf x Us) x Wf

Uf = U''f / |U''f|

This last definitiion of Uf is used in the ISFS NIDAS code.

In either case, Vf is defined from the cross-product:

Vf = Wf x Uf

For a wind vector (u,v,w) in sonic coordinates, with a w offset "a",  the corrected vector in flow coordinates (uf,vf, wf) is computed from dot products with the new axes:

uf = Uf dot (u,v,w-a)

vf = Vf dot (u,v,w-a)

wf = Wf dot (u,v,w-a)


Tilts In A Typical Tower Deployment in Level Terrain

Often a sonic is mounted on a horizontal boom which is clamped to a vertical tower, but the sonic boom droops slightly below horizontal as it extends outward from the tower. For level terrain, the axis of the tower will be roughly normal of the plane of mean wind flow, values of tilt will be small, usually less than 2 degrees, and the sonic W axis will be leaning out away from the tower roughly along the boom. The projection of the flow normal vector in the sonic UV plane will be back towards the tower, which is the positive Us direction. Therefore typical tiltaz values are usually between -90 and 90 degees.  A sonic boom which slopes up relative to the terrain as it extends from the tower will result in a value of tiltaz with absolute value between 90 and 270.

Using Theodolite-Measured Angles

Beginning with Perdigao in 2017, we began using a Multistation to document sonic anemometer position and orientation.  We shoot the center of the sphere holding the top and bottom set of the CSAT-3 transducers, to which we add the sphere's radius to obtain the exact x,y,z position of these spheres.  We also shoot the mounting boom near the sonic and near the tower, and add the radius of the boom.  From these coordinates, we can calculate the pitch and roll angles (and azimuth) of the sonic array.  We input this information into our "calibration files" as lean and lean aziumth, using:

deg2rad = pi/180

b3 = tan(-roll*deg2rad)
b2 = tan(pitch*deg2rad)/cos(roll*deg2rad)

lean = round(atan(sqrt(b2^2 + b3^2))/deg2rad, 1)
leanaz = round(atan2(-b3, -b2)/deg2rad, 1)