C ************************************************************** C A CODE TO TRANSFER U,V WIND COMPONENTS TO CURVI-GRID C T. Ezer 1.31.97 C ************************************************************** PROGRAM WIND C PARAMETER(IM=1,JM=2,KB=1) C COMMON/BLK1D/Z(KB),ZZ(KB),DZ(KB),DZZ(KB) C---------------- 2-D ARRAYS ------------------------------------- COMMON/BLK2D/H(IM,JM),DX(IM,JM),DY(IM,JM),ALON(IM,JM), 1 ALAT(IM,JM),FSM(IM,JM),ELB(IM,JM),ANG(IM,JM) C-------------------------------------------------------------------- DIMENSION UU(IM,JM),VV(IM,JM) C-------------------------------------------------------------------- DATA PI/3.141593/,RAD/.01745329/ C C***************** read model grid parameters ******************** C C READ(40) KBB,Z,ZZ,DZ,DZZ,IMM,JMM,ALON,ALAT,DX,DY,H,FSM C test ALON(1,1)=-50. ALON(1,2)=-60. ALAT(1,1)= 10. ALAT(1,2)= 10. UU(1,1)= 0. UU(1,2)= 0. VV(1,1)= 10. VV(1,2)= 10. WRITE(6,'(/''BEFORE U,V= '',2F8.2,/)')UU(1,1),VV(1,1) C C***************** calc. orientation angle of curvigrid ************* C DO 6 I=1,IM DO 5 J=1,JM-1 DLON=(ALON(I,J+1)-ALON(I,J))*COS(ALAT(I,J)*RAD) DLAT=ALAT(I,J+1)-ALAT(I,J) DLNT=(DLON**2+DLAT**2)**.5 ANG(I,J)=ASIN(DLON/DLNT) 5 CONTINUE ANG(I,JM)=ANG(I,JM-1) 6 CONTINUE WRITE(6,'(/''ANGLE(DEG)= '',F8.2,/)')ANG(1,1)/RAD C C***************** TRANSFER COMP FROM X-Y TO CURVIGRID DIRECTION *** C DO 15 I=1,IM DO 15 J=1,JM U=UU(I,J) V=VV(I,J) BETA=ANG(i,j) UNEW=U*COS(BETA)-V*SIN(BETA) VNEW=U*SIN(BETA)+V*COS(BETA) UU(I,J)=UNEW VV(I,J)=VNEW 15 CONTINUE C WRITE(6,'(/''AFTER U,V= '',2F8.2,/)')UU(1,1),VV(1,1) C STOP END C