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