Using GPS to measure Wind Yaw


© Osman Isvan; December 2014


The subject of this study is to estimate the air drag acting on a bicycle and rider in order to compute power. We describe a novel method for measuring the wind velocity as a vector under arbitrary wind conditions encountered during a bike ride, using a single-axis differential pressure gauge (Pitot tube) as the only wind sensor. The sensor is calibrated to measure the axial (headwind) component of the apparent wind, called the inline airspeed. The missing wind yaw information is estimated from the inline airspeed, ground speed, heading and the prevailing wind velocity. The prevailing wind is identified as a vector by analyzing the recorded inline airspeed and GPS heading data (Figure 7).

We present field test results showing that the application of the method not only reveals the wind direction, but yields significant improvements in the accuracy of the power estimated by a state-of-the-art Opposing Force Power Meter (OFPM), namely the iBike Newton which does not measure the wind direction (Table 1).

When a Direct Force Power Meter (DFPM) is also present, the method can instead be used to determine the drag area (CdA) as a function of wind yaw (Figure 12). This information is useful for the evaluation of aerodynamic riding positions and bicycle components.

Resolving the wind velocity as a vector with respect to the ground opens up the ability to upload wind data from bicycle-based mobile devices to cloud services with the potential of generating crowd-sourced wind maps [1].

Keywords: Bicycles, bicycle instrumentation, cycling, aerodynamics, air drag, CdA, wind yaw, apparent wind, power meter, OFPM, iBike.


CdA                             Drag Area (product of drag coefficient Cd and area A)

CFD                            Computational Fluid Dynamics

CSV                            Comma Separated Values

DFPM                         Direct Force Power Meter

GPS                            Global Positioning System

OFPM                         Opposing Force Power Meter


The author would like to thank John Marshall for his encouragement and for providing the needed equipment (rear wheel with a PowerTap® hub), which was the reference power meter for the study.


Some cyclists use power meters for real-time feedback and training purposes. All cycling power meters estimate power by effectively calculating the product of propulsion force and ground speed, but they are differentiated by which quantities are measured and which ones are inferred. In Direct Force Power Meters (DFPMs) propulsion force is inferred by measuring mechanical strains in a drive train component such as a crank arm, pedal spindle or wheel hub. In Opposing Force Power Meters (OFPMs) it is inferred by evaluating equations of motion with measured values of hill slope, speed, acceleration and apparent wind velocity [3].

OFPMs offer the benefit of itemizing the constituent components of power (Equation 4). They also tend to be less expensive and do not require replacing original components of the bicycle. But whether an OFPM can estimate power as accurately as a DFPM is a matter of debate.

One of the factors that limit the accuracy of conventional OFPMs is the use of approximate equations to estimate air drag without measuring the wind direction. We analyze the performance of a state-of-the-art OFPM, the iBike Newton™, and provide evidence of a correlation between its measurement error and wind yaw. Wind yaw (apparent wind angle) is the angle of the airflow relative to the bike. A 3-way comparison between a DFPM (PowerTap) and two OFPMs (iBike Newton and Power Analyzer) on two test rides confirms that the iBike’s measurement error is consistent with the use of approximate equations instead of exact equations. Power Analyzer is a post-processor, developed by the author, which uses exact equations. If wind yaw was not recorded, Power Analyzer infers it from the prevailing wind calculated from ground speed, air speed and heading data. This inferred variable is called the virtual wind yaw. When the wind yaw variable in the data file is set to 0°, Power Analyzer approximates the iBike (Figure 1). With virtual wind yaw, it approximates the PowerTap (Figure 11).

The Virtual Apparent Wind model is still an approximation, because the instantaneous wind velocity is, in general, different than the prevailing wind velocity. But when the wind is strong and steady, as it was during the test rides chosen for this study, the Virtual Apparent Wind model is significantly more accurate than the scalar wind model implemented in the iBike Newton (Table 1). It stands to reason that even more accurate power measurements would be achieved if the wind yaw were measured (e.g., with a wind vane) instead of being estimated from the prevailing wind. Alternately, when a wind yaw sensor is not available, OFPM accuracy could be increased with the use of exact equations (Equation 1) where the prevailing wind direction is obtained from a meteorological database.


The wind sensor used in iBike power meters is a differential pressure sensor (Pitot tube) that responds to the stagnation pressure generated by the axial (“front-to-back”) component of the mass flow rate of the airflow relative to the bicycle. This technology is successfully used in aviation instruments to measure airspeed, which is a scalar quantity. In aviation, heading and track are two different variables. Heading is the direction that the nose of the airplane is pointed at; track is the direction of the plane’s movement with respect to the ground. In normal flight heading and track are generally different so that the apparent wind is always a direct headwind (there is no wind yaw). In contrast, a bicycle interacts with two media (ground and air). In bicycling heading and track are always the same, and the apparent wind velocity is a vector with an angle called wind yaw. In this respect bicycles have more in common with sailboats than with airplanes.

Because the maximum sensitivity axis of the wind sensor of a conventional DFPM coincides with the direction of the air drag we wish to measure, it is tempting to assume that the air drag acting on the bicycle and rider could be estimated with sufficient accuracy from the output of this sensor without a need to measure the wind yaw. But there are two reasons why this assumption is not valid.

1.      CdA (a.k.a drag area) depends on wind yaw. For a person riding a bicycle, the front-CdA is generally smaller than the side-CdA. Front-CdA applies when the wind yaw is 0° (e.g., with direct headwinds or when there is no wind). The angle-dependence of CdA is more significant for recumbent and tandem bicycles, bicycles with “aero bars”, disc wheels etc, than for conventional road racing bikes. But it is significant for all types of bicycles [3].

2.      Even with simplified aerodynamic models where CdA is assumed to be constant with wind yaw (cylindrical model), air drag is proportional to the axial component of the squared airspeed [4, 5]; it is not proportional to the square of the axial component of the airspeed. A forward-facing Pitot tube measures the latter quantity instead of the former.  This situation may be visualized with the help of Figure 2 where the scalar quantity that iBike records as “wind speed” is represented by the length of the base of the big triangle (the horizontal blue arrow). But in order to compute air drag accurately, the hypotenuse of the triangle (the apparent wind velocity) must be known as a vector. The square of the hypotenuse represents the aerodynamic force, and air drag is the projection of this force onto the horizontal axis (not shown in Figure 2). For sufficiently small wind yaw angles this error may be neglected, but as the wind yaw grows, so does the error.

To reduce the error in cross winds imposed by these two factors, the iBike Newton power meter features a passive component called a “cross fin”. The intended purpose of this part is to locally modify the airflow in the vicinity of the air intake of the wind sensor in such a way that the sensor’s output remains proportional to the air drag acting on the bike and rider across a wide range of wind yaw angles.

In theory the cross-fin solution seems plausible. However, when the output of an iBike Newton (OFPM with cross fin) was compared with that of a reference DFPM (PowerTap), it was observed that sometimes the iBike reports less power than the PowerTap. Figure 1 illustrates an example of this phenomenon. Note the relatively poor agreement around the 6 – 7 km mark in contrast to the generally better agreement elsewhere.

Figure 1 –Power estimates from Opposing Force (iBike –red curve) and Direct Force (PowerTap –green curve) power meters, and from exact equations (Power Analyzer –black curve) where the apparent wind angle is intentionally set to 0° to predict the iBike’s behavior.

The original objective for this project was to test the hypothesis that the occasional discrepancies noted between the two power meters coincide with large wind yaw angles. While performing test rides for this purpose it became evident that in the absence of an instrument to measure wind direction, the (unknown) wind yaw can be estimated from the scalar wind speed, provided that the speed and direction of the bike and the prevailing wind are also known. Furthermore, it was discovered that by substituting this virtual apparent wind for the instantaneous apparent wind in the exact equations, the instantaneous power is estimated with greater accuracy than with the iBike Newton with or without the cross fin. This discovery became the subject of further investigation that led to the development of an algorithm for improving the accuracy of an OFPM without using a wind direction sensor. It also paved the way to developing a method for determining the CdA (drag area) of a person riding a bicycle as a function of wind yaw (apparent wind angle) without using a wind tunnel.

Figure 2 –Birdseye view of the cyclist with a graphical representation of the physical relationships that exist between wind speed, bike speed, apparent wind speed and apparent wind angle (wind yaw). Note the different wind directions indicated by flags on the ground and on the moving bicycle.


When the wind yaw is sufficiently large, the bike and rider experience significantly more air drag than that informed by the calibrated output of a forward-facing Pitot tube. It was hypothesized that the occasionally observed discrepancies such as those depicted in Figure 1 are rooted in the OFPM sometimes underreporting the air drag due to this phenomenon, and that the accuracy of any OFPM would generally increase if the wind yaw were actually measured and used in exact equations.

We wanted to test this hypothesis with a test ride, but an instrument to measure the wind yaw and record it in sync with OFPM and DFPM data was not available. This led to the idea of calculating wind yaw from the prevailing wind velocity, which could be inferred from the recorded “wind speed” and heading data. Since the instantaneous wind direction (relative to the ground) has a greater likelihood of coinciding with the prevailing wind direction than with the road, exact equations with this “virtual apparent wind” would have a greater likelihood of returning an accurate estimate of air drag (and consequently power), than the approximate equations implemented in conventional OFPMs. This hypothesis was tested with two test rides (one with, one without cross-fin) that meet the following requirements:

  • Strong and steady wind in an open area free of obstructions
  • Numerous headings in as many directions as possible
  • Flat terrain (air drag must be the principal constituent of the total opposing force)
  • Low traffic density.

A 110 km test course that meets these requirements is shown in Figure 3.

Figure 3 –aerial view of the test course. Note the absence of large structures and trees, the minimal elevation change and the variety of headings.

The course was laid out on a grid of farm roads with 3 rectangular loops that are angled relative to each other so that the course includes as many headings as possible. For each of the 2 test rides, each of the 3 loops was ridden twice in each direction (clockwise and counterclockwise) resulting in a total of 12 loops over approximately 110 kilometers ridden in approximately 4 hours. Wind conditions forecasted for the duration of the test ride with the cross fin is shown in Figure 4.  The test ride without the cross fin was performed under similar conditions.

Figure 4 –weather forecast for the test ride. The red rectangle identifies the time window chosen for the test.

A snapshot from the video recording of the test is given in Figure 5 to illustrate the favorable conditions.

Figure 5 –Example snapshot from the test ride to illustrate the unobstructed nature of the test course.

After the test ride, the recorded data was analyzed. Figure 6 includes selected statistics, which are given for reference only. The large share of the aerodynamic energy should be noted.

Figure 6 –Some of the relevant statistics of the test ride (screenshot from Power Analyzer)

Data synchronization: The ride data recorded by the iBike Newton power meter includes (among others) the following variables:

  • Axial projection of the apparent wind velocity, a scalar variable indicated by the horizontal blue arrow in Figure 2. In the iBike documentation this scalar is called “wind speed”, but we refer to it as the inline airspeed.

  • Hill slope
  • Bike speed
  • iBike-estimated power
  • PowerTap-estimated power.

The data acquisition rate was set to 1 sample per second.

The iBike-proprietary data file is uploaded to a personal computer, analyzed using iBike’s Isaac software, and exported as a data file in CSV (Comma Separated Values) format. In addition to the variables recorded by the Newton power meter, the exported CSV file also contains GPS location coordinates downloaded from the iBike Cloud, which have been recorded during the test ride by iBike’s Newton Tracker app running in a mobile phone located in the rider’s pocket. These location coordinates are automatically synched with the rest of the ride data by the Isaac software.

Prevailing wind: The first step of our analysis is the identification of the prevailing wind. Figure 7 is a scatter chart of the iBike-measured scalar “wind speed” that we call the inline airspeed, plotted against heading. The heading information is calculated from GPS coordinates.

Figure 7 –Identifying the prevailing wind as a vector.

Each point on the red curve in Figure 7 is the average of all scatter points (green dots) that have headings within ±5 degrees of the point being plotted. Thus, the speed and direction of the prevailing wind velocity are indicated by the vertical and horizontal coordinates, respectively, of the peak of the red curve. For the ride under investigation, these values are 19.3 km/h and 283 degrees, respectively. It was noted that these values concur with the regional weather forecast (Figure 4) obtained prior to the ride.

Virtual Apparent Wind: Because the ride data does not include the apparent wind velocity (coordinates of Point C in Figure 8) for each data sample, these values are estimated from the prevailing wind vector identified in the previous step. The resulting vector (C’O) is called the “virtual” apparent wind velocity. In effect we use the virtual point C’ as an approximation to the unknown point C. The rationale for this process is the following:

The power estimation algorithm used in the iBike Newton appears to assume that air drag is proportional to the square of the length of Line OB in Figure 8. Indeed, when the apparent wind angle (AOC) is sufficiently small, the difference between the quantities [(OB)2] (Scalar Wind approximation used by iBike) and [(OC)2  ∙ cos (AOC)] (exact solution for constant CdA –i.e., the cylindrical aerodynamic model) becomes negligibly small. But with strong cross winds or quartering tailwinds the apparent wind angle (BOC) can be arbitrarily large, in which case the Scalar Wind approximation would result in underestimating the air drag.

In addition, with strong cross winds the exact equations applied to the cylindrical model would also underestimate the air drag, because a person riding a bicycle is somewhat streamlined in the forward direction.

Our solution is to estimate the apparent wind velocity (Line CO) as a vector. The prevailing wind velocity, inferred from ride statistics as a vector as illustrated in Figure 7, is represented by the arrow at the lower left corner of Figure 8. The vector equations used in Power Analyzer for computing the virtual apparent wind velocity are graphically analogous to parallel-moving this arrow and inserting it into the vector diagram as Line (C’A). The resulting virtual apparent wind velocity, Line (C’O), is used as an approximation to the unknown apparent wind velocity, Line (CO).

Figure 8 –The instantaneous Virtual Apparent Wind velocity (Line C’O) is computed from the prevailing wind velocity (Line C’A) and bike speed (Line OA). Point C’ is an approximation to the unknown point C.

It was found that for the two test rides conducted for this study (one with , one without cross fin), the virtual apparent wind approximation results in significantly less error in power than the scalar wind approximation. Perhaps more importantly, modeling the wind velocity as a vector allows us to use CdA values that are variable according to a predetermined function of the apparent wind angle, which results in further reductions in error.

In Table 1, power estimates from two models, the scalar wind model and the virtual apparent wind model are compared, and their respective “errors” (differences relative to the DFPM) are tabulated.

Description of the OFPM model

Model assumes that air drag is proportional to

% of time with greater than 30% discrepancy to DFPM power

Scalar wind approximation (iBike Newton with cross fin)



Scalar wind approximation (iBike Newton without cross fin)



Virtual apparent wind approximation (cylindrical model)

(OC’)2 ∙  cos (AOC’)


Virtual apparent wind approximation (variable CdA model)

(OC’)2 ∙  cos (AOC’) ∙ λ 


Exact Solution with vector wind sensor (cylindrical model)

(OC)2 ∙  cos (AOC)


Exact Solution with vector wind sensor (variable CdA model)

(OC)2 ∙  cos (AOC) ∙ λ 


Table 1 –Comparison of OFPM models and sensor configurations relative to the DFPM. λ is an empirically determined nonlinear function that defines how CdA changes with apparent wind angle for a particular bicycle and rider –see Equation (2).  

In Table 1, the “error” of an OFPM is defined as the percentage of data points where the absolute value of the difference between the OFPM and DFPM powers exceeds 3% of the DFPM power (first, the wind sensor’s sensitivity scalar is adjusted until the mean value of this difference is reduced to zero). The reduction in this quantity from 17% (scalar wind approximation) to 3% (virtual apparent wind approximation) can be visualized from the scatter plots in Figure 9, where the ratio of OFPM power to DFPM power is plotted for every data sample. The ideal distribution of scatter data would be a maximum density of 1’s forming a horizontal cluster. A visual inspection of Figure 9 reveals that Power Analyzer (virtual apparent wind approximation with variable CdA) approaches that ideal more closely than the iBike Newton (scalar wind approximation with constant CdA) with or without cross fin. If actual data from a wind direction sensor were available (a wind vane, for example), the exact equations used in Power Analyzer would likely return even more accurate results. It should be noted that for this test to be valid, the reference DFPM (PowerTap) does not need to be accurate; it only needs to be repeatable and robust with respect to wind yaw.

Figure 9 –Comparison between two power estimation methods for OFPMs: Scalar Wind method represented by iBike, and Virtual Apparent Wind method represented by Power Analyzer.

It is noted that the ‘cross fin’ accessory of the iBike Newton power meter spreads the wind sensor’s response across a wider range of wind angles, but this results in a decrease, rather than an increase, in the overall correlation with the DFPM power.

As expected, the application of the variable CdA model results in better OFPM performance (a significant reduction in the frequency of above-threshold errors, from 4.7% with the cylindrical model to 2.9% with the variable CdA model).

The statistics for the virtual apparent wind model in Table 1 are drawn from the test ride recorded with the cross fin (iBike Newton’s default configuration). The variable CdA method removes the effect of the cross fin, because the model parameters are tuned for the particular wind sensor with which the wind was measured. “Parameter tuning” refers to the process of determining the sensor’s sensitivity, the speed and direction of the prevailing wind, and the parameter μ that defines the directivity function λ (see Equation 3), so as to minimize the error in total energy relative to the DFPM.

 The directivity function λ is defined by a single constant μ that represents the ratio of side- CdA to front- CdA. This constant is called the aerodynamic aspect ratio (Equation 2). For relatively streamlined objects such as recumbent and tandem bicycles, tucked-in racing positions, time trial bikes with aero bars, disc wheels etc., this constant is relatively large. For upright riding positions on standard bikes it is relatively small but still greater than 1. For a vertical cylinder, μ = 1.0. For the test ride conducted without the cross fin where the wind sensor is modeled as a standard Pitot tube, the power correlation between Power Analyzer and DFPM reaches a maximum when μ = 1.2.

Figure 10 is made to remove the scatter from Figure 9. Each curve in Figure 10 is made of points representing average OFPM / DFPM power ratios for data samples with virtual apparent wind angles within ±5° of the corresponding horizontal coordinate. The ideal curve would be a horizontal line at 1.0 (total agreement with DFPM).

Figure 10 –Average OFPM / DFPM power ratios for the entire ride.

In Figure 10 negative and positive wind yaw angles have been averaged to impose symmetry in an attempt to suppress random error and highlight systematic error. However, some asymmetry may be caused by the non-symmetric location of the static pressure port of the differential pressure gauge in the iBike Newton power meter.

The more familiar time sequence format (e.g. Figure 11) confirms these results, but it is difficult to see patterns when zoomed out enough to include a statistically relevant number of data points. Therefore, only an exemplary 15 km segment of the 110 km test ride is shown.

Figure 11 –A 3-way comparison between a DFPM (PowerTap), the Scalar Wind model (iBike), and the Virtual Apparent Wind model with variable CdA and μ = 1.2. The lowest trace shows the virtual apparent wind angle. The actual apparent wind angle was not measured.

The results presented in Figures 9 – 11 are obtained from special test rides designed to maximize the aerodynamic component of the total energy. In typical rides with significant hills and accelerations, these 3 power meters (iBike Newton, Power Analyzer and PowerTap) track each other better, except for the occasional congruence of conditions as shown in Figure 1.

CdA as a function of wind yaw: Just as power can be calculated from ride data when CdA is given; so can CdA be calculated when power is given. Thus, if the inline airspeed, GPS heading, hill slope, bike speed and DFPM power have been recorded for a bike ride with a steady prevailing wind, the Virtual Apparent Wind method can be applied to express CdA as a function of wind yaw (Figure 12).

Figure 12 –Curve showing how CdA changes with apparent wind angle (wind yaw). Test parameters: 5’ 10”, 142 lb rider; seated pedaling; hands on brake hoods; standard road racing bike; wire-spoked wheels without aerodynamic enhancements.

Figure 12 is based on the assumption that when the cross fin is removed, an iBike Newton power meter measures the axial component of the mass flow rate (the length of the line segment BO in Figure 8), as would a normal Pitot tube. This assumption is not validated, but Figure 12 is included here to demonstrate the potential utility of the experimental method. For accurate assessment of CdA vs wind yaw, the wind sensor’s angular sensitivity pattern (polar directivity function) must be independently known.

The Virtual Apparent Wind method may be used for cross-referencing CFD analysis or wind tunnel test results. For some applications this information may be particularly valuable because statistically relevant data are obtained from actual bike rides on existing roads under naturally occurring wind conditions.


Air drag is the inline (front-to-back) axial component of the aerodynamic force (Equation 1).


where ρ is air density, and w and β are the apparent wind speed and apparent wind angle (wind yaw), respectively, as illustrated in Figure 2. Cd (effective drag coefficient) and A (effective area) are functions of β. We denote the frontal drag area as (CdA)0, so that

                                                                (2)  where

     λ = cos2 β + μ sin2 β                                                                              (3)

is the directivity function, μ being the aerodynamic aspect ratio (the ratio of side-CdA to front-CdA) of the particular bike and rider [2]. The value of μ may be ≈ 1.2 for a typical riding position on a standard road racing bike.

Aerodynamic power, Paero, is equal to the product of ground speed u and air drag Fx.

The total power at the pedals, Ptotal is:

Ptotal = Paero + Pclimbing + Prolling + Pinertia + Pmech                             (4)

The 5 terms to the right of the equal sign are the powers expended against air drag, climbing force, rolling resistance, inertia and drive-train losses, respectively [2]. Pclimbing and Pinertia are reactive powers that can be positive or negative (uphill or downhill slopes; accelerating or decelerating). The other 3 power components are resistive powers and can only be positive. For the test ride with the cross fin, total energies and average values of positive power components are tabulated in “workload categories” and shown in the pie chart in Figure 6.


  • Wind yaw angles encountered during normal bike rides can be large enough to compromise the accuracy of an OFPM that estimates power from the inline airspeed with approximate equations that don't include wind yaw. 
  • It is possible to measure the prevailing wind velocity as a vector, even in the absence of an instrument for measuring wind angle, provided that the axial component of the apparent wind speed and bike heading are recorded.
  • Instantaneous wind yaw can be estimated from the inline airspeed, prevailing wind direction, bike speed and bike heading. 
  • If the apparent wind velocity is not measured as a vector but its axial component is measured, using “virtual” wind yaw values estimated from the prevailing wind in exact equations can increase the accuracy of OFPMs. 
  • Drag area can be estimated as a function of wind yaw even if the ride data was recorded without a wind direction sensor.


1.    The Relevance of Winds in Bicycling, Osman Isvan, October 2013

2.    Wind Indicators and Power Meters for bicycles, Osman Isvan, June 2013 

3.    Validation of a Mathematical Model for Road Cycling Power, C. Martin, D. Milliken et al, Journal of Applied Biomechanics, 1998, 14, 276-291 

4.    A practical Analysis of Aerodynamic Drag, Jobst Brandt, Bike Tech, 1988

5.    The Effect of Winds on a Bicyclist’s Speed, Osman Isvan, Bike Tech, Volume 3, Nr. 3, June 1984