      FUNCTION UZ(Z,UM,CD,Z0,FL)  
C 
C  PURPOSE:   
C 
C        TO DETERMINE WIND SPEED AT HEIGHT Z GIVEN WIND SPEED (UM)  
C        AND DRAG COEFFICIENT (CD) FROM ANOTHER HEIGHT AND THE  
C        ROUGHNESS LENGTH (Z0) AND STABILITY LENGTH (FL) OF THE 
C        PROFILE. USUALLY FUNCTION UZ IS USED AFTER SUBROUTINE UZL  
C        IN ORDER TO FIND WIND SPEED AT A DIFFERENT HEIGHT THAN 
C        THE OBSERVATION HEIGHT.  
C 
C  ALGORITHM:   
C 
C        THE WIND PROFILE IS ASSUMED TO CONFORM TO THE BUSINGER-  
C        DYER FORMULATION USED IN SUBROUTINE UZL. 
C 
C  ARGUMENTS:   
C 
C        Z - HEIGHT AT WHICH WIND SPEED IS REQUIRED (METERS)  
C        UM - WIND SPEED AT OBSERVATION HEIGHT (METERS PER SECOND)  
C        CD - DRAG COEFFICIENT CORRESPONDING TO OBSERVATION HEIGHT  
C        Z0 - ROUGHNESS LENGTH (METERS) 
C        FL - STABILITY LENGTH (METERS) 
C 
C  HISTORY:   
C 
C        WRITTEN BY D.J SCHWAB, 1983, GLERL, ANN ARBOR, MI. 
C        SEE SUBROUTINE UZL IN SCHWAB, BENNETT, AND JESSUP (1981) 
C 
      IF(FL.GT.0.) GO TO 10 
C 
C  UNSTABLE PROFILE 
C 
      X1=15./FL 
      ARG1=(1.-X1*Z)**0.25  
      ARG2=(1.-X1*Z0)**0.25 
      B=ALOG((ARG1-1.)*(ARG2+1.)/((ARG1+1.)*(ARG2-0.999999)))+  
     1   2.*(ATAN(ARG1)-ATAN(ARG2)) 
      GO TO 30  
C 
C  STABLE SECTION 
C 
   10 IF(FL.LE.Z) GO TO 20  
C 
C  MILDLY STABLE PROFILE  
C 
      B=ALOG(Z/Z0)+4.7*(Z-Z0)/FL  
      GO TO 30  
C 
C  STRONGLY STABLE PROFILE  
C 
   20 CONTINUE  
      ARG1=FL/Z0  
      X1=ALOG(ARG1) 
      X2=ALOG(Z/FL) 
      ARG1=1.-1./ARG1 
      B=X1+4.7*ARG1+5.7*X2  
C 
C  CALCULATE USTAR AND UZ 
C 
   30 CONTINUE  
      USTAR=UM*SQRT(CD) 
      UZ=USTAR*B/0.35 
      RETURN  
      END 
