PRO wdirmean, u,ud,umean,udmean ; u ---input array for wind velocity ; ud---input array for wind direction (degree) ; umean--output mean wind velocity ; udmean--output mean wind direction badval=-999. pi=3.1415926 umean=badval udmean=badval uu=u*0.0+badval vv=uu r=where(u NE badval AND ud NE badval,c) IF c GE 1 THEN BEGIN uu(r)=u(r)*cos((270.0-ud(r))*pi/180.0) vv(r)=u(r)*sin((270.0-ud(r))*pi/180.0) uumean=mean(uu(r)) vvmean=mean(vv(r)) x=uumean^2+vvmean^2 umean=sqrt(x) IF(x NE 0.0) THEN BEGIN udmean=asin(vvmean / umean );(rad) ; Put horizontal rotation into the correction quadrant. if ((uumean lt 0.) and (vvmean lt 0.)) then udmean=-pi-udmean if ((uumean lt 0.) and (vvmean gt 0.)) then udmean=pi-udmean udmean=udmean*180.0/pi udmean=270.0-udmean; convert to wind direction coordinate IF udmean GE 360.0 THEN udmean=udmean-360 IF udmean LT 0.0 THEN udmean=360+udmean ENDIF ENDIF umean=meanbadval(u) return end