National Center for Atmospheric Research
EOL Integrated Surface Flux Facility

Wind Direction Quick Reference


Trig Conventions

In this document it is assumed that all trig functions use or return angles in radians. However, angles are converted to degrees to simplify the discussion.

Radians are converted to degrees by multiplying by DperR (180/pi = 57.29578), and degrees are converted to radians by multiplying by RperD (pi/180 = 0.01745329).

This document uses the two-argument arc tangent function, atan2(y,x), which returns the arc tangent of y/x in the range -pi to pi radians, -180 to 180 degrees. Fortran, C/C++, Java, IDL and Splus all follow this convention.

Warning: Microsoft Excel switches the arguments, so that atan2(x,y) is the arc tangent of y/x.

To check your software, compute atan2(1,-1). If it equals 2.36 radians (135 degrees) then your software uses the normal convention and you can use these formulas unchanged.

If it equals -0.79 radians (-45 degrees) then your software follows the Excel convention and you must switch the atan2 arguments in the following equations.

Note that the two-argument arc tangent function may be called simply "atan" in some compilers and data analysis software.

Using a one argument atan function restricts the returned angle to a range of 180 degrees. Consequently one must test the sign of x and y to determine the full 360 degree range of directions.

Meteorological wind coordinate system: Umet, Vmet

A positive Umet component represents wind blowing to the East. +Vmet is wind to the North. This is right handed with respect to an upward +Wmet.

Meteorological wind direction: Dirmet

Dirmet is the direction with respect to true north, (0=north,90=east,180=south,270=west) that the wind is coming from.

  Dirmet = atan2(-Umet,-Vmet) * DperR = 270 - ( atan2(Vmet,Umet) * DperR )
  Spd = sqrt(Umet2 + Vmet2)
  Umet = -Spd * sin(Dirmet * RperD)
  Vmet = -Spd * cos(Dirmet * RperD)

Sonic wind coordinates: Usonic, Vsonic

Sonic anemometers measure wind vector components which are relative to the orientation of the sonic array. Therefore, the orientation of the array must be determined, usually with a theodolite or compass, before the wind vectors can be rotated into meteorological coordinates. The following discussion assumes that the sonic anemomenter is level, so that Wsonic = Wmet.

ATI Sonic

+Usonic represents wind into the array, parallel to the support boom (usually toward the tower), i.e. wind from the un-obstructed direction. If you're looking into the array, along the boom, toward the tower, then +Vsonic is to your left. These are right handed with an upward +Wsonic.

Campbell CSAT3 Sonic

CSAT3 coordinates are like ATIs. +Usonic represents wind into the array from the un-obstructed direction, parallel to the support boom. U,V and W are right handed.

GILL R2 Sonic

The R2 Vsonic direction is 120 deg counter-clockwise from N arrow on top of the array (or the front support arm). Vsonic is 90 degrees counter-clockwise from the pointing direction of the upper, front transducer arm. Usonic and Vsonic are left handed with an upward W, so software must flip the sign of one of them to get a right handed system. If one flips Vsonic, then these coordinates are 30 deg c-c-wise from ATI coords (if N arrow is aligned parallel to ATI boom), but 180 deg from Gill R3 coords.

Gill R3

The R3 Usonic direction is antiparallel to the unflipped Usonic on the R2, and so UVW are right handed. The +Vsonic direction is 120 deg c-c-wise from the N arrow on top of the array. The R3 Vsonic direction is 90 degrees c-c-wise from the pointing direction of the upper, front transducer.

Converting between Sonic and Meteorological Coordinates

Determine the angle with respect to true north, (0=N,90=E) of the +Vsonic direction. Call this angle Vaz. Looking from above, the sonic coordinate system is therefore rotated Vaz degrees clockwise from meteorological coordinates.


  Dirsonic = atan2(-Usonic,-Vsonic) * DperR
  Dirmet = Dirsonic + Vaz

For ATI and Campbell CSAT3 sonics, Vaz is the direction relative to true north, straight into the array from the un-obstructed direction, minus 90 degrees.

For Gill R2 sonics, if the sign of V is flipped, then Vaz is the angle of the N arrow + 60. If the sign of U is flipped, then Vaz is the N arrow direction + 240.

For Gill R3s, Vaz is the N arrow direction + 240 degrees.

Horizontal Wind Rotation from Sonic to Meteorological coordinates


  Umet =  Usonic * cos(Vaz*RperD) + Vsonic * sin(Vaz*RperD)
  Vmet = -Usonic * sin(Vaz*RperD) + Vsonic * cos(Vaz*RperD)

Horizontal Wind Rotation from Met to Sonic coordinates


  Usonic =  Umet * cos(Vaz*RperD) - Vmet * sin(Vaz*RperD)
  Vsonic =  Umet * sin(Vaz*RperD) + Vmet * cos(Vaz*RperD)

Converting Winds to Streamwise Coordinates

The U axis (Ustream) of streamwise coordinates is defined to be the mean wind direction. To rotate wind vectors to streamwise coordinates, first determine the the average wind vector,Uav, Vav, in the same coordinate system as the data to be rotated, which could be sonic or meteorological coordinates. The rotation angle is the angle of this wind vector from the U axis, measured positive counter-clockwise.


  D = atan2(Vav,Uav) * DperR
  Ustream =  U * cos(D*RperD) + V * sin(D*RperD)
  Vstream = -U * sin(D*RperD) + V * cos(D*RperD)

As expected, if U=Uav and V=Vav then Ustream = Spd, and Vstream = 0.


Last modified: Monday, 11-Feb-2008
© NCAR/Earth Observing Laboratory
This page was prepared by Gordon Maclean, NCAR Research Technology Facility