NOTICE OF WIND VECTOR ERROR PRIOR TO 8/1/95


   The GCIP output from the Eta model is provided on the
output grid known as AWIPS Grid 212.  The specifications of
this grid are described here.  The Eta Model GCIP output fields 

provided on this grid are separated into 2 file designations - 
AWIPSF and AWIP3D.  The AWIPSF files contain data at or near 
the surface, while the AWIP3D contain data at various levels of 
the atmosphere.
 
   Prior to August 1, 1995, the wind fields obtained from all 
Eta Model AWIP3D and AWIPSF fields were in error.  This error
was caused by an incorrect rotation of the wind fields in the
post processor of the Eta model.  This document explains the
source of the error as well as how the correction program FIXUV.f
can be employed to correct a wind field that has been improperly
rotated.

   When the u and v fields are computed by the model, they are 
on an Eta grid.  The post processor interpolates these values 
on the Eta grid to values on the desired output grid.  In other 
words, the orientations of the x and y axes are different on the
different grids, so the wind vectors must be rotated when we
select an output grid. 

   The way that the winds are rotated from the Eta grid to
another output grid is a two-step procedure.  The Eta-grid 
relative winds are first converted to earth-relative winds; 
this part was done properly.  The second part is converting 
the earth-relative winds to AWIP grid-relative winds.  This
is where the error occurred.

   The method for the second part of the rotation is to first
calculate the angle between the axis of the earth's longitude 
axis and the y-axis on the output grid at end grid point.

ANGLE = CONE * (LONGITUDE - ALONVT)

where ALONVT is the reference longitude of the output grid (95 degrees West for the AWIP grid) and

CONE = SIN(ALATVT)

where ALTVT is the tangent latitude of the output grid (25 degrees North for the AWIP grid). All of the latitude and longitude values must be converted to radians. Finally,

U(rotated) = U(unrotated) * COS(ANGLE) + V(unrotated) * SIN(ANGLE)

V(rotated) = -U(unrotated) * SIN(ANGLE) +

V(unrotated) * COS(ANGLE)

The problem with the winds fields before 8/1/95 is that the CONE term was inadvertently omitted from the calculation of ANGLE. Therefore, the strategy of FIXUV.f is to take the incorrectly rotated u and v fields, convert them back to earth-relative u and v fields, and then perform the correct rotation to the AWIP grid. The subroutine FIXUV.f needs the incorrect u and v fields (U and V) and the longitude at each grid point (LON). SUBROUTINE FIX(U,V,LON) C C ABSTRACT: C THIS ROUTINE FIXES THE ROTATION OF WIND COMPONENTS C ON THE LAMBERT CONFORMAL GRID. C INPUT ARGUMENT LIST: C U - U WIND C V - V WIND C LON - GRID LONGITUDES (DEG WEST POSITIVE) C CONSTANTS: C IMT - FIRST DIMENSION OF GRID C JMT - SECOND DIMENSION OF GRID C ALATVT - TANGENT LATITUDE OF OUTPUT GRID (DEG NORTH) C ALONVT - ROTATION LONGITUDE OF OUTPUT GRID (DEG WEST POS) C C OUTPUT ARGUMENT LIST: C U - U WIND CORRECTLY ROTATED C V - V WIND CORRECTLY ROTATED PARAMETER (IMT=185, JMT=129) REAL ALONVT,ALATVT REAL U(IMT,JMT),V(IMT,JMT) REAL LON(IMT,JMT) C DATA CONV2R/0.017453293/,CONV2D/57.2958/ DATA ALATVT/25.,ALONVT/95. C CMIC$ DO ALL VECTOR AUTOSCOPE DO 30 J = 1, JMT DO 30 I = 1, IMT U1 = U(I,J) V1 = V(I,J) ELON = LON(I,J) CONE = SIN(ALATVT*CONV2R) A1 = (ALONVT-ELON)*CONV2R A2 = CONE*(ELON-ALONVT)*CONV2R C ROTATE BAD WINDS BACK TO EARTH REL SINA = SIN(A1) COSA = COS(A1) U2 = U1*COSA+V1*SINA V2 = -U1*SINA+V1*COSA C ROTATE EARTH WINDS CORRECTLY TO GRID REL SINA = SIN(A2) COSA = COS(A2) U(I,J) = U2*COSA+V2*SINA V(I,J) = -U2*SINA+V2*COSA 30 CONTINUE C RETURN END Click HERE to see an example of a wind field that has been rotated improperly as well as how it looks with the correct rotation.

You can obtain a copy of the above subroutine by using the anonymous ftp server