c=======================================================================

      subroutine suralb(isalb,albcon,sc) 1,11
c
c purpose: specify surface composition.  Must be called before SALBEDO
c
c input:   isalb    surface type
c          albcon   constant surface albedo (if it applies)
c          sc       surface component fractions
c
      parameter (mxwv=751)
      common / sr / alb(mxwv),wmin,wmax,dw
      dimension r(mxwv),r1(mxwv),r2(mxwv),r3(mxwv),r4(mxwv),sc(4)

      wmin=.25
      wmax=4.
      dw=.005

      if(isalb.eq.1) call snow(r)
      if(isalb.eq.2) call clearw(r)
      if(isalb.eq.3) call lakew(r)
      if(isalb.eq.4) call seaw(r)
      if(isalb.eq.5) call sand(r)
      if(isalb.eq.6) call vegeta(r)

      if(isalb.eq.-1) call useralb(r,wmin,wmax,dw)

      if(isalb.eq.0) then
        do 1 i=1,mxwv
          alb(i)=albcon
 1      continue
      else if(isalb.lt.10) then
        do 10 i=1,mxwv
          alb(i)=r(i)
 10     continue
      else if(isalb.eq.10) then
        call snow(r1)
        call seaw(r2)
        call sand(r3)
        call vegeta(r4)
        do 20 i=1,mxwv
          alb(i)=sc(1)*r1(i)+sc(2)*r2(i)+sc(3)*r3(i)+sc(4)*r4(i)
 20     continue
      endif
      return
      end