SUBROUTINE MERGEF(ID,IDF,IB) C MERGES MASTER FILE (ID) WITH INPUT FILE (IDF) C FILES MUST BE SORTED IN PROPER ORDER. C IB1 IS RECORD BUFFERS. DIMENSION IPAR(10),IFRMAT(1),IB(10) COMMON IDFILE,LFR,NAVR,MAXR,NSPR,LSR,LFMT,NCPR,LPFR,C1 EQUIVALENCE (IPAR(1),IDFILE) COMMON IFRMAT CALL SLECTF(ID) NAVR1=NAVR LNG1=(MAXR-NAVR)/NSPR+1 CALL SLECTF(IDF) NSPR1=NSPR LENGTH=(IPAR(3)-IPAR(2))/IPAR(5) IF(LNG1-LENGTH)69,68,68 68 IF(LENGTH)50,50,60 60 J=1 NAVR2=NAVR CALL SLECTF(ID) LSR=NAVR-NSPR DO 1 I=1,LENGTH LSR1=NAVR2-I*NSPR1 CALL DIO(LSR1,1,IB,NSPR1) IDR=IB(1) 5 IF(LSR-LFR)2,6,6 6 CALL DIOSEQ(LSR,1,IB,NSPR) IF(IB(1)-IDR)2,3,4 2 CALL DIO(LSR1,1,IB,NSPR) CALL DIO(LSR+(LENGTH-I+1)*NSPR,0,IB,NSPR) GO TO 1 4 CALL DIO(LSR+(LENGTH-I+1)*NSPR,0,IB,NSPR) LSR=LSR-NSPR GO TO 5 1 CONTINUE NAVR=NAVR1+LENGTH*NSPR LSR=LFR CALL SAVEF RETURN 3 TYPE 100,IDR 100 FORMAT(8HERROR ID,I10,9H1N MERGEF) TYPE 101 101 FORMAT(41HTHE ABOVE ID IS DUPLICATED IN MASTER FILE) GO TO 2 69 TYPE106,LENGTH,LNG1 106 FORMAT(1X, 13HTRYING TO ADD,1X,I10,1X, 13HONLY ROOM FOR,I10) CALL EXIT 50 CALL SLECTF(ID) RETURN END