anchor.diff:          ENDIF
           IF(Y(I)<YL1) THEN
               Y(I)=YL1
  +        ENDIF
  +        IF(SLOPE_PARA.NWSP>0) THEN
  +            T1=SLOPE_PARA.GETY(X(I),2)
  +            Y(I)=MAX(T1,Y(I))            
           ENDIF
           CYCLE
       ENDIF
  
positive.code:         endif
      enddo
      if(i==nx) then
          stop "xi is out of the range.function=Interpolation()"
      endif
      
      
  
negative.code:             IF(ALLOCATED(INDATA.RX)) DEALLOCATE(INDATA.RX)
              ALLOCATE(INDATA.RX(2,INDATA.NRX))
              READ(UNIT,*)  INDATA.RX
          CASE('wsp','ws','wsb')
              print *, 'Reading Weak soil bottom data...'
  		    do i=1, COMMAND.NOPT
  			    select case(COMMAND.OPTION(i).NAME)
  				    case('num')
  					    INDATA.NWSP=COMMAND.OPTION(i).VALUE
  				    case default
  					    call Err_msg(COMMAND.OPTION(i).name)
  			    end select
  		    end do
              IF(ALLOCATED(INDATA.wsp)) DEALLOCATE(INDATA.wsp)
              ALLOCATE(INDATA.WSP(2,INDATA.nwsp))
              READ(UNIT,*)  INDATA.wsp            
          CASE('x_e&e','xlimit','x_entry_and_exit','x_search_limits')
              print *, 'Reading SLOPE ENTRY AND EXIT LIMITS data...'
  		    do i=1, COMMAND.NOPT
  