	subroutine plots (idum, jdum, kdum)
	integer           idum, jdum, kdum
C
C   Plotter initialisation routine - must be called before any other plotter
C     calls are made
C
C   Where:
C     idum, jdum, kdum = dummy variables for compatibility
C

	common /cqpbnf/ xold, yold, fac, ires
	save   /cqpbnf/
	real            xold, yold, fac
	integer                          ires

	logical first
	save    first
	data    first /.true./

C
C   Initialise plot storage - if we haven't already
C
	if (first) then
	    first = .false.
	    call plbegn
C
C       Scale, rotate and translate PostScript output
C         Units of pixels (300/inch for most laser printers)
C         Origin in lower left corner, landscape mode
C
	    call plsout ("72 300 div dup scale\n")
	    call plsout ("90 rotate\n")
	    call plsout ("75 -2460 translate\n")
	    call plsout ("0 0 moveto\n")
C
C       Set other line drawing parameters
C
	    call plsout ("1 setlinewidth\n")
	    call plsout ("1 setlinejoin\n")
	    call plsout ("1 setlinecap\n")
C
C	Speed up symbol font handling
C
	    call plsout ("/SF /Courier findfont def\n")
C
C       Set up definitions for other routines:
C
C	  Move
C
	    call plsout ("/M /moveto load def\n")
C
C	  Relative Move
C
	    call plsout ("/RM /rmoveto load def\n")
C
C	  Draw
C
	    call plsout ("/D {lineto currentpoint stroke moveto} def\n")
C
C	  Special support for dgxplt
C
	    call plsout ("/L /lineto load def\n")
C
C	  Set new origin
C
	    call plsout ("/O {currentpoint translate} def\n")
C
C	  Set new linewidth
C
	    call plsout ("/W {currentpoint stroke moveto setlinewidth} def\n")
C
C	  Set character height
C
	    call plsout ("/H {SF exch scalefont setfont} def\n")
C
C	  Show character string
C
	    call plsout ("/S /show load def\n")
C
C	  Start and end rotated text
C
	    call plsout ("/RS {currentpoint gsave translate rotate} def\n")
	    call plsout ("/RE /grestore load def\n")

	end if

C
C   Initialise common variables
C
	fac  = 1.0
	xold = 0.0
	yold = 0.0
	ires = 300

	return
	end
