We are interested in converting the grid-relative wind components provided in the CARRA dataset into earth-relative (true north/east) wind components, u_earth and v_earth. For the CARRA West domain we are using this code:
!projection parameter for CARRA west
real, parameter :: LoV = 324.0 ! GRIB_LoVInDegrees
real, parameter :: Latin1 = 72.0 ! GRIB_Latin1InDegrees
real, parameter :: n_cone = sin(Latin1 * pi/180.0)
do j = 1, ny
do i = 1, nx
dlon = lon(i,j) - LoV
if (dlon > 180.0) dlon = dlon - 360.0
if (dlon < -180.0) dlon = dlon + 360.0
! local rotation of the model grid
alpha(i,j) = n_cone \* dlon
! rotate grid-relative wind components to earth-relative
angle = -alpha(i,j)\*pi/180.0
u_earth(i,j) = u(i,j)\*cos(angle) - v(i,j)\*sin(angle)
v_earth(i,j) = u(i,j)\*sin(angle) + v(i,j)\*cos(angle)
end do
end do
We assume the wind components archived in CARRA are grid-relative (i.e., aligned with the LCC grid rather than true north/east), so we compute the grid rotation angle at each point and apply the corresponding rotation to recover the earth-relative components.
Is this assumption correct? Does this approach, including the sign convention used in the rotation, correctly convert the CARRA grid-relative winds to earth-relative wind components?