CTITLESAFX3DH -- FIND THE NEAREST ACCEPTABLE PATCH IF NEEDED FOR FX3D C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** C*********************************************************************** CABS SAFX3DH - FIND THE NEAREST ACCEPTABLE PATCH IF NEEDED C C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1989. C C ALL RIGHTS RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, C REPRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE C PRIOR CONSENT OF ATLANTIC RICHFIELD COMPANY. C C CA DESIGNER D CORRIGAN CA AUTHOR D CORRIGAN CA LANGUAGE VS FORTRAN CA SYSTEM IBM/CRAY CA WRITTEN 12-13-88 CA CA REVISED 10-19-90 CLJ RENAME FROM FX3WPA, ADD TO CRAY CA CA PURPOSE OF PROGRAM: CA CA GIVEN THE INFORMATION ABOUT WHICH PATCHES HAVE AN ADEQUATE CA NUMBER OF TRACES, DETERMINE THE NEAREST ACCEPTABLE CA PATCH IF THERE IE ONE WHICH HAS TOO FEW TRACES CA CA CALLING PROCEDURE: CA SUBROUTINE SAFX3DH( FLG,NWI,NWX,IWI,IWX,JPAT ) CA CA CALLING ARGUMENTS: CA CA ARGUMENTS (INPUT) CA CA FLG - FLAG FOR EACH PATCH: CA EQ.0 - NO DATA CA GT.0 - ADEQUATE NUMBER OF TRACES CA LT.0 - INADEQUATE NUMBER OF TRACES CA NWI - NUMBER OF IN-LINE PATCHES CA NWX - NUMBER OF CROSS-LINE PATCHES CA IWI - INDEX OF CURRENT IN-LINE PATCH CA IWX - INDEX OF CURRENT CROSS-LINE PATCH CA CA ARGUMENTS (OUTPUT) CA CA JPAT - NEAREST ACCEPTABLE PATCH CA CA CEND C*********************************************************************** C SUBROUTINE SAFX3DH( FLG,NWI,NWX,IWI,IWX,JPAT ) C IMPLICIT INTEGER(A-Z) C REAL FLG(NWI,NWX) C C ---------------------------------------------------------------------- C C DETERMINE JPAT BY COMPUTING 'DISTANCE' TO C EACH ACCEPTABLE PATCH C JPAT = 0 KTEST = 0 C C LOOP OVER ALL IN-LINE AND CROSS-LINE PATCHES C DO 200 JWI = 1,NWI C DO 100 JWX = 1,NWX IF( FLG(JWI,JWX).LE.0. ) GO TO 100 JTEST = (JWI-IWI)**2 + (JWX-IWX)**2 IF( KTEST.EQ.0 ) KTEST = JTEST IF( JTEST.LE.KTEST ) THEN KWI = JWI KWX = JWX KTEST = JTEST ENDIF C 100 CONTINUE 200 CONTINUE C IF( KTEST.GT.0 ) JPAT = KWI + (KWX-1)*NWI C C --------------------------------------------------------------------- C RETURN END