      SUBROUTINE REDPRM(VEGTYP, SOILTYP, SLOPETYP,
     +     CFACTR, CMCMAX, RSMAX, TOPT, REFKDT, KDT, SBETA,
     +     SHDFAC, RCMIN, RGL, HS, ZBOT, FRZX, PSISAT, SLOPE,
     +     SNUP, SALP, B, DKSAT, DWSAT, SMCMAX, SMCWLT, SMCREF,
     +     SMCDRY, F1, QUARTZ, FXEXP, RTDIS, SLDPTH, ZSOIL,
     +     NROOT, NSOIL, Z0, CZIL, LAI, CSOIL, PTU)


      IMPLICIT NONE

C  This subroutine internally sets (defaults), or optionally reads-in
c  via namelist I/O, all the soil and vegetation parameters
C  required for the execusion of the NOAH - LSM
c 
c optional non-default parameters can be read in, accommodating up
C  to 30 soil, veg, or slope classes, if the default max number of 
C  soil, veg, and/or slope types is reset.

c future upgrades of routine REDPRM must expand to incorporate some
c of the empirical parameters of the frozen soil and snowpack physics
c (such as in routines FRH2O, SNOWPACK, and SNOW_NEW) not yet set in 
c  this REDPRM routine, but rather set in lower level subroutines

C  Set maximum number of soil-, veg-, and slopetyp in data statement

      INTEGER MAX_SOILTYP
      INTEGER MAX_VEGTYP
      INTEGER MAX_SLOPETYP
      PARAMETER (MAX_SOILTYP  = 30)
      PARAMETER (MAX_VEGTYP   = 30)
      PARAMETER (MAX_SLOPETYP = 30)

C  Number of defined soil-, veg-, and slopetyps used

      INTEGER DEFINED_VEG
      INTEGER DEFINED_SOIL
      INTEGER DEFINED_SLOPE
      DATA DEFINED_VEG/13/
      DATA DEFINED_SOIL/9/
      DATA DEFINED_SLOPE/9/

C  SET-UP SOIL PARAMETERS FOR GIVEN SOIL TYPE
C  INPUT: SOLTYP: SOIL TYPE (INTEGER INDEX)
C  OUTPUT: SOIL PARAMETERS:

C    MAXSMC: MAX SOIL MOISTURE CONTENT (POROSITY)
C    REFSMC: REFERENCE SOIL MOISTURE (ONSET OF SOIL MOISTURE
C            STRESS IN TRANSPIRATION)
C    WLTSMC: WILTING PT SOIL MOISTURE CONTENTS
C    DRYSMC: AIR DRY SOIL MOIST CONTENT LIMITS
C    SATPSI: SATURATED SOIL POTENTIAL
C    SATDK:  SATURATED SOIL HYDRAULIC CONDUCTIVITY
C    BB:     THE 'B' PARAMETER
C    SATDW:  SATURATED SOIL DIFFUSIVITY
C    F11:    USED TO COMPUTE SOIL DIFFUSIVITY/CONDUCTIVITY
C    QUARTZ:  SOIL QUARTZ CONTENT
C
C SOIL TYPES   ZOBLER (1986)      COSBY ET AL (1984) (quartz cont.(1))
C  1        COARSE            LOAMY SAND         (0.82)
C  2        MEDIUM            SILTY CLAY LOAM    (0.10)
C  3        FINE              LIGHT CLAY         (0.25)
C  4        COARSE-MEDIUM     SANDY LOAM         (0.60)
C  5        COARSE-FINE       SANDY CLAY         (0.52)
C  6        MEDIUM-FINE       CLAY LOAM          (0.35)
C  7        COARSE-MED-FINE   SANDY CLAY LOAM    (0.60)
C  8        ORGANIC           LOAM               (0.40)
C  9        GLACIAL LAND ICE  LOAMY SAND         (NA using 0.82)

      REAL BB(MAX_SOILTYP)
      REAL DRYSMC(MAX_SOILTYP)
      REAL F11(MAX_SOILTYP)
      REAL MAXSMC(MAX_SOILTYP)
      REAL REFSMC(MAX_SOILTYP)
      REAL SATPSI(MAX_SOILTYP)
      REAL SATDK(MAX_SOILTYP)
      REAL SATDW(MAX_SOILTYP)
      REAL WLTSMC(MAX_SOILTYP)
      REAL QTZ(MAX_SOILTYP)

      REAL B
      REAL DKSAT
      REAL DWSAT
      REAL SMCMAX
      REAL SMCWLT
      REAL SMCREF
      REAL SMCDRY
      REAL PTU
      REAL F1
      REAL QUARTZ
      REAL REFSMC1
      REAL WLTSMC1

      DATA MAXSMC/0.421, 0.464, 0.468, 0.434, 0.406, 0.465,
     &            0.404, 0.439, 0.421, 0.000, 0.000, 0.000,
     &            0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
     &            0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
     &            0.000, 0.000, 0.000, 0.000, 0.000, 0.000/
      DATA SATPSI/0.04, 0.62, 0.47, 0.14, 0.10, 0.26,
     &            0.14, 0.36, 0.04, 0.00, 0.00, 0.00,
     &            0.00, 0.00, 0.00, 0.00, 0.00, 0.00,
     &            0.00, 0.00, 0.00, 0.00, 0.00, 0.00,
     &            0.00, 0.00, 0.00, 0.00, 0.00, 0.00/
      DATA SATDK /1.41E-5, 0.20E-5, 0.10E-5, 0.52E-5, 0.72E-5,
     &            0.25E-5, 0.45E-5, 0.34E-5, 1.41E-5, 0.00,
     &            0.00   , 0.00   , 0.00   , 0.00   , 0.00,
     &            0.00   , 0.00   , 0.00   , 0.00   , 0.00,
     &            0.00   , 0.00   , 0.00   , 0.00   , 0.00,
     &            0.00   , 0.00   , 0.00   , 0.00   , 0.00/
      DATA BB    /4.26,  8.72, 11.55, 4.74, 10.73,  8.17,
     &            6.77,  5.25,  4.26, 0.00,  0.00,  0.00,
     &            0.00,  0.00,  0.00, 0.00,  0.00,  0.00,
     &            0.00,  0.00,  0.00, 0.00,  0.00,  0.00,
     &            0.00,  0.00,  0.00, 0.00,  0.00,  0.00/
      DATA QTZ   /0.82, 0.10, 0.25, 0.60, 0.52, 0.35,
     &            0.60, 0.40, 0.82, 0.00, 0.00, 0.00,
     &            0.00, 0.00, 0.00, 0.00, 0.00, 0.00,
     &            0.00, 0.00, 0.00, 0.00, 0.00, 0.00,
     &            0.00, 0.00, 0.00, 0.00, 0.00, 0.00/

C The following 5 parameters are derived later in REDPRM.f 
C from the soil data, and are just given here for reference 
C and to force static storage allocation
C Dag Lohmann, Feb. 2001

      DATA REFSMC/0.283, 0.387, 0.412, 0.312, 0.338, 0.382,
     &            0.315, 0.329, 0.283, 0.000, 0.000, 0.000,
     &            0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
     &            0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
     &            0.000, 0.000, 0.000, 0.000, 0.000, 0.000/
      DATA WLTSMC/0.029, 0.119, 0.139, 0.047, 0.100, 0.103,
     &            0.069, 0.066, 0.029, 0.000, 0.000, 0.000,
     &            0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
     &            0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
     &            0.000, 0.000, 0.000, 0.000, 0.000, 0.000/
      DATA DRYSMC/0.029, 0.119, 0.139, 0.047, 0.100, 0.103,
     &            0.069, 0.066, 0.029, 0.000, 0.000, 0.000,
     &            0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
     &            0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
     &            0.000, 0.000, 0.000, 0.000, 0.000, 0.000/
      DATA SATDW /5.71E-6, 2.33E-5, 1.16E-5, 7.95E-6, 1.90E-5,
     &            1.14E-5, 1.06E-5, 1.46E-5, 5.71E-6, 0.00,
     &            0.00   , 0.00   , 0.00   , 0.00   , 0.00,
     &            0.00   , 0.00   , 0.00   , 0.00   , 0.00,
     &            0.00   , 0.00   , 0.00   , 0.00   , 0.00,
     &            0.00   , 0.00   , 0.00   , 0.00   , 0.00/
      DATA F11  /-0.999, -1.116, -2.137, -0.572, -3.201, -1.302,
     &           -1.519, -0.329, -0.999,  0.000,  0.000,  0.000,
     &            0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
     &            0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
     &            0.000,  0.000,  0.000,  0.000,  0.000,  0.000/

C#######################################################################

C  SET-UP VEGETATION PARAMETERS FOR A GIVEN VEGETAION TYPE
C
C  INPUT: VEGTYP = VEGETATION TYPE (INTEGER INDEX)
C  OUPUT: VEGETATION PARAMETERS
C         SHDFAC: VEGETATION GREENNESS FRACTION
C         RCMIN:  MIMIMUM STOMATAL RESISTANCE
C         RGL:    PARAMETER USED IN SOLAR RAD TERM OF
C                 CANOPY RESISTANCE FUNCTION
C         HS:     PARAMETER USED IN VAPOR PRESSURE DEFICIT TERM OF
C                 CANOPY RESISTANCE FUNCTION
C         SNUP:   THRESHOLD SNOW DEPTH (IN WATER EQUIVALENT M) THAT
C                 IMPLIES 100% SNOW COVER
C
C  SSIB VEGETATION TYPES (DORMAN AND SELLERS, 1989; JAM)
C
C   1:   BROADLEAF-EVERGREEN TREES  (TROPICAL FOREST)
C   2:   BROADLEAF-DECIDUOUS TREES
C   3:   BROADLEAF AND NEEDLELEAF TREES (MIXED FOREST)
C   4:   NEEDLELEAF-EVERGREEN TREES
C   5:   NEEDLELEAF-DECIDUOUS TREES (LARCH)
C   6:   BROADLEAF TREES WITH GROUNDCOVER (SAVANNA)
C   7:   GROUNDCOVER ONLY (PERENNIAL)
C   8:   BROADLEAF SHRUBS WITH PERENNIAL GROUNDCOVER
C   9:   BROADLEAF SHRUBS WITH BARE SOIL
C  10:   DWARF TREES AND SHRUBS WITH GROUNDCOVER (TUNDRA)
C  11:   BARE SOIL
C  12:   CULTIVATIONS (THE SAME PARAMETERS AS FOR TYPE 7)
C  13:   GLACIAL (THE SAME PARAMETERS AS FOR TYPE 11)

      INTEGER NROOT_DATA(MAX_VEGTYP)
      REAL    RSMTBL(MAX_VEGTYP)
      REAL    RGLTBL(MAX_VEGTYP)
      REAL    HSTBL(MAX_VEGTYP)
      REAL    SNUPX(MAX_VEGTYP)
      REAL    Z0_DATA(MAX_VEGTYP)
      REAL    LAI_DATA(MAX_VEGTYP)

      INTEGER NROOT
      REAL    SHDFAC
      REAL    RCMIN
      REAL    RGL
      REAL    HS
      REAL    FRZFACT
      REAL    PSISAT
      REAL    SNUP
      REAL    Z0
      REAL    LAI

      DATA NROOT_DATA /4,4,4,4,4,4,3,3,3,2,3,3,2,0,0,
     *                 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/
      DATA RSMTBL /150.0, 100.0, 125.0, 150.0, 100.0, 70.0,
     *              40.0, 300.0, 400.0, 150.0, 400.0, 40.0,
     *             150.0,   0.0,   0.0,   0.0,   0.0,  0.0,
     *               0.0,   0.0,   0.0,   0.0,   0.0,  0.0,
     *               0.0,   0.0,   0.0,   0.0,   0.0,  0.0/
      DATA RGLTBL /30.0,  30.0,  30.0,  30.0,  30.0,  65.0,
     *            100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
     *            100.0,   0.0,   0.0,   0.0,   0.0,   0.0,
     *              0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
     *              0.0,   0.0,   0.0,   0.0,   0.0,   0.0/
      DATA HSTBL /41.69, 54.53, 51.93, 47.35,  47.35, 54.53,
     *            36.35, 42.00, 42.00, 42.00,  42.00, 36.35,
     *            42.00,  0.00,  0.00,  0.00,   0.00,  0.00,
     *             0.00,  0.00,  0.00,  0.00,   0.00,  0.00,
     *             0.00,  0.00,  0.00,  0.00,   0.00,  0.00/
      DATA SNUPX  /0.080, 0.080, 0.080, 0.080, 0.080, 0.080,
     *             0.040, 0.040, 0.040, 0.040, 0.025, 0.040,
     *             0.025, 0.000, 0.000, 0.000, 0.000, 0.000,
     *             0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
     *             0.000, 0.000, 0.000, 0.000, 0.000, 0.000/
      DATA Z0_DATA /2.653, 0.826, 0.563, 1.089, 0.854, 0.856,
     *              0.035, 0.238, 0.065, 0.076, 0.011, 0.035,
     *              0.011, 0.000, 0.000, 0.000, 0.000, 0.000,
     *              0.000, 0.000, 0.000, 0.000, 0.000, 0.000,
     *              0.000, 0.000, 0.000, 0.000, 0.000, 0.000/
c      DATA LAI_DATA /3.0, 3.0, 3.0, 3.0, 3.0, 3.0,
c     *               3.0, 3.0, 3.0, 3.0, 3.0, 3.0,
c     *               3.0, 0.0, 0.0, 0.0, 0.0, 0.0,
c     *               0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
c     *               0.0, 0.0, 0.0, 0.0, 0.0, 0.0/
      DATA LAI_DATA /4.0, 4.0, 4.0, 4.0, 4.0, 4.0,
     *               4.0, 4.0, 4.0, 4.0, 4.0, 4.0,
     *               4.0, 0.0, 0.0, 0.0, 0.0, 0.0,
     *               0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
     *               0.0, 0.0, 0.0, 0.0, 0.0, 0.0/

C#######################################################################

C  CLASS PARAMETER 'SLOPETYP' WAS INCLUDED TO ESTIMATE
C  LINEAR RESERVOIR COEFFICIENT 'SLOPE' TO THE BASEFLOW RUNOFF
C  OUT OF THE BOTTOM LAYER. LOWEST CLASS (SLOPETYP=0)MEANS
C  HIGHEST SLOPE PARAMETER= 1
C  DEFINITION OF SLOPETYP FROM 'ZOBLER' SLOPE TYPE
C  SLOPE CLASS      PERCENT SLOPE
C  1                0-8
C  2                8-30
C  3                > 30
C  4                0-30
C  5                0-8 & > 30
C  6                8-30 & > 30
C  7                0-8, 8-30, > 30
C  9                GLACIAL ICE
C  BLANK            OCEAN/SEA
C  NOTE:  CLASS 9 FROM 'ZOBLER' FILE SHOULD BE REPLACED BY 8
C  AND 'BLANK'  9

      REAL SLOPE
      REAL SLOPE_DATA(MAX_SLOPETYP)
      DATA SLOPE_DATA /0.1,  0.6, 1.0, 0.35, 0.55, 0.8,
     *                 0.63, 0.0, 0.0, 0.0,  0.0,  0.0,
     *                 0.0 , 0.0, 0.0, 0.0,  0.0,  0.0,
     *                 0.0 , 0.0, 0.0, 0.0,  0.0,  0.0,
     *                 0.0 , 0.0, 0.0, 0.0,  0.0,  0.0/

C#######################################################################

C  Set namelist file name

      CHARACTER*50 NAMELIST_NAME

C#######################################################################

C SET UNIVERSAL PARAMETERS (NOT DEPENDENT ON SOIL, VEG, SLOPE TYPE)

      INTEGER VEGTYP
      INTEGER SOILTYP
      INTEGER SLOPETYP

      INTEGER NSOIL
      INTEGER I

      INTEGER BARE
      DATA    BARE /11/

      LOGICAL LPARAM
      DATA    LPARAM /.TRUE./

      LOGICAL LFIRST
      DATA    LFIRST /.TRUE./

C  Parameter used to calculate roughness length of heat
      REAL CZIL, CZIL_DATA
      DATA CZIL_DATA /0.2/
c     data czil_data /0.1/

C  Parameter used to caluculate vegetation effect on soil heat flux
      REAL SBETA, SBETA_DATA
      DATA SBETA_DATA /-2.0/

C BARE SOIL EVAPORATION EXPONENT USED IN DEVAP

      REAL FXEXP, FXEXP_DATA
      DATA FXEXP_DATA /2.0/

C Soil heat capacity [J/m^3/K]

      REAL CSOIL, CSOIL_DATA
      DATA CSOIL_DATA /1.26E+6/
c     data csoil_data /2.0e+6/

C  SPECIFY SNOW DISTRIBUTION SHAPE PARAMETER
C  SALP   - SHAPE PARAMETER OF DISTRIBUTION FUNCTION
C  OF SNOW COVER. FROM ANDERSON'S DATA (HYDRO-17)
C  BEST FIT IS WHEN SALP = 2.6
      REAL SALP, SALP_DATA
      DATA SALP_DATA /2.6/

C  KDT IS DEFINED BY REFERENCE REFKDT AND DKSAT
C  REFDK=2.E-6 IS THE SAT. DK. VALUE FOR THE SOIL TYPE 2
      REAL REFDK, REFDK_DATA
      DATA REFDK_DATA /2.0E-6/

      REAL REFKDT, REFKDT_DATA
      DATA REFKDT_DATA /3.0/

      REAL KDT
      REAL FRZX

C  FROZEN GROUND PARAMETER, FRZK, DEFINITION
C  FRZK IS ICE CONTENT THRESHOLD ABOVE WHICH FROZEN SOIL IS IMPERMEABLE
C  REFERENCE VALUE OF THIS PARAMETER FOR THE LIGHT CLAY SOIL (TYPE=3)
C  FRZK = 0.15 M
      REAL FRZK, FRZK_DATA
      DATA FRZK_DATA /0.15/

      REAL RTDIS(NSOIL)
      REAL SLDPTH(NSOIL)
      REAL ZSOIL(NSOIL)

C  Set two canopy water parameters
      REAL CFACTR, CFACTR_DATA
      REAL CMCMAX, CMCMAX_DATA
      DATA CFACTR_DATA /0.5/
      DATA CMCMAX_DATA /0.5E-3/

C  Set max. stomatal resistance
      REAL RSMAX, RSMAX_DATA
      DATA RSMAX_DATA /5000.0/

C  Set optimum transpiration air temperature
      REAL TOPT, TOPT_DATA
      DATA TOPT_DATA /298.0/

C  Specify depth[m] of lower boundary soil temperature
      REAL ZBOT, ZBOT_DATA
      DATA ZBOT_DATA /-3.0/
c     data zbot_data /-8.0/

C#######################################################################

C  Namelist definition

      NAMELIST /SOIL_VEG/ SLOPE_DATA, RSMTBL, RGLTBL, HSTBL, SNUPX,
     &     BB, DRYSMC, F11, MAXSMC, REFSMC, SATPSI, SATDK, SATDW,
     &     WLTSMC, QTZ, LPARAM, ZBOT_DATA, SALP_DATA, CFACTR_DATA,
     &     CMCMAX_DATA, SBETA_DATA, RSMAX_DATA, TOPT_DATA,
     &     REFDK_DATA, FRZK_DATA, BARE, DEFINED_VEG, DEFINED_SOIL,
     &     DEFINED_SLOPE, FXEXP_DATA, NROOT_DATA, REFKDT_DATA, Z0_DATA,
     &     CZIL_DATA, LAI_DATA, CSOIL_DATA

C  Read namelist file to override default parameters
C  only once.

      IF (LFIRST) THEN
         OPEN(58, FILE = 'namelist_filename.txt')
C NAMELIST_NAME must be 50 characters or less.
         READ(58,'(A)') NAMELIST_NAME
         CLOSE(58)
c         WRITE(*,*) 'Namelist Filename is ', NAMELIST_NAME
         OPEN(59, FILE = NAMELIST_NAME)
 50      CONTINUE
            READ(59, SOIL_VEG, END=100)
         IF (LPARAM) GOTO 50
 100     CONTINUE
         CLOSE(59)
c         WRITE(*,NML=SOIL_VEG)
         LFIRST = .FALSE.
         IF (DEFINED_SOIL .GT. MAX_SOILTYP) THEN
            WRITE(*,*) 'Warning: DEFINED_SOIL too large in namelist'
            STOP 222
         END IF
         IF (DEFINED_VEG .GT. MAX_VEGTYP) THEN
            WRITE(*,*) 'Warning: DEFINED_VEG too large in namelist'
            STOP 222
         END IF
         IF (DEFINED_SLOPE .GT. MAX_SLOPETYP) THEN
            WRITE(*,*) 'Warning: DEFINED_SLOPE too large in namelist'
            STOP 222
         END IF

         DO I = 1, DEFINED_SOIL
            SATDW(I)  = BB(I)*SATDK(I)*(SATPSI(I)/MAXSMC(I))
            F11(I)    = ALOG10(SATPSI(I)) + BB(I)*ALOG10(MAXSMC(I)) + 2.0
            REFSMC1   = MAXSMC(I)*(5.79E-9/SATDK(I))
     &                                    **(1.0/(2.0*BB(I)+3.0))
            REFSMC(I) = REFSMC1 + (MAXSMC(I)-REFSMC1) / 3.0
            WLTSMC1   = MAXSMC(I) * (200.0/SATPSI(I))**(-1.0/BB(I))
            WLTSMC(I) = WLTSMC1 - 0.5 * WLTSMC1
C Current version DRYSMC values that equate to WLTSMC
C Future version could let DRYSMC be independently set via namelist 
            DRYSMC(I) = WLTSMC(I)
         END DO

      END IF

      IF (SOILTYP .GT. DEFINED_SOIL) THEN
         WRITE(*,*) 'Warning: too many soil types'
         STOP 333
      END IF
      IF (VEGTYP .GT. DEFINED_VEG) THEN
         WRITE(*,*) 'Warning: too many veg types'
         STOP 333
      END IF
      IF (SLOPETYP .GT. DEFINED_SLOPE) THEN
         WRITE(*,*) 'Warning: too many slope types'
         STOP 333
      END IF

C  SET-UP UNIVERSAL PARAMETERS 
C (NOT DEPENDENT ON SOILTYP, VEGTYP OR SLOPETYP)
      ZBOT   = ZBOT_DATA
      SALP   = SALP_DATA
      CFACTR = CFACTR_DATA
      CMCMAX = CMCMAX_DATA
      SBETA  = SBETA_DATA
      RSMAX  = RSMAX_DATA
      TOPT   = TOPT_DATA
      REFDK  = REFDK_DATA
      FRZK   = FRZK_DATA
      FXEXP  = FXEXP_DATA
      REFKDT = REFKDT_DATA
      CZIL   = CZIL_DATA
      CSOIL  = CSOIL_DATA

C  SET-UP SOIL PARAMETERS
      B       = BB(SOILTYP)
      SMCDRY  = DRYSMC(SOILTYP)
      F1      = F11(SOILTYP)
      SMCMAX  = MAXSMC(SOILTYP)
      SMCREF  = REFSMC(SOILTYP)
      PSISAT  = SATPSI(SOILTYP)
      DKSAT   = SATDK(SOILTYP)
      DWSAT   = SATDW(SOILTYP)
      SMCWLT  = WLTSMC(SOILTYP)
      QUARTZ  = QTZ(SOILTYP)
      FRZFACT = (SMCMAX / SMCREF) * (0.412 / 0.468)
      KDT     = REFKDT * DKSAT/REFDK

C  TO ADJUST FRZK PARAMETER TO ACTUAL SOIL TYPE: FRZK * FRZFACT

      FRZX = FRZK * FRZFACT

C  SET-UP VEGETATION PARAMETERS
      NROOT = NROOT_DATA(VEGTYP)
      SNUP  = SNUPX(VEGTYP)
      RCMIN = RSMTBL(VEGTYP)
      RGL   = RGLTBL(VEGTYP)
      HS    = HSTBL(VEGTYP)
      Z0    = Z0_DATA(VEGTYP)
      LAI   = LAI_DATA(VEGTYP)
      IF(VEGTYP .EQ. BARE) SHDFAC = 0.0

      IF (NROOT .GT. NSOIL) THEN
         WRITE(*,*) 'Warning: too many root layers'
         STOP 333
      END IF

C  CALCULATE ROOT DISTRIBUTION
C  PRESENT VERSION ASSUMES UNIFORM DISTRIBUTION BASED ON SOIL LAYERS

      DO I=1,NROOT
         RTDIS(I) = -SLDPTH(I)/ZSOIL(NROOT)
      END DO

C  SET-UP SLOPE PARAMETER
      SLOPE = SLOPE_DATA(SLOPETYP)
C
      RETURN
      END
