### Rotating Winds: Error in Documentation?

Dear all,

Is there an error in the documentation for de-rotating model winds? In the model documentation – http://www2.cosmo-model.org/content/model/documentation/core/cosmoDyncsNumcs.pdf – 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 .

Best,

EM.

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.

best

Rolf

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.best

Rolf

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.

best

Rolf

Hi Rolf,

thanks for sharing your experience. It’s nice to have the issue confirmed by another user.

Hopefully the documentation will be corrected!

Best,

EM.

Hi Rolf,

thanks for sharing your experience. It’s nice to have the issue confirmed by another user.

Hopefully the documentation will be corrected!Best,

EM.

Hi Rolf,

thanks for sharing your experience. It’s nice to have the issue confirmed by another user.

Hopefully the documentation will be corrected!

Best,

EM.

Dear all,

Is there an error in the documentation for de-rotating model winds? In the model documentation – http://www2.cosmo-model.org/content/model/documentation/core/cosmoDyncsNumcs.pdf – 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).

aandbare 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

aandb(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 .

Best,

EM.