Open Mind

Coriolis Effect

April 13th, 2007 · 7 Comments

Warning! This post has a lot of mathematics. If that’s not your bag, skip it. Most of my posts have no math, and those that do are usually written to be comprehensible to the non-mathematician. But for this post, I make no concessions, assuming knowledge of tensor analysis and Riemannian geometry; if math isn’t your thing, this post will probably make no sense at all.

On RealClimate, the subject arose of the Coriolis effect. Apparently it’s quite confusing to a lot of people, including some university professors!

Take these coordinates for a sphere: \theta is the co-latitude, which is 90^\circ - latitude, \phi is the longitudinal angle (we’ll define the longitude later, as the longitudinal angle adjusted for the spinning of the sphere). These are the traditional “polar coordinates” for a sphere. Essentially we’re working in a 2-dimensional space, which is described by a curved geometry.

Consider a point particle constrained to move on the surface of the sphere. The equations of motion for a free particle (geodesic motion) are

\ddot x^a = - \Gamma_{bc}^{~~a} \dot x^b \dot x^c,

where \Gamma_{bc}^{~~a} are the Christoffel symbols for the space. For our sphere, they take the form

\ddot \theta = \sin \theta \cos \theta ~ \dot \phi^2,

\ddot \phi = -2 \cot \theta ~ \dot \theta \dot \phi.

Now take the sphere to be spinning at angular rate \omega, and take the reference frame of an observer spinning with the sphere. We can define the longitude \lambda as

\lambda = \phi - \omega t, so \phi = \lambda + \omega t.

From this we see that

\dot \phi = \dot \lambda + \omega,

\ddot \phi = \ddot \lambda

Subject to no forces, we suppose the particle moves on a geodesic. We’ll ignore friction with sphere’s surface. In this case, the equations for geodesic motion become:

\ddot \theta = \sin \theta \cos \theta [\dot \lambda + \omega]^2,

\ddot \lambda = - 2 \cot \theta ~ \dot \theta [\dot \lambda + \omega].

We see that if the particle is motionless in the reference frame of the co-rotating observer (\dot \theta = 0 and \dot \phi = 0), these become

\ddot \theta = \sin \theta \cos \theta ~ \omega^2,

\ddot \lambda = 0.

Now suppose the particle is moving relative to the co-rotating observer, i.e., \dot \theta \ne 0 and/or \dot \phi \ne 0. Suppose that the speed of movement is much less than the rotation speed of the sphere, \dot \theta, ~ \dot \lambda much less than \omega. If we compute the first-order correction to the particle’s acceleration due to its movement, we get

\Delta(\ddot \theta) \approx 2 \sin \theta \cos \theta ~ \omega \dot \lambda,

\Delta(\ddot \lambda) \approx - 2 \cot \theta ~ \omega \dot \theta,

which gives us the Coriolis effect.

Consider the northern hemisphere (but not at the pole), so that both \sin \theta \cos \theta and \cot \theta are positive. If the movement is northward (\dot \theta negative, \dot \lambda zero), then the apparent deflection due to the Coriolis effect is \Delta(\ddot \theta) = 0, \Delta(\ddot \lambda) positive, so the deflection is eastward (to the right, as viewed from space). If the movement is southward (\dot \theta positive, \dot \lambda zero), then the apparent deflection due to the Coriolis effect is \Delta(\ddot \theta) = 0, \Delta(\ddot \lambda) negative, so the deflection is westward (to the right, as viewed from space).

If the movement is eastward (\dot \theta = 0, \dot \lambda positive), then the apparent deflection due to the Coriolis effect is \Delta(\ddot \theta) positive, \Delta(\ddot \lambda) = 0, so the deflection is southward (to the right, as viewed from space). If the movement is westward (\dot \theta = 0, \dot \lambda negative), then the apparent deflection due to the Coriolis effect is \Delta(\ddot \theta) negative, \Delta(\ddot \lambda) = 0, so the deflection is northward (to the right, as viewed from space).

We see that the apparent deflection in the northern hemisphere due to the Coriolis effect is always to the right as viewed from space, which is the observed behavior of the Coriolis effect. The amount of deflection is proportional to the spin rate \omega. We also see that as we approach the equator, the magnitude of the effect shrinks to zero (due to the terms \cos \theta and \cot \theta), just as observed for the Coriolis effect.

It’s worth mentioning that these equations describe geodesic motion, so there is no force at work, and no genuine deflection. There is an apparent deflection which we call the Coriolis effect, but it’s entirely due to the rotating reference frame of the observer. Therefore there is no “Coriolis force” and really no “Coriolis deflection” — strictly speaking, we should only call it the Coriolis effect.

The question also arose of the Coriolis effect for a rotating cylinder. In this case, the underlying space is flat, so if we take coordinates z = height above or below the “equator” and \phi = longitudinal angle, the equations for geodesic motion are simply

\ddot z = 0,

\ddot \phi = 0.

Again adopting the reference frame of an observer co-rotating with the spinning cylinder, the equations of motion are unchanged:

\ddot z = 0,

\ddot \lambda = 0.

Therefore I conclude that for a particle constrained to move on a rotating cylinder, there is no Coriolis effect.


The non-zero term which exists even when the particle is not moving relative to the co-rotating observer,

\ddot \theta = \sin \theta \cos \theta ~ \omega^2,

is the “centrifugal force” due to the rotation of the earth. It turns out that this is cancelled out by the non-sphericity of the earth. So, the Coriolis effect seems to neatly describe the apparent acceleration of a free particle moving on the surface of the earth (ignoring friction with the ground).

Tags: mathematics

7 responses so far ↓

  • George // May 4th 2007 at 4:38 am

    One mistake that people sometimes make is assume that because the Coriolis “deflection” is to the right (when viewed from above in the northern hemisphere), the rotation of winds around a low pressure is also to the right (clockwise), which is not the case.

    You have to look at how the air flows from the surrounding region of high pressure to the low at the center of the hurricane to see that (in the northern hemisphere) the rightward “deflection” of the inward-flowing air actually results in a counterclockwise rotation about the low pressure.

    This simple picture shows that quite nicely.

  • George // May 8th 2007 at 4:51 pm

    I am puzzled as to how to reconcile what you give above for the components of the Coriolis “acceleration” with what I have seen elsewhere (eg, in my dynamics textbook, here and also here)

    Namely, the Coriolis acceleration is normally given as

    a = -2W x V

    where a, W and V are vectors, a is the Coriolis “acceleration”, W is the angular velocity of the earth (or other rotating system) and V is the velocity of the particle in the rotating system and “x” represents cross product.

    The magnitude of the above cross product (-2W x V) is nowhere greater than 2WV, (since WxV=WVsin(Psi) where Psi=angle between the direction of movement of the object and the axis of rotation),.

    In apparent conflict with this result, the magnitude of one of your terms — involving the cotangent — blows up where the angle theta is 0 (which would occur at the pole, since theta represents co-latitude)

    Even if you have precluded the pole for some reason (which is not required for the standard cross-product formula), the term involving cot(theta) nonetheless has a magnitude much larger than 2WV near the pole — ie, much greater than the value produced with the cross product formula.

    I realize that your “cot” is of co-latitude (a different angle than the one the cross product involves), but the above cross product relationship reduces to terms involving only cos(co-latitude) [or sin(latitude) ], if one considers only the “horizontal” components of the Coriolis acceleration (in the x-y plane of a local coordinate system at the location of the moving particle) .

    It is unclear to me how what you gave above for components of the coriolis acceleration can be reconciled with this fact.

    The components of the coriolis force are worked out using the standard method herethis analysis. Ignoring the (radial) terms with “r” in them in the equation for Fcoriolis, we can pick out the two “horizontal” components and see that they only involve “cos(theta)”, where theta is co-latitude. Or what is equivalent: the two components only involve sin(latitude). Wikipedia’s Coriolis effect article also shows the same sin(latitude) dependence for the “horizontal” components of the coriolis acceleration.

    [Response: The confusion (which in retrospect, I should have anticipated) is due to the fact that the position variable \lambda in the equation with the “cot” term is an angle, rather than a distance. An appropriate distance variable would be R \lambda \sin \theta, (with R the earth’s radius), or more appropriately a variable \rho such that d\rho = R \sin \theta ~d\lambda, for which the \sin \theta term exactly cancels the 1/\sin \theta part of \cot \theta, leaving a \cos \theta dependence — just as in the usual formulation of the Coriolis effect.]

  • George // May 9th 2007 at 2:56 am

    Thanks for pointing out the bit about converting from angular accelerations to regular ones involving lengths. It jogged my memory and made me go back to review spherical geometry.

    Unfortunately, try as I might, even with the conversions, I still can’t get both your components to look like the standard ones provided in the links I gave above.

    I can get your first one (the one that does not involve cotangent) to be consistent with the corresponding one provided in the references, but that is not the case with the second one involving cotangent.

    In particular, I’m having a bit of trouble with the procedure you used to convert the component DELTA(lamda_doubledot) to an ordinary acceleration (from an angular one)
    – ie with the procedure you used above to convert the cot(theta) to cos(theta) for your second Coriolis acceleration component above.

    In a nutshell, the multiplier Rsin(theta)d_lamda that you used above involves d_lamda , while your second component with the cotangent in it involves the factor d_theta (in the form of d_theta/dt) — and these two do not appear to be compatible, so it is not clear how you can use that particular multiplier for converting your second component to an ordinary acceleration (from angular).

    It would appear (to me, at least) that that particular multiplier Rsin(theta)d_lamda should be used to convert the first of your acceleration components — DELTA(theta_doubledot) –which involves d_lamda (by way of d_lamda/dt) , rather than the second component — DELTA(lamda_doubledot) — which does not involve d_lamda.

    To do the conversion of each of your components, we must use two different differentials of length on the surface of the sphere in the N-S and E-W directions — ie to convert the angular velocities in your C-acceleration components to the ordinary velocities that are normally used.

    In the E-W direction, the differential of length on the surface of the sphere (dSe) has the value you provided

    dSe = Rsin(theta)d_lamda

    (where R is radius of sphere) and d_lamda is differential of lamda.

    In the N-S direction, the differential of length on the surface of the sphere is

    dSn = Rd_theta

    As I explained above, unless I am mistaken, the factor you provided for the conversion — Rsin(theta) d_lamda — should actually be used with the first of your two Corriolis acceleration components (not the 2nd) — to convert lamda_dot into an ordinary velocity in the Easterly direction (Ve).

    If I do that, here’s what I get:

    Since dSe = Rsin(theta)d_lamda

    Ve = dSe/dt = Rsin(theta)lamda_dot

    Which means

    Ve / Rsin(theta) = lamda_dot

    Substituting this value in for lamda_dot for your first C-acceleration component above gives

    DELTA(theta_doubledot) = 2Wsin(theta)cos(theta)*Ve / Rsin(theta)

    And the sin(theta) on top and bottom cancel giving

    DELTA(theta_doubledot) = 2Wcos(theta)*Ve/R

    Multiplying both sides by R gives the component of the ordinary acceleration in the N-S direction :


    This value is consistent with that given in the references.

    That leaves your second component – the one with the cotangent in it – that I am still having trouble getting into the more familiar form found in the references.

    On the surface of the sphere, the differential of length in the N-S direction is

    dSn = Rd_theta

    That means dSn/dt = Vn = Rtheta_dot

    (where Vn is the component of the ordinary velocity in the northerly direction)

    Which means Vn / R = theta_dot

    It is important to note that theta_dot contains no sin(theta) factor in this case.

    Substituting this value for theta_dot into your second C-acceleration component gives

    DELTA(lamda_doubledot) = 2Wcot(theta)*Vn / R

    Multiplying both sides by R gives a component of the ordinary (non-angular) Coriolis acceleration that has the value


    which still has that pesky cotangent and is therefore not consistent with the value provided in the references

    That value from the references is 2Wcos(theta)*Vn

    So your E-W component of the acceleration still appears to contain an extra factor of 1/sin(theta)

    It is not clear to me how to get rid of that 1/sin(theta) factor to get them to appear the same.

    Any suggestions would be greatly appreciated.


    [Response: It’ll take a little while to formulate a proper explanation, but stay tuned … I promise a full response today or tomorrow.]

  • george // May 9th 2007 at 10:45 pm

    I now see where I was going wrong — ie, how to make the last 1/sin(theta) factor disappear from your second component.

    It is in the last step I used above to convert from angular acceleration

    DELTA(lamda_doubledot) = 2Wcot(theta)*Vn / R

    to ordinary acceleration in the E-W direction

    I assumed incorrectly in my above analysis for the second component that

    “Multiplying both sides by R gives a component of the ordinary (non-angular) Coriolis acceleration”

    While that was a correct procedure for the first (N-S) component, I now see that it is not correct for the second

    So, I have to multiply by not just R, but Rsin(theta) (just as when converting the angular velocity in the E-W direction to an ordinary velocity)


    Multiplying both sides of

    DELTA(lamda_doubledot) = 2Wcot(theta)*Vn / R

    by Rsin(theta) gives a component of the ordinary (non-angular) Coriolis acceleration that has the value


    which is consistent with the value provided in the references

    Thanks for bearing with me here.

    [Response: Honestly, thanks to you for being interested.]

  • George // May 10th 2007 at 3:51 am

    Your method (which I have not seen before) is a powerful way of getting the results with a minimum of manipulation (at least compared to the traditional vector method).

    But –as I will attest — the last step of writing the result in terms of ordinary acceleration and velocity (which is what people use to do calculations, of course) is a potential gotcha.

    It would probably still be useful to someone else in the future if you added that step to the end of your post some time.

    I somehow doubt that anyone would be able to follow my ramblings (especially with the weird notation) — to say nothing of the fact that I got it wrong a couple times before I finally got it right.

    Incidentally, I found this excellentvisualization of the coriolis effect in my wanderings about the internet looking for information (inspired by your post, I might add)

    Thanks again for the info and the excellent blog. It’s definitely one of the most informative I have seen on climate science related stuff.

  • George // May 11th 2007 at 3:19 am

    I have a couple more questions about your derivation, if it’s no too much trouble — and then I’ll quit bothering you, I promise (at least about the Coriolis stuff!)

    First, you made an approximation in your derivation

    “Suppose that the speed of movement is much less than the rotation speed of the sphere”

    So, I bet you know my question.

    Is the vector formula that is normally given for Coriolis acceleration

    a = -2WxV

    also an approximation?

    I could not find anything that indicated as much or that made any stipulations about the value of V that can be used with this formula — though I must admit, I could not find anything that gave the detailed derivation of the above formula, so I really don’t know.

    The question about approximation is not without relevance.

    An airplane traveling at 600mph at 53 deg latitude has a speed equal to the speed of a point on the surface of the earth at that latitude due to the earth’s rotation.

    Also, for artillery shells with an even higher horizontal velocity, the issue becomes even more relevant, since in that case, lamda_dot or theta_dot for the artillery shell can actually be much greater than W.

    If the standard vector formula that is normally given is not an approximation, what do the additional terms retained in your formula — when lamdadot and thetadot are not small compared to W — represent?

    [Response: The usual formula is not an approximation. I took the velocity-less-than-rotation-speed approximation to make the interpretation simpler.

    The extra terms are entirely due to the fact that the coordinates are not “Cartesian.” Similar terms arise in flat space, for example, if you use polar coordinates (in 2-D) or spherical coordinates (in 3-D). On the surface of a sphere, we *can’t* choose “flat” coordinates, so there will necessarily be such terms for any coordinates which cover the entire space. If we set \omega to zero, for instance, in the non-approximated equations there are terms (which can’t be Coriolis because \omega is zero) that describe the motion of an object along a geodesic (which is the closest you’ll get to a straight line when constrained to the surface of a sphere).

    My derivation is, in many ways, far more complex than the usual. The one thing it *does* simplify is the constraint that the motion is on the surface of a sphere. But I’m starting to think that ignoring that constraint (and for small distances we can approximate the motion as being on the *plane* which is tangent to the sphere) would have been a simpler approach.]

    Finally, one last question. You identified the term obtained from your theta_doubledot equation when lamda_dot is zero (when the particle is motionless in the reference frame of the co-rotating observer) with the “centrifugal acceleration”.

    But I was under the impression that the centrifugal acceleration was in the outward (radial) direction.

    If I am not mistaken, the term that you have identified as the centrifugal acceleration is actually in the direction of the theta unit vector (ie, along the N-S direction)

    What am I missing here?

    [Response: In fact it is the centrifugal acceleration, *constrained to the surface of the sphere* — which will necessarily coincide with the direction of increasing \theta. After writing the post, I realized that this part will be *exactly* compensated by the non-sphericity of the earth!]

  • George // May 11th 2007 at 5:58 am

    Thanks for the clarification on the centrifugal acceleration. Your result is basically the projection on the surface of the result given by the vector method — and I do see now that that is aligned along the N-S direction in all cases.

    However, I’m still having a problem with the approximation issue and here’s why.

    As near as I can tell, the vector equation for coriolis acceleration

    a = -2WxV

    is exact (involves no approximations). I did a calculation to convince myself of that using the case of a projectile traveling at a very large velocity pretty much due south from the pole to the equator. If it is traveling fast enough, it’s path gets deviated a bit to the west, but not by much, and the amount it gets deviated is just the amount predicted with the value of coriolis acceleration from the vector equation.

    But if it is indeed the case that the vector equation for the Coriolis acceleration is exact, that means your equation will not give the correct result for larger velocities.

    For the larger velocities, your assumption that theta_dot and lamda_dot are small compared to W no longer holds — and that would require that the other terms be retained in your two acceleration components (ie, terms can no longer be dropped).

    For slow moving things like ocean currents, there will not be a big difference between the result obtained with your method and that given by the vector method.

    With hurricanes it might still be OK to use the approximate method, though the results would be starting to deviate significantly between the two methods, since wind speeds of 130 mph are going to be about 20% of the speed associated with the earth’s rotation at the middle latitudes.

    But clearly, for the case of airplanes and high velocity artillery shells one must use the vector method or the shells will miss their target.

Leave a Comment