C-------------------------------------------------------------------- SUBROUTINE ROTLLE(U,V,VLAT,VLON,LMAX,II) C C SUBPROGRAM: ROTLLE ROTATE WINDS ON LAT/LONG GRID TO E-GRID C PRGMMR: T.BLACK ORG: W/NMC22 DATE: ??-??-?? C C ABSTRACT: ROTATES WINDS ON THE LAT/LONG GRID TO THE ETA MODEL GRID C C PROGRAM HISTORY LOG: C ??-??-?? T.BLACK C 12-05-25 IH KWON II INSTEAD OF II-1 C C USAGE CALL ROTLLE(U,V,VLAT,VLON) C INPUT ARGUMENT LIST: C U -LAT/LONG U-COMPONENT C V -LAT/LONG V-COMPONENT C VLAT -LATITUDE OF E-GRID V POINTS (DEGREES) C VLON -LONGITUDE OF E-GRID V POINTS (DEGREES) C C OUTPUT ARGUMENT LIST: C U -ETA GRID U-COMPONENT C V -ETA GRID V-COMPONENT C C ATTRIBUTES: C LANGUAGE: FORTRAN 77 C MACHINE: CRAY C C*** C*** ROTATE THE LAT-LON WINDS TO THE E-GRID C*** C C N O T E : INPUT LAT/LONG MUST BE CONVERTED TO RADIANS !!! C INCLUDE "parmlbc" P A R A M E T E R 1 (D2RAD=1.745329E-2) D I M E N S I O N 1 U(II,LMAX),V(II,LMAX),VLAT(II),VLON(II) C---------------------------------------------------------------------- rewind 45 read(45,*) TPH0D read(45,*) TLM0D ERLAM0 = (360.0 + TLM0D) * D2RAD ERPHI0 = TPH0D * D2RAD SPHI0=SIN(ERPHI0) CPHI0=COS(ERPHI0) ! DO 100 L=1,II-1 DO 100 L=1,II ! IH Kwon TLAT=VLAT(L)*D2RAD TLON=VLON(L)*D2RAD RELM=TLON-ERLAM0 SRLM=SIN(RELM) CRLM=COS(RELM) SPH=SIN(TLAT) CPH=COS(TLAT) CC=CPH*CRLM TPH=ASIN(CPHI0*SPH-SPHI0*CC) C WRITE(6,44) TPH,COS(TPH),CPHI0,SPH,SPHI0,CC !KWON C44 FORMAT(1X,'TPH AT ROTLLE ',F10.2,1X,'COS ',F10.2/ !KWON C 1 1X,'CPHI0,SPH,SPHI0,CC ',4F10.2) !KWON RCTPH=1.0/COS(TPH) CRAY=SPHI0*SRLM*RCTPH DRAY=(CPHI0*CPH+SPHI0*SPH*CRLM)*RCTPH DO 100 K=1,LMAX RU=DRAY*U(L,K)-CRAY*V(L,K) RV=CRAY*U(L,K)+DRAY*V(L,K) U(L,K)=RU V(L,K)=RV 100 CONTINUE RETURN END