************************************************************************ LOGICAL*1 FUNCTION FRAG(IXG,IYG,RAD) IMPLICIT INTEGER*4 (A-Z) REAL XX LOGICAL*1 NVGPT include 'essp.inc' * VALID FRAGMENTATION (FRAG) RETURNS .TRUE. IF Z HABITAT NOT BARRIER FRAG = .FALSE. IF(HAB(IXG,IYG) .EQ. 2) GO TO 25 * IF X-HABITAT (1), SEARCH FOR Y-HABITAT (2 OR 3) DO 20 IXN= -RAD,RAD DO 20 IYN= -RAD,RAD * DELETE IF OUTSIDE SAMPLING CIRCLE XX = IXN*IXN + IYN*IYN II = SQRT(XX) + 0.4999 IF(II .GT. RAD) GO TO 20 * GRID LOCATION IX = IXG + IXN IY = IYG + IYN * DELETE IF OUTSIDE GRID BOUNDARIES IF(NVGPT(IX,IY)) GO TO 20 * CHECK FOR Y HABITAT WITHIN "RAD" UNITS OF Z HABITAT IF(HAB(IX,IY) .GE. 2) THEN FRAG = .TRUE. RETURN ENDIF 20 CONTINUE RETURN * IF Y-HABITAT (2), SEARCH FOR X-HABITAT (1 OR 3) 25 DO 40 IXN= -RAD,RAD DO 40 IYN= -RAD,RAD * DELETE IF OUTSIDE SAMPLING CIRCLE XX = IXN*IXN + IYN*IYN II = SQRT(XX) + 0.4999 IF(II .GT. RAD) GO TO 40 * GRID LOCATION IX = IXG + IXN IY = IYG + IYN * DELETE IF OUTSIDE GRID BOUNDARIES IF(NVGPT(IX,IY)) GO TO 40 * CHECK FOR X HABITAT WITHIN "RAD" UNITS OF Z HABITAT IF(HAB(IX,IY) .EQ. 1 .OR. HAB(IX,IY) .EQ. 3) THEN FRAG = .TRUE. RETURN ENDIF 40 CONTINUE RETURN END