PROGRAM BAR C C C This program accepts parameters from either a command file defined C as a start parm or ineractively from the VDU. C C BYTE IPF(30), ITLE(25), XTIT(20), YTIT(20), FMT(20), FNME(30) BYTE CMD(80), ICL, ISAV, SAVFIL(30) LOGICAL COLOUR, VDU, CMDOUT C LU = 5 CALL GETMCR(CMD, N) IF (.NOT.(N.LE.3.OR.(N.EQ.4.AND.CMD(4).EQ.' '))) GOTO 2000 VDU = .TRUE. PRINT 213 READ(LU, 2020) ISAV 2020 FORMAT(A1) IF (.NOT.(ISAV.EQ.'Y'.OR.ISAV.EQ.'y')) GOTO 2030 CMDOUT = .TRUE. PRINT 214 READ(LU, 2050) SAVFIL 2050 FORMAT(30A1) SAVFIL(30) = 0 OPEN(UNIT = 2, NAME = SAVFIL, STATUS = 'new', CARRIAGECONTROL *= 'list') GOTO 2040 2030 CONTINUE CMDOUT = .FALSE. 2040 CONTINUE GOTO 2010 2000 CONTINUE VDU = .FALSE. LU = 1 CMD(N + 1) = 0 I = 4 IF (.NOT.(CMD(4).EQ.'@')) GOTO 2060 I = I + 1 2060 CONTINUE OPEN(UNIT = 1, NAME = CMD(I), STATUS = 'old', READONLY) 2010 CONTINUE IF (.NOT.(VDU)) GOTO 2080 PRINT 200 2080 CONTINUE READ(LU, *) NPLTS IF (.NOT.(NPLTS.GT.1)) GOTO 2100 PRINT 500 2100 CONTINUE IF (.NOT.(CMDOUT)) GOTO 2120 WRITE(2, *) NPLTS 2120 CONTINUE IF (.NOT.(VDU)) GOTO 2140 PRINT 201 2140 CONTINUE READ(LU, 2160) IPF 2160 FORMAT(30A1) IPF(30) = 0 IF (.NOT.(CMDOUT)) GOTO 2170 WRITE(2, 2190) IPF 2190 FORMAT(30A1) 2170 CONTINUE IF (.NOT.(VDU)) GOTO 2200 PRINT 202 2200 CONTINUE READ(LU, 2220) ICL 2220 FORMAT(A1) IF (.NOT.(CMDOUT)) GOTO 2230 WRITE(2, 2250) ICL 2250 FORMAT(A1) 2230 CONTINUE IF (.NOT.(ICL.EQ.Y.OR.ICL.EQ.'y')) GOTO 2260 COLOUR = .TRUE. GOTO 2270 2260 CONTINUE COLOUR = .FALSE. 2270 CONTINUE DO 2280 I = 1, NPLTS IF (.NOT.(VDU.AND.(NPLTS.GT.1))) GOTO 2300 WRITE(LU, 2320) I 2320 FORMAT('0PARAMTERS FOR PLOT ',I2) 2300 CONTINUE IF (.NOT.(VDU)) GOTO 2330 PRINT 203 2330 CONTINUE READ(LU, *) XSTART, YSTART IF (.NOT.(CMDOUT)) GOTO 2350 WRITE(2, *) XSTART, YSTART 2350 CONTINUE IF (.NOT.(VDU)) GOTO 2370 PRINT 204 2370 CONTINUE READ(LU, *) FACT IF (.NOT.(CMDOUT)) GOTO 2390 WRITE(2, *) FACT 2390 CONTINUE IF (.NOT.(VDU)) GOTO 2410 PRINT 205 2410 CONTINUE READ(LU, 2430) ITLE 2430 FORMAT(25A1) IF (.NOT.(CMDOUT)) GOTO 2440 WRITE(2, 2460) ITLE 2460 FORMAT(25A1) 2440 CONTINUE CALL CNVTUC(30, ITLE) IF (.NOT.(VDU)) GOTO 2470 PRINT 206 2470 CONTINUE READ(LU, 2490) XTIT 2490 FORMAT(20A1) IF (.NOT.(CMDOUT)) GOTO 2500 WRITE(2, 2520) XTIT 2520 FORMAT(20A1) 2500 CONTINUE CALL CNVTUC(20, XTIT) IF (.NOT.(VDU)) GOTO 2530 PRINT 207 2530 CONTINUE READ(LU, 2550) YTIT 2550 FORMAT(20A1) IF (.NOT.(CMDOUT)) GOTO 2560 WRITE(2, 2580) YTIT 2580 FORMAT(20A1) 2560 CONTINUE CALL CNVTUC(20, YTIT) IF (.NOT.(VDU)) GOTO 2590 PRINT 208 2590 CONTINUE READ(LU, 2610) FNME 2610 FORMAT(30A1) IF (.NOT.(CMDOUT)) GOTO 2620 WRITE(2, 2640) FNME 2640 FORMAT(30A1) 2620 CONTINUE FNME(30) = 0 IF (.NOT.(VDU)) GOTO 2650 PRINT 209 2650 CONTINUE READ(LU, 2670) FMT 2670 FORMAT(20A1) IF (.NOT.(CMDOUT)) GOTO 2680 WRITE(2, 2700) FMT 2700 FORMAT(20A1) 2680 CONTINUE IF (.NOT.(FMT(1).NE.'(')) GOTO 2710 CALL STINSE('(', 1, FMT, 19) 2710 CONTINUE J = 20 2730 IF (.NOT.(J.NE.0)) GOTO 2750 IF (.NOT.(FMT(J).NE.' ')) GOTO 2760 FMT(J + 1) = ')' GOTO 2750 2760 CONTINUE 2740 J = J - 1 GOTO 2730 2750 CONTINUE IF (.NOT.(VDU)) GOTO 2780 PRINT 210 2780 CONTINUE READ(LU, *) BSTART IF (.NOT.(CMDOUT)) GOTO 2800 WRITE(2, *) BSTART 2800 CONTINUE IF (.NOT.(VDU)) GOTO 2820 PRINT 211 2820 CONTINUE READ(LU, *) BINC IF (.NOT.(CMDOUT)) GOTO 2840 WRITE(2, *) BINC 2840 CONTINUE IF (.NOT.(VDU)) GOTO 2860 PRINT 212 2860 CONTINUE READ(LU, *) NBARS IF (.NOT.(CMDOUT)) GOTO 2880 WRITE(2, *) NBARS C 2880 CONTINUE IF (.NOT.(I.EQ.1)) GOTO 2900 IST = 0 GOTO 2910 2900 CONTINUE IST = I 2910 CONTINUE CALL BARBOX(IPF, COLOUR, XSTART, YSTART, FACT, ITLE, XTIT, YTIT, * IST) IF (.NOT.(I.EQ.NPLTS)) GOTO 2920 IST = 0 GOTO 2930 2920 CONTINUE IST = 1 2930 CONTINUE CALL BARPLT(FNME, FMT, , BSTART, BINC, NBARS, IST) 2280 CONTINUE WRITE(5, 2940) (IPF(I), I = 1, 29) 2940 FORMAT(' Bar Plot is in file ',29A1) STOP 200 FORMAT('$Enter number of plots (integer) ->') 201 FORMAT('$Enter name of output plot file ->') 202 FORMAT('$Colour ? (Y/N) ->') 203 FORMAT('$Enter coords bottom/left (X,Y) ->') 204 FORMAT('$Enter amplification factor ->') 205 FORMAT('$Enter histogram title (30 max) ->') 206 FORMAT('$Enter title for X-axis ->') 207 FORMAT('$Enter title for Y-axis ->') 208 FORMAT('$Enter name of input data file ->') 209 FORMAT('$Enter read format (F-type) ->') 210 FORMAT('$Enter value of first bar (real) ->') 211 FORMAT('$Enter bar increment (real) ->') 212 FORMAT('$Enter number of bars (inetger) ->') 213 FORMAT('$Save answers in a file ?(Y/N) ->') 214 FORMAT('$Enter name of save file ->') 500 FORMAT('0All plots will be done without any inter-plot delays.') END