aboutsummaryrefslogtreecommitdiff
path: root/synthe/psplotcol.for
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-02-16 12:40:45 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-02-16 12:40:45 -0500
commit0373ffdfaaaa3845306ca71243d535fdffd941d4 (patch)
tree194c3c278d7e352e39d555d31aae93c0be2dfc03 /synthe/psplotcol.for
parent01b51f73bd06b2d6eabb776ba6cc69e4abfaa0b3 (diff)
downloadkasym-0373ffdfaaaa3845306ca71243d535fdffd941d4.tar.gz
Initial commit
Diffstat (limited to 'synthe/psplotcol.for')
-rw-r--r--synthe/psplotcol.for75
1 files changed, 75 insertions, 0 deletions
diff --git a/synthe/psplotcol.for b/synthe/psplotcol.for
new file mode 100644
index 0000000..e9243f5
--- /dev/null
+++ b/synthe/psplotcol.for
@@ -0,0 +1,75 @@
+ PROGRAM PSPLOT
+C CONVERTS KURUCZ PLOT FILES TO POSTSCRIPT PLOT FILES
+ COMMON /BUFF/BUFFER(512),NBUFF
+ INTEGER*4 X,Y,DX,Y2,PAGE
+ REAL*8 PLOTOUT,USERID(2),FILENAME(2),BUFFER
+ READ(1)BUFFER
+ PLOTOUT=BUFFER(1)
+ IF(PLOTOUT.NE.8HPLOTFILE)STOP 'NOT A VAXPLOT FILE'
+ USERID(1)=BUFFER(2)
+ USERID(2)=BUFFER(3)
+ FILENAME(1)=BUFFER(4)
+ FILENAME(2)=BUFFER(5)
+ PRINT 44,USERID,FILENAME
+ 44 FORMAT(1H0,A8,A1,A8,A1)
+ NBUFF=5
+ OPEN(UNIT=2,STATUS='NEW',CARRIAGECONTROL='LIST')
+ WRITE(2,'(A)')'%!PS-Adobe'
+c WRITE(2,'(A)')'<< /Pagesize [792 1224] >> setpagedevice'
+ WRITE(2,'(A)')'/M /moveto load def'
+ WRITE(2,'(A)')'/L /lineto load def'
+ WRITE(2,'(A)')'/S /stroke load def'
+ WRITE(2,'(A)')'/F {gsave eofill grestore stroke} def'
+ WRITE(2,'(A)')'/C /closepath load def'
+ WRITE(2,'(A)')'/G /setgray load def'
+ WRITE(2,'(A)')'/W /setlinewidth load def'
+c WRITE(2,'(A)')'.24 .24 scale'
+c 0.24*1.5=0.36
+ WRITE(2,'(A)')'.36 .36 scale'
+c WRITE(2,'(A)')'.5 W'
+c WRITE(2,'(A)')'4. W'
+ WRITE(2,'(A)')'2. W'
+ DO 500 PAGE=0,1111
+ DO 100 IVECT=1,10000000
+ CALL READBUF(X,Y,DX,Y2)
+ if(x.lt.0)type*,page,ivect,x,y,dy,y2
+C X = -1 MARKS END OF PAGE
+C X = -2 MARKS END OF PLOT
+C X = -3 MARKS CHANGE OF COLOR
+ IF(X.EQ.-1)GO TO 400
+ IF(X.EQ.-2)GO TO 600
+ IF(X.EQ.-3)THEN
+ WRITE(2,80)Y/100.,DX/100.,Y2/100.
+80 FORMAT(F5.2,F5.2,F5.2,' setrgbcolor')
+ GO TO 100
+ ENDIF
+ IF(PAGE.EQ.0)GO TO 100
+c WRITE(2,90)X,Y,X+DX,Y2
+c WRITE(2,90)Y,1150+2550-X,Y2,1150+2550-X-DX
+c WRITE(2,90)Y, 3200-X,Y2,3200-X-DX
+ WRITE(2,90)Y, 2300-X,Y2,2300-X-DX
+ 90 FORMAT(2I6,' M',2I6,' L S')
+ 100 CONTINUE
+ 400 IF(PAGE.EQ.0)GO TO 500
+ WRITE(2,401)
+ 401 FORMAT('showpage')
+ 500 CONTINUE
+ 600 CALL EXIT
+ END
+ SUBROUTINE READBUF(I,J,K,L)
+ COMMON /BUFF/BUFFER(4,512),NBUFF
+ INTEGER*2 BUFFER
+ NBUFF=NBUFF+1
+ I=BUFFER(1,NBUFF)
+ J=BUFFER(2,NBUFF)
+ K=BUFFER(3,NBUFF)
+ L=BUFFER(4,NBUFF)
+ I30000=K/1000
+ K=K-I30000*1000
+ I=I+I30000*30000
+ IF(NBUFF.LT.512)RETURN
+ READ(1)BUFFER
+ NBUFF=0
+ RETURN
+ END
+