      SUBROUTINE NON_LAKE_CREV_NEW1(C_MARK,RUNOFF,STRESS,LAKE_DEPTH,
     &CREV_DEP,WAT_DEP,ICE,SUMV,COLS,ROWS,DRAIN)

      ! THIS SUBROUTINE SIMULATES MELTWATER DRAINAGE VIA NON-LAKE PIXELS

      ! DESCRIPTION OF VARIABLES:

      ! CMARK: SHOWS 1 FOR CREVASSED CELL AND 0 FOR NON CREVASSED CELL.
      ! UPDATED EVERY TIMESTEP IN THE CREV_CELLS1.F SUBROUTINE. REMAINS
      ! UNMODIFIED IN THIS SUBROUTINE

      ! RUNOFF: CONTAINS RUNOFF MELTWATER (IN METERS) FOR EVERY GRID
      ! CELL. GETS MODIFIED IN THIS SUBROUTINE

      ! CREV_DEP: CONTAINS CREVASSE DEPTH FOR EVERY GRID CELL.
      ! GETS MODIFIED IN THIS SUBROUTINE

      ! ICE: CONTAINS ICE THICKNESS (IN METERS) FOR EVERY GRID CELL.
      ! REMAINS UNMODIFIED IN THIS SUBROUTINE

      ! STRESS: CONTAINS STRESS (IN kPa) FOR EVERY GRID CELL. REMAINS
      ! UNMODIFIED IN THIS SUBROUTINE

      ! ROWS,COLS: ROWS AND COLUMNS OF THE STUDY AREA. REMAINS
      ! UNMODIFIED IN THIS SUBROUTINE

      ! WAT_DEP: SHOWS DEPTH OF WATER (IN METERS) IN CREVASSED CELLS. FOR
      ! NON-CREVASSED CELLS, THE VALUE IS 0. GETS MODIFIED IN THIS
      ! SUBROUTINE

      ! LAKE_DEPTH: STORES LAKE DEPTH PER GRID CELL. UNMODIFIED IN THIS
      ! TIMESTEP

      ! SUMV: STORES VOLUME OF WATER THAT DRIANS PER GRID CELL (FROM
      ! NON-LAKE CREVASSES). GETS MODIFIED IN THIS SUBROUTINE

      IMPLICIT NONE

      INTEGER :: I,J,COLS,ROWS,C_MARK(COLS,ROWS),DRAIN(COLS,ROWS)
     &,NTHREADS,OMP_GET_NUM_THREADS,OMP_GET_THREAD_NUM,CHUNK
     &,ISTART,IEND,TID
      DOUBLE PRECISION :: CREV_DEP(COLS,ROWS),LAKE_DEPTH(COLS,ROWS),
     &STRESS(COLS,ROWS),ICE(COLS,ROWS),WAT_DEP(COLS,ROWS),WID,
     &SUMV(COLS,ROWS),RUNOFF(COLS,ROWS)

      WID=0.6
      SUMV=0.
      ISTART=1
      IEND=COLS
      TID=0
      I=0
      J=0

      DO 100 I=ISTART,IEND
      DO 110 J=1,ROWS
      ! IF A CELL HAS NO LAKE, CREVASSE, NEVER BEEN A LAKE
!!$OMP CRITICAL      
      IF ((LAKE_DEPTH(I,J).EQ.0).AND.(DRAIN(I,J).EQ.0).AND.
     &(C_MARK(I,J).EQ.1).AND.(CREV_DEP(I,J).GT.0)) THEN
      ! IF SURFACE MELTWATER IS AVAILABLE AT THAT CELL
      IF (RUNOFF(I,J).GT.0) THEN
              ! IF MOULIN HAS FORMED DRAIN ALL WATER ELSE CALCULATE
              ! STRESS INTNSITY
              IF (CREV_DEP(I,J).EQ.ICE(I,J)) THEN
                      SUMV(I,J)=RUNOFF(I,J)*100*100 ! DRAIN ALL
                      RUNOFF(I,J)=0 ! EQUATE RUNOFF AT CELL TO 0
              ELSE
                      CALL STRESS_INT1(CREV_DEP,RUNOFF,
     &WAT_DEP,STRESS,ICE,C_MARK,I,J,COLS,ROWS)                      
                      IF (CREV_DEP(I,J).EQ.ICE(I,J)) THEN
                              SUMV(I,J)=WAT_DEP(I,J)*100*WID+RUNOFF(I,J)
     &*100*100
                              WAT_DEP(I,J)=0
                              RUNOFF(I,J)=0
                      END IF
              END IF
      ELSE
              ! IF MOULIN HAS FORMED BUT NO RUNOFF THEN NO DRAINAGE
              ! TAKES PLACE. INCREASE CREVASSE DEPTH ITERATIVELY BY
              ! CHECKING KI
              IF (CREV_DEP(I,J).EQ.ICE(I,J)) THEN
                      SUMV(I,J)=0
              ELSE
                      CALL STRESS_INT1(CREV_DEP,RUNOFF,
     &WAT_DEP,STRESS,ICE,C_MARK,I,J,COLS,ROWS)
                      IF (CREV_DEP(I,J).EQ.ICE(I,J)) THEN
                              SUMV(I,J)=WAT_DEP(I,J)*WID*100
                              WAT_DEP(I,J)=0
                      ELSE
                              SUMV(I,J)=0
                      END IF
              END IF
      END IF
      END IF

110   CONTINUE
100   CONTINUE

      RETURN
      END SUBROUTINE NON_LAKE_CREV_NEW1
