!$Author$
!$Date$
!$Revision$
!$Source: /weru/cvs/wepp/wepp.watbal/rdat.for,v $

      SUBROUTINE RDAT(NF, SI, SC, S, T, NS, ALPHA, M, A1, A2,           &
     &                ACV, HCV, SCV, TSTAR, SLEN, SLOPE)
     
      use wepp_interface_defs
      
      implicit none

!     + + + PURPOSE + + +
!     SUBROUTINE RDAT GETS THE INPUT FOR HDRIVE
!
!     CALLED FROM MAIN
!     AUTHOR(S): D. FLANAGAN, J. ASCOUGH
!     VERSION: THIS MODULE TAKEN FROM ASCOUGH STANDALONE IRS CODE
!     DATE CODED:  3-28-2005
!     CODED BY: D. FLANAGAN     
!
!     + + + PARAMETER DECLARATIONS + + +
!      
      INTEGER MXTIME
      PARAMETER (MXTIME = 1500)

!     + + + ARGUMENT DECLARATIONS + + +
      real, intent(in) :: SLEN, SLOPE, T(MXTIME), SC
      real, intent(out) :: ALPHA, M, A1,A2, TSTAR, SI(MXTIME+1)
      real, intent(out) ::  ACV(3), HCV(3), SCV(3)
      real, intent(inout) :: S(MXTIME)
      integer, intent(inout) :: NS
      integer, intent(in) :: NF

!     + + + ARGUMENT DEFINITIONS + + +
!
!     NF      -
!     SI      -
!     SC      -
!     S       -
!     T       -
!     NS      -
!     ALPHA   -
!     M       -
!     A1      -
!     A2      -
!     ACV     -
!     HCV     -
!     SCV     -
!     TSTAR   -

!     + + + LOCAL VARIABLES + + +
!
      INTEGER I, IM, IRES, IC, ICC      
      REAL RGHIDX(5), CHEZYC, FRCROU, FRCCOV, FRCSOL, FRCTOT, XN
!      
!     + + + END SPECIFICATIONS + + +
!
      DATA RGHIDX /35., 15., 5., 2., 0./
!
      HCV(1) = .001
      HCV(2) = .0833333
      HCV(3) = .001
      ACV(1) = 60.
      ACV(2) = 60.
      ACV(3) = 1.
      SCV(1) = 1.666666E-5
      SCV(2) = 0.
      SCV(3) = 0.

      M = 1.5
!          
!           READ THE RILL/COVER RELATIONSHIP CODE (1-5)
!
!           ------------------------------------------------
!           CODE      CHARACTERISTIC    DEPRESSION DEPTH
!                                        (MM)
!           ------------------------------------------------
!             1        VERY ROUGH           100 - 150 
!             2         MODERATE             50 - 100 
!             3           LOW                25 - 50 
!             4          SLIGHT               0 - 25 
!             5          SMOOTH                 0
!           ------------------------------------------------
!
!            READ (3,*) ICC 
            ICC = 3
!           
            FRCROU = 13.0 * (1.0-EXP(-0.0773*(RGHIDX(ICC))))
            FRCCOV = 18.52 * (SC) ** 1.267
            FRCSOL = 1.0
            FRCTOT = FRCROU + FRCCOV + FRCSOL
            CHEZYC = 8.854 / SQRT(FRCTOT)
!         
!        ALPHA = C * SQRT(S) WHERE C IS THE CHEZY ROUGHNESS
!        COEFFICIENT AND S IS THE SLOPE OF THE PLANE
!         
         ALPHA = CHEZYC * (SQRT(SLOPE))
  
!
!     CONVERT ALPHA AND EXCESS RATES TO INTERNAL LENGTH AND TIME
!
!     ALPHA: METRIC = M**(2-M)/MIN 
!            ENGLISH = F**(2-M)/MIN 
!            DEFAULT = FL**(2-M)/MF
!
!     EXCESS: METRIC  = M/MIN 
!             ENGLISH = F/MIN 
!             DEFAULT = FL/MFN
!     
!     COMPUTE CONSTANTS USED IN LATER CALCULATIONS
!     
      ALPHA = ALPHA * ACV(1)
      A1 = M * ALPHA
      A2 = M - 1.D0
!     
!     RAINFALL EXCESS DATA
!     
   

!      IF (NF.EQ.0) THEN
!        
         TSTAR = T(NS)
         NS = NS - 1
!        
         DO I = 1, 101
          SI(I) = 0.D0
         END DO 

         DO I = 1, NS
            S(I) = S(I) * SCV(1)
            IF (S(I).EQ.0.D0) S(I) = 1.D-8
         END DO
!        
!        COMPUTE SI(N) AS THE INTEGRAL OF S WRT T FROM 0 TO T(N) FOR N
!        BETWEEN 1 AND NS+1
!        
         SI(1) = 0.D0
!         
         DO I = 1, NS
            SI(I+1) = SI(I) + S(I) * (T(I+1)-T(I))
         END DO 
!
!      END IF
!     
      RETURN
      END