A large commit.
[pdp8.git] / sw / rescue / lab8e_goettingen / disk2_11 / rkb / paroff / haecfl.ft
CommitLineData
81e70d48
PH
1C -+-+-+-+-+ \ e H A E C F L . F T \ e -+-+-+-+-+\r
2C\r
3C HERE WE PRINT THE SUMMED INTENSITY OF THE POWER SPECTRUM STORED ON UNIT 5\r
4C\r
5 SUBROUTINE CFLACH\r
6 INCLUDE HAEBUF.FI\r
7 INCLUDE HAEGSA.FI\r
8 INCLUDE HAEPTI.FI\r
9 INCLUDE HABRK.FI\r
10 INCLUDE HAEI85.FI\r
11 INCLUDE HAECSZ.FI\r
12 INCLUDE HAETTY.FI\r
13C\r
14\fC\r
15 REAL COND\r
16 INTEGER NCOND,TOASCI\r
17 EXTERNAL COND,NCOND,TOASCI\r
18C\r
19\f REAL FFTX(85), @ PART OF THE FFT BUFFER\r
20 * SUMM, @ SUMM OF ALL INTENSITIES\r
21 * PERCNT(10),CNTPER(10) @ PERCENTAGE OF THE WHOLE POWER, FREQUENCY OF THIS VALUE (COMPUTED)\r
22 INTEGER I,J,INCR2,PNT,\r
23 * RANGE @ POINTER TO THE PERCNT VECTOR\r
24 LOGICAL F1 @ SAMPLE BUFFER IS EMPTY FLAG\r
25C\r
26 DATA PERCNT /10.,20.,40.,50.,60.,70.,80.,90.,95.,99./\r
27C\r
28C\r
29C OPEN THE INPUT DATA FILE UNIT 5\r
30C READ THE FILE HEADER FIRST BLOCK AND\r
31C THE DATA HEADER, THE SECOND BLOCK OF UNIT 5\r
32C INSERT THE COMMON CEGESA FROM THE DATA FILE\r
33C\r
34 IF (REC5.LT.1) DEFINE FILE5(MAXBL5,85,U,REC5)\r
35 REC5=1\r
36 F1=SAMCNT.EQ.0 .OR. .NOT. COMP @ HEADER OF FILE 5 DOES NOT MATCH THE HEADER OF THE ACTUAL SAMPLE BUFFER\r
37 READ (5'REC5) (RCRD0(I),I=1,85) @ READ THE FILE HEADER\r
38 IF (F1) SAMCNT=0 @ CLEAR THE ACTUAL SAMPLE BUFFER\r
39 IF (F1) COMP=.FALSE. @ AND THE COMPUTATIONS FLAG TOO\r
40 IF (REDVAL.NE.6H2DPWLD) GOTO 20 @ RECORD IS EMPTY\r
41 REDVAL=0 @ FOR SAVETY ONLY\r
42 READ (5'REC5) LCEGSA(1),(LCEGSA(I),I=2,LCEGSA(1)) @ READ THE DATA HEADER BLOCK ( COMMON CEGESA)\r
43 SETNUM=SETNU5\r
44 CHANEL=CHANE5\r
45C\r
46 INCR2=INCR/2 @ NUMBER OF DATA POINTS IN POWER SPECTRUM\r
47 PLTEND=NCOND(PLTEND,PLTEND,SAMRAT/2) @ DEFAULT END OF FREQUENCY SCALE IN HERTZ!\r
48C\r
49 IF BREAK(11) RETURN @ USER ABORTS PROGRAM\r
50 WRITE (8,2) PERCNT @ WRITE A HEADER \r
51C\r
52C\r
53C COMPUTE THE WHOLE SUMM OF ALL INTENSITIES\r
54C\r
55 XMAXI=0 @ THIS HOLDS THE SUMM \r
56 DO 40 I=1,INCR/2\r
57 J=MOD(I-1,85)\r
58 IF (J.EQ.0) READ (5'REC5) FFTX\r
5940 XMAXI=FFTX(J+1)+XMAXI\r
60C\r
61 IF (OPTION.EQ.12) GOTO 30 @ PF* TAKES THE DEFAULT VALUES AND DOESNT ASK QUESTIONS\r
62 IF BREAK(11) RETURN @ USER SWITCHED OFF THE TASK\r
6330 CONTINUE\r
64C\r
65C\r
66 L1=.FALSE.\r
67 REC5=3 @ POWER SPECTRUM IS STORED ON REC 3 TO 17\r
68\r
69 SUMM=0\r
70 RANGE=1 @ SET THE POINTER FOR THE INTENSITY RANGE SCAN\r
71 CALL MOVE (-10,99.,CNTPER)\r
72 DO 10 I=PLTBEG*SPAN,PLTEND*SPAN,1\r
73 J=MOD(I,85)\r
74 IF (J.EQ.0) READ (5'REC5) FFTX\r
75 SUMM=FFTX(J+1)+SUMM\r
76 IF (SUMM.LT.XMAXI*PERCNT(RANGE)*.01) GOTO 10\r
77 CNTPER(RANGE)=FLOAT(I)/FLOAT(SPAN) @ THE UNITS ARE HERTZ (HZ!)\r
78 RANGE=RANGE+1\r
7910 CONTINUE\r
80 SS=TOASCI(MOD(PLTBEG,60))\r
81 MM=PLTBEG/60 @ COMPUTE THE TIME OF THE POWER SPECTRUM\r
82 WRITE (8,3) SETNUM,CHANEL,(LABEL(I),I=1,9),\r
83 * MM,SS,SPAN,CNTPER,XMAXI\r
84 RETURN\r
85\fC\r
86C\r
8720 CONTINUE @ FILE 5 IS EMPTY\r
88 COMPUT=0\r
89 SAMCNT=0\r
90 WRITE (TTO,1) @ NO DATA TO PLOT\r
91 RETURN\r
92C\r
93C\r
941 FORMAT (' KEINE DATEN IN DER DATEI 5')\r
952 FORMAT (1H1,T72,10F6.1)\r
963 FORMAT (I4,I2,':'9A6,I4,1H:,A2,1H-,I2,10F6.1,1P,E11.2)\r
97 END\r
98\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\0\0\0\0\0\0\0\0\0\0