SUBROUTINE CSM8 C PRINT CONTROLLER INTEGER OU REAL IPLOT(101) DIMENSION C(76) COMMON REALS(395),INTS(547) EQUIVALENCE (INTS(386),KEY7),(INTS(388),KEY9) EQUIVALENCE (INTS(535),K1),(INTS(536),K2) EQUIVALENCE (INTS(537),K3),(INTS(538),K4) EQUIVALENCE (INTS(539),NK) EQUIVALENCE (REALS(2),C(1)),(REALS(77),T) EQUIVALENCE (REALS(392),VDEL),(REALS(394),VMIN) DATA FBLANK,FDASH,FI,FPLUS/1H ,1H-,1HI,1H+/ IF (KEY7.EQ.1) GO TO 140 IF (KEY9.EQ.1) GO TO 70 C TELEPRINTER PLOTTING N=0.5+50.0*(C(K1)-VMIN)/VDEL IF (N.LE.0) GO TO 20 IF (N.GT.49) N=49 C DASHES TO LEFT OF PLOTTED POINT DO 10 I=2,N 10 IPLOT(I)=FDASH GO TO 30 20 N=0 C INDICATE PLOTTED POINT BY PLUS SIGN 30 IPLOT(N+1)=FPLUS N=N+2 IF (N.GT.50) GO TO 50 C BLANKS TO RIGHT OF PLOTTED POINT DO 40 I=N,50 40 IPLOT(I)=FBLANK C INDICATE MARGINS BY LETTER I 50 IPLOT(1)=FI IPLOT(51)=FI WRITE(4,60) T,C(K1),(IPLOT(I),I=1,51) 60 FORMAT(1H ,G10.3,G11.4,51A1) RETURN C LINE PRINTER PLOTTING 70 N=0.5+100.0*(C(K1)-VMIN)/VDEL IF (N.LE.0) GO TO 90 IF (N.GT.99) N=99 C DASHES TO LEFT OF PLOTTED POINT DO 80 I=2,N 80 IPLOT(I)=FDASH GO TO 100 90 N=0 C INDICATE PLOTTED POINT BY PLUS SIGN 100 IPLOT(N+1)=FPLUS N=N+2 IF (N.GT.100) GO TO 120 C BLANKS TO RIGHT OF PLOTTED POINT DO 110 I=N,100 110 IPLOT(I)=FBLANK C INDICATE MARGINS BY LETTER I 120 IPLOT(1)=FI IPLOT(101)=FI WRITE(8,130) T,C(K1),(IPLOT(I),I=1,101) C FOLLOWING FORMAT STATEMENT IS NOT VERY GOOD - SEE FORMAT 60 130 FORMAT(1H ,G8.2,G9.2,1X,101A1) RETURN C PRINT ONLY 140 OU=4 IF (KEY9.EQ.1) OU=8 IPLOT(1)=C(K1) IPLOT(2)=C(K2) IPLOT(3)=C(K3) IPLOT(4)=C(K4) WRITE(OU,150) T,(IPLOT(I),I=1,NK) 150 FORMAT(1H ,G11.5,4G13.6) RETURN END