| 1 | C -+-+-+-+-+ \ e H A E O P N . F T \ e -+-+-+-+-+\r |
| 2 | C\r |
| 3 | C * UP 29-NOV-82\r |
| 4 | C\r |
| 5 | C OPEN THE OUTPUT FILE 6 FOR APPENDING\r |
| 6 | C\r |
| 7 | SUBROUTINE OPNSIX\r |
| 8 | INCLUDE HAEBUF.FI\r |
| 9 | INCLUDE HAETTY.FI\r |
| 10 | INCLUDE HAECLR.FI\r |
| 11 | C\r |
| 12 | \f INTEGER LOC\r |
| 13 | EXTERNAL LOC\r |
| 14 | INTEGER K,REV,\r |
| 15 | * TEMPB(85), @ TEMPORARY INPUT BUFFER FOR FILE HEADER\r |
| 16 | * TMAXBL, @ MAX BLOCKS IN THIS FILE\r |
| 17 | * TREC\r |
| 18 | C\r |
| 19 | INPREC=-1 @ SET THE 'NO SAMPLE IN CORE' FLAG FOR ESAM\r |
| 20 | UNIT=6 @ ESAM INPUT IS FROM FILE 6\r |
| 21 | IF (REC6.LT.1) DEFINE FILE 6(MAXREC,85,U,REC6) @ INIT THE INPUT UNIT\r |
| 22 | REC6=1 @ INIT TO THE FIRST RECORD\r |
| 23 | SIXCNT=0 @ COUNT THE DATA SETS FOUND ON UNIT 6\r |
| 24 | TMAXBL=MAXREC @ DEFAULT FILE LENGTH --> TMAXBL\r |
| 25 | BLKCNT=TMAXBL @ DEFAULT LENGTH INTO THE HEADER\r |
| 26 | 5 READ(6'REC6) TEMPB @ READ THE NEXT HEADER BLOCK\r |
| 27 | SIXCNT=SIXCNT+1 @ INCREMENT DATA SET COUNTER\r |
| 28 | REV=TEMPB((LOC(REVSON)-LOC(RCRD0))/3+1) @ REVISON NUMBER --> K\r |
| 29 | IF (INT(REVSON).NE.INT(REV).AND..NOT.CLEAR\r |
| 30 | * .AND.REC6.EQ.1) GOTO 30 @ REVISON NUMBER INCOMPABILITY\r |
| 31 | K=TEMPB((LOC(REDVAL)-LOC(RCRD0))/3+1) @ ADR. OF READ VALID FLAG --> K\r |
| 32 | IF (.NOT.CLEAR .AND. K.EQ.6HDLWPD2) GOTO 10 @ IF CLEAR FLAG THEN WE START AT THE FIRST RECORD ELSE\r |
| 33 | C @ IF RECORD IS VALID THEN SKIP THE DATA SET\r |
| 34 | CLEAR=.FALSE. @ RESET THE CLEAR FLAG\r |
| 35 | TREC=REC6-1 @ THIS RECORD BECOMES THE HEADER BLOCK\r |
| 36 | REC6=TREC @ INDEX TO THE NEW HEADER BLOCK --> REC6\r |
| 37 | XSAML=(TMAXBL-REC6-1)*255 @ MAX SAMPLE COUNT FITTING INTO THE REMAINING FILE SPACE ( ONE CHANNEL INPUT) --> XSAML\r |
| 38 | IF (XSAML.LT.640) GOTO 20 @ IF AT LEAST 64 HZ *10 SEC SAMPLING IS NOT POSSIBLE THEN GOTO 20\r |
| 39 | SETNUM=SIXCNT @ SAVE THE CURRENT NUMBER OF THIS DATA SET\r |
| 40 | RETURN @ REC6 POINTS TO THE NEW HEADER BLOCK\r |
| 41 | C\r |
| 42 | C\r |
| 43 | 10 K=TEMPB((LOC(LASREC)-LOC(RCRD0))/3+1) @ ADR. OF LASREC --> K\r |
| 44 | CLEAR=.FALSE.\r |
| 45 | REC6=K+1 @ BLOCK OF NEXT HEADER --> REC6\r |
| 46 | K=TEMPB((LOC(BLKCNT)-LOC(RCRD0))/3+1) @ ADR. OF BLKCNT --> K\r |
| 47 | TMAXBL=K @ LENGTH OF FILE --> TMAXBL\r |
| 48 | BLKCNT=TMAXBL @ INSERT THE LENGTH OF THE FILE INTO THE HEADER OF THE NEXT DATA SET\r |
| 49 | IF (REC6.LT.TMAXBL) GOTO 5 @ IF END OF FILE REACHED THEN READ THE NEXT DATA SET AT LASREC+1\r |
| 50 | 20 WRITE (TTO,1) SIXCNT,REC6 @ END OF FILE\r |
| 51 | XSAML=0 @ ABORTS ADCON SINCE THERE IS NO SPACE FOR OUTPUT\r |
| 52 | SETNUM=0 @ NO DATA SET FOUND IN THE BUFFER\r |
| 53 | RETURN\r |
| 54 | 30 CONTINUE\r |
| 55 | WRITE (TTO,2) REV,REVSON\r |
| 56 | GOTO 20\r |
| 57 | C\r |
| 58 | 1 FORMAT (' AUSGABEDATEI 6 IST VOLL. LETZTER SATZ:',I3,\r |
| 59 | * ' BLOCK:',I4)\r |
| 60 | 2 FORMAT (' AUSGABEDATEI 6 REV.:',F4.1,' - HAE REV.:',F4.1)\r |
| 61 | END\r |
| 62 | \1a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 |