Rotating Winds: Error in Documentation?

Added by Edmund Meredith about 6 years ago

Dear all,

Is there an error in the documentation for de-rotating model winds? In the model documentation - - section 3.3.3 (p. 27) equation 3.78 gives the following for de-rotating model winds (u, v) to winds in geographical coordinates (u_g, v_g):

u_g = u*cos(delta) + v*sin(delta)
v_g = -u*sin(delta) + v*cos(delta)

where sin(delta)=a/sqrt(a^2 + b^2) and cos(delta)=b/sqrt(a^2 + b^2). a and b are given as follows:

a = cos(lat_rot_npole)*sin(lon_g - lon_rot_npole)
b = cos(lat_g)*sin(lat_rot_npole) - sin(lat_g)*cos(lat_rot_npole)*cos(lon_g - lon_rot_npole)

This however does not produce the expected results, in disagreement with other functions like in CDO (rotuvb) and the recommended de-rotation formulae used in WRF and NCL.

In order for this to work, the longitude difference term in a and b (lon_g - lon_rot_npole) would have to be reversed and given as (lon_rot_npole - lon_g).

Alternatively, the longitude difference term could be left unchanged, but then the fomulae would need to be given as:

u_g = u*cos(delta) - v*sin(delta)
v_g = u*sin(delta) + v*cos(delta)

which is the form of the equations used by CDO and WRF.


Replies (2)

RE: Rotating Winds: Error in Documentation? - Added by Rolf Zentek about 6 years ago

Hey Edmund,

In the COSMO (and EXTPAR) source code inside utilities.f90 (and mo_utilities_extpar.f90) there is a subroutine uvrot2uv which uses the formula you cited, but(!) with the longitude-swapping-correction you already noticed.
I copied and used this part of the code a little while ago and tested the rotations, and everything seemed fine, so I think you are correct.


RE: Rotating Winds: Error in Documentation? - Added by Edmund Meredith about 6 years ago

Hi Rolf,

thanks for sharing your experience. It’s nice to have the issue confirmed by another user.
Hopefully the documentation will be corrected!