anchor.diff:  	!IWORK_OUTPT = IWORK
   	!RWORK_OUTPT = RWORK
   	TOTALREACTIONFLUX_OUTPT = TOTALREACTIONFLUX
  -	PRUNEVEC_OUTPT = PRUNEVEC
         END IF
         IWORK_OUTPT = IWORK
         RWORK_OUTPT = RWORK
  
positive.code:                ! 6/26/08 gmagoon: call EdgeFlux if AUTOFLAG is 1 to
                 ! determine EDGEFLAG 
  		IF (AUTOFLAG.eq.1) THEN
  			CALL EDGEFLUX(EDGEFLAG, Y, YPRIME,THRESH,ESPECIES, &
      		 &     EREACTIONSIZE,NEREAC,NEPROD,IDEREAC,IDEPROD,KVEC, &
  		 &     MAXRATIO,PRUNEVEC,NSTATE)
  			!update HIGHESTRATIO and store relevant variables that will be printed
  			!later; note that we cannot exit the do loop once the IF statement is
  			!caught because, even though output variables will be stored properly,
  			!the HIGHESTRATIO will not necessarily have the highest value
  			COPYQ=0
  			DO I=1, ESPECIES
  			    IF (MAXRATIO(I) .GT. HIGHESTRATIO) THEN
  				HIGHESTRATIO = MAXRATIO(I)
  				COPYQ=1 !mark this ODE time step for copying into output variables
  			    END IF
  			END DO
  			IF (COPYQ .EQ. 1) THEN
  			    ITER_OUTPT=ITER
  			    TIME_OUTPT=TIME
  			    Y_OUTPT = Y
  
negative.code: 	! the threshhold and update the MAXRATIO vector
  	FLOOP: DO I=1, ESPECIES
  		RATIO = RATE(I)/FLUXRC
  		!if we reach the error tolerance (aka core tolerance),
  		!set EDGEFLAGCORE to the species ID
  		!if we also reach the termination tolerance, set EDGEFLAG to the species ID
  		IF (RATIO .GE. CORETHRESH) THEN
  		    EDGEFLAGCORE = I
  		    IF(RATIO .GE. THRESH) THEN
  			EDGEFLAG = I
  		    END IF
  		END IF
  		!update the MAXRATIO vector
  		IF(RATIO .GT. MAXRATIO(I)) THEN
  