MöV^»l> PLASMA PHYSICS PLOTTING LIBRARY PPPUB ...

82
ASSOCIATE EURATOM-FOM FOMHNSTTTUUT VOOR PLASMAFYSICA MöV^»l> PLASMA PHYSICS PLOTTING LIBRARY PPPUB FORTRAN 77 REVISION by J.P. Goedbloed, G.M.D. Hogewey and D.W. Hevwrtt Rijnhuizen Report 86-166

Transcript of MöV^»l> PLASMA PHYSICS PLOTTING LIBRARY PPPUB ...

ASSOCIATE EURATOM-FOM

FOMHNSTTTUUT VOOR PLASMAFYSICA

MöV^» l>

PLASMA PHYSICS PLOTTING LIBRARY PPPUB

FORTRAN 77 REVISION

by

J.P. Goedbloed, G.M.D. Hogewey and D.W. Hevwrtt

Rijnhuizen Report 86-166

ASSOCIATIE EURATOM-FOM May 1986

FOM-NSTTTUUT VOOR PLASMAFYSICA

RIJNHUIZEN - NIEUWEGEIN - NEDERLAND

PLASMA PHYSICS PLOTTING LIBRARY PPPUB FORTRAN 77 REVISION

by

J.P. Goedbloed, G.M.D. Hogewey and D.W. Hewett

Rijnhuizen Report 86-166

This «vork m performed a» part ot the research programme of the association agreement of Euratom and the 'Stichting voor Fundamenteel Onderzoek der Materie' (FOM)

wMf» financial support from the 'Nederlandae Organieatie voor Zuiver-Wetenschappen^ Onderzoek' (ZWO) and Euratom.

C O I T I I T S

P«*e

I. Introduction 2

II. Snort description of the use of PPPUB 5

III. Test programs HIGH, SCALE, TEXT, DEK), COMT, VECT, THREE 10

IV. Naaes and functions of the subroutines 26

V. Listing of the source PPP10 31

- 1 -

nraics rurmac LMUT PFFUB TT «vision

öy

J.P. Goedbloed, G.H.D. Hogewey

Association Suratoa-FOH, FOH-Instituut voor Plasaafysica, Rijnhuizen,

Nieuwegein, The Netherlands

and

D.H. Hewett

University of California, Lawrence Liveneore National Laboratory,

Livereore, California

The Plasaa Physics Plotting Library PPPLIB i s described. This library i s a

FORTRAN 77 revision of the earlier package P* developed at Los Alaaos. Through a

new way of dealing with character plotting the present version i s completely

portable, with a « inlaw nuaber of syatea-dependent ca l l s kept in parallel

branches for use on the CDC and CRAY computers. Aaongst the «any new features

added are equidistant scaling, dashed l ine plotting, vector plotting, and soae

3D plotting. The report gives a complete set of test programs and contains the

ful l l i s t ing of the source.

-2-

Tlw Plasaa Physics Plotting Library PPPLIB is a package of plotting rou­

tines designed for use by plasaa physicists. Typical for this group of computer

users is the interest in probless in «ore than one dimension, be it space (e.g..

partial differential equations for equilibrium and stability analysis) or tiae

(e.g., tiae-stepping transport and particle simulation codes), the exclusive use

of Fortran as a prograaaing language, and the stress on plots as a diagnostic

tool: aany plots are to be aade in a tiae short as compared to the total execu­

tion tie» of the program. The objective is to convey information in a clearly

legible format without unnecessary frills. There is no great need for fancy

character sets. In addition, siaplicity of the calls, a convenient pre-selectlon

of possible frame sizes and portability of the code (which implies a minimum of

system-dependent statements) are to be considered a merit. Of course, these

demands are not restricted to plasaa physicists alone, but they do delineate the

kind of usage we envisage as compared to that of other plotting libraries, like

DISSPLA.

The present version of the package has grown from the Plasaa Physics Plotting

Package P*, developed at Los Alamos Scientific Laboratory by Clair Nielson,

Brendan Godfrey, Dennis Hewett, Deborah Hyaan and Robert Maione, by exploiting

some base level routines derived from the Los Alamos plotting system. The former

package P» has been described in a report written by Deborah Hyman [1], from

which we have borrowed some ol the test programs. Evidently, the present work

would have been impossible without the basic effort of the persons mentioned and

their colleagues who created the necessary computational environment.

The package was adapted by us for use on the Cyber 750 computers of the

computer centre SARA at Amsterdam. When, subsequently, the Cyber 205 vector

computer was installed at SARA, the need for a further revision arose since this

computer would not accept the octals that were extensively used for character

representation and manipulation in the old package. At this point, a substantial

revision for yet another computer could have been aade (different versions

already existed for the CRAÏ1, VAX, and the Cyber 750), but it appeared more

attractive to get rid of this system-dependent part altogether by exploiting

standard FORTRAN 77 [2] alone. Trie two features of CHARACTER variables and block

if statements permit one to get rid of the horrible Hollerith's and to sake the

-3-

overall structure of the subroutines much more transparent. This task being

undertaken anyway, we could not resist the temptation to further improve the

interlocking structure of he package as a whole, to remove any errors and incon­

sistencies found, and to add a number of additional new features according to

our taste.

Amongst the new features added are: a standard representation in decimal

integers of the coordinates of the ASCII 128 character set (subroutine DLCH')

which is now also available for machines supporting a 64 or 63 character set

only (like the Cyber 750), more flexible handling of the character labels of the

plots (subroutines LBLTOP' and LBLBOT'), equidistant x-y scaling concerving the

shape of geometric figures (subroutines NFRAME* and DGAX»), the option of draw­

ing dashed and dotted lines (subroutines DPLOT* and DASH»), polar and loglO

contour plotting (entry CPLOTX»), improved vector plotting (subroutines VPLOT',

entry VPLOTX*. subroutines FPLOT», ARR0W1* and ARR0V2*), three-dimensional polar

plots (subroutine P3PL0T»), and improved in-code documentation with a complete

explanation of all the subroutine arguments. [Here, we have indicated modified

subroutines with a ' and new ones with a *.]

Section II or this report gives a short description of the use of the dif­

ferent elements of the library. The pragmatic user will find all he needs in the

explicit examples of the seven test programs listed in Section III. Section IV

provides a complete list of the names and functions of all the subroutines.

Finally, the report provides a complete listing of the source PPP10 (the 10th

version) of library PPPLIB in Section V. This is the most straightforward way to

provide all the necessary information for use of the library, since all sub­

routines are documented and a complete description of all the arguments is in­

cluded in the box at the begin '.ng of the listing of each separate subroutine.

This also provides the advanced user with the option to build in his own exten­

sions and preferences if desired.

The only systern-dependent parts of the code, referring to some minor dif­

ferences of the intrinsic library functions and to the lowest level primitive

plotting routines (opening a graph file, drawing a vector, a point, etc.) appear

at the end of the listing of PPP10. Using the CDC UPDATE program [3] these parts

are kept in three parallel branches in the source, viz. a branch referring to

the Cyber 750, the Cyber 205, and the CRAÏ1 computer. In this way extensions for

other systems can easily be made, without loosing the portability of the code.

Finally, it will be obvious that the evolution of a plotting library, such

as the present one, never comes to an end. We considered it overdue to establish

a reference version for the present users of PPPLIB. Possible future extensions

(e.g., Improvements of the scaling routines and of the 3D plotting routines)

could then be introduced as UPDATE modifications of the present version.

-4-

[l] Deborah H. Hyman, Plasma Physics Plotting Package (Los Alamos Scientific

Laboratory, LA-8161-M, Febr. 1981).

[2] American National Standard Programming Language FORTRAN (American National

Standards Institute, New York, 1978).

[31 UPDATE, Version 1 Reference Manual (Control Data Corporation, Sunnyvale,

California, 1982).

- 5 -

I I . SHORT DESCRIPTIOM OF THE USE OF PPPUB

Before a program with plot cal ls can be executed both the library PPPL1B

and the system library containing the lowest level graphics support routines

(CALCOMP for the Cyber 750 or the Cyber 205 of SARA at Amsterdam, NTV80LIB for

the CRAY1 s of MFECC at Livermore) have to be loaded. This being done, we might

run a simple program l ike the following one:

PROGRAM TEST DIMENSION X(Z1>.Y(Z1) DO Iff 1-1.21 X ( I ) « ( I - 1 1 . > / 1 * .

Iff Y{I)»X{I)**2 CALL BEGPLTCPTEST'> CALL LBLTOPCTEST P P P L I B ' . U ) CALL LBLBOTCGRAPH FILE PTEST*,16) CALL LPL0T6C1,1,X,V,21,*PARABOLA*) CALL FINPLT END

This produces a graph f i l e PTEST which, when processed by the relevant system

ut i l i ty ( e .g . , GRIMAS at SARA or NETPLOT at MFECC), gives the following plot:

1.00

TEST rPFUIB

PMMKX.A

J .00

GRAPH FILE PTEST

The minimal sequence of cal ls in the program above i s nearly self-explanatory.

-6-

Wo «ore than two OP three calls are essential, viz. BEGPLT to open the graph

file, at least one call like L^LOTè to draw a graph (i.e., top and bottom labels,

frame, scales, x- and y-labels, title and curve), and FINPLT to close the graph

file (the latter call is even superfluous on the Cyber 750). If plot calls like

LPL0T6 are followed by other plot calls, automatically new pages of plots are

advanced whenever space requires this. The label calls LBLTOP and LBLBOT, which

define labels to be drawn at the top and bottom of a page, remain in effect for

those following pages until a new label call is given. Date and time are inserted

in the lower left corner of the page by LBLBOT. When the label calls are omitted

the strips at the top and bottom of the page remain blank.

Let us consider the argument list of LPL0T6 (KX.MY,X,Y,NPTS,TITLE) in some

more detail. First of all, the "6" indicates that this concerns a high-level plot

routine (for the non-expert user) with a reduced number of 6 arguments out of

the full set of 13 arguments of the main line plot routine LP LOT (which will be

used by the advanced user). The first two arguments, MX - IMX - 1 and HÏ - IMY -1

in the example above, Indicate that the frame is to fill the full page. Other

useful choices for the pair (IMX,IMY) are (2,1), (3,1) for two plots (left and

right) on a page, or (2,2), (3,2), (2,3), (3,3) for four plots (left top, right

top, left bottom, right bottom) on a page. The complete set of present frame

options is indicated in the following plot:

1 ,2

1,3

2,2

2,3

3,2

3,3

2,4

2,5

2,6

l-> ,4

1 ,5

1 » .6

3,4

3,5

3,6

As indicated above, automatic page advance (through subroutine ADV) occurs when

the pairs (1,1), (1,2), 0,«t), (2,1), (2,2) or (2,4) are specified. This pre­

selection of possible frame sizes is one of the features which make the use of

PPPLIB so simple.

-7-

Next, consider the full argument list of the main line plot routine LPLOT

(MX.MÏ,IOP.X.Y.NPTS,INC.TITLE,NTITLE.XNAME.NXNAME.YNAME.N YNAME). As in LPL0T6,

the arguments MX and MY carry additional meanings when they consist of more than

one digit, according to the formula |MX| - IAX « 100 + ISX « 10 + INX. E.g., the

pair (201,11) would indicate: 1) IMX - IMÏ - 1 for a plot filling the full page,

2) ISX » O, ISY - 1 for rounded sealing along x and exact scaling along y, 3) IAX

- 2 for a dashed x-0 axis in the plot. The argument IOP again provides different

options for the plot, according to the formula |I0P| » N • 10000 • IC « 10 + J0P,

where 1) JOP is used to distinguish between linear and logarithmic scales along

x and y, 2) IC indicates that a character is to be placed at specified points,

and 3) N indicates the spacing between those characters. As compared to LPL0T6,

the additonal argument INC is used to plot the elements of the arrays X(I) and

Y(I) with an increment: I«1,MPTS,INC. Finally, the two additional character

arguments XNAME and YNAME allow for arbitrary labels (other than the default

choice 'X' and ' Y* of LPL0T6) to be placed along the x- and y-axis. In the main

subroutines the character labels are always followed by an argument counting the

number of characters to be plotted. This argument also controls the character font

to be used, according to the rules specified in the character plotting sub­

routine DLCH.

In addition to the line plotter LPLOT, PPPLIB contains the following main

plotting routines; the point plotter PPL0T, the dashed line plotter DPL0T, the

contour plotter CPLOT, the vector plotter VPLOT, the flow plotter FPL0T, the

section plotter SPLOT, the average plotter APLOT, the 3D cartesian plotter

TPLOT, and the 3D polar plotter P3PL0T. In the listing of PPP10 in Section V

these main routines are preceded by some of their high-level counterparts

LPL0T6, HPL0T6 (corresponding to the entry HPL0T in LPLOT), CPL0T8, VPL0T9,

SPL0T9, and APL0T9. These routines provide a complete plot and are all that is

needed for the average user of PPPLIB. The arguments are very similar to those

of LPLOT6 and LPLOT discussed above. For details of their use the reader is

referred to the explicit examples of Section III, the snort descriptions of

Section IV and finally, for any detail desired, to the listing of Section V.

Let us now consider shortly some of the subroutines or PPPLIB at the level

below the main plot routines listed above. The most important one 5 s NFRAME

(MX,MY,IOP,XMIN,XMAX,YMIN,YMAX,TITLE,NTITLE,XNAME,NXNAME,YNAME,NYNAME) which con­

stitutes the interface between the main plot routines, such as LPLOT, and the

lower level routines, such as SBLIN, which scales the bottom boundary of the

plot linearly. NFRAME is called by all the main routines mentioned to advance a

plotting page (ADV), to draw the top and bottom labels defined by LBLT0P and

LBLB0T, to compute the frame coordinates for the particular frame chosen by the

-8-

argunents IMX and IMY, to compute the automatic scaling of the graph ooundaries

(ASCL), to define the graph area (DGA), to draw the frame, scales and tick marks

using the grid drawing subroutines (DLNLN/DLNLG/DLGLG and SBLIN/SLL1N/SBL0G/SLL0G),

and to draw the title and labels of the axes. However, the essential function of

NFRAME, and the avalanche of subroutines called by it, is to provide the connec­

tion between the x-, y-coordinates in the ranges given by XMIN,XMAX,YMIN,YMAX

and the integer plotting coordinates IX,IY chosen from the matrix of 1024x780

representing dots on a plotting page. The origin of these coordinates is the

lower left corner of the page. This information is stored in common block CJE07

which is used by the main plot routines to convert function values into plotting

coordinates needed by the lowest level vector and point plotting routines (DRV,

DRP, MOVABS, DRWABS).

It will be obvious that the subroutine NFRAME forms the central element of

PPPLIB. Although PPPLIB may be employed without explicitly calling NFRAME, it is

useful to consider its separate use because this adds considerably to the

flexibility of the choice of the frame and scales. To exploit this additional

freedom a call of one of the main plot routines, such as LPLOT, is split into a

call of NFRAME to draw the frame and a call of LPLOT with NPTS < 0 to draw the

curve. Of course, this call may be succeeded by more calls of main plot routines

to put more than one curve on the same frame. In this way, the automatic coup­

ling of the extreme function values to the coordinates of the frame may be over­

ruled to provide more clarity or beauty to the pictures.

The other important routine at the level below the main plot routines is

DLCH, which provides the facility to plot characters of any size, either

horizontally or vertically (through entry DLCV). The 128 ASCII characters are

represented by integers consisting of a sequence of relative plotting coordinates

IDX.IDY chosen from a 5*7 matrix. These coordinates are extracted digit by digit

by means of integer division by 10. [This mechanism replaces the norrstanlard

FORTRAN masking operations used by the older versions of PPPLIB, which made the

package much more system-dependent.] To use DLCH (IX,IY,STRING,NC.ISIZE) one

needs to specify the plotting coordinates IX,1Y where the string STRING of | NC|

characters of a size given by ISIZE is to be placed. When NC < 0, the occurrence

of the special symbols "I" or "&" causes the font to be changed from capital (de­

fault) to lower case or Greek. Single characters may also be specified by a blank

STRING followed by the number NC, which then signifies the position of the char­

acter in the ASCII table. Thus, the argument pair (STRING,NC) would translate as

follows: CA',1) or 0 ',34) for "A", C'$Ar,-1) or (' ',98) for "a", and CfcA',-1)

or (' ' ,66) for "a". To use the latter option one should consult the character

table exhibited in the plots 3 and 4 of the program DEMO in Section III.

-9 -

Finally, most of the applications of PPPLIB **e covered by the test pro­

grams of Section III which, subsequently, i l lustrate the following Items:

1) HIGH - use of the high-level routines and of SPLOT and APLOT (p.10);

2) SCALE - use of the different scaling options of LPLOT and use "»f PPLOT and

PPLOTC (p.12);

3) TEXT - use of WRTEXT to write a text file on a plot {p. 15);

4) DEMO - demonstration of the more advanced use of PPPLIB, viz. different

line options of LPLOT, equidistant scaling (arguments ISX.ISY), use

of DPLOT, of FPLOT, and of the character plot routines DLCH and

DLCV (p.16);

5) CONT - use of the contour plotters CPLOT, QCPLOT, and CPLOTX (p.20);

6) VECT - use of the vector plotters VPLOT, VPLOTX, and FPLOT (p.22);

7) THREE - use of the 3D routines TPLOT and P3PL0T (p.25).

These examples were constructed to be as simple as possible, with no attempt to

avoid trivialities and taking very few observational points to increase the

computational speed. Beauty is usually obtained in actual physical applications

when many more computational points are taken into account, resulting in smooth

curves. However, in the spirit of providing a diagnostic tool for physical ap­

plications, no additional smoothing ot the curves is fabricated in PPPLIB.

-10-

III. TSST PMKRAKt HIQl, SCALE. TKXT, DEM), COUT, VBCT. TOBBE

This section contains seven test programs which provide both an illustra­

tion and a complete test of all the different uses of PPFLIB. Each program list­

ing is immediately followed by the plotted output from the graph file produced.

An exception is the printed output of program CONT which appears on p. 21 for

reasons of space.

tilGH

PROGRAM HI6H 10

C *....«................................«.......... 20

C * TEST HIGH-LEVEL SUBROUTINES OF PPPLI8. * 30

C •••**••»•••••****••***••••«••••***********»#**•***••••*•*********• 40 c so

DIMENSION X(100),VM00),Z<11,11),VX<11,11),VV(11,11) 60 DIMENSION ZXM1),ZY(11),JARR(2),AVX(11),AVr<11> 70

C 80 CALL BEGPLTCPHIGH') 90 CALL LBLTOPC'KIGH LEVEL PLOT CALLS* , 2 1 ) 100 CALL LBLB0TC PLASMA PHYSICS PLOTTING LIBRARY*,31) 110

C 120 C * LPL0T6 AND HPL0T6. 130

X ( 1 > - 0 . 140 Y ( 1 ) » 0 . 150 DO 10 1*2,10D 160

X ( I ) - C I - 1 . ) / 1 0 0 . 170 10 Y ( I ) - X ( 1 ) # S I N C 1 . / X ( I > ) 180

CALL L P L 0 T 6 ( 2 , 2 , X , V , 1 3 , ' L I N E PLOT') 190 CALL HPL0T6(2 ,3 ,X ,Y,13 , 'H IST0GRAM') 200

C 210 C * CPLOT8. 220

DO 20 1-1 ,11 230 X f l ) » t l - 1 . ) / 1 0 . 2*0

20 Y ( I ) « X C I ) 250 DO 30 J - 1 , 1 1 260

DO 30 1-1 ,11 270 Z C I , J ) « X C I ) * * 2 * Y U > * * 2 280

30 CONTINUE 290 CALL CPL0T8(3,2 ,X,Y,11,11,Z, 'CONTOUR PLOT') 300

C 310 C * WPL0T?. 320

FAC«3.1415926535B9B/10. 330 DO 40 J - 1 , 1 1 340

DO 40 X"1,11 350 V X C I , J ) « S I N ( F A C * a - 1 . ) > 360 V Y C I , J ) « S I N ( F A C * ( J - 1 . ) ) 370

40 CONTINUE 380 CALL V P L 0 T 9 < 3 , 3 , X , Y , 1 1 , 1 1 , VX,VY, 'VECTOR PLOT') 390

C 400 C * SPL0T9 AND SPL0T CTHE LATTER FOR SECTIONS WITH GIVEN Y ) , 410

CALL S P L 0 T 9 ( 2 , 2 , 1 , Y , Z X , 1 1 , 1 1 , Z , ' X - S E C T I 0 N PLOT') «20 J A R M 1 W 430 JARR<2)«9 440 CALL S P L 0 T < 2 , 3 , 2 , 1 , X , Z V , 1 1 , 1 1 , 1 , Z , 1 1 , J A R R , 2 , 450

A 'Y-SECTION P L 0 T ' , 1 4 , , X ' , 1 / ' Z ( Y » . 6 , . 8 ) , , 1 0 ) «60 C «70 C * APL0T9 AND APLOT (THE LATTER FOR AVERAGES OVER A BAND IN Y ) , 4B0

CALL APL0T9(3 ,2 ,1 ,Y,AVX,11,11,Z , 'X-AVERAGE PLOT') 490 CALL A P L 0 T ( 3 , 3 , 2 , X , A V Y , 1 1 , 1 1 , 2 , Z , 1 1 , 1 , 2 , 500

A 'Y-AVERAGE P L O T ' , 1 4 , ' X ' , 1 , ' A V Y < Q < » Y < » . 1 > ' , 1 3 ) 510 C 520

CALL FINPLT 530 END 540

HIGH LEVEL PLOT CALLS

-0.10 0.00

0.1S

0.10 —

0 . 0 5 -

0.00 —

- 0 . 0 5 -

-0.10 0.00

03/03/1*

LINE PLOT

O.04 0.08

HISTOGRAM

0.04 0.08

0.12 0.00 O.ZO 0.40 0.60 0.80 X

, n n VECTOR PLOT ggS j 1 . 0 0 1 • 1 • • ' i • • I " ' I '

1.00

OOE+OQ OOE-01

0.12 0.00 0.20 0.40 0.60 0.80 X

1.00

PLASMA PHYSrCS PLOTTING LIBRARY

HIGH LEVEL PLOT CALLS

2.00

1.50

X-SECTION PLOT 2.00

1.50

1 1 1 1

S—

1.00 / / >

0.50 — —

0.00 ZJ^ *\ i 1

1.40

1.20

X-AVERAGE PLOT 1.40

1.20 1 1 1 1

/—

1.00 —

0.80 —

0.60 _ —

0.40 —

O.?0 1 1 1 1

4p

0.00 0.20 0.40 0.60 0.80 1.00 Y

Y-SECTION PLOT

T

0.00 0.20 0.40 0.60 0.80 1.00 Y

Y-AVERACE PLOT

0.00

03/09/M

0.00 0.20 0.40 0,60 0.80 1.00 0.00 0.20 0.40 0,60 0.80 1.00

X X

PLASMA PHYSICS PLOTTING LIBRARY

-12-

SCALE

PROGRAM SCALE 10 .••••.««.•••.•ft».**...**.....**..**....*»*..*»***»****»***..**...* 20 • TEST DIFFERENT SCALING OPTIONS OF PPPL18. * 30 ft************..»**.***..***..*.****»»*...**»...**»*...**»»»**».**. «o

SO DIMENSION AC2),B(2),C(2),TYC2),RN6(2) 60 DIMENSION X(200),Y(200> 70

«0 DATA A/0.17,339.78/, B/-30.7,39.2/, C/6.025,602.4/, TY/O.0,100./ 90

100 CALL BEGPLTCPSCALE') 110 CALL LBLBOTC PLASMA PHYSICS PLOTTING LIBRARY',31) 120

130 • COMPARISON OF EXACT AN» AUTOMATIC SCALING. 140 CALL L8LT0P('COMPARISON OF SCALINGS',22) ISO

160 • EXACT SCALIN6. 170 CALL LPLOTCU^I^YY^I^EXACT»,?,* ',1,' ',1> 180 CALL LPL0TC12,5,1,8,YY,2,1,' ',1,' ',1,' ',1) 190 CALL LPL0TC12,6,1,C,YY,2,1,» ',1,' ',1,' »,1) 200

210 • AUTOMATIC SCALING (NUMBERS ROUNDED OFF). 220 CALL LPL0T(3,4,1,A,VY,2,1,'AUTOMATIC',9,' ',1,' ',1) 230 CALL LPL0T(3,5,1,B,YY,2,1,« ',1,« ',1,' -,1) 240 CALL LPL0T<3,6,1,C,YY,2,1,' ',1,' ',1,* ',D 250

260 • LOGARITHMIC SCALIN6S. 270 CALL LBLTOPC'LOGARITHMIC SCALINGS',20) 280

290 • LOG-LOG SCALING ( NOTICE: INC < 0 , SO THAT X ( 2 ) « OX ) . 300 X C 1 ) * 1 . £ - 9 310 X C 2 ) » . 5 - X C 1 ) / 2 0 . 320 Y ( 1 ) « X ( 1 ) 330 DO 10 1*2 ,21 340

10 Y ( I ) » Y U - 1 ) * X < 2 > 3S0 CALL L P L 0 T < 1 1 , 1 2 , 4 , X , Y , 2 1 , - 1 , ' L O G - L O G ' , 7 , ' ' , 1 , ' ' , 1 > 360

370 • LOG-LINEAR SCALING (ALSO INC < 0). 380 Y(1)»AL0G10(X<1>) 390 DO 20 1*2,21 400

20 YCI)«Y(I-1)*AL0610<X(2>) 410 CALL LPL0T(11,13,3,X,Y,21,-1,'LOG-LINEAR',10,' ',1,' *,D 420

430 • DIFFERENT TESTS. 440 CALL LBLTOPC'DIFFERENT TESTS',15) 450

460 • TEST RN6: SHOULD ONLY BE PRINTED NHEN T-VARIATION IS NEGLIGIBLE. 470 DO 30 1*1,11 480 V(I)>.1*(I-1.)+1.E8 490

30 X(I)*I-1. SOO CALL LPLOT(2,2,1,X,V,11,1,'RNG TEST',8,' ',1,' ',1> 510

520 • TEST SCALE POWER OF 10 ALONG Y; DRAW X*0 AND Y'O AXES. 530 X(1)«-1.8 540 XC2)-.9 550 YC1)«-1.E7 560 Y(2)>5.E6 570 CALL LPLOT(202,203,1,X,Y,2,1,'TEST SCALE FACTOR',17,' ',1,' ',1) 580

590 • POINT PLOT. 600 DO 40 1*1,200 610 X(D«.01«3.14159*I 620

40 VCl)*.03«SIN(X(I)>+2,6 630 CALL LPLOT{13,2,-1,X,Y,2O0,1,'PPL0T',5,' ',1,' ',1> 640 CALL PPLOT(3,2,X/V/200,1) 650

660 • CONDITIONAL POINT PLOT. 670 CALL LPLOTC13,3,-1,X,Y,200,1,rPPLOTC',6,' ',1,' '/I) 680 CALL PPLOTC(3,3,X,Y,200,1,V,2.58,2.62) 690

700 CALL FINPLT 710 END 720

COMPARISON OF SCALINGS

I JO*

03/09/M ICUtUC PLASMA PHYSICS PLOTTING LIBRARY

LOGARITHMIC SCALINCS

LOG-LOG ^Wff

icr» icr7 lor» icra JO» JO"

xiO -0.90

'1.03 -

-J .20 -

-1.33 -

-1.30

LOG-LINEAR

IIIIII| ill)mi| iiniiii| iiiuiff) iiiinii| miwi) niniu| i niiin| i

imml IIIIHIII JO~' icr9

i mini i i mini i inniil niiiml inmul i muni

« / « • / • • I»»J«>J»

JO"7 lO-» JO"* 1C* 10-» JO"* JO-1

PLASMA PHYSICS PLOTTING LIBRARY

xlO» 1.00

1.00

1.00

1.00

RNC TEST

i 1 1 r

DIFFERENT TESTS

:- l.MC*00 2 .63

PPLOT

2.61 _

2 . 5 9 -

r\—r

l .OOl I I I I I 2 .57 0 .00 0 .20 0 .40 0 .60 0.80 1.00 0 .03 1 .59

i v i /

»10T

0.60

O.ZO

- 0 . 2 0

- 0 . 6 0

TEST SCALE FACTOR XlO

- 1 . 0 0

1 f 1 1 1 y

1 1

1 1

2.57

03/OS/M ICUCUC

2 . 0 0 - 1 . 5 0 - 1 . 0 0 - 0 . 5 0 0 .00 0 .50 1 .00 0.03 1.59 3.16

PLASMA PHYSICS PLOTTING LIBRARY

# >

6.20

4.72 6.20

- 1 5 -

TEIT

£ C c c

c

PROtAAH TEIT

• H I ITC TEXT OH ft CRAPN AH» PUT A PLOT M THE REST OF THE PASE.

» I H E N S I M X(100) ,T<100>

CALL • E C P L T C P T E I T ' ) OPENC10,FILE* 'T£XT' ) CALL WRTEXTCIO)

»0 10 X ' 1 , 1 0 0 X C I > * Q . 0 1 * I T i I > > I C I > * S M t 1 . # X C I ) I

10 CONTINUE

CALL L P L 0 T 6 ( 1 , 3 , « , T , 1 0 0 , ' T CALL FINPLT

E NO

X * S INC1 /X ) * )

10 20 50 40 SO M 70 M «O

100 110 120 130 1*0 ISO 1*0 170 100 190 200

c c c c

PROGRAM TEXT ••»••»*•*••*•••»»•»»•**»«*••»»•»• '•«•«••••«•«•••••««••««•••«•••a** • WRITE TEXT ON A GRAPH AND PUT A PLOT ON THE REST OF THE PAGE. * *»##••*#*•#«»#»#•#»»»•#»##*»#»»»»*••#•»•«»»*»»•»•»•##*»•#•»**»#*#*•»

DIMENSION X<100>rY<100>

CALL BECPLTCPTEXT') 0PEN<10.FIL£='TEXT') CALL WRTEXT(10>

00 10 1=1.100 X<I)=O.OJ*I Y<I>»X<I)»SIN<1, /X<I>>

10 CONTINUE

CALL LPL0T6( I .3 rX , r ,JOO. 'T CALL FINPLT

END

*^W

X * SIN<J/X)')

J . 0 0 . —

0 . 0 0 -

0 . 6 0 -

0 . 4 0 -

O . Z O -

0 .00

- Ö . 2 0 -

-0.401

X • S I N U / X )

T

0 .00 0 .20 0 .40 0,60 0 . 8 0 1 .00

-16­K B »

H O U M K W I B C • • • • • • • • • • • • • • • . • • • • » • • • • • • • • • » » • • • * » * • • • • * * • • • * • • • * • • * * • • * • • • « * • • » C • OEHONSTRATIM PLOTT1NO LIBRARY P W l I I . • 50 C • • * • * • • • • » » * * * » • * • • • » * * • • » » * * * * • • • • • » * • • • • * » * * * * * * • * • * * • * • • • • • * • • • 40 c se

CHARACTER» 3 PA6E * 0 CHARACTER* S STRINCC4) 70 CK*RACTER*32 TITLE «O CMRACTER*40 LABEL tO CHARACTER*00 COMMENT 100 OIHENSION X(101>,V<101>,X1<101>,Y1<101) ,VK(101>,VYC101>, 110

• F1C50 ,B> ,F2C5O,« ) ,F3CS0,« ) ,F4 (5Q,A) 120 C 150

CALL • t 6 P L T f P » E M 0 , > 140 C 150 Cl * «UAHTITIES TO BE PLOTTE» WITH LPLOT. 1*0

•O 10 I»1,50 170 X < I > - I / S 0 . 100 DO 10 H*1 ,« 190 F 1 C I r H > * 1 . 200 F 2 C I , H > * X ( I > * * C R - 1 > 210 F 3 t I , H ) * X ( I > * * H 220 F4C1,H>*XCI>**<H*1> 250

10 CONTINUE 240 C 250

P « S E * * 1 * 2 * 0 LABEL* 'BEIU, PLOT ' / / F K E 270 CALL L B L 0 0 T < L A * C L , 1 2 > 200 COIMENT** DEMONSTRATION PLOTTINC LIORART PPPLIO* 2 * 0 CALL LNLT0P(C0MHENT,37) 300 H*2 310 M R I T E C T I T L É , , C , , M C I , M * , , , I 2 , , , Ï " > , > N 320 CALL L P L O T ( 2 # 2 , 1 , X , F 1 t 1 , N > , 5 0 , 1 , T I T L E , 1 0 , * X ' , 1 , , F 1 , , 2 > 330 N R I T E ( T I T L E , • t • , f 2 C I , H • • , , 1 2 , • • > • • ) • ) N 340 CALL L P L O T C 3 , 2 , 1 , X , F 2 < 1 , K > , S 0 , 1 , T I T L E , 1 0 , * X ' , 1 , ' F 2 , , 2 > 3S0 I I R I T E < T I T L E , , < • ' f 3 < I , H - • , , 1 2 , • • > " ) • > N 3*0 CALL L P L O T ( 2 , 5 , 1 1 1 , X , F 3 ( 1 , N ) , 5 0 , 1 , T I T L E , 1 0 , a X * , 1 , ' F 3 ' , 2 > 370 M R I T E < T I T L E , , < , , F 4 C I , H * , , , I 2 , » M , , Ï , > N 300 CALL L P L O T C 3 , 3 , 2 0 1 1 1 , X , F 4 C 1 , H > , S O , % T I T L E , 1 0 , * X » , 1 , ( F 4 , , 2 > 390

C 400 C2 • PLOT 6E0HETRIC FIGURES. 410

PI *3 .1415926535S9S 420 F A C ' P I / 5 0 . 430 00 20 J~1 ,101 440 T*CJ~1.)*FAC 450 X(J)«COSCT) 4 * 0 TCJI«SIM(T) 470

20 Y l C J ) * 1 . 5 * T ( J > 400 C 490

PAOEs'2' SOO CALL L B L B O T < L A O E L C 1 : 1 1 > / / P A « E , 1 2 > 510 CALL L0LTOPCELLIPSE A M CIRCLE' ,18 ) 520 CALL LPL0TC12,11 ,1 ,X ,Y1 ,101 ,1 ,«EXACT S C A L I N G ' , 1 3 , , X , , 1 , ' T , , 1 ) 530 CALL 0 P L 0 T ( 2 , 1 , X , V , 1 0 1 , 1 , 1 0 , 1 0 > 540

C S50 CALL N F R A H E < 2 3 , 1 1 , 1 , - 1 . , 1 . , - 2 . , 2 . , S40

A 'cOUlDISTART S C A L I N O ' , 1 9 , ' X ' , 1 , ' Y ^ l ) 570 CALL L P L 0 T ( 3 , 1 , 1 , X , T 1 , - 1 0 1 , 1 , » ' , 0 , ' ' , 0 , ' * ,Q) 510 CALL D P L O T ( 3 , 1 , X , V , 1 0 1 , 1 , 1 0 , 1 0 > 590

C 600 C3 * PLOT VECTOR FIELD LEFT ARO CHARACTER SET « T H OLCM OR THe RI6HT. 410

PASE«*3' 620 C • SNIFT TOP AND BOTTON LABELS NT HEARS OF BLANK CHARACTERS: «30

CALL L O L B 0 T < L A B £ L C 1 : 1 1 > / / P A « E , 4 0 > 640 CALL LBLTOP(COHHERT,79) 650 CALL N F R A H E ( - 2 2 , - 1 1 , 1 , - 1 . , 1 . , - 2 . , 2 . , 6 * 0

A 'VECTOR F I E L D ' , 1 2 , ' M , ' * ,1> 670 DO 40 1*1,5 600

DO 30 J»1 ,101 690 «"1/5. 700 T « F A C * ( J - 1 . ) 710 C'COS(T) 720 S -S IN(T ) 730 X1(J>*RoC 740 T1<J>*1.5«R«S 730 V R * S I N ( F A C * 1 0 . * I ) 7*0 V T * R * C 0 S < M C * < J - 1 . ) ) 770 VX{J>«VR«»C-VT*$ 700 VYO>«VR«S*VT«C 790

3D CONTINUS SOO

-17-BEHOCC)

CALL 0 » L O T ( 2 , 1 , K 1 , Y 1 , 1 0 1 , 1 , 0 , 5 ) «10 CALL F P L O T < 2 , 1 , 2 , X 1 , T 1 , - 1 0 1 , 5 , V X , V V , . 2 , 1 S , * • , ! , • *,\t* »,1> «20

« 0 CONTINUE BSO C 840

CALL B0X<S90,99O,0,780> BSO CALL BLCN(630,7S6, 'SSYM0LS AVAILABLE I N S P P P L l B a , - 2 7 , 2 ) 860 BO SO 1*1 ,32 870 BO SO K«1,4 880 t C * l * U - 1 > * 3 2 890 M R U E ( S T A t N 6 ( K ) , , ( 1 3 , > , > • •>»> IC 900 CALL B L C N ( * a 4 4 9 6 * ( K - 1 ) , 7 4 4 - 2 3 * I , S T R l N 6 C K ) , S , 2 ) 910 CALL B L C M C - 1 , 7 4 4 - 2 3 * ! , ' ' , I C , 2 ) 920

SO CONTINUE 930 C 940 C4 * SANE PLOT KITH »LCV: ROTATE! OVER 90 BE6REES, BI6«ER CHARACTERS. 9S0

CALL ABVC1) 960 CALL B0X<0,1024,100,685> 970 BO «0 1 -0 ,2 980

«O CALL BLCV;30,14S»l,'S*rM0LS AVAILABLE IN »f>MLIB',-27,3> 990 BO 70 1-1,32 1000 BO 70 K»1,4 1010 IC-I»U-1>*32 1020 NRITE<$TR1*6CK),*U3,'*. ")') IC 1030 CALL BLCVCS0*30*I,110+144*CK-1),STRIN6CK),S,3> 1040 CALL BLCVt-I^IO*^*!*-!»,' ',IC,3> 1050

70 CONTINUE 1060 C 1070

CALL FINPLT 1080 E M 1090

DEMONSTRATION PLOTTING LJBRART PPPLIB

F K I . H - 2 > INS- O.OOMO . __ F2<I.M= 2> *^ffff

1.00

0.80

0.60 —

0.40

0.201—

0.00

0 .00 0.20 0.40 0 .60 0.«0 1.00 0.00 0 .20 0 .40 0 .60 0 .80 1.00 X X

F3<I.M= 2 ) „„ F4<I.M= 2) 1.001 T

tÊ/irr^ J L

_• — 0.8O —

— O.fcO —

Ü.

— 0.40

— 0.20

o . o o i . . . . L 0.00 0.20 0.4O 0.60 0.80 1.00

Ï23&7 DEMO, PLOT 1

0.00 0 .20 0 .40 0 .60 0 .80 1.00 X

1.50 EXACT SCALING

0.75

1 ^ " 1 "^-v. 1

/ ' M

/ ' \

>• 0.00 — -

-0.75 \ \ ' /

-1 .50 1^ 1 Xl

ELLIPSE AND CIRCLE

2.00 EQUIDISTANT SCALING

1 . 0 0 -

v 0 . 0 0 -

— - 1 . 0 0 -

-1.00 -0.50 0.00 X

03/05/»» 1*11*111

-2 .00 0 .50 1.00 - 1 . 0 0

DEMO, PLOT 2

0.00 X

1.00

DEMONSTRATION PLOTTING LIBRARY PPPLIB

VECTOR FIELD

03/09/M DEMO, PLOT 3

Stjabols a v a i l a b l e i n PPPLIB

1 . 3 3 . » 6 5 . 9 7 . 2 . 8 3 4 . A V V » • 9 8 . a 3 . m 3 5 . B 6 7 . * 9 9 . b 4 . t 3 6 . C 6 8 . • 1 0 0 . c 5 . s 3 7 . D 6 9 . S 1 0 1 . d 6 . z 3 8 . E 7 0 . c 102 . • 7 . c 3 9 . F 7 1 . * 1 0 3 . t 8 . * 4 0 . G 7 2 . » 1 0 4 . 9 9 . < 4 1 . H 7 3 . 8 1 0 5 . h

1 0 . ) 4 2 . I 7 4 . i 1 0 6 . i 11 • 4 3 . J 7 5 . a 1 0 7 . j 1 2 . • 4 4 . K 7 6 . K 1 0 8 . k 1 3 . r 4 5 . L 7 7 . X 1 0 9 . 1 1 4 . - 4 6 . N 7 8 . * 1 1 0 . m 1 5 . . 4 7 . H 7 9 . • 111. n 1 6 . / 4 8 . 0 8 0 . o 1 1 2 . o 1 7 . 0 4 9 . P 8 1 . « 1 1 3 . p 1 8 . 1 SO. 0 8 2 . X 1 1 4 . q 1 9 . 2 5 1 . R 8 3 . t* l i 5 . r 2 0 . 3 5 2 . S 8 4 . s 116 . s 2 1 . 4 5 3 . T 8 5 . T 1 1 7 . * 2 2 . 5 5 4 . U 8 6 . t 1 1 8 . u 2 3 . 6 5 5 . V 8 7 . » 1 1 9 . v 2 4 . 7 5 6 . w 8 8 . t . 1 2 0 . w 2 5 . 8 5 7 . X 8 9 . E 1 2 1 . x 2 6 . 9 5 8 . Y 9 0 . n 1 2 2 . y 2 7 . : 5 9 . z 9 1 . S 1 2 3 . z 2 8 . 9 6 0 . L 9 2 . A 1 2 4 . 9 2 9 . < 6 1 . \ 9 3 . r 1 2 5 . J 3 0 . = 6 2 . 1 9 4 . A 126 . * 3 1 . > 6 3 . M 9 5 . 11 1 2 7 . i 3 2 . ? 6 4 . - 9 6 . 2 1 2 8 . »

" •^Tr

Is availab

le in

P

PP

LIB

U U U T U I ' H CJUT -• -—>.* ^ E C O Ü . C r L W * 3 > Ï X 3 > N 1 I > - ' ( I V / / ! I

Is availab

le in

P

PP

LIB

r ^ o o c n o ^ N m ^ u ^ ^ r ^ o o c r o ^ C M m ^ ^ t ^ r ^ o D O ^ o ^ ^ r n ^ i n u s r ^ c o

Is availab

le in

P

PP

LIB

X * •$• \A WG-» G> - D y X S L ^ O t X ^ Ö H PE> * M C U < f- < CC W

Is availab

le in

P

PP

LIB

u ^ a > r ^ c x ) c ^ o ^ c v i m ^ v O i ^ r ^ o o ^ o ^ ^ m ^ u ^ i j > r ^ o o o ^ o - - i f s j r < n ' * - i O v c > vo^^ i^^r~r^r~r^r^r^r~r^r~r~ooooooooooooöOODöoooo* 'ö* '0 * , u* , vT 'ö*<C 1

Is availab

le in

P

PP

LIB

< » < f l Q U O ü J l l . 0 I > - ' n ü : j £ Z O a O ( Ï M I - D > 3 X > - N L j / n < |

Is availab

le in

P

PP

LIB

1 - . ; » * % ? < « - v r N * + » i • N w o ^ ï ( s i m = T u " n £ > r * C D c r i " ' * v u A »> 1 ^ ( \ i m ^ ^ v p r ^ o o o ^ o ^ r s j m ^ i r i w j > r ^ o o o ^ o ^ N p n ^ « / i u ? r ^ o o c n o ^ c s i

-20-

CMT

M K U a C O » 10

C * CMTOIM PLOTS WITH CPLOT, CPLOTX, A M 0CP10T. * M

c so OMENSIOft X C 2 1 > , Y ( 2 1 > , 2 ( 2 1 , 2 1 > , Z C U * > 0 0 • I H U S I A M R ( 1 1 ) , T ( 2 1 > 70

C M CALL 0E0PLTCPC0OT') 90 CALL LOLTOPf'CONTOUR PLOTTJNC MITH CPLOT',27» 100 COLL LOLBOTC'PLASMA PHYSICS PLOTTIHC L I M A R Y ' , 3 1 ) 110 0PtN{10 ,F ILE* 'OCONT' ) 120

C ISO CI * CPLOT «00 «CPLOT. 140

00 10 1 *1 ,21 ISO X ( I > * - 1 . * t I - 1 . ) / 1 Q . 100

10 Y < I > * I C I > 170 00 20 J * 1 , 2 1 100

00 20 1 * 1 , 2 1 100 20 Z U , J > * X < 1 > * * 2 » T ( J > * * 2 200

CALL C P L O T t 2 , 2 , 1 , X , Y , 2 1 , 2 1 , 1 , 1 , Z , 2 1 , Z C , - 5 , 210 0 ' M I T * LAOELS, » 0 T 0 H » T I C ' , 2 * , ' r , 1 , ' T ' , 1 > 220

CALL 0 C P L 0 T < 2 1 , 2 1 , 1 , 1 , 1 , 2 1 , Z C , - 5 , 2 » A 'AUTOMATIC C O W T O O t I N C ' , 2 0 , ' X ' , 1 , ' Y ' , 1 , 240 • 0 , 1 0 1 2S0

00 30 0 - 1 , 5 240 3 0 ZCCKXK/S. 270

CALL C P L O T ( 2 , S , 0 , X , V , 2 1 , 2 1 , 1 , 1 , Z , 2 1 , Z C , $ , 200 A 'f i lVEN Z C * . 2 , . 4 , . 0 , . » , 1 . 0 ' , 2 4 , ' X ' , 1 , ' Y ' , 1 > 200

CALL 0 C P L 0 T { 2 1 , 2 1 , 1 , 1 , Z , 2 1 , Z C , 5 , 300 A ' t l V E N 2 C « . 2 , . * , . * , . 0 , 1 . 0 , , 2 4 , , X ' , 1 , , T , , 1 , 310 * 0 , 1 0 ) 320

CALL C P L O T ( 2 3 , 2 , 0 , X , V , 2 1 , 2 1 , 1 , 1 , Z , 2 1 , Z C , 5 r 330 A 'EOHIOISTAOT S C A L l O « ' , 1 9 , a X ' , 1 , * T I , 1 > 340

CALL N F R M E < 2 3 , 1 3 , 1 , - 1 . , 1 . , - 1 . 4 , 1 . 4 , 350 A 'SEPARATE CALL Of • F R A R E ' , 2 3 , ' K ' , 1 , ' Y ' , 1 ) 300

CALL C P L O T ( 3 , 3 , 0 , X , Y , 2 1 , - 2 1 , 1 , 1 , Z , 2 1 , Z C , S , 370 * ' ' , 1 , ' * , 1 , ' ' , 1 > 5 M

C 390 C2 • CPLOTX. 400

CALL LOLTOP<'CONTOUR PLOTTING HITO CPLOTX',2t> 410 C « T O PRE*EOT SINGULAR ITT OF LOC Z FOR X * T * 0 : 420

Z C 1 1 , 1 1 ) * . 0 1 430 CALL C P L O T X ( 2 , 2 , 1 , X , Y , 2 1 , 2 1 , 1 , 1 , Z , 2 1 , Z C , - 2 0 , 440

* 'L0610 C O 0 T 0 U 0 S , , 1 4 , ' X ' , 1 , , T ' , 1 , 4S0 0 0 . , 1 , 1 ) 400

C 470 00 40 1*1 ,11 400

40 R ( I > * C I - 1 . ) f 1 0 . 490 • 0 SO J«1 ,21 500

SO T U > * 2 . * 3 . 1 4 1 S * 2 0 S 3 5 0 9 0 « U - 1 . ) / 2 0 . 510 • 0 «0 1*1 ,11 520

00 00 J * 1 , 2 1 530 60 Z<1 ,J>*RCI ) 540

• 0 70 K*1,S SSO 70 ZC(K>*K/5 . 500

CALL N F R A N E ( 2 2 , 3 , 1 , 0 . , 1 . 4 0 3 5 , 0 . , 1 . , S70 A 'POLAR COOTOURS ' , 2 2 , ' X ' , 1 , ' T ' , 1 ) 500

CALL C P L O T X ( 2 , 3 , 1 , R , T , 1 1 , - 6 , 1 , 1 , Z , 2 1 , Z C , 5 , 500 * ' M,* M,' M, M»0 0 1 . , 1 ,0 ) 010

CALL C P L 0 T X < 3 , 1 2 2 , 0 , R , T , 1 1 , 1 1 , 1 , 1 , 2 , 2 1 , Z C , 5 , 620 A 'POLAR CONTOURS, 2 O U A O R A N T S ' , 2 7 , ' X ' , 1 , ' T ' , 1 , 630 0 T . , 2 , 0 ) 640

CALL C P L 0 T X ( 2 3 , 3 , 0 , R , T , 1 1 , 2 1 , 1 , 1 , Z , 2 1 , Z C , S , 6S0 A 'POLAR CONTOURS, 4 0 U A 0 R A N T S ' , 2 7 , ' X ' , 1 , ' T ' , 1 , 400 0 1 . , 4 , 0 > 670

C 0 * 0 CALL FIMPLT 090 ENO 700

CONTOUR PLOTTING WITH CPLOT

1 . 00 WITH LABEL^ AUTOMATIC £ f igcZpg

0.50

>- 0.00-

-0.50->

-1.00

1.00

0.50-,

0.00

1.00 -0.50 0.00 0.50 1.00 X

GIVEN ZC*.Z..4..S,.0,1.0 1.40

-1.00-0.50 0.00 0.50 1.00 X

SEPARATE CAuL OF NFRANE

i r

-0 .30 ->

-1.00

- - 0 . 7 0 -

-1.40-0.70 0.00 0.70 1.40 X

PLASMA PHYSICS PLOTTING LIBRARY

-1.00 -0.50 0.00 0.50 1.00 X

f ] / * 3 / M l«U«>i7

CONTOUR PLOTTING WITH CPLOTX

1.00 L0C10 CONTOURS >• X.O«E«00 LOCC» 4

0 . 5 0 - ,

>- 0.00

-0 .50-^

- 1 . 0 0

POLAR CONTOURS. Z QUADRANTS

1.00 —

>• 0.50

0.00

0.30 1.00 -1.00 -0.50 0.00 X

POLAR CONTOURS. 4 QUADRANTS

1.00

0.00 o.oo3.ro 0.40 0 . w o . t o 1.00 i .201.40

X «1/94/M Jt*14'J7

1.00-0.50 0.00 0.50 1.00 X

PLASMA PHYSICS PLOTTING LIBRARY

-22 -VECT

M O M M VECT 10 C * * * * • • * • * • • » • • • » • * • • • • • • • • • * • * • • • • • • * » * * « • • • • • • • • * • * • • » • * • • » • • * • • * 20 C * VECTOR PLOTS WITH VPLOT, VPLOTX, AND FPLOT. • 30 C • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • > • • • • • • • • • • • • • « • • • 40 c so

»IRENS ION X<11) ,V<11) ,VXt11 ,11> ,VVC11,11> 60 DIMENSION R(11),T<20>,VR(11,20>,VT(11,20> 70 DIMENSION XX(20>,VV(20),VXX(20>,VYY(20> SO

C 90 CALL BESPLTt'PVECT') 100 CALL LBLTOPt'VECTOR PLOTTING WITH VPL0T',26> 110 CALL LBLBOTC'PLASMA PHYSICS PLOTTINfi LIBRARY',31) 120

C 130 C * VPLOT. 140

P I *3 .141592653S898 ISO F A C * P I / 1 0 . 160 »0 10 1 -1 ,11 170

X < I > « U - 1 . ) / 1 0 - 180 10 V C I > - X ( D 190

DO 20 J * 1 , 1 1 200 »0 20 1*1 ,11 210

V X ( I , J ) * 3 I N C F A C * C I - 1 . > ) 220 20 V V ( I , J ) s S I N C F A C * < J - 1 . ) > 230

CALL ¥ P L < n C 2 , 2 , 1 1 1 , X , T , 1 1 , 1 1 , 1 , 1 , * X , V Y , t 1 , . 9 , 2 0 , 240 A 'CARTESIAN P L 0 T ' , 1 4 #

, X ' , 1 #, Y , , 1 ) 250

CALL V P L O T < - 2 , - 3 , 2 , X , V , 1 1 , 1 1 , 1 , 1 , V X , V Y , 1 1 , . 9 , 1 0 , 260 A 'SUPPRESSIN« SCALES' ,10 , ' ' , 1 , ' ' , 1 > 270

CALL V P L 0 T ( 3 , 2 , 1 1 1 , X , Y , 1 1 , 1 1 , 2 , 2 , V X , V Y , 1 1 , . 9 , 2 O , 280 A 'SKIPPING C I N C X / Y - 2 3 ' , 1 9 #

, X ' , 1 , , Y , , 1 ) 290 CALL N F R A N E < 2 3 , 1 3 , 5 , - . 1 , 1 . 1 , - . 1 , 1 . 1 , 300

A 'SEPARATE CALL OF NFRAHE' ,23, ' ' , 1 , ' ' , 1 ) 310 CALL V P L 0 T ( 3 , 3 , 2 , X , Y , 1 1 , - 1 1 , 1 , 1 , V X , V Y , 1 1 , . 9 , 1 0 , 320

* * M » ' ',!,' M > 350 C 340 C • «PLOTX. 3S0

CALL LBLTOPC'VECTOR PLOTTING WITH VPLOTX',27) 360 »0 30 1 -1 ,11 370

30 R C I > * C I - 1 . > / 1 0 . 380 BO 40 J - 1 , 2 0 390

40 TCJ>-FAC«CJ-1.) 400 BO 50 1 -1 ,11 410

DO 50 J - 1 , 2 0 420 VRCI ,J ) *S INCFAC*CI -1 .> ) 430

SO VTC1,J>*RCI>*C0S<FAC*(J-1 . )> 440 CALL V P L 0 T X ( 1 2 2 , 2 , 1 1 , R , T , 1 1 , 6 , 1 , 1 , V R , V T , 1 1 , . 9 , 4 0 , 450

A 'POLAR PLOT, 1 Q U A D R A N T ' , 2 2 , ' X ' , 1 , ' Y ' , 1 , 1 . , 1 > 460 CALL V P L Q T X C - 2 , - 1 2 S , 2 , R , T , 1 1 , 1 1 , 1 , 1 , V R , V T , 1 1 , . 9 , 1 0 , 470 A 'POLAR PLOT, 2 QUADRANTS',23,'X',1,'Y',1,1.,2) 480 CALL VFL0TXC23,2,11,R,T,11,20,2,2,VR,VT,11,.9,40, 490 A 'POLAR PLOT, 4 QUADRANTS',23,'X',1,'Y',1,1.,4) 500 CALL NFRANEC23,13,5,-1.1,1.1,-1.1,1.1, 510 A 'SEPARATE CALL OF NFRAHE',23,' ',1,' ',1> 520 CALL VPL0TXC3,3,2,R,T,11,-20,1,1,VR,VT,11,.9,10, 530 * ' M , ' ',1,' f,1,1.,*l 540

C 550 C * F PLOT. 560

CALL LBLTOPC'VECTOR PL0TTIN6 WITH FPLOT',26) 570 CALL NFRAME(2,1,1,-1.,1.,-1.,1., 560

A 'POLAR PLOT, D I S T O R T E D ' , 2 1 , ' X ' , 1 , ' Y ' , 1 ) 590 CALL N F R A H E C 2 3 , 1 1 , 5 , - 1 . 1 , 1 . 1 , - 1 . 1 , 1 . 1 , 600

A 'SUPPRESS FRAME • OVERSIZE VECTORS',33, ' ' , 1 , ' ' , 1 > 610 DO 70 I » 1 , 1 1 620

DO 60 J - 1 , 2 0 630 R R * ( I - 1 . ) / 1 0 . 640 TT«FAC«CJ-1.) 650 C-COS(TT) 660 S-SIN(TT) 670 XX(J)-RR*C 680 TY(J>«RR*S 690 VRR-S1NCFAC*CI-1.)> 700 VTT-RR«C0S(FAC«(J-1. ) ) 710 VXXCJ)«VRK«C-VTT»S 720 VVYCJ>>VRR*S»VTT*C 730

60 CONTINUE 740 CALL F P L 0 T C 2 , 1 , 2 , X X , Y Y , - 2 0 , 1 , V X X , V Y Y , . 0 9 , 1 0 , » ' , 1 , ' ' , 1 , ' ' , D 750 C*tL F P L 0 T C 3 , 1 , 2 , X X , V V , - 2 O , 1 , V X X , V Y Y , . 0 9 , 1 0 , ' ' , 1 , ' ' , 1 , ' ' , D 760

70 CONTINUE 770 C 780

CALL FINPLT 790 END 800

SKIPPING CINCX/Y=21 SZl 'looMi 1 ' | » | *1~+—i

0.00 0.00 0.20 0.40 0.60 0.80 1.00 0.00 0.20 0.40 0.60 0.80

X X SUPPRESSING SCALES SEPARATE CALL OF NFRAME

-*• r

f f SSSSSt f t

. t//////ft\ t f f/////n\ • f/SSSSStt* * * f *

1.00

03/09/M PLASMA PHYSICS PLOTTING LIBRARY

VECTOR PLOTTING WITH VPL0TX

1.00 POLAR PLOT, 1 QUADRANT

1.00

0.00 -0.200,00 0,20 0.40 0.60 0,80 1.00 1.20

X POLAR PLOT, 2 QUADRANTS

0.501-

>- 0.00

-0.50

-1.00

POLAR PLOT, 4 QUADRANTS

t\ *- /\ -»

^ / \ - 7 -

-1.00-0.50 0.00 0.50 1.00 X

SEPARATE CALL OF NFRAME

.•"771W"-, . ' . .

0Ï/09/I» i t u t m

PLASMA PHYSICS PLOTTING LIBRARY

VECTOR PLOTTING WITH FPLOT

1.00 POLAR PLOT, DISTORTED SUPPRESS FRAHE + OVERSIZE VECTORS

* A *

t f J T s t t • t t

-0.50

-1.00

^

'N \V"// ,^

^ s/!fr\ "» *-?

• / i \ \ \ •

^ ? ; i

'r

" *n\* ^

-1.00 -0.50

os/os/te

0.00 X

Ö.50 1.00

PLASMA PHYSICS PLOTTING LIBRARY

OCFLOTi AUTIXWTIC CONTOUNI» X MONIZONTALLV, V VERTICALLY »- i . m - j i t- I . H I . M THE, SVHIOl A MEANS! ID THAT LOCATION VALUt

21 FFfEPPPPPPCPPPPSPEEFF J» EEf&ODCCeCCCCCCDOPEEF I » IUPCCCCCCCCCCCCCDDEE I * fPDCCCCMHtMCCCCDOC 17 DPCCCCIMMPtltCCCCOD I t P D C e C l l l t l l l l l B t C C C D O I t OCCCIIMAAAAAIfltCCCO 14 OCCtUtAAAAAAAIitBCCO 11 PCCIMAAAAAAAAAfUCCO 12 DCCttfAAAAAAAAAfMCCO I I CCCttlAAAAAAAAAtllCCC I » DCCIMAAAAAAAAAMBCCD t OCCttlAAAAAAAAAiaBCCD • PCC''l iAAAAAAAItlSCCD 7 OCCi MAAAAAMMCCCO i P P C C C k l l M t H l l l C C C P P f O D C C C C I I M H i m a C O O « f P P C c c e i i t i a i i c c c c D P E 1 EEPPCCCCCCCCCCCCCPDEi 2 FEEDMCCCCCCCCCPODEEf 1 rr-EDPDOPDCDDDDDOEEFf

ItiHttWIIltUttJtilt OC'LOTt SIVEN Z C - . 1 . . 4 . . * . . • . 1 . 1

» NOMZONTALLV. V V t f T I C A l l Y A ' Z . » E - « 1 S« I K E ' l f THE SVMtOL A NtANSi IN THAT LOCATION VALUE

ti rritimrttmrrittrt ti rttttruËitutttf'ff' if rrtritbeotwtittcit'rrr I I FFMtPOCCCCCCCDOEEFFF 17 FFEEDPCCiMMCCOOECFF I f FFCDPCCIItlttfCCDOEFF I t FEPDCCMAAAAAIiCCPCCF 14 FEOCCHAAAAAAAMCCOEF I I FCDCCBAAAAAAAAAflCDLF I I r i P C I M A A M A A A A t l f O f P I I EESCBIAAAAAAAAAM'.PEE I f FEPCtlAAAAAAAAAtlCPEF * FEOCCIAAAAAAAAAHCOEF • FcScCtlAAAAAAAUCCOCF

FEODCCMAAAAAtlCCDOEF FFCDPCCMIMttCCPDEFF

rmoKcctucccocttrt

• printed output file OCONT due to

cnll of QCPLOT in program CONT

rrnttovoooooooi FFFFFFEEEEEEEEEFFFFFF FFFFEFFFFFEFFFMFFFFF > 2 ) l t » 7 l * f l l ) 4 t » 7 l f f l

-25-

THREE

PROGRAM THREE 10

C * TEST 30 PLOTTIMS ROUTINES TPLOT AM» P3PL0T. • 30

e *.•«•••••••**•••••******•*••**••*•••••»*•*••*•*******•••*•*•*•*••• «o C 50

DIMENSION X(11> ,Y (11> ,ZC11 ,11 ) 60 DIMENSION R<0:25) ,THC33>,FCO:25,33>,ZC(5>,XC(33>,YC<33> 70 CALL BE6PLT<*PTHREE') 80 CALL LBLBOTCPLASNA PHYSICS PLOTTING LIBRARY',31) 90

C 100 P I *3 .1415926535898 110

C 120 C * TPLOT. 130

00 10 1*1 ,11 140 X ( I ) * C I - 1 . ) / 1 0 . 150 00 10 J - 1 , 1 1 H O

Y t J ) * C J - 1 . ) / 1 0 . 170 Z ( I , J ) < - X ( I ) * * 2 * Y < J ) * * 2 180

lO CONTINUE 190 CALL LBLT0PC30 PLOTTINC HITH TPLOT' ,22) 200 CALL T P L O T d , 1 , 1 / 1 1 , 1 1 , 1 / 1 , 1 , 1 1 , ' Z C I , J ) C L I N E A R ] , , 1 5 , , I , , 1 , • J ' , 1 ) 210 CALL T P L 0 T ( 1 , 1 , 2 , 1 1 , 1 1 , 1 , 1 , Z , 1 1 , 220

A ' Z C I / J ) C a U A S I - L O C S V I S / ' I ' / l / ' J S D 230 C 240 C * P3PL0T. 250

00 20 J - 1 , 3 3 260 T H ( J ) » 2 . * P I » ( J - 1 . ) / 3 2 . 270 CTH-COS(THCJ)) 280 DO 20 I > 0 , 2 5 290

R U ) - R E A L ( l ) / 2 5 . 300 R 2 « R ( I > * * 2 310 F ( I , J ) - 1 . - R 2 + . 2 * R 2 * R 2 * C T H 320

20 CONTINUE 330 CALL IBLT0PC3D POLAR PLOTTING HITH P3PL0T ' ,29 ) 340 CALL P 3 P L O T < 1 , 1 , « , T H , 2 6 , 3 3 , F , 2 6 , 0 . , 6 0 . , , F < R , T H > , , 7 > 350

C 363 C * PLOT LEVEL LINES WITH CPLOTX. 370

CALL LBLTOP('CROSS-SECTIONAL PLOT HITH CPLOTX',32) 380 CALL N F R A H E < 1 1 , 2 1 , 5 , - 2 . , 2 . , - 1 . , 1 . , 390

A 'LEVEL LINES OF FC*,TH> ',22, • ',1,' ',D 400 00 30 J-1,33 410

XCCJ)«COSCTHU)) 420 YCO)>SIM(TH(J)) 430

30 CONTINUE 440 CALL DPL0T(1,1,XC,YC,33,1,10,10) 450 CALL CPLOTX<1,1,0/R,TH/26/-33/1,1/F,26,ZC,-5, 460

A ' M , ' '/1,' ',1,1.,4,0) 470 C 480

CALL FINPLT 490 EN» 500

30 PLOTTING WITH TPLOT

Z ( I . J > CLINEARJ ZMAX*

2.00E 1 .»1E+

PLASMA PHYSICS PLOTTING LIBRARY

ZMAX* 2.Q0E+00

3D PLOTTING WITH TPLOT

Z(IrJ) [QUASI-LOG]

/

/

V

/

V,

/

11

03/09/M PLASMA PHYSICS PLOTTING LIBRARY

3D POLAR PLOTTING WITH P3PL0T

FCR.TH) *̂ W

270

03/05/»* PLASMA PHYSICS PLOTTING LIBRARY

CROSS-SECTIONAL PLOT WITH CPLOTX

LEVEL LINES OF F<R,TH> *m

03/OS/M i *USU9 PLASMA PHYSICS PLOTTING LIBRARY

-28-

IV. MMS MD FtMCTICMS CF TM J — U U I I M Ü

A complete l i s t of the names of the subroutines and entries of PPPLIB i s

provided, together with the page numbers of the l i s t ing of PPP10, for the pur­

pose of quick reference.

PPP10,

page

1. PPP - dummy heading of the library, general co—onts. gives

"acte de presence" of the library when called 1

2. LPLOT6 - high-level line plot routine, calls LPLOT 1

3. HPLOT6 - high-level histogram plotter, calls HPLOT 2

4. CPL0T8 - high-level contour plotter, calls CPLOT 2

5. VPL0T9 - high-level vector plot routine, calls VPLOT 2

6. SPL0T9 - high-level routine plotting the ID cross-sections of a 2D

function, calls SPLOT 3

7. APL0T9 - high-level routine plotting the ID averages of a 2D function,

calls APLOT 3

8. LPLOT - main line plot routine <i

HPLOT - entry for plotting a histogram 6

9. PPLOT - nain point plot routine 6

PPLOTC - entry for conditional point plot 6

10. DPLOT - main routine for plotting dashed or dotted lines, calls DASH 7

11. DASH - draws a dashed line between points given in plotting coordinates 8

12. CPLOT - main contour plotter, calls TRICJ3 8

CPLOTX - entry for drawing polar plots and log10 contours 11

13. TRICJ3 - auxiliary routine for CPLOT to determine the pieces of the

contours within a given triangle of the mesh 12

1*», QCPLOT - non-graphics contour plotter, used to test the layout of plots

to be made with CPLOT/CPLOTX 13

15. VPLOT - main routine for drawing a 2D vector field, calls ARR0W1/2 15

VPLOTX - entry for polar coordinates 17

16. PPLOT - main rou te for drawing a vector (flow) field along a ID curve,

calls ARR0W1/2 18

17. ARROWI - draws an arrow between points given in plotting coordinates 19

ARR0W2 - entry for drawing arrows with constant length of the arrow head 19

18. SPLOT - main routine to plot the ID cross-sections of a 2D function 20

19. APLOT - main routine to plot the 1D averages of a 2D function 21

-29-

PPP10.

page

TPLOT - crude cartesian 3D-plot routine 22

P3PL0T - polar 3D plot routine 24

HAXV - determines the maximum of a ID array 26

KliTf - entry for the ainiaua value 26

MUCAV - entry for the aaxiaua absolute value 26

MINAV - entry for the ainiaua absolute value 27

MIXH - determines the maximum of a 2D array 27

HUM - entry for the •inlaw value 27

HfcXAM - entry for the aaxiaua absolute value 27

MIMAM - entry for the ainiaua absolute value 28

AL0G19 - special loglO function to prevent error for arguments £ 0 26

LBLTOP - prepares the top label for a plotting page 28

LBLBOT - entry to prepare the bottom label for a plotting page 28

VRAHE - central interface routine between the main plot routines

and the lower level routines to determine the connection

between function values and plotting coordinates; draws the

frame, scales, tick marks and labels 28

OFfUME - entry to restore the frame coordinates, to draw a second

and third curve in the same frame 33

SETADV - entry to overrule the automatic advance and the printing

of top and bottom labels 33

ASCL - automatic scaling or the graph boundaries 33

DGA - defines the graph area 35

DLGLG - draws a frame with a log-log x-y grid 35

DLGLN - entry for log-linear grid 36

DLNLG - entry for linear-log grid 37

D U O - draws a frame with a linear-linear x-y grid 37

SBLIN - prints a linear numeric scale on the bottom boundary of a frame 37

SLLIN - prints a linear numeric scale on the left boundary of a fraae 38

SBLOC - prints a logarithmic scale on the bottom boundary of a frame 39

SLLOG - entry to print a logarithmic scale on the left boundary

of a frame 39

CGNVRT - converts a real number into an integer plotting coordinate

associated with specified graph area boundaries 40

BOX - draws a box through the plotting coordinates 1X1,1X2,in,IY2 40

DATIN - writes date and tine onto the character variables D and T 11

WRTEXT - writes a text file onto the graph 41

DLCH - draw large characters horizontally 42

DLCV - entry to draw large characters vertically 46

-30-

Pf»PlC.

page

SEELOC - lock up the current plottinc coordinates (stored in

COtMM/LIBBX/) 16

BEGM.T - begin plottinf (open a graph rile) 46

BEGHOV - initialize a aovie «7

FTIrLT - finish plotting (flush the buffers, close the graph file) 48

ADV - advance a plotting page 48

DRV - lowest level routine drawing a line vector fro» (IX1.IT1) to

(IX2.IT2) 48

DUP - lowest level routine drawing a point at (IX.IT) 49

NDTABS - lowest level routine Moving the drawing point (IX.IY) 49

DMMBS - lowest level routine drawing a line vector fro» the current

position to (IX,IT) 49

- 3 1 -

f. usriMG ar THE SOOKX PPPIO

The complete listing of the source PPP10 of library PPPLIB is provided. The

listing has both line numbers and UPDATE numbers added for easy use.

LINE

10 20 30 40 50 60 70 to 90 100 110 120 130 140 150 160 170 ISO 190 200 210 220 230 240 250 260 270 280 290 300 310 320 330 340 350 360 370 380 390 400 410 420 430

440 450 460 470 480 490 500 510 520 530 540 550 560 570 580 590 600 610 620

•DECK PPP SUBROUTINE PPP

C

PPP10 (P. 1)

PPP PPP PPP

DUNHY HEADING FOR THE FORTRAN SOURCE OF LIBRARY PPPLIB. "PPP" STANDS FOR "PLASMA PNVSICS PLOTTING (PACKAGE)". IT IS 0ER1VED FR0H THE SIMILAR PLOTTINS PACKAGE P4, DEVELOPED AT LOS ALAN0S SCIENTIFIC LABORATORY BY CLAIR NIELSON, BRENDAN GODFREY, DENNIS HEWETT, DEBORAH NYHAN, AMD ROBERT HALONE, STARTING FROH BASIC LASL PLOTTING ROUTINES NHICH HERE WRITTEN 8Y R.N. FRANK, GENE UILLBANKS, AND OTHERS («HOSE NANES HE HERE NOT ABLE TO TRACE). THE PACKA6E HAS BEEN OBTAINED IN AUG '83 FROH DENNIS HEUETT, MHO DOES NOT UANT TO BE HELD RESPONSIBLE THOUGH FOR PROBLEMS ARISING HITH ITS USE.

PPPLIB HAS BEEN ADAPTED IN JAN-MAY '84 FOR USE ON THE CYBER 750 COMPUTERS OF SARA AT AMSTERDAM BY HANS GOEDBLOED AND DICK HOGEWEIJ. IT HAS BEEN ADAPTED AGAIN NOV '85 FOR THE SARA CYBER 205 COMPUTER. THE ORIGINAL TEXT REFERING TO THE CRAY1 COMPUTERS OF NFECC AT LIVER-MORE HAS BEEN KEPT BY USING THE UPDATE DIRECTIVES

"«IF DEF,SARA"/"#IF DEF,CY750"/"*1F DEF,CY205M/"*IF DEF,CRAY". EXPLOITING THE UPDATE DIRECTIVES

"«DEFINE SARA,CY75Q" / "«DEFINE SARA,CY205" / "«DEFINE CRAY" IN AN UPDATE CORRECTION RUN PRECEDING COMPILATION OF PPPLIB, EITHER ONE OF THE VERSIONS NAY BE ACTIVATED.

THE CALLS OF THE LOWEST LEVEL GRAPHICS SUPPORT ROUTINES, WHICH ARE NECESSARILY SYSTEM DEPENDENT, APPEAR AT THE END Of- THE PACKA6E. FOR USE ON THE NFECC CRAYl COMPUTERS THE PRIMITIVE PLOTTING ROUTINES ARE TAKEN FROM THE LIBRARY NTVSOLIB. FOR USE ON THE SARA CYBER 750 AND CYBER 205 COMPUTERS THE PRIMITIVE PLOTTING ROUTINES ARE TAKEN FROM THE CALCONP LIBRARY.

MODIFICATION BY HANS GOEDBLOED 31/10/85: TRANSITION TO STANDARD FORTRAN 77, REPLACING ALL OPERATIONS INVOLVING HOLLERITHS, WORD LENGTH, AND OCTAL REPRESENTATIONS BY MACHINE-INDEPENDENT CHARACTER MANIPULATIONS AND DECIMAL INTEGER REPRESENTATIONS.

PRINT 10 10 F0RMAU/1X, 'LIBRARY PPPLIB» /1X, 'VERSION 10, D.D. 3/05/86')

RETURN END

•DECK LPL0T6 SUBROUTINE LPLOT6<NX,MY,X,Y,NPTS,TITLE)

C C«#**««**»*»##**»«*####*#*»*#*»«#«#•##»*•«*#««*•**#*

LPL0T6 PLOTS THE VALUES IN THE ARRAYS X AND Y WITH A LINE. IT DRAWS A BOX AROUND THE PLOT WITH SCALING AND PLACES LABELS ON LEFT AND BOTTOM AXES. DIMENSION OF THE PLOTTED ARRAYS. TITLE CONTAINS A TRARY NUMBER OF CHARACTERS TO BE DRAWN AT THE TOP POSITION OF THE PLOT ON THE PAGE IS DETERMINED BY

•••••«««•••«««•««•«A AND CONNECTS THEM * LINEAR-LINEAR NPTS IS THE TITLE OF AN ARBI-OF THE GRAPH. THE MX,MY (SEE LPLOT).

* * * *

« WRITTEN BY DEBBY HYMAN, 7-79 REMOVED NTITLE FROH ARGUMENT LIST, HGO 4/12/85

C»*#*»**#**********••**************#*****»*«***»**** C

DIMENSION X(*),Y(«) CHARACTER*(«) TITLE

C CALL LPL0T<MX,MY,1,X,Y,NPTS,1,TITLE,LEN(TITLE),'X'/l/'Y',!)

* PPP * PPP * PPP * PPP * PPP * PPP * PPP * PPP « PPP * Pi»K * PPP * PPP * PPP * PPP * PPP * PPP * PPP * PPP * PPP * PPP * PPP * PPP * PPP * PPP. * PPP * PPP * PPP * PPP * PPP * PPP * PPP * PPP * PPP PPP PPP PPP PPP PPP PPP

LPL0T6 LPL0T6 LPL0T6 LPL0T6 LPL0T6 LPL0T6 LPL0T6 LPL0T6 LPL0T6 LPL0T6 LPL0T6 LPL0T6 LPL0T6 LPL0T6 LPL0T6 LPL0T6 LPL0T6 LPL0T6 LPL0T6

LIRE PPP1Ö (P. 2)

630 640 650 C

RETURN END

660 670 680 690 700 710 720 730 740 750 760 770 780 790 800 810 820 830 840 8S0

860 870 880 890 900 910 920 930 940 950 960 970 980 990 1000 1010 1020 1030 1040 1050 1060 1070 1080 1090 1100 1110 1120 1130 1140 1150 1160 1170 1180

1190 1200 1210 1220 123C 1240 1250 1260 1270 1280 1290 1300 1310 1320 1330 1340 1350 1360 1370 1380 1390

•DECK HPL0T6 SUBROUTINE HPL0Tó(HX,Nï,X,Y,NPTS,TITLE)

C C***********************************************************************

HPL0T6 DRAWS A HIST06RAM OF THE VALUES IN THE ARRAYS X AND V * NNICH 80TH CONTAIN NPTS POINTS. TITLE CONTAINS A TITLE Of AN ARBI- * TRARY NUMBER OF CHARACTERS TO BE DRAWN AT THE TOP OF THE 6RAPH. THE • POSITION OF THE PLOT ON THE PAGE IS DETERNINED BY NX,NY (SEE LPLOT). *

* WRITTEN BY DEBBY HYNAN, 7-79 * REMOVED NTITLE fRON ARGUMENT LIST, HGO 4/12/85. •

DIMENSION XC*),Y(*) CHARACTER*^*) TITLE

CALL HPL0T(MX,MY,1,X,Y,NPTS,1,TITLE,LEN<TITLE>,,X,,1,,Y,,1> RETURN END

•DECK CPL0T8 SUBROUTINE CPL0T8(MX,MV,X,Y,NX,NV,Z,TITLE)

C c • • • • • • • • • • • • • • • • • • • • • • • • • * • • • • * * • • • • • * • * • * * • • • * < C A CONTOUR PLOT DISPLAYS THE SHAPE OF A SURFACE Z * F«,Y> BY * C TRACING OUT LINES THAT CONNECT POINTS OF EQUAL VALUE ON THE SURFACE. * C THERE ARE TWO CONTOUR PLOTTING SUBROUTINES IN PPPLIB. IN THE HIGH- * C LEVEL (EASIER TO USE) ROUTINE CPL0T8, THE MATRIX 1(1,J> IS DIMEN- * C SIONED NX,NY. IT CONTAINS THE VALUES OF THE FUNCTION F (X< 1) , Y( J) ), * C WHERE 1*1,2,..NX, AND J*1,2,..,MY. TITLE CONTAINS A TITLE OF AN • C ARBITRARY NUMBER OF CHARACTERS TO BE DRAWN AT THE TOP OF THE GRAPH. * C CPL0T8 SCALES THE PLOT DYNAMICALLY AND TRACES THE SURFACE WITH NC « C CONTOUR LINES, WHERE NC IS FIXED IN THE PARAMETER STATEMENT BELOW. • C THE POSITION OF THE PLOT ON THE PAGE IS DETERMINED BY HX,NT (SEE • C LPLOT FOR MORE DETAILS). * C WARNING: IN CPL0T8 THE FIRST DIMENSION OF Z IS ASSUMED TO EXTEND • C OVER THE MAXIMUM RANGE DECLARED (CALLED NDIM IN THE LOVER LEVEL MAIN • C ROUTINE CPLOT). USE CPLOT «HEN THIS IS NOT THE CASE! * C * C WRITTEN BY DEBBY HVMAN, 7-79 * C

WRITTEN BY DEBBY HVMAN, 7-79 ADDED PARAMETER NC, H60 17/12/85. •

Ce********************************************************************** C

PARAMETER (NC-5) C

DIMENSION X(*),Y(*),Z(NX,*),ZC(NC) CHARACTERS*) TITLE

C CALL CPL0T(MX,MV,1/X,Y/NX,NY,1,1,Z/NX,ZC,-NC,

A TITLE,LEN(TITLE),'X,,1,,Y',1) RETURN END

LPL0T6 LPL0T6 LPL0T6

HPL0T6 HPL0T6 HPL0T6 HPL0T6 HPL0T6 HPL0T6 HPL0T6 HPL0T6 HPL0T6 HPL0T6 MPL0T6 HPL0T6 HPL0T6 HPL0T6 HPL0T6 HPL0T6 HPL0T6 HPL0T6 HPL0T6 HPL0T6

CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T6 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T6 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T6 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T8 CPL0T8

•DECK VPL0T9 VPL0T9 SUBROUTINE VPL0T9(MX,MY,X,Y,HX,NY,VX,VY,T1TLE) VPL0T9

C VPL0T9 C«I********************************************************************** VPL0T9 C A VECTOR PLOT GIVES A REPRESENTATION OF A TWO-DIMENSIONAL VECTOR * VPL0T9 C FIELD VX * F(X,Y), VY * G(X,Y> BY DRAWING VECTORS STARTING FROM DOTS * VPL0T9 C AT EACH DATA LOCATION. THERE ARE TWO VECTOR PLOTTING SUBROUTINES IN • VPL0T9 C PPPW1B. THE HIGH-LEVEL (EASIER TO USE) ROUTINE VPL0T9 PROCESSES * VPL0T9 C NX*NY ELEMENTS OF THE TWO-DIMENSIONAL ARRAYS VX(I,J> « F(X(I),V(J)) • VPL0T9 C AND VY(I,J> « G(X(I),V(J)>, CONTAINING THE HORIZONTAL AND VERTICAL • VPL0T9 C FIELD COMPONENTS TO BE PLOTTED. NX IS THE FIRST DIMENSION OF BOTH • VPL0T9 C VX AND VY IN THE DIMENSION STATEMENT OF THE CALLING PROGRAM. TITLE * VPL0T9 C CONTAINS A TITLE OF AN ARBITRARY NUMBER OF CHARACTERS TO BE DRAWN AT • VPL0T9 C THE TOP OF THE GRAPH. THE POSITION OF THE PLOT ON THE PAGE IS * VPL0T9 C DETERMINED BY MX,MY (SEE LPLOT FOR MORE DETAILS), • VPL0T9 C WARNING: IN VPL0T9 THE FIRST DIMENSION OF VX AND VY IS ASSUME» • VPL0T9 C TO EXTEND OVER THE MAXIMUM RANGE DECLARED (CALLED NDIM IN THE LOWER * VPL0T9 C LEVEL MAIN ROUTINE VPLOT). USE VPLOT WHEN THIS IS NOT THE CASE! • VPL0T9 C * VPL0T9 C WRITTEN BY DEBBY HYMAN, 7-79 * VPL0T9 C ADDED ARGUMENTS X AND Y, HGO 17/12/85. * VPL0T9

20 21 22

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

LIKE PPP10 <P. 3>

1400 1410 1420 1430 1440 1450 1460 1470 1400 1490

1S00 1510 1520 1530 1540 15S0 1560 1570 1580 1590 1600 1610 1620 1630 1640 1650 1660 1670 1660 1690 1700 1710 1720 1730 1740 1750 1760 1770 1760 1790 1600 1610 1620 1630 1640 1650

1860 1870 1880 1890 1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 2000 2010 2020 2030 2040 2050 2060 2070 2080 2090 2100 2110 2120 2130 2140 2150 2160 2170

DIMENSION X ( * ) , Y ( 0 , V X ( N X , * ) , V Y ( N X , * > CHARACTERS*) TITLE

CALL VPLOT(HX,NV,111 ,X ,Y ,NX,NY,1 ,1 ,VX ,VV,NX, .9 ,2Q, A T I T L E , L E N ( T I T L E ) , , X , , 1 , , T ' , 1 >

RETURN END

•DECK SPLOT9 SUBROUTINE S P L 0 T 9 ( H X , H V , 1 S , Y X , Z X V , N X , N Y , Z , T I T L E >

C

THE SECTION PLOT ROUTINES PRODUCE ONE-DIMENSIONAL CROSS-SECTION PLOTS OF A TWO-DIHENSIONAL FUNCTION AT CONSTANT VALUE OF ONE OF TNE TUO COORDINATES X AND Y.

SPLOT9 IS THE HIGH-LEVEL SECTION PLOT SUBROUTINE. FOR I S - 1 IT PRODUCES NS X-SECTION PLOTS AT EQUI3ISTANT VALUES OF X. I N THE SANE HAY, FOR I S - 2 SPL0T9 PRODUCES NS Y-SECTION PLOTS. TNE VALUE OF NS IS FIXED IN THE PARAMETER STATEMENT RELOU. NX IS THE ACTUAL FIRST DIMENSION OF Z , AND NY IS THE ACTUAL SECOND DIMENSION. TITLE CON­TAINS A TITLE OF AN ARBITRARY NUMBER OF CHARACTERS TO BE BRAHN AT THE TOP OF THE CRAPH. THE POSITION OF THE PLOT ON THE PAKE IS DE­TERMINED BY NX,NY fSEE LPLOT FOR MORE DETAILS).

WARNING: IN SPL0T9 THE FIRST DIMENSION OF Z IS ASSUMED TO EXTEND OVER THE MAXIMUM RANGE DECLARED (CALLED NBIM IN THE LOMER LEVEL MAIN ROUTINE SPLOT). USE SPLOT WHEN THIS IS NOT THE CASE!

WRITTEN BY DEBBY NYHAN, 7-79 MERGED X- AND Y-SECTION SUBROUTINES BY MEANS OF THE ADDITIONAL ARGUMENT I S , H6u 2 3 / 1 2 / 8 5 .

VPL0T9 VPL0T9 VPLOT9 VPL0T9 VPL0T9 VPLOT9 VPL0T9 VPL0T9 VPL0T9

SPL0T9 SPL0T9 SPL0T9

•* SPL0T9 • SPL0T9 • SPLOT9 • SPL0T9 • SPL0T9 • SPL0T9 • SPL0T9 • SPL0T9 • SPL0T9 • SPL0T9 • SPLOT* • SPL0T9 • SPL0T9 • SPL0T9 • SPL0T9 • SPL0T9 • SPL0T9 • SPL0T9 • SPL0T9

PARAMETER (NS=j)

DINERSION Y X ( o ) , Z X Y ( * ) , Z ( N X , * ) , I J A R R ( N S ) CHARACTtR*(») TITLE

I F U S . E 0 . 1 ) CALL SPLOTCHX,HY,1,30981,VX,ZXY,NX,NY,1,Z,NX, IJARR, A - N S , T I T L E , L E N C T I T L E ) , ^ ' , ! , ' ' , 1 )

I H I S . E Q . 2 ) CALL SPL0T(HX,HV,2 ,30981,YX,ZXY,NX,NY,1 ,Z ,NX, : , )A«R, A - N S , T I T L E , L E N C T I T L E ) , ' X , , 1 , ' ' , 1 >

RETURN END

•DECK APLOT9 SUBROUTINE APL0T91HX,HY,IA,YX,AVXY,NX,NY,Z,TITLE>

THE AVERAGE PLOT ROUTINES AVERAGE A TWO-DIMENSIONAL ARRAY IN ONE DIRECTION AND PLOT THE RESULT WITH RESPECT TO THE OTHER DIRECTION,

APL0T9 IS THE HIGH-LEVEL AVERAGE PLOT SUBROUTINE. FOR I A ' 1 IT AVERAGES THE NATMX Z IN THE X-DIRECTION. IN THE SANE WAY, FOR IA*2 APLOT9 PRODUCES A T-AVERAGE PLOT. NX IS THE ACTUAL FIRST DIMENSION OF 2 , AND NY IS THE ACTUAL SECOND DIMENSION. TITLE CONTAINS A TITLE OF AN ARBITRARY NUMBER OF CHARACTERS TO BE DRAWN AT THE TOP OF THE GRAPH, THE POSITION OF THE PLOT ON THE PAGE IS DETERMINES ST MX,NT (SEE LPLOT FOR MORE DETAILS).

WARNING: IN APLOT9 THE FIRST DIMENSION OF Z IS ASSUMED TO EXTEND OVER THE MAXIMUM RANGE DECLARED (CALLED NDIM IN THE LOWER LEVEL MAIN ROUTINE APLOT). USE APLOT WHEN THIS IS NOT THE CASE!

WRITTEN BY DEBBY NYHAN, 7-79 MERGED X- AND Y-SECTION SUBROUTINES BY MEANS OF THE ADDITIONAL ARGUMENT I A , HGO 2 3 / 1 2 / 8 5 .

DIMENSION V X U ) , A V X Y ( * ) , Z ( N X , « ) CHARACTERS*) TITLE

IF(1A.E0,1) CALL APLOT(MX,MY,1,YX,AVXY,NX,NY,1,Z,NX,1,NX,

A T1TLE,LEN(TITL£),'Y,,1/' %1> IFdA.EO.2) CALL APL0T(HX,MY,2,VX,AVXY,NX,NT,1,Z,MX,1 ,NT,

A TITLE,L£N(TITLE),'X',1,' ',1) RETURN END

>• SPLOT9 SPL0T9 SPL0T9 SPL0T9 SPL0T9 SPL0T9 SPL0T9 SPL0T9 SPL0T9 SPL0T9 SPLOT9 SPL0T9 SPL0T9 SPL0T9

APL0T9 APL0T9 APL0T9

>• APL0T9 • APL0T9 • APL0T9 • APL0T9 • APL0T9 • APL0T9 • APL0T9 • APL0T9 • APL0T9 • APL0T9 • APL0T9 • APL0T9 • APL0T9 • APL0T9 • APL0T9 • APL0T9 • APL0T9 »• APL0T9

APL0T9 APL0T9 APL0T9 APL0T9 APL0T9 APL0T9 APL0T9 APL0T9 APL0T9 APL0T9 APL0T9

22 23 24 25 26 27 28 29 30 31

1 2 3 4 5 6 7 • 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

1 2 3 4 S 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2$ 26 27 28 29 30 31 32

LIME PPPIO i r . * ï

2 1 * 0 2190 2200 2210 2220 2230 2240 2250 2 2 * 0 2270 2200 2 2 * 0 2300 2310 2520 2330 2340 2350 2 3 * 0 2370 2 3 M 2 3 * 0 2400 2410 2420 2430 2440 2430 2 4 * 0 2470 2 4 * 0 2 4 * 0 2500 2310 2520 2330 2540 2550 2 5 * 0 2570 2580 2590 2 * 0 0 2 * 1 0 2 *20 2 * 3 0 2 * 4 0 2 *50 2 * * 0 2 *70 2 6 * 0 2 * * 0 2 700 2710 2 720 2730 2740 2750 2760 2770 2 7*0 2 790 2 * 0 0 2810 2 * 2 0 2130 2»40 2 * 5 0 2 * * 0 2»70 2 * * 0 2 *90 2900 2910 2920 2930 2940 29S0 2 9 * 0 2 970

•BECK LPLOT SUBROUTINE LPLOT(NX,HT, IOP,X,V,NPTS,INC,

* TITLE ,NTITLE,XIIAME,NXNANE,TNAHE,NVN*ME> C

THIS SUBROUTINE DRAWS • LINE PLOT OF THE MPTS VALUES IN • AMD T . LPLOT OETERNIMES THE RANGES OF I A M V ,SUOSE«UEHTLT CALLS «FRAME TO ••AU A O0X AROUNR THE PLOT, TO SCALE THE X- A M Y-AXES, A M TO PLACE A TITLE A M LMELS ALONG THE AXES, A M FINALLY PUTS THE CURVE OH THE PLOT. THIS SEQUENCE NAT OE SPLIT OT THE USE OF NEGATIVE VALUES OF THE ARGUMENTS IOP (TO SUPPRESS PLOTTING OF THE CURVE) A M RPTS (TO SUPPRESS PLOTTING OF THE FRAME A M SCALES).

THE PLOT'S POSITION ON THE PACE IS RETERMNE» OT I NX, I PIT. INT«1 SPECIFIES THAT THE V-CCONRINATE RANGE SPANS A FULL PAGE; INT*2 A M 3 SPECIFY THE UPPER A M LOWER HALVES OF THE PACE; A M I N T * * , 5 , A M 6 SPECIFY THE UPPER, MIDDLE, A M LOMER TRIORS OF THE PAGE. IRX>1 SPE­CIFIES THAT THE X-C00RR1NATE RANGE SPANS A FULL PAGE; INX*2 A M 3 SPECIFY THE LEFT A M RIGHT HALVES OF THE PAGE; WHILE I H X * 4 , 5 , A M * ARE HOT ALLOWED.

FOR EXAMPLE, ( I N I , I N T ) « ( 1 , 1 ) SPECIFIES A PLOT FILLING THE FULL PACE, A M ( 3 , 3 ) SPECIFIES A PLOT I N THE LOWER RIGHT-HAM OUARRANT. A MAXIMUM OF SIX PLOTS ON A PAGE IS POSSIBLE IF THE PAIRS ( 2 , 4 ) , ( 3 , 4 ) , ( 2 , 5 ) , ( 3 , 5 ) , ( 2 , * > , A M ( 3 , * ) ARE USE*. PAGE ARVANCE IS AUTONATIC UITN THE FIRST PLOT THAT EXTEMS INTO THE UPPER LEFT-HAM CORNER OF THE PAGE. SUCH A PLOT NUST RE THE FIRST I N ANT PLOT SEOUENCE INTERRED TO APPEAR ON ONE PAGE.

THE PLOT'S RANCE USUALLT IS E I P A M E * TO A "ROOM" RECIHAL RUMEN OT THE AUTONATIC SCALING ROUTINES FRON THE HININUN RANGE INPLIE» RT THE RATA. EXPAN! ION NAT OE PREVENTER RT APPEMING A ' 1 ' IN FRONT OF THE IRX A M INT VALUES IN ANT PLOT CALL ( I . E . , I S I * 1 > . FOR EXAMPLE, IF XHIN3Q.17, KHAX~359.7», ANO ISX*0 FOR AUTOMATIC SCALING, THE X-SCALE GOES FROM 0 .0 TO 4 0 0 . 0 . NOW, IF XHIN A M XHAX STAT THE SAME

C A M ISX*1 FOR EXACT SCALING, THE X-SCALE GOES FROH 0 .0 TO 3 * 0 . 0 . C C ARGUMENTS: C C NX - REFINES THE GRAPH AREA AND THE SCALING IN THE X-RIRECTION C ACCORDING TO THE FORMULA

lAOS(HX) * IAX*100 • 1SX*10 • INX , WHERE IRX DETERMINES THE HORIZONTAL EXTENSION OF THE PLOT:

IMX * 1 - FULL PAGE 2 - LEFT HALF OF THE PACE 3 - RIGHT HALF OF THE PAGE,

A M ISX DETERHINES THE SCALING ALONG THE X-AXIS: ISX * 0 - AUTONATIC SCALING WITH EXPANSION (BEFAULT),

NO ROUNDING OCCURS FOR THE LOG SCALES 1 - EXACT SCALIN5 (NO ROUNDING) 2 - EOUIRISTAHT SCALING WITH THE X-SCALE ARAPTE»

TO THE LENGTHS ALONG T (SEE NOTE IN NFRANE), AND IAX PROVIDES AB ADDITIONAL OPTION:

IAX S 0 - NO ACTION (DEFAULT) 1 - X*0 AXIS IS DRAWN (IF IT LIES IN THE RANGE) 2 - X»0 AXIS IS DASHED (IF IT LIES IN THE RANGE),

NX < 0 ; PLOTTING OF SCALES AND TICK MARKS SUPPRESSED. NT - DEFINES THE GRAPH AREA AND THE SCALING IN THE T-DIRECTION,

ANALOGOUS TO THE AROVE EXPRESSIONS WITH X REPLACED BY Y, WHERE IHT DETERHINES THE VERTICAL EXTENSION OF THE PLOT;

1MT s 1 - FULL FACE 2 - TOP HALF OF THE PAGE 3 - BOTTOM HALF OF THE PAGE 4 - TOP THIRD OF THE PAGE 5 - MIDDLE THIRD OF THE PAGE ft - BOTTOM THIRD OF THE PAGE.

I0P - PROVIDES DIFFERENT OPTIONS FOR THE X-Y SCALES, THE SYMBOLS PLOTTED, AM THE CURVE DRAWN, ACCORDING TO THE FORMULA

lABS(IOP) « N*10000 • IC*10 • JOP, WHERE JOP DETERHINES THE SCALES ALONG THE X- AND Y-AXES:

JOP * 1 - LINEAR X-AXIS, LINEAR T-AXIS 2 - LINEAR X-AXIS, LOG T-AXIS 3 - LOG X'AXIS, LINEAR Y-AXIS 4 - LOG X-AXIS, LOG Y-AXIS 5 - LINEAR X-AXIS, LINEAR T-AXIS (OUT PLOTTING OF

FRAME, SCALES, AND TICK MARKS SUPPRESSED), AND IC INDICATES THE ASCII CHARACTER TO BE PLACED AT THE POINTS:

IC * 0 (DEFAULT) - NO CHARACTER PLACED 1 <« IC <* 128 - CHARACTER FROH TAHLE OF DLCH,

AND N DETERMINES THE SPACING BETWEEN THE PLOTTED CHARACTERS

LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT LPLOT

L i l PPPIO < P . s>

2*00 2OO0

seio son 3030 3040 SOSO SMS 3070 SOM S0«0 3100 3110 31*0 SISO 3140 SISO S I M 3170 3100 31*0 3200 3210 3220 3230 3240 3250 3240 3270 3200 3290 3300 3310 3320 S330 3340 3330 33*0 3370 3300 3390 3400 3410 3420 3430 3440 34S0 3440 3470 3440 3490 3S00 3510 3520 3530 3540 35S0 5540 3570 3540 3590 3600 3*10 3*20 3*30 3*40 3*50 3**0 3*70 3**0 3*90 3700 3710 3720 3730 3740 3750 37*0 3770

I f • r i s

inc

TITLE •TULE I I U E MMHE T U N E BYNAME

AN» MNETNER * COME IS TB BE H A W TNROBCN THEN: • « O CBfFAULT) - SYMBOL SPECIFIC» OT IC PLACE» AT EACH

POINT; THE POINTS M E NOT COMECTE» • > 0 - A SYMBOL PLACE* AT EVENT B*TB P O I N T ;

ALL POINTS ARE COMBECTE» OT A CURVE, I OP < 0 : THE FNANE I S BRAUB ANN THE A I E S ANE SCALE», ONT THE C V M F I S NOT »NAHN. TN IS AMOUNTS TO JUST A CALL OF «FRAME MXTN AUTOMATIC •ETCRMIHATION OF TNE EXTREME VALUES OF I AN» T NT L P L O T . C I F THESE VALUES ANE ALREAOT KBOHU, I T I S NO*E E F F I C I E N T TO CALL NFRANE B I R E C T L Y ) . THE TABLE OF ABSCISSA VALUES TO OE PLOTTE», TNE TABLE OF ONTLNATE VALUES TO OE PLOTTER. IANSCNPTS) I S TNE NUNOER OF I / T ELEMENTS, NPTS < OL A CURVE I S BNANN ONTO A FRAME PREVIOUSLY SET UP OT A CALL TO NFNAHE OR LPLOT N I T N I 0 P < 0 . LAOSCLNO I S THE SPACIN4 OETUECN THE X / T ELEMENTS PLOTTE» , INC < 0 : TNE T-ELEMENTS PLOTTE» ARE P A I R E » WITH AOSCISSA VALUES »ETERNIME» OT TNE TUO VALUES XHIN*XC1> AN» » X * I ( 2 ) , UN1CN TNE USER SNOUL» INSERT I N X . T I T L E FOR THE 6 R A P N . TNE NUNOER OF CHARACTERS I N N T I T L E . LABEL FOR TNE X - A X I S . NUMBER OF CHARACTERS I B XBAME. LABEL FOR THE T - A X I S . NUMBEFT OF CHARACTERS I B THANE.

THE ABOVE THREE CHARACTER STRIHCS ARE AUTOMATICALLY TRUM-CATE» TO F I T ALONGSIDE THE CHOSEH FRAME. TNE FOBT CAB BE CNABSE» ACCOR»ING TO THE RULES CTVEH I N » L C N .

ENTRT «PLOT BRAUS A HISTOGRAM OF TNE VALUES IN X AR ARGUMENTS ARE THE SAME AS FOR LPLOT.

THE

URITTEH BT CLAIR HIELSOB. HOt lF lE» BY BEBBIS HEHETT 2 - 7 » , FOR NAME PRINTER ON TOP RIGHT. HOI IF IE» NY SOB MALONE 3 - 7 » , FOR CHARACTERS OH TNE CURVE. HOt lF IE» ST OESBY NYHAN 4 - 0 0 , FOR INCREMENTATION TO WORK, FOR RNfi TO OE PRINTER ONLY WHEN VERY SHALL. NODIFIE» OT HANS GOEBOLOE» 1 4 / 1 1 / 1 5 , FOR ARAPTATION TO NEW »LCH, SHIFT OF THE TITLE NHEH IBS IS PRINTER.

COMMON /CJE07/IXL,IXR,ITB,ITT,XL,IR,YB,YT •IMEBSIOH XC«),YCO CHARACTERS*) TITLE,XHAME,THAME CHARACTER T I T L E 1 * S 0 , R A N 6 E * 1 3 LOGICAL FH1ST ,FL0«X ,FL06Y ,FC0NN,FCHAR

• FLAG FOR HISTOGRAM, F H I S T * . F A L S E .

1 0 I 0 P A * I A O S ( I O P > J 0 P « H O » ( I Q P A , 1 0 > FLOGx* .FALSE. FL06T-.FALSE. IFUOP.EQ.3.0R.J0P.E0.4) FLOGX=.TRUE. IFUOP.EO.2.0R.JOP.Ea.4> F L O G T - . T R U E . NTOT*IABS(NPTS) INCA>IAaS(INC)

• SCHEHi FOR CHARACTERS ON THE CURVE OT BOO HALONE, 3 /78 • SET DEFAULTS FOR OPERATION UITHOUT CHARACTERS ON CURVES. FCONNs.TRUE. FCMARs.FALSE. N»1

• DETERMINE WHETHER CHARACTERS ARE DESIREO. IC>*O»( IOPA/10,1000> I F U C . N E . O ) THEN

FCHAR>.TRUE. N*H0»<IOPA/10000,10> IF (N .EO.Ü) THE*

FCONN*.FALSE. Pt«1

ENOIF END I F

• »RAW THE FRAME. IF(NPTS.GT.O) THEM

I F ( I H C . L T . O ) THEN XNN-XC1)

LPLOT » • 1 LPLOT . •2 LPLOT . •3 LPLOT w •4 LPLOT m •S LPLOT . M LPLOT . •7 LPLOT . OB LPLOT • BO LPLOT „ 90 LPLOT m 91 LPLOT • 92 LPLOT . 93 LPLOT . 94 LPLOT » 95 LPLOT m 9* LPLOT m 97 LPLOT . 90 LPLOT . 99 LPLOT . 100 LPLOT . 101 LPLOT m 102 LPLOT m 103 LPLOT m 104 LPLOT . 10S LPLOT m 10* LPLOT m 107 LPLOT . 101 LPLOT . 109 LPLOT . 110 LPLOT . 111 LPLOT v 112 LPLOT • 113 LPLOT , 114 LPLOT m 115 LPLOT m 11* LPLOT m 117 LPLOT . lit LPLOT . 119 LPLOT ^ 120 LPLOT w 121 LPLOT . 122 LPLOT m 123 LPLOT „ 124 LPLOT * 125 LPLOT * 126 LPLOT . 127 LPLOT » 12* I PLOT . 129 LPLOT » 130 LPLOT m 131 LPLOT . 132 LPLOT . 133 LPLOT . 134 LPLOT . 135 LPLOT . 134 LPLOT . 137 LPLOT » 11* LPLOT . 139 LPLOT . 140 LPLOT . 141 LPLOT . 142 LPLOT m 143 LPLOT w 144 LPLOT . 145 LPLOT . 14* LPLOT * 147 LPLOT . 14* LPLOT . 149 LPLOT . 150 LPLOT . 151 LPLOT . 1S2 LPLOT • 153 LPLOT . 154 LPLOT , 155 LPLOT . 15* LPLOT m 157 LPLOT m 15» LPLOT . 159 LPLOT # 1*0

L I K PPP10 <P. *>

srw STOO S I N ssio 3 * 2 0 3030 H U 3850 S I M 3870 3880 3 M O s*oa 3 * 1 0 3 * 2 0 3 * 3 0 3 * 4 0 3*50 3**0 3*70 3*00 S O M 4000 C 4010 C 4020 4030 4 0 4 0 4050 40*0 4070 4080 4 0 * 0 4100 4110 4120 4130 4140 41 SO 4 1 * 0 4170 4100 4 1 * 0 4200 4210 4220 4230 4240 4250 t 42*0 4270 42*0 4290 4300 4310 4320 4330 4340 4350 4360 C 4370 C 4300 4 3 * 0 4400 4410 4420 4430 C

XHX*K(1>*(NT0T-1)«It2)/IIICA ELSE

CALL ftAXVCI,NTOT,I*CA,XRX,l»Ult> CALL NINV(X,NT0T,1NCA,XNII , I»UII)

E M I F CALL HAIV(T,NTOT,INCA,YHX,I»UII ) CALL MNV<V,NTOT,INCA,YIMl,IBIM> NS-0 RNC*ABS(VRX-YRC) I F ( R B J G . L T . C . 0 2 * A B S C Y M X ) > ) THEN

MRITE(RAMGE,aC"RR)G*> > ,1PE9.2>*> ENS 00-10

EMI F TITLE1-TITLE NTITL1*ISlG*(* I IN<IA*SCNTITLE)*NB,8a>#NTITLE> CALL NFRME<NX,nT#JOP,IIM,XNX,YI>JI,VNX,

A TITLC1,«TITL1,XKAftt,NXHANE,TNkMC,IIYNMIE) IF tM) .NE .O) CALL »LCN<IXR-120,1YT+8,RANGE,13,1> I F t I O P . L T . 0 ) RETURN

ELSE CALL OFRARECHX,IIY)

EH» IF

• MAW THE CURVE. XFAC-CIXR- IXLI /CXR-XU YFAC»CIYT-IVB)/<YT-YB> HX«0. I F ( I H C . L T . O ) HX"X(2> XJS*X(1) XJ*XJS IF(FLOGX) XJ-AL0619CXJ) IX1»FUN(P,AX(IXL, IXL+INT(<XJ-XL)*XFAC)) , IXR) TJ»Tf1> IF(FLOSY) YJ*AL0G19CYJ) lYl>MNOIAX<IVO,1TB*INT(<VJ-VB)*YFAC>>,1VT> IF(FHIST> CALL D R V O X l , I Y B , I X 1 , I T 1 } IF(FCHAR.AND.N.E0.1> CALL D L C H t I X 1 , - I Y 1 , • ' , I C , 1 > • 0 20 Js1+INCA,NT0T,1NCA

XJS*IJS*HX 1F(1NC.6T.0> XJS*X(J> XJ-XJS IF(FLOGX) XJ«AL0G19(XJ> IX-nXNCNAX{IXL,IXL*INTC<XJ-XL>*XFAC>),IXR> YJ»YU> IF(FLOGY) YJ*AL0G19(YJ) 1V-MIN(HAX(1VB,IVB+INT<(VJ-VB>*VFAC)) , IYT) IF (FHIST) THEN

• HISTOGRAM DRAWN BY THESE CALLS TO DRV CALL DRV(IX1,IY1,IX,IV1) CALL DRV<1X,1V1,IX,IV)

ELSE I F (F CORH) CALL RRV<IX1,IY1,IX,IYJ IF(FCNAR.AND.*0DO,N).EQ.0> CALL DLCHC IX,-I V, • ',IC,1>

EMI F IX1-IX IY1*IY

20 CONTINUE RETURN

* ENTRY FOR DRAWING A HISTOGRAM. ENTRY HPLOT<HX,«Y,I0P,X,Y,NPTS,INC,

A TITLE,NTlTLE,XNAffE,NXNAHE,THAnE,NYNAHE) FRIST*.TRUE. GOTO 10 EN»

4440 4450 44*0 4470 44*0 44*0 4500 4510 4520 4530 4540 4550 4560

«DECK PPLOT SUBROUTINE PPLOT<HX,«Y,X,Y,<PTS,INC>

C

C SUBROUTINE PPLOT PLOTS THE VALUES IN X AND Y. EACH POINT IS RE-C PRESENTED BY A PLOTTING DOT, AND ADJACENT POINTS ARE NOT CONNECTED. C ENTRY PPLOTC PROVIDES A CONDITIONAL POINT PLOT OF THOSE POINTS FOR C WHICH THE I VALUE SATISFIES 2RIN < Z < ZFIAX, THE ROUTINES HAVE BEEN C OPTIMIZED TO PLOT MANY PARTICLES AS DOTS. C OOTH SUBROUTINES ASSURE THAT THE FRAME, SCALE, AND LABELS FOR C THIS (INX,IHY> PLOT HAVE BEEN GENERATED BY A PREVIOUS CALL OF LPLOT C WITH IOP • -1 OR A DIRECT CALL OF NFRAHE. ONLY LINEAR-LINEAR SCA-C LING IS ALLOWED. IF PPLOT IS CALLED WITHOUT A PRECEDING LPLOT CALL,

LPLOT . 161 LPLOT • 1*2 LPLOT m 163 LPLOT » 164 LPLOT • 165 LPLOT • 166 LPLOT • 167 LPLOT • 168 LPLOT m 169 LPLOT # 170 LPLOT _ 171 LPLOT w 172 LPLOT * 173 LPLOT . 174 LPLOT , 175 LPLOT * 176 LPLOT m 177 LPLOT . 178 LPLOT . 17* LPLOT . ISO LPLOT . 1S1 LPLOT m 1S2 LPLOT m 183 LPLOT . 184 LPLOT , 185 LPLOT . 186 LPLOT . 187 LPLOT . 1SS LPLOT . 189 LPLOT . 190 LPLOT . 1*1 LPLOT m 192 LPLOT . 193 LPLOT . 194 LPLOT . 195 LPLOT . 196 LPLOT m 197 LPLOT . 198 LPLOT . 199 LPLOT m 200 LPLOT . 201 LPLOT . 202 LPLOT . 203 LPLOT . 204 LPLOT m 205 LPLOT . 206 LPLOT . 207 LPLOT . 208 LPLOT . 209 LPLOT m 210 LPLOT . 211 LPLOT . 212 LPLOT . 213 LPLOT . 214 LPLOT . 215 LPLOT » 216 LPLOT . 217 LPLOT m 218 LPLOT . 219 LPLOT . 220 LPLOT m 221 LPLOT m 222 LPLOT . 223 LPLOT m 224 LPLOT • 225 LPLOT . 226

PPLOT • 1 PPLOT . 2 PPLOT . 3

. 4 * PPLOT • 5 * PPLOT . * * PPLOT . 7 * PPLOT • 8 * PPLOT . 9 * PPLOT . 10 * PPLOT » 11 * PPLOT . 12 * PPLOT . 13

LIKE PPP10

4570 4510 4590 4600 4 * 1 0 4 * 2 0 4 * 3 0 4 * 4 0 4 * 5 0 4 * * 0 4 * 7 0 4 * * 0 4 * 9 0 4700 4710 4720 4730 4740 4750 4 7 * 0 4770 4780 4790 4 * 0 0 4810 4820 4830 4840 4850 4860 4870 4860 4890 4900 4910 4920 4930 4940 4950 4960 4970 4980 4990 5000 5010 5020 5030

5040 5050 5060 5070 50*1) 5090 510U 5110 5120 5130 5140 5150 5 1 * 0 5170 5180 5190 5200 5210 5220 5230 5240 5250 5260 5270 5280 5290 5300 5310 5320 5330 5340 5350

IT MILL USE THE SCALINC LEFT IN COMMON BLOCK CJE07 fOR THAT FRAME.

ARGUMENTS:

NX/NT - SEE LPLOT.

X - THE TABLE OF ABSCISSA VALUES. Y - THE TABLE OF ORDINATE VALUES. NPTS - THE NUMBER OF ELEHEMTS IN THE ARRAYS X, Y, AND Z. INC - IABSUNC) IS THE SPACING BETWEEN THE X/Y ELEMENTS PLOTTED.

ADDITIONAL ARGUMENTS FOR PPLOTC:

2 - A FUNCTION OF X AND Y. ZHIN - THE SMALLEST VALUE TO BE PLOTTED. 2MAX - THE LARGEST VALUE TO BE PLOTTED.

WRITTEN BY CLAIR NIELSON.

COMMON / C J E 0 7 / I X L , I X R , I V B , I Y T , X L , X R , V B , V T DIMENSION X t * ) , Y ( * ) , Z C O

CALL OFRAHECMX,HY) XFAC>(IXR-IXL) / (XR-XL> YFAC«( IVT- IY6) / (YT-YB> DO 10 J-1,NPTS, IABS(INC>

1X*MIN(HAX(IXL,IXL+INT((X(.1)-XL)*XFAC)),1XR) IY*HIN(HAXUVB,IYB«INT((V(J)-VB)*VFAC)},1YT> CALL DRP(IX,IY)

10 CONTINUE RETURN

ENTRY PPLOTC(HX,MV,X,V,NPT5,INC,Z,ZMIN,ZNAX>

CALL OFRANE(NX,MY) XFAC-(IXR-IXL)/CXR-XL) YFAC"(IYT-IYB)/CYT-YB> DO 20 J"1,NPTS,IABS(INC>

IF(ZU).LT.ZHIN) GOTO 20 IF(Z<J).GT.ZHAX) GOTO 20 IX>NIN(HAX(IXL,IXL+1NT(<X(J>-XL)*XFAC)),IXR) IV*HIN(HAXUYB,IYB*INT((Y(J>-YB)*YFAC)),IYT> CALL DRP(IX,IY>

20 CONTINUE RETURN END

«DECK DPLOT SUBROUTINE DPL0TCNX,NY,X,Y,NPTS,INC,L1,L2>

C

* PPLOT * PPLOT * PPLOT * PPLOT * PPLOT * PPLOT * PPLOT * PPLOT * PPLOT * PPLOT * PPLOT « PPLOT * PPLOT * PPLOT * PPLOT * PPLOT * PPLOT

•* PPLOT PPLOT PPLOT PPLOT PPLOT PPLOT PPLOT PPLOT PPLOT PPLOT PPLOT PPLOT PPLOT PPLDT PPLOT PPLOT PPLOT PPLOT PPLOT P?LOT PPLOT PPLOT PPLOT PPLOT PPLOT PPLOT PPLOT PPLOT PPLOT PPLOT

DPLOT DPLOT DPLOT

C * « * « * * * * * * * * * * * * # * * * * * * » * * * * * * * * * * * * * * * * * * * t * * * * t * * * * * » * * » * » « * * » « * i i * * » * DPLOT C DPLOT DRAMS A DASHED OR DOTTED CURVE THROUGH THE POINTS * DPLOT C X ( I ) , V ( I ) , I »1 ,NPTS, INC, * DPLOT C WHERE L1 AND LZ ARE THE LENGTHS OF THE STROKES AND SPACES OF THE * DPLOT C L INE. E . G . , IF L1»0, A DOTTED CURVE IS PRODUCED WITH DISTANCES L2 • DPLOT C BETWEEN THE DOTS. IF L2 -0 THE CURVE IS FULLY DRAWN (OF COURSE, ONE * DPLOT C SHOULD NOT USE DPLOT BUT LPLOT IN THAT CASE). * DPLOT C THIS SUBROUTINE ASSUMES A PREVIOUS CALL OF NFRAME OR LPLOT WITH * DPLOT C IOP * - 1 TO SET UP THE FRAME AND SCALING. * DPLOT C * DPLOT C ARGUMENTS: • DPLOT C * DPLOT C MX/MY - SEE LPLOT. * DPLOT C X - THE TABLE OF ABSCISSA VALUES. * DPLOT C Y - THE TABLE OF ORDINATE VALUES. * DPLOT C NPTS - THE NUMBER OF ELEMENTS IN THE ARRAYS X AND Y. * DPLOT C INC - lABS(INC) IS THE SPACING BETWEEN THE X/Y ELEMENTS USED. * DPLOT C Li - LENGTH OF THE STROKES IN PLOTTING COORDINATES, « DPLOT C 12 - LENGTH OF THE SPACES IN PLOTTING COORDINATES. * DPLOT C * DPLOT C WRITTEN HGO 2 8 / 0 1 / 8 6 * DPLOT C * * * * * * * * * * * * « * * » * * * * * * * # * * * « * * * * # * * * » # * * * * # # # # # * # # « * # • # * • # # # * * # # # * # * * * * DPLOT C DPLOT

COMMON /CJE07 /1XL / IXR , IYB , IYT ,XL ,XR ,YB ,YT DPtOT DIMENSION X<* ) ,Y<*> DPLOT

C DPLOT CALL OFRAME(MX,MY) DPLOT XFAC>UXR- IXL>/ (X8-XL) DPLOT YFAC-(1YT-IYB)/<YT-VB> DPLOT

PPP10 (P «)

5360 5 370 5310 5390 5400 5*10 5420 5430 5440 5450 5460 S470 5460 5490 5500 C

10

I X 1 * H I N ( R A X ( I X L , I X L * I N T ( ( X ( 1 ) - X L ) * X F A C ) ) , I X R ) IY1*RIN(HAXUYB, IYB* INT<(Y:1) -YB>*YFAC)>, IYT> L*0 INCA*IABS<INO DO 10 J*1+INCA,NPTS,INCA

IX*FI IH<NAX(IXL, IXL+1NT((X(J) -XL>*XFAC)>, IXR) lY * t t IN ( I IAX( IVB , IVB* lNT( (Y (J ) -YB) *YFAC)> , IYT ) CALL D A S H ( I X 1 , I Y 1 , I X , I Y , L 1 , L 2 , L , L L ) L»LL I X 1 « 1 X I Y l * I Y

CONTINUE RETURN END

DPLOT DPLOT DPLOT DPLOT DPLOT DPLOT DPLOT DPLOT DPLOT DPLOT DPLOT DPLOT DPLOT DPLOT DPLOT

5510 5520 5530 5540 5550 5 5 * 0 5570 55»0 5590 5600 5610 5620 5630 5640 5650 5660 5670 56S0 5690 5700 5710 5720 5 7;o 5740 5750 5760 5770 5780 5790 5800 5810 5820 5830 5840 5850 5860 5870 5680 5890 5900 5910 5920 5930 5940 5950 5960 5970 5980 5990 6000 6010 6020 6030 6040

«DECK DASH SUBROUTINE D A S H U X l / I Y 1 , l X 2 , l Y 2 , n , l 2 , L , l L >

C

THIS ROUTINE DRAWS A DASHED LINE FRON (1X1,1Y1) TO ( 1 X 2 , I Y 2 ) . THE ARGUMENTS L1 AND L2 ARE THE LENGTHS IN PL0TTIN6 COORDINATES OF THE STROKES AND SPACES OF THE L I N E , RESP. L IS THE I N I T I A L POSITION (INPUT) AND LL IS THE FINAL POSITION (OUTPUT) OF THE POINTER ON THE PL0TTIN6 STRIP C0,L1+L2>.

WRITTEN H60 2 8 / 0 1 / 8 6

LL»L R*SaRT(REAL<( IX2- lX l>* *2+CIY2~IV l ) * *2>> IF (R .NE .O- ) THEN

XFAC»( IX2- IX1) /R YFAC»( IY2- IV1) /R

ELSE XFAC-1. YFAC-1.

EHDIF IR«INTCR) LTOT«0 DX«0. DY«0. IXMX1 IY»IY1 CALL NOVABS(IX,IY)

10 I F U L . E 9 . 0 . A H D . L 1 . E « . 0 ) CALL ORWABSUX,IY) 1FCLL.LT.L1) THEN

L11»NIN(L1-LL,IR-LT0T> DX*DX+L11*XFAC 0Y»DY+L11*YFAC 1X«IX1*DX IY»IY1*DY CALL DRMABS(IX,IV) LT0T-LT0T+L11 LL*LL*L11

ELSE L2?«N1N(L1*L2-LL/IR-LT0T) DX»DX+L22*XFAC DY«DY+L22«YFAC IX»IX1*DX U-IY1+DY CALL nOVA8S(IX, IY) LT0T»LT0T+L22 LL«LL+L22 1FUL.SE.L1+L2) LL"0

END1F IFUTOT.LT.IP) «OTO 10 RETURN END

DASH DASH DASH

'* DASH • DASH • DASH * DASH * DASH « DASH * DASH • DASH >• DASH

DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH DASH OASH DASH DASH DASH DASH DASH DASH

6050 *»ECK CPLOT 6060 6070 6080

SUBROUTINE CPL0T(F1X/HY,ILAB,X,Y,NX,NY,1NCX,1NCY /Z,NDIFI,ZC,NC /

A TITLE,NT:TLE,XNAME,NXNAME,YHAflE,NVNAHC)

CPLOT CPLOT

CPLOT CPLOT

6090 C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * « • * * * * « * * * * « * • * * * * * * * * CPLOT 6100 C SUBROUTINE CPLOT DRAWS NC CONTOURS OF THE FUNCTION Z > F ( X , Y ) , * CPLOT 6110 C THIS FUNCTION SHOULD BE STORED AS A TW0-DIHENS1ONAL ARRAY Z ( I , J > , * CPLOT 6120 C COMPUTE» AT THE POINTS X ( I > , J»1,IABSCNX),1ABSCINCX), * CPLOT 6130 C Y O ) , J«1/ IA0SCNY) / IABS( INCY) , * CPLOT

INE

«no 6150 6160 6170 6180 6190 6 200 6210 6220 6230 6240 6250 6260 6270 6280 6290 6300 6310 6320 6330 6340 6350 6360 6370 6380 6390 6400 6410 6420 6430 6440 6450 6460 6470 6480 6490 6500 6S10 6520 6530 6 540 6550 6 560 6570 6580 6590 6600 6610 6620 6630 6640 6650 6660 6670 6680 6690 6700 6T 1 6 7tJ 6730 6740 6750 6760 6770 6780 6790 6600 6610 6820 6830 6840 6850 6 860 6870 6680 6690 6900 6910 6920

ARGUMENTS:

NX/NY I LAB

X V NX

NV

IABS(NX) NX < O : IABSCNY) NT < O :

INCX -

INCY -

ZC

INCX < O : IABS(INCY) INCY < O :

ENTRY CPLOTX IS AN EXTENSION FOR DRAWING POLAR PLOTS AND L0G10 CON­TOURS.

IGU

SEE LPLOT. CONTROLS THE ABSENCE/PRESENCE (ILAB=0/1) OF ALPHABETIC LABELS ON THE CONTOURS. THE CHOICE OF THE LABELS IS FIXED IN THE DATA STATEMENT BELOW TO BE UPPER CASE (N1=34), GREEK CN1 = 66), OR LOWER CASE (N1=98>. TABLE OF ABSCISSA VALUES. TABLE OF ORDINATE VALUES.

IS THE NUMBER OF POINTS IN X To BE USED. ONLY THE FRAME AND SCALES FOR THE PLOT ARE DRAWN. IS THE NUMBER OF POINTS IN Y TO BE USED. CONTOURS ARE DRAWN ON A FRAME PREVIOUSLY CREATED

BY A CALL TO CPLOT WITH NX < 0 OR A DIRECT CALL OF NFRAHE (IN ORDER TO SPECIFY A FRAME SIZE DIFFERENT FROM THE ONE IMPLIED BY THE RANGES OF X AND V). IABS(INCX) IS THE SKIP PARAMETER IN A ROW,

XNIN = X(1> AND HX * X(2). IS THE SKIP PARAMETER IN A COLUMN. YMIN « YC1) AND HY » Y(2).

Z - THE TWO-DIMENSIONAL FUNCTION TO BE CONTOURED; Z SHOULD BE STORED SO THAT Z(I,J) IS THE VALUE OF Z AT X(I),V(J).

NDXH - LEN6TH OF A ROW OF Z (1ST DIMENSION OF THE 2-0 ARRAY). HENCE, ONE SHOULD OBSERVE: NX <= NDIM. THE TABLE OF CONTOUR VALUES, WHICH SHOULD BE DIMENSIONED AT LEAST AS ZC(NC) IN THE CALLIN6 PROGRAM. NUMBER OF CONTOURS TO BE PLOTTED; MAXIMUM OF 26. NC < 0 : CPLOT AUTOMATICALLY FILLS ZC WITH NC VALUES. NC > 0 : ZC IS SUPPLIED BY THE USER; VALUES MUST BE STORED IN INCREASING ORDER IN ZC.

- TITLE FOR THE GRAPH. XNANE/YNANE - LABEL FOR THE X/V-AXIS. NTITLE/NXNAHE/NYNAME - NUMBER OF CHARACTERS IN TITLE/XNAME/YNAHE.

ADDITIONAL ARGUMENTS FOT CPLOTX:

MAXIMUM RADIUS FOR A COLOR PLOT. = 0 : CARTESIAN PLOT. > 0 : X/Y CORRESPONDS TO R/THETA (IN RADIANS). < 0 : X/V CORRESPONDS TO R/COSUHETA). TOTAL NUMBER OF QUADRANTS (FOR RMAX.NE.O ONLY). IA3SOLGZ) CONTROLS THE NUMBER OF L0G10 CONTOURS. L6Z = 0 : SCALAR CONTOURS. ILGZ = 1,2/3,4 : LOG10 CONTOURS AT II * 1,9,ILGZ INTVLS/DEC. LGZ > 0 : THIS NUMBER II IS AUTOMATICALLY OVERRIDDEN (DOWN TO 1 INT/DEC, DEPENDIN6 ON THE NUMBER OF DECADES COMPUTED FROM THE RANGE OF Z) TO GET A REASONABLE NUMBER OF CONTOURS. LGZ < 0 ; THE AUTOMATIC OVERRIDE IS SWITCHED OFF, BUT THE NUMBER OF DECADES IS LIMITED TO 8.

NC

TITLE

RMAX

I8UAD LGZ

WRITTEN BY CLAIR NIELSON. MODIFIED BY DENNIS HEWETT 2/8/78, FOR CONTOLLING CONTOUR LABELS, ADDED VARIABLE NLAB BOTH HERE AND IN TRICJ3. EXTENDED BY DENNIS HEWETT 12/8/82, WITH CPLOTX AND TRICJ3 FOR L0G10 CONTOURS AND POLAR PLOTS. ADDED ARGUMENT ILAt) (-NLAri), HGO 6/12/85.

£ * * * * *»* *#* * * *###*»####**##*#* *#* * *##* *#* *«* • * * * * * * * • •»* *#*##•###** *#»#* C

COMMON /CJE07/IXL,IXR,IVB,IYT,XL,XR,YB,YT COMMON /CPLCOM/XFAC,VFAC,FXO,FYO,ISYM(26),NLAB,H1 DIMENSION XC*),Y(*),Z(NDIM,*),ZC(*) CHARACTERS») TITLE,XNAME,YNAME DIMENSION ZT(4) CKARACTER*18 AMIN,AMAX CHARACTER*80 TITLE1 LOGICAL FLGZ

DATA ( l S Y M ( I ) , I » 1 , 2 6 ) / 2 6 * 0 / DATA N1 /98 /

* IN IT IAL IZE FOR SCALAR CONTOURS, ILSZ-0 * FLAG DOWN FOR OVERRIDING THE AUTOMATIC DETERMINATION OF THE * NUMBER OF CONTOURS PER DECADE IN THE CASE OF L0G10 CONTOURS. FLGZ».FALSE.

* INPUT PARAMETERS.

PPP10 It . 9)

• CPLOT . 10 • CPLOT 11 • CPLOT 12 * CPLOT 13 * CPLOT . 14 * CPLOT . 15 • CPLOT 16 • CPLOT 17 • CPLOT . 18 • CPLOT 19 * CPLOT 20 * CPLOT 21 • CTLOT . 22 • CPLOT . 23 * CPLOT 24 * CPLOT . 25 * CPLOT . 26 * CPLOT 27 • » CPLOT . 28 * CPLOT . 29 • CPLOT . 30 • CPLOT . 31 * CPLOT . 32 * CPLOt . 33 * CPLOT . 34 • CPLOT . 35 * CPLOT . 36 * CPLOT 37 * CPLOT . 38 * CPLOT . 39 • CPLOT . 40 * CPLOT . 41 * CPLOT . 42 * CPLOT . 43 * CPLOT 44 * CPLOT . 45 * CPLOT . 46 * CPLOT 47 • CPLOT 48 * CPLOT «9 * CPLOT . 50 • CPLOT • 51 * CPLOT . 52 • CPLOT . 53 * CPLOT 54 * CPLOT . 55 * CPLOT , 56 • CPLOT 57 • CPLOT . 58 * CPLOT . 59 * CPLOT . 60 « CPLOT . 61 * CPLOT . 62 * CPLOT . 63 * CPLOT 64 • CPLOT 65 * CPLOT . 66 * CPLOT 67 * CPLOT . 68 • CPLOT . 69

CPLOT . 70 CPLOT , 71 CPLOT . 72 CPLOT . 73 CPLOT . 74 CPLOT . 75 CPLOT . 76 CPLOT . 77 CPLOT . 78 CPLOT . 79 CPLOT . 80 CPLOT . 81 CPLOT . 82 CPLOT . 83 CPLOT 84 CPLOT . 85 CPLOT 86 CPLOT . 87 CPLOT . 88 CPLOT . 89

LIME PPP10 ( P . 1 0 )

6940 6950 6960 6970 6980 6990 7000 7010 7020 7030 7040 7050 7060 7070 7080 7090 7100 7110 7120 7130 7140 71S0 7160 7170 7180 719(1 7200 7210 7220 7230 7240 7250 7260 7270 7280 7290 7300 7310 7320 7330 7340 7350 7360 7370 7380 7390 7400 7410 7420 7430 7440 7450 7460 7470 7480 7490 7500 7510 7520 7530 7540 7550 7560 7570 7580 7590 7600 7610 7620 7630 7640 7650 7660 7670 7680 7690 7700 7710 7720 7730

10 ICOKO-0 ftHX>0. KNX»IABS<NX> NNY*IABS(NY) I F ( N N T . L E . I ) RETURN NLAB*1LA» INXsIABSCINCX) INY'IABSCINCY) XHN*X(1) YHN»t(1) IF ( INCX.LE .O) THEN

HX»X(2) X H X * X ( 1 ) + ( N N X - 1 ) * X ( 2 ) / I N X

ELSE XNX-XCNNX)

EN» IF IF ( INCY.LE .O) THEN

HY«Y<2> T * X * Y ( 1 ) + ( N N Y - 1 ) * Y ( 2 ) / I N Y

ELSE YHX*Y(NNY)

END IF

• DRAW THE FRAHE. 20 IF(MY.GE.O) THEN

NB*0 I F U L A B . E f t . l ) THEN

NB*8 IFULGZ.NE.O) NB*14

E W l f T1TLE1»TITLE MTI ' .L1«ISI6N(NIN( lABS(NTITLE) *NB,80>,NTITLE> CALL NFRAnE(MX,HY,1,XttM,XMX,YHN,VNX,

A TITLE1/NTITL1,XNAHE,NXNAHE,YNAAE,NYNANE> IF (NX .LT .O) RETURN

ELSf CALL OFRAHE(HX,HY)

ENHF

* PARAMETERS FOR tOMKON /CPLCOH/ SHARED WITH SUBROUTINE TRICJ3. • INT(FXO) AND lNT(FYO) ARE THE INTESER LOCATIONS OF X*0 AND Y-0. XFAC-UXA-IXDMXR-KL) YFAC»«YT-lYB)/<rT-Y»> FXO*IXL-XL*XFAC FY0*1YB-YB*YF»C

* DETERMINE CONTOUR VALUES AND NUMBER OF CONTOURS. NOC«RIN(26,IABS<NC>> IF(NC.LE.O) THEN

CALL NINM<Z,NDIM,NNX,NNY,INX,INY,ZMIN,IDUN,JDUN> CALL MAXH<Z,NDIN,MNX,NNY,INX,lNY,ZNAX,lDUH,JDim> I f ( ILSZ .eO.01 THEN

DELZ»CZHAX-ZNIM)/NOC DO 30 IC«1,N0C

30 ZCtIC>»ZNIN*(REAL(IC)-.5><»DELZ ELSE

ISHX*AL0G19(ZHAX> 1F(ZMAX.LT.1 . ) LGMX*L6MX-1 L6NN*ALCG19(ZN1N) I F « H I N . L T . 1 . ) LGNN»LGNN-1 LGMN»MAX(LGMN,L6HX-25> LDEC-LsMX-LGMN-H IF(FLBZ) THEK

IFCILGZ.E0 .1 ) LDEC>NIM(LDEC /2) IKJi.il.ta.2) LDEC*MIN<LDEC,S) LDtC«NlNCLDEC,8> L6MN>L6MX-L»EC+1

ELSE ;l(LDEC.6T.2.AND.ILGZ.LT.2) ILGZ-2 1F<LDEC.GT.5.AND.IL6Z.LT.3) ILGZ-4 IKLDEC.6T.8) ILGZ-10

SNDIF IC«0 STEP»10.**L6MN DO 50 ID«1,LDEC

DO 40 I1«1,9,IL6Z 2CT*REAL(11)«STEP IFUU.EG.NOO.OR.CZCT.GT.ZHAX)) GOTO 60 IC»IC*1

40 ZCUC)»ZC7

CPLOT m 90 CPLOT m 91 CPLOT • 92 CPLOT m 93 CPLOT • 94 CPLOT • 95 CPLOT » 96 CPLOT m 97 CPLOT * 98 CPLOT . 99 CPLOT • 100 CPLOT , 101 CPLOT » 102 CPLOT • 103 CPLOT * 104 CPLOT • 105 CPLOT . 106 CPLOT . 107 CPLOT . 108 CPLOT , 109 CPLOT • 110 CPLOT • 111 CPLOT • 112 CPLOT . 113 CPLOT m 114 CPLOT m 115 CPLOT m 116 CPLOT • 117 CPLOT » 118 CPLOT m 119 CPLOT • 120 CPLOT m 121 CPLOT » 122 CPLOT * 123 CPLOT , 124 CPLOT • 125 CPLOT * 126 CPLOT w 127 CPLOT m 128 CPLOT m 129 CPLOT m 130 CPLOT m 131 CPLOT m 132 CPLOT 9 133 CPLOT 9 134 CPLOT * 135 CPLOT m 136 CPLOT w 137 CPLOT • 138 CPLOT • 139 CPLOT • 140 CPLOT m 141 CPLOT w 142 CPLOT • 143 CPLOT w 144 CPLOT » 145 CPLOT m 146 CPLOT m 147 CPLOT ¥ 148 CPLOT * 149 CPLOT , 150 CPLOT • 151 CPLOT . 152 CPLOT • 153 CPLOT m 154 CPLOT m 155 CPLOT m 156 CPLOT * 157 CPLOT m 158 CPLOT • 159 CPLOT • 160 CPLOT • 161 CPLOT • 162 CPLOT • 163 CPLOT * 16A CPLOT * 165 CPLOT • 166 CPLOT • 167 CPLOT m 168 CPLOT w 169

L I H t

7740 7750 7760 7770 77S0 7790 7800 7810 7820 7830 7840 78S0 7860 7870 7880 7890 7900 7910 7920 7930 7940 7950 7960 7970 7980 7990 8000 8010 8020 8030 8 0 * 0 8050 8060 8070 8080 8090 8100 8110 8120 8130 8140 8150 8160 8170 8180 8190 8200 8210 8220 8230 8240 8250 8260 8270 82S0 8290 8300 8310 8320 8330 8340 8350 8360 8370 83S0 8390 8400 8410 8420 8430 8440 8430 8460 8470 8480 0490 8500 8510 8520 S530

50 STEP»STEP*10. 60 NOC*ie

EN» IF ENOIF

* PUT EXTREME PARAMETERS ALONG THE TOP OF THE GRAPH. IF( ILA8.E0. .1> THEN

1FUC6Z.EG.0 ) THEN M R I T 6 C A I U N , , < ' , » , , , 1 P E 9 . 2 > , Ï IC Cl) U R I T E ( A t l A X , • ( , • = : , , , 1 P E 9 . ^ ) , ) ZC(NOC) CALL D L C H a X R ^ O . t Y T t l B , ' * ,K1*1> CALL DLCH( IXR-80 , IV1*18 ,AHIN ,10 ,1> CALL DLCH<IXR-9Q, IYT*4 , ' ' ,N1+NOC-1,1) CALL DLCH( IXR-8O, IYT*4 ,AHAX,10,1)

ELSE « R I T E < A P I I N , , < " * , • , 1 P E 9 . 2 , , • I L 6 Z - ' ' , I 2 > • ) ZC(1> , IL6Z W R I T E C A » I A X , • ( • , « , , , 1 P E 9 . 2 , • • LOEC*' ' , I 2 ) ' ) ZC(NOC),LDEC CALL D L C H ( I X R - 1 7 0 , I V T + 1 8 / ' ' , N 1 , 1 ) CALL ftLCHUXR-160,l1Ttia,AHIN,18,1> CALL DLCH( IXR-170 , IVT*4 , ' a,N1-»NOC-1,1> CALL DLCH<IXR-160,IYT+4,AMAX,18,1>

END IF END IF

* DRAM THE CONTOURS BY CALLING TRICJ3 FOR THE TUO TRIANGLES * WITHIN A MESH OF THE GRID. Y1*Y(1 ) DO 80 J*1+INY,NNV,INY

IFCIRCY.GT.O) HY»YtJ ) -Y (J - lNY) Y2*Y1+HY X1 = X<1> DO 70 I»1+INX,NNX, INX

IF( INCX.GT.O) H X * X < I ) - X ( I - I N X > X2=X1+HX Z T C 1 ) " Z ( I - I N X , J - I N Y > Z T ( 2 ) * Z < I , J - I N Y >

Z T C 4 > * Z U - I N X , J > IF(ABS(ZT<3)-ZTC1>}.6E.ABS(ZT<4>-ZT(2>>> THEN

CALL T R I C J 3 t X 1 , T 1 , H X / H Y , N 0 C , Z C , Z T ( Z ) , Z T ( 1 ) , Z T ( 4 ) , I C O R 0 ) CALL TRICJ3(X2 ,Y2 , -HX, -HV,NOC,ZC,ZT(4 ) ,ZT (3 ) ,ZT (2> , ICORD>

ELSE CALL TRICJ3<X2 ,Y1 , -HX,HV,N0C,ZC,ZT(1 ) ,ZT(2 ) ,ZT(3> , IC0RD> CALL TRICI3<X1,Y2 ,HX, -HY, t tOC,ZC,ZT(3 ) ,ZT(4 ) ,ZT<1>, ICORD)

END I F X1*x2

70 CONTINUE Y1-V2

80 CONTINUE

RETURN

* ENTRY FOR POLAR PLOTS AND LOG10 CONTOURS. ENTRY CPL0TX(MX,MV,1LAB,X,V,NX,NY, INCX,INCY,Z,NDI* ,ZC,NC,

A TITLE ,NTITLE/XNANE,NXNAF1E,YNAHE,NYNAHE/, B RMAX,IQUAD,L6Z>

ILGZ*HINC1ABS<L6Z),4> I F U L G Z . L T . O ) FLGZ*.TRUE. I F ( R H A X . E 8 . 0 . ) GOTO 10

IC0RD-1 IFCRKAX.LT.O.) IC0RD*2 RF1X>ABS(RFIAX> NNX»IABS(NX) NNYsIASS(NY) I F ( N N Y . L E . I ) RETURN NLAB«ILAB INX«1ABS<INCX) INY-1ABJUNCY) I F d N C X . L T . 0 ) HX«X(2> IFCINCY.LT.0) HY-YC2) XNN*0. VMN'O. XHX»RMX YHX»R«X iaU6»MAX<IQUAD,1> IFUQUD.GT.2.AND.RFIAX.LT.0 . ) IflUt>»2 1FC10UD.E0.2. ) THEN

XNN--RMX

PPP10 (P. .11)

CPLOT . 170 CPLOT m 171 CPLOT m 172 CPLOT m 173 CPLOT m 174 CPLOT m 175 CPLOT m 176 CPLOT » 177 CPLOT m 178 CPLOT m 179 CPLOT m 180 CPLOT » 181 CPLOT » 182 CPLOT • 183 CPLOT . 184 CPLOT • 185 CPLOT • 186 CPLOT » 187 CPLOT • 188 CPLOT . 189 CPLOT * 190 CPLOT . 191 CPLOT • 192 CPLOT • 193 CPLOT . 194 CPLOT , 195 CPLOT • 196 CPLOT • 197 CPLOT • 198 CPLOT . 199 CPLOT • 200 CPLOT • 201 CPLOT • 202 CPLOT • 203 CPLOT 9 204 CPLOT m 205 CPLOT » 206 CPLOT . 207 CPLOT • 206 CPLOT . 209 CPLOT • 210 CPLOT * 211 CPLOT . 212 CPLOT • 213 CPLOT P 214 CPLOT • 215 CPLOT • 216 CPLOT m 217 CPLOT * 218 CPLOT * 219 CPLOT • 220 CPLOT • 221 CPLOT • 222 CPLOT * 223 CPLOT • 224 CPLOT . 225 CPLOT • 226 CPLOT • 227 CPLOT • 228 CPLOT • 229 CPLOT • 230 CPLOT • 231 CPLOT m 232 CPLOT m 233 CPLOT * 234 CPLOT m 235 CPLOT • 236 CPLOT • 237 CPLOT s 238 CPLOT • 239 CPLOT • 240 CPLOT • 241 CPLOT t 242 CPLOT m 243 CPLOT • 244 CPLOT m 245 CPLOT * 246 CPLOT * 247 CPLOT m 248 CPLOT • 249

LINE

«540 8SS0 8560 8570 «580 8590 8600 8610 8620 8630

8 6 ' 0 86S0 8660 8670 8680 8690 8700 8710 8720 8730 8740 8750 8760 8770 8780 8790 8800 8810 8820 8830 8840 8850 8860 8870 8880 8890 8900 8910 8920 8930 8940 8950 8960 8970 8980 8990 9000 9010 9020 9O30 9O40 9050 9060 9O70 9O80 9O90 9100 9110 9120 9130 9140 9150 9160 9170 9180 9190 9200 9^10 9220 9230 9240 9250 «260 9270 9280 9290 9300 9310 9320

THEN

XHX=RHX YNX=DNX

ELSElF( l f tOD.EQ.3 .0R. IQUD.Ea.4) XNN=-R«X VNNz-RMX

ENDIF GOTO 20

END

•DECK TRICJ3 SUBROUTINE TRICJ3<XV,YV,DX,DY,NOC,ZC,ZX,ZV,ZY,I CORD)

C

THIS SUBROUTINE IS CALLED FROM CPLOT T THE CONTOURS THAT LIE WITHIN A TRIANGLE OF FINDS THE INTERSECTIONS OF THE CONTOURS HI TRIANGLE AND DRAWS LINES BETWEEN THOSE POI

I F NLABEL»1 IN COMMON /CPLCOM/, ALPHAS EVERY «( ISKIP+1} CALL OF TRICJ3. ISKIP IS STATEMENT BELOW.

MODIFIED BY D.W. HEMETT 1 2 - 8 2 , FOR THE X,Y ( ICORDrO), R,THETA ( ICORDsU, AND ADDED PARAMETER I S K I P , ADDED CHECK ON

0 DETERMINE THE PARTS OF THE GRID MESH. TRICJ3

TH THE TWO SIDES OF THE NTS. ETIC LABELS ARE WRITTEN FIXED IN THE PARAMETER

DIFFERENT COORDINATES R,COS(THETA> (ICORD=2).

RANGE Y1/2, HGO 9/12/85.

PARAMETER (ISK1P»9)

COMMON / C J E 0 7 / I X L , I X R , I Y B , I V T , X L , X R , Y B COMMON /CPLCOH/XFAC,YFAC,FXO,FYO,ISYNC DIMENSION ZCCO DIMENSION X ( 3 > , Y C 3 ) , Z ( 3 >

IX = 1 I F ( Z V . L T . Z X ) THEN

IX=2 IF (ZY .LT .ZX) IX=3 IV=1 I Y = 5 - I X IF(ZY.LE.ZV) THEN

IV=5-IX IY»1

ENDIF ELSE

IF(ZV.LT.ZX) IX-2 IV*3-IX IY-3 I F (ZY .LE .ZV) THEN

I V O I Y - 3 - I X

ENDIF ENDIF

X(IX)*XV»DX X(IV)=XV X( IY ) *XV

<IX)=YV CIV)=YV CIY)»YV*DY ( IX)-ZX ( IV )sZV ( IY)»ZY F<Z<1>.E«.Z<3>> RETURN

I«3 .1415926535898 P I = 2 . « P I 0 10 IC»1,N0C

I F ( Z C ( I C ) . L T . Z < 1 ) > SOTO 10 I F ( Z C ( U ) . 6 T , Z ( 3 ) > GOTO 20 F R A C » ( Z C ( l C ) - i ( 1 ) > / C Z < 3 ) - Z ( 1 > > X1 = X(1)XX<3>-XC1>>*FRAC Y l * Y l 1 ) + ( Y t 3 ) - Y ( 1 ) ) * F R A C I F ( Z C ( I C > . L E . Z ( 2 ) . A N D . Z ( 1 ) . N E . Z < 2 > >

F R A C « ( Z C ( I C ) - Z ( 1 ) ) / ( Z ( 2 ) - Z ( D ) X2«XC1>*FRACo<X(2)-XC1>) V2*Y(1>*FRAC*(Y(2) -Y(1>>

ELSE F R A C - C Z C ( I C ) - Z ( 2 ) ) / ( Z ( 3 ) - Z ( 2 > )

,YT 26),NLAB,N1

THEN

PPP10 (P .12>

CPLOT . 250 CPLOT . 251 CPLOT . 252 CPLOT . 253 CPLOT . 254 CPLOT . 255 CPLOT 256 CPLOT . 257 CPLOT . 258 CPLOT . 259

TRICJ3 . 1 TRICJ3 . 2 TRICJ3 . 3

4 • TRICJ3 . 5 * TRICJ3 . 6 • TRICJ3 . 7 • TRICJ3 . 8 * TRICJ3 . 9 • TRICJ3 . 10 • TRICJ3 . 11 • TRICJ3 . 12 * TRICJ3 . 13 * TRICJ3 . 14 * TRICJ3 . 15 • TRICJ3 . 16

TRICJ3 . 17 TRICJ3 . 18 TRICJ3 . . 19 TRICJ3 . 20 TRICJ3 . . 21 TRICJ3 . 22 TRICJ3 . . 23 TRICJ3 . 24 TRICJ3 . . 25 TRICJ3 . . 26 TRICJ3 . r 27 TRICJ3 . , 28 TRICJ3 . 29 TRICJ3 . 30 TRICJ3 . 31 TRICJ3 . 32 TRICJ3 . 33 TRICJ3 . 34 TRICJ3 . 35 TRICJ3 . 36 TRICJ3 . 37 TRICJ3 . 38 TRICJ3 . 39 TRICJ3 . 40 TRICJ3 . 41 TRICJ3 . 42 TRICJ3 . 43 TRICJ3 . 44 TRICJ3 . 45 TRICJ3 . 46 TRICJ3 . 47 TRICJ3 , 48 TRICI3 49 TRICJ3 . 50 TRICJ3 . 51 TRICJ3 , 52 TRICJ3 , 53 TRICJ3 . 54 TRICJ3 . 55 TRICJ3 . 56 TRICJ3 . 57 TRICJ3 , 58 TRICJ3 . 59 TRICJ3 , 60 TRICJ3 , 61 TRICJ3 , 62 TRICJ3 . 63 TRICJ3 , 64 TRICJ3 . 65 TRICJ3 . 66 TRICJ3 . 67 TRICJ3 . 68 TRICJ3 . 69

L I MC PPMO ( f . 1 5 )

9330 X2>XC2)*FRAC*(XC3)-X(2) ) 9340 Y 2 « » t 2 ) * F R A C * t V t 3 ) - Y ( 2 ) > 93S0 EN» IF 9360 IFUCORD.ME.O) THEN 9370 F L P 1 - 1 . 9380 FLP2»1. 9390 IFUCORD.EQ. I ) THEM 9400 I F ( Y I . G T . P l . A M . Y I . L T . T P I ) F L P 1 * - 1 . 9410 I F C Y 2 . 6 T . P I . A N D . Y 2 . L T . T P I ) F L P 2 « - 1 . 9420 Y1«C05CY1) 9430 Y2=COS(Y2> 9440 ENBIF 9450 V 1 « A H I N 1 ( A H A X K - 1 . , Y 1 ) , 1 . > 9460 Y2«AN1NKAHAX1( -1 . ,Y2> ,1 . ) 9470 TX1«V1*X1 9400 V1«FLP1*X1*SQRT(1.-Y1*Y1> 9490 X1*TX1 9300 TX2»V2*X2 9310 Y2-FLP2»X2*SQRTC1.-Y2*Y2) 9520 X2-TX2 9330 ENOIF 9S60 IX1«FX0-*X1*XFAC 9330 IY1»FT0+Y1*YF*C 9360 IX2«FX0*X2*XFAC 9570 IY2«FY0*Y2*YFAC 9580 CALL » R V ( I X 1 , I Y 1 , 1 X 2 , I Y 2 ) 9590 ISVM(IO-ISYH(IC>-»NLAB 9600 I F U S Y H d O . G E . D THEN 9610 ICC»IC*N1-1 9620 IDX»8 9630 I D Y - 0 9640 I F { I A B S ( I X 2 - I X 1 ) . G E . I A B S C I T 2 - I Y 1 > > THEN 9650 IDX*0 9660 IDY*8 9670 END IF 9680 I X 1 1 * N l N ( M A X U X L * 5 , I X 1 * I D X > , U R - 5 > 9690 l Y 1 1 - N I H ( H A X l I Y B + 5 , I Y 1 * I D Y ) , I T T - 5 > 9700 CALL »LCHC1X11 , - IY11 , ' ' , I C C , 1 > 9710 I S Y f l ( I C ) « - I S K I P 9720 ENDIF 9730 10 CONTINUE 9740 C 9750 20 RETURN 9760 EN» 9770 C

TRICJ3 T I I C J 3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICI3 TRICJ3 TRICiS TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3 TRICJ3

. 70

. 71

. 72

. 73

. 74

. 75

. 76

. 77

. 78

. 79

. 80

. 81

. 82

. 83

. 84

. 85

. 86

. 87

. 88

. 89

. 90

. 91

. 92

. 93

. 94

. 95

. 96

. 97

. 98

. 99

. 100

. '•01

. 102

. 103

. 104

. 105

. 106

. 107

. 108

. 109

. 110

. 111

. 112

. 113

. 114

9780 9790 9800 9810 9820 9830 9840 9550 9860 9870 9880 9890 9900 9910 9920 9930 9940 9950 9960 9970 9980 9990

10000 10010 10020 10030 10040 10050 10060 10070 10080 10090 10100 10110

•DECK SCPLOT SUBROUTINE QCPL0T(NX,NY,INCX,INCY,Z,ND1N,ZC,NC,

A TITLE,NT1TLE,XNAHE,NXNAHE,TNAME,NYHAME, B LGZ,IOUNIT)

NONGRAPHIC» CONTOUR PLOTTER. QUICK TEST OF THE LAYOUT OF PLOTS TO BE HADE WITH CPLOT/CPLOTX. WRITES AN ARRAY OF LETTERS TO FORM A "CONTOUR" PLOT ON PRINTED OUTPUT FROM UNIT I 0 U N I T .

ARGUMENTS:

NX/NY INCX IMCV Z

NDIM ZC NC

NUP.3ER OF POINTS IN THE X/Y-DIRECTION TO BE PLOTTED. SKIP PARAMETER IN A ROW. SKIP PARAMETER I N A COLUMN. THE TWO-DIMENSIONAL FUNCTION TO BE CONTOURED; Z SHOULD BE STORED SO THAT Z < I , J ) IS THE VALUE OF Z AT X ( I ) , Y U ) . THIS CORRESPONDS TO I ACROSS AND J ALONG THE PAGE. LENGTH OF A ROW OF Z (1ST DIMENSION OF THE 2-D ARRAY). THE TABLE OF CONTOUR VALUES. NUMBER OF CONTOURS TO BE PLOTTED; MAXIMUM OF 2 6 . NC < 0: 8CPL0T AUTOMATICALLY FILLS ZC WITH NC VALUES. NC > 0: ZC IS SUPPLIED BY THE USER; VALUES MUST BE STORED IN INCREASING ORDER IN ZC.

TITLE - TITLE FOR THE GRAPH. XNAME/YNAME - LABEL FOR THE X / f - A X I S . NTIUE/NXNANE/NYNAHE - NUMBER OF CHARACTERS IN TITLE/XNAME/YNAHE. LGZ - CONTROLS THE NUMBER OF L0610 CONTOURS; SEE CPLOTX. IOUNIT - UNIT NUMBER FOR THE PRINTED OUTPUT.

WRITTEN BY O.W. HEWETT 1 /1S/83

CHARACTERS*) TITL£/XNAHE,TNAME

BCPLOT QCPLOT QCPLOT QCPLOT QCPLOT

• * GCPLOT • BCPLOT • BCPLOT • QCPLOT • OCPLOT « BCPLOT « BCPLOT • QCPLOT • QCPLOT • QCPLOT • QCPLOT • QCPLOT • QCPLOT • QCPLOT « QCPLOT • QCPLOT • QCPLOT • QCPLOT • QCPLOT • QCPLOT • QCPLOT • QCPLOT • QCPLOT • QCPLOT • QCPLOT • QCPLOT

** QCPLOT QCPLOT QCPLOT

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

LINE PWIO CP.U>

10120 10130 10140 I 101 SO 1 0 1 * 0 10170 10100 10190 10200 10210 10220 10230 10240 10250 1 0 2 * 0 10270 i 1 0 2 M 10290 10300 10310 10320 10330 10340 10330 10340 10370 10300 10390 10400 10410 10420 10430 10440 10430 1 0 4 * 0 10470 10410 10490 10500 10510 10520 10530 10540 10550 1 0 5 * 0 10570 10580 10590 1 0 * 0 0 1 0 * 1 0 10*20 1 0 * 3 0 1 0 * 4 0 1 0 * 5 0 1 0 * * 0 1 0 * 7 0 10680 1 0 * 9 0 10700 10710 10720 10730 10740 10750 1 0 7 * 0 10770 10780 10790 10000 10010 10020 10030 10040 10050 10060 10870 10080 10890 10900 10910

•INEBSION 2 { K 6 1 l t , 0 , 2 C C * > •mension IRONCOO)

•M*IA6SCNX> MV~IA6SCNT> I F ( N N T . L E . I ) RETURN ILCZ* tMStLCZ> IU*IUS(HCI> l a i ' l M S t i a c T )

10 NCOT-NRX/INX 1F(NCUT.CE.75> THEN

INK*INX«INX MNITECI0UNIT,11> H I SOTO 10

EM IF

N0C*RIN<2*,IA8SCNC>> IF (NC.LE.O) THE»

CALL IUNH(Z ,» IR ,NNX # NNT, IRX, INV,ZRIN # IR lMI ,J6Uf t ) CALL I IAXHCZ,MlR,NNX,NNV,IMX,INY,ZRAX,I»tHI,J6UM) IF ( ILSZ .EO.O) TUCK

•ELZ« CZHAX-ZRIN) / M C »0 30 IC«1,»OC

30 ZCUC>«ZRIR»CREALCIO-.S>*»ELZ ELSE

L6NX>AL0C19(ZHAI) IFCZRAX.LT.1 . ) LSRI*LSRI-1 L6HM>AL0S19(ZHIM) I F C Z R I N . L T . 1 . ) L6RR*LSH*-1 LSft**RAXlL6RN,LtRX-2S> L0CC*LSNX-L6RN*1 IFCL6Z.LT .0 j THEN

IFC ILSZ .E0 .1 ) L6ECMIN(L6EC,2> I F U L S Z . E Q . 2 ) L9EC*NINCL0EC,S> L6EC*RZN(LREC,8) LtHN*L6IM-L»EC<M

ELSE IFCLDEC.CT.2 .A IW. IL6 I .LT .2> I L 6 Z * 2 IFCL6EC.6T .S .AN6. ILCZ.LT .3 ) I LSI» 4 1F<LIEC.6T.6) IL6Z*10

EH* IF I C * 0 STEP*10.**LCRH 60 50 IB*1 ,L*EC

60 40 I I * 1 , 9 , I L 6 Z ZCT*REAL(ID*STEP IF (UC.Ea .N0C> .0R . fZCT .6T .ZHAX>) SOTO 60 IC»IC»1

40 Z C U C W C T 50 STEP»STEP*10. 60 ROC-IC

END IF EN» IF

WR1TE(I0UNIT,61> TITLE WRlT£(10Uf tn ,62 ) XNAREC 1 :LEN<XNAHE) ) , Y N M E < 1 :LEN<TNAHE) > N1*1CHMC'A*> WRITE( I0UNIT,*3> CHAR(N1),ZC(1) ,CHAR(N1»R0C-1) ,ZC(N0O I F ( I L S Z . N E . O ) HRITECI0UNIT,64) N0C /ZNIN,ZNAX,L6EC,L6Z,1LSZ HRIT£U0UNIT,65>

60 100 4»NRT,1 , - IRT I 1 « 0 60 90 1*1 ,MIX, INX

I 1 « I 1 * 1 60 70 IC«1 , *0C

I F < Z C l , J > . L £ . Z C C I O ) SOTO 80 70 CONTINUE

IC-NOC+1 80 I R 0 H ( I 1 ) s N l t I C - 1 90 CONTINUE

HRITE( I0UNIT,91> J , (CHAA( l f tOW{ I )> , l »1 , l 1> 100 CONTINUE

11*0 60 110 I -1 ,NNX, INX

I 1 « I 1 * 1 110 IR0H(11>>106(1 ,10 )

WRITE( I0UNIT,111) ( I R O H ( I ) , I « 1 , I 1 >

RETURN

•CPLOT •> 35 •CPLOT » 3* tCPLOT • 37 OCPLOT » 30 •CPLOT • 39 •CPLOT . 40 •CPLOT m 41 •CPLOT * 42 •CPLOT » 43 •CPLOT . 44 •CPLOT • 45 •CPLOT . 4* •CPLOT » 47 BCPLOT » 40 •CPLOT . 49 •CPLOT * SO •CPLOT • 51 •CPLOT . 52 •CPLOT m 53 •CPLOT . 54 •CPLOT » 55 •CPLOT m 5* •CPLOT • 57 •CPLOT . SO •CPLOT m 59 •CPLOT 9 •0 •CPLOT . «1 •CPLOT • *2 •CPLOT • *3 •CPLOT , 64 •CPLOT * 65 •CPLOT * «* •CPLOT • «7 •CPLOT * 60 •CPLOT » 69 •CPLOT » 70 •CPLOT » 71 •CPLOT „ 72 «CPLOT m 75 OCPLOT «. 74 •CPLOT * 75 OCPLOT * 76 OCPLOT • 77 OCPLOT „ 78 OCPLOT » 79 OCPLOT • 80 OCPLOT . 61 OCPLOT • 82 OCPLOT * 83 OCPLOT . 84 OCPLOT • 85 OCPLOT m 86 OCPLOT m 87 OCPLOT 9 68 OCPLOT m 89 OCPLOT m 90 «CPLOT 9 91 «CPLOT m 92 OCPLOT m 93 «CPLOT 9 94 OCPLOT * 95 OCPLOT • 96 «CPLOT • 97 «CPLOT • 98 •CPLOT • 99 OCPLOT • 100 •CPLOT • 101 «CPLOT » 102 «CPLOT w 103 OCPLOT m 104 OCPLOT 9 105 «CPLOT 9 10* «CPLor 9 107 OCPLOT m 108 •CPLOT 9 109 •CPLOT 9 110 •CPLOT 9 111 OCPLOT 9 112 «CPLOT 9 113 «CPLOT 0 114

LIN£

10920 10930 10940 10950 10960 10970 10980 10990 11000 11010 11020 11030

11040 11050 1 1 0 * 0 11070 11000 11090 11100 11110 11120 11130 11140 11150 11160 11170 11180 11190 11200 11210 11220 11230 11240 11250 11260 11270 11280 11290 11300 11310 11320 11330 11340 11350 11360 11370 11380 11390 11400 11410 11420 11430 11440 11450 1 1 * 6 0 11470 11480 11490 11500 11510 11520 11530 11540 11550 11560 11570 11580 11590 11600 11610 11620 11630 11640 11650 11660 11670 11680 11690 11700

* FORMATS. 11 FORHATdX, '»* NNX 6REATER THAN 7 5 , INX CHANGED T O ' , I S ) 61 F0RHAT(/1X, '8CPL0T: ' , A ) 62 F0RNAT(9X,A,' HORIZONTALLY, * , A , * VERTICALLY') 63 F Q R M A T ( 9 X , A 1 , , = , , 1 P E 9 . 2 , 4 X , A 1 , , * , , 1 P E 9 . 2 ) 64 F0RHAT(9X #

, N0C,ZHIN,ZHAX,LDEC,L6Z, ILGZ , , IS ,2E14 .6 ,3 IS> 65 F0RMAT(9X,'THE SYMBOL A MEANS: IN THAT LOCATION VALUE . L E . A 1 / ) 91 F0RHAT(I3,1X,75A1)

111 F0RHAT(4X,75I1) END

*BECK VPLOT SUBROUTINE VPLOT<NX,HV, IVEC,X,Y,NX,NY, INCX, INCY,VX,VY,HDIN,SIZE,L,

A TITLE,NTITLE,XNAHE,NXNAHE,VNAME,NYNAHE) C c*************************************»#»***************•***»**»*»»****

SUBROUTINE VPLOT DRAWS A REPRESENTION OF A 2-DIMENSIONAL VECTOR FIELD VX * F ( X , Y ) , VY * G ( X , Y ) . THESE FUNCTIONS SHOULD BE STORE» AS 2-ftIMENSIOHAL ARRAYS V X ( I , J ) , V Y ( I , J ) , COMPUTED AT THE OBSERVATION POINTS X ( I ) , I * 1 , IABS(NX) ,1ABS( INCX) , Y (J> , J>1 ,1ABS(NY) , IABS( INCY) . ENTRY VPLOTX IS AN EXTENSION FOR POLAR COORDINATES.

ARGUMENTS:

MX/NY - SEE LPLOT. IVEC - PROVIDES DIFFERENT OPTIONS FOR THE PRESENTATION OF THE VEC­

TOR FIELD ACC0RDIN6 TO THE FORMULA IABS(IVEC) - ISUP*100 • ID0T*10 * JVEC,

WHERE JVEC DETERMINES THE SHAPE OF THE ARROWHEADS: JVEC * 1 - SIZE ARROWHEAD PROPORTIONAL TO VECTOR LENGTH

2 - CONSTANT-SIZE ARROWHEAD, AND IDOT PROVIDES THE OPTION TO IDENTIFY THE DATA POINTS:

IDOT » 0 - NO ACTION (DEFAULT) 1 - DOT PLACED AT THE DATA LOCATIONS,

AND 1SUP DETERMINES WHETHER SMALL VECTORS ARE DRAWN OR NOT: ISUP * 0 - NO ACTION (DEFAULT)

1 - SUPPRESS DOT AND VECTOR IF BOTH VECTOR .. HPO-NENTS < * EPS * MAXIMUM AMPLITUDE OF VX AND VY, WHERE EPS IS FIXED IN THE PARAMETER STATEMENT.

TABLE OF THE ABSCISSA/0RD1NATE VALUES. IABS(NX) IS THE NUMBER OF POINTS IN X TO BE USED. NX < 0 : ONLY THE FRAME AND SCALES FOR THE PLOT ARE DRAWN. IABS(NY) IS THE NUMBER OF POINTS IN Y TO BE USED. NY < 0 : VECTORS ARE DRAWN ON A FRAME PREVIOUSLY CREATED BY A CALL TO VPLOT WITH NX < 0 OR A DIRECT CALL OF NFRAHE ( IN ORDER TO SPECIFY A FRAME SIZE DIFFERENT FROM THE ONE IMPLIED BY THE RANGES OF X AND T ) . IABS(INCX) IS THE SKIP PARAMETER IN A ROW. INCX < 0 : XHIN * X(1) AND HX » X ( 2 ) . IABS(INCY) IS THE SKIP PARAMETER IN A COLUMN. INCY < 0 : YMIN * Y d ) AND HY * Y ( 2 ) . THE TWO-DIMENSIONAL VECTOR COMPONENTS TO BE PLOTTED; STORED SUCH THAT V X / V V ( I , J ) IS THE VALUE OF VX/VY AT X U ) , Y ( J > .

NDIM - LENGTH OF A ROW OF VX/VY (1ST ARGUMENT OF THE 2-D ARRAYS). HENCE, ONE SHOULD OBSERVE: NX <• NDIM.

SIZE - THE VECTORS ARE PLOTTED WITH THEIR MAXIMUM AMPLITUDE AMP (PRINTED ON TOP OF THE GRAPH IF ISUP-1) SCALED DOWN WITH A FACTOR OF SIZE*STEP/AHP, WHERE STEP IS THE WIDTH OF THE SMALLEST MESH OF THE GRID AND SIZE IS CHOSEN FOR CLARITY OF PRESENTATION. FOR A UNIFORM GRID, THE LARGEST VECTORS WILL PRECISELY FIT THE MESH WHEN S IZE«1 . FOR A NON-UNIFORM GRID, SIZE HAS TO BE CHOSEN BY CONSIDERING THE SPACING OF A T Y P I ­CAL MESH AS COMPARED TO THE SMALLEST ONE.

L - LENGTH OF THE ARROWHEADS AS AN INTEGER PERCENTAGE OF THE VECTOR LENGTH (FOK JVEC-1) OR AS AN ABSOLUTE VALUE IN TERMS OF PLOTTING COORDINATES (FOR JVEC-2) .

TITLE - TITLE FOR THE 6RAPH. XNAME/YNAME - LABEL FOR THE X /Y -AXIS . NTITLE/NXHAME/YNAME - NUMBER OF CHARACTERS IN TITLE/XNAME/YNAME.

X/Y NX

NY

INCX -

INCY

VX/VY

ADDITIONAL ARGUMENTS FOR VPLOTX:

RMAX - MAXIMUM RADIUS FOR A POLAR PLOT, « 0 : CARTESIAN PLOT. > 0 : X/Y CORRESPONDS TO R/THETA ( I N RADIANS),

VX/VY CORRESPONDS TO THE VECTOR COMPONENT VR/VT. IOUAD - TOTAL NUMBER OF QUADRANTS (FOR RMAX.NE.U ONLY).

PPP10 (P .15)

«CPLOT . 115 QCPLOT . 116 OCPLOT . 117 QCPLOT . 118 «CPLOT . 119 OCPLOT . 120 OCPLOT . 121 «CPLOT . 122 «CPLOT . 123 «CPLOT . 124 «CPLOT . 125 «CPLOT . 126

VPLOT . 1 , VPLOT . 2 VPLOT . 3 VPLOT . 4

* VPLOT . 5 * VPLOT . 6 * VPLOT . 7 * VPLOT . 8 * VPLOT 9 * VPLOT 10 * VPLOT . 11 * VPLOT . 12 * VPLOT 13 * VPLOT 14 * VPLOT . 15 * VPLOT . 16 * VPLOT 17 * VPLOT . 18 * VPLOT . 19 * VPLOT , 20 * VPLOT 21 • VPLOT . 22 * VPLOT 23 * VPLOT 24 * VPLOT . 25 * VPLOT . 26 * VPLOT . , 27 * VPLOT 28 * VPLOT 29 * VPLOT . 30 * VPLOT . 31 * VPLOT . 32 * VPLOT . 33 * VPLOT . 34 * VPLOT . 35 • VPLOT . 36 * VPLOT . 37 * VPLOT . 38 * VPLOT . 39 * VPLOT . 40 * VPLOT . 41 * VPLOT . 42 * VPLOT . 43 * VPLOT . 44 * VPLOT . 45 * VPLOT . 46 * VPLOT . 47 * VPLOT . 48 * VPLOT . 49 * VPLOT . 50 * VPLOT , 51 * VPLOT . 52 * VPLOT . 53 * VPLOT 54 * VPLOT . 55 * VPLOT . 56 * VPLOT . 57 * VPLOT . 58 * VPLOT . 59 * VPLOT . 60 * VPLOT . 61 * VPLOT . 62 * VPLOT . 63 * VPLOT . 64 * VPLOT . 65 * VPLOT . 66 * VPLOT . 67

LINE PPP1Q CP.16>

i m o c 11720 C 11730 1.1740 11750 11760 11770 11780 11790 11800 11810 11820 11830 11840 11850 11860 11870 11880 11890 11900 11910 11920 11930 11940 11950 11960 11970 11980 11990 12000 12010 12020 12030 12040 12050 12060 120TQ 12080 12090 12100 12110 12120 12130 12140 12150 12160 12170 12180 12190 12200 12210 12220 12230 12240 12250 12260 12270 12280 12290 12300 12310 12320 12330 12340 12350 12360 12370 12380 12390 12400 12410 12420 12430 12440 12450 12460 12470 12480 12490 12500

HUTTEN BY D. MEUETT 3 / 6 3 BT A6APTIN6 6 VERSION OF CPLOT. * EXTENDED f 0 1 NON-UNIFORM G M » , ADDED ARGUMENTS IVEC, S I Z E , L, * ADDED PARAMETER EPS, ELIMINATE» IC0R»>2 OPTION OF CPL0T/TRICJ3, • N60 1 6 / 1 2 / 8 5 . *

PARAMETER (EPS- .1 )

COMMON / O E 0 7 / l X L , l X 1 l , l Y B , i n , X L , X « , Y B , Y T DIMENSION X ( * ) , T ( * ) , W X ( N D 1 M # * ) , W T ( I I D I M , * ) CHARACTERS*) TITLE,XNAHE,YNAME CHARACTER TITLE1*80,ST«1N6*1J

10 ICORB«0 RHX'O. NNX*tABS(NX> NNT-IABS(NV) I F ( N N Y . L E . I ) RETURN INX«IABS(INCX> INV-IABS(INCT) HX-X<2)~X<1) HV>VC2)-V(1) XHN-X( I ) YNN*YC1> XNX*X(RNX> YNX*Y(NNY> IFUNCX.LT .O) THEN

HX-XC2) XHX«X(1>»(RNX-1)*X<2) / IHX

END I F IF ( INCY.LT .Ü) THEN

HV*YC2) YHX*Vt1 )»<NNY-1)«Y(2 ) / INY

END I F

20 JVEC*HOD<IABS(IVEC),10> iDOTMIOtUABSUVEn 110 ,10 ) I$UP-HOD<IAB$UVEC)/1O0,1O> IF(NY.GE.O) THEN

NB>0 I F U S U P . E 0 . 1 ) NB*9 TITLE1-TITLE NTITLl * IS IGN(HIN<IABS(MTITLE)*NB,80) ,NTITLE) CALL NFRAHECHX,HY,1,XMN,XHX,YHN,YNX,

A TlTLE1,NTITLl /XNAME,NXNANE,YNAHE,NYNAHE) IF (HX.LT .O) RETURN

ELSE CALL 0FRAHECHX,HV>

ENDIF

• INT(FXO) AND INT(FVO) ARE THE INTE6ER LOCATIONS OF X«P AND T>0 . XfACa( IXR- IXL) /CXR-XL) VFAC«(IYT-IYB)/<YT-YB> FXO*IXL-XL*XFAC FY0»IYT-YT*YFAC

CALL NAXAH(VX /NDIR,NNX rNNY,ItlX,INY /VXMX,IDUN,JOUM) CALL HAXAM<VY,NDlH,NNX,HHV,IliX,INY,VVMX,IDUM,JDUM) VXNXsABS(VXMX) VYNXsABS(VYNX) AHP»ANAX1(VXHX,VYHX> I f ( I S U P . E 9 . 1 . 0 R . A H P , £ « , 0 . ) THEN

M R I T E < S T R I N 6 , , < « ' A N P * " , 1 P E 9 . 2 > , > AMP CALL DLCHUXR-110,1 VT+18,STR1N6,1 3 ,1 ) N R l T E t S T R l N G . ' C ' ' E P S - ' ' , 1 P E 9 . 2 ) ' ) EPS CALL DLCHUXR-110, IVT+4,STRIN6,13,1> iF iAHP.EB.O. ) AMP-1.

ENDIF »XNN«1NX*ABS(HX> I F ( I N C X , 6 T . O ) THEN

DO 30 I *1+INX,NNX, INX »X-AB$(X(1) -X<1-XNX>)

30 IF(DX.LT.DXRN7 DXMNOX EMDIF DYMN«INY*ABSCHY> 1F<1NCY,6T.0) THEN

DO 40 J»1*INV,NNY,INY DY»ABSCY(J)-Y<J-INY>>

40 IF(DY.LT.BYNN) DYNN-DY ENDIF

VPLOT • 68 VPLOT * 69 VPLOT • 70 VPLOT » 71 VPLOT • 72 VPLOT . 73 VPLOT » 74 VPLOT • 75 VPLOT » 16 VPLOT • 77 VPLOT • 78 VPLOT » 79 VPLOT * 60 VPLOT * 61 VPLOT » 62 VPLOT . 83 VPLOT • 84 VPLOT * 85 VPLOT • 86 VPLOT • 87 VPLOT * 88 VPLOT * 89 VPLOT * 90 VPLOT • 91 VPLOT • 92 VPLOT • 93 VPLOT » 94 VPLOT • 95 VPLOT B 96 VPLOT • 97 VPLOT • 98 VPLOT • 99 VPLOT • 100 VPLOT » 101 VPLOT . 102 VPLOT • 103 VPLOT m 104 VPLOT • 105 VPLOT * 106 VPLOT m 107 VPLOT • 108 VPLOT • 109 VPLOT • 110 VPLOT . 111 VPLOT . 112 VPLOT • 113 VPLOT • 114 VPLOT . 115 VPLOT m 116 VPLOT m 117 VPLOT m 118 VPLOT m 119 VPLOT m 120 VPLOT • 121 VPLOT • 122 VPLOT • 123 VPLOT . 124 VPLOT w 125 VPLOT m 126 VPLOT m 127 VPLOT m 128 VPLOT m 129 VPLOT • 130 VPLOT • 131 VPLOT • 132 VPLOT * 133 VPLOT • 134 VPLOT V 135 VPLOT . 136 VPLOT • 137 VPLOT • 138 VPLOT • 139 VPLOT • 140 VPLOT m 141 VPLOT * 142 VPLOT * 143 VPLOT 9 144 VPLOT m 145 VPLOT m 146 VPLOT • 147

Lt t t PPP10 CP.17Ï

12510 12520 1 2 5 » 1 2 5 * 0 C 12550 12540 12570 1 2 5 * 0 1 2 5 * 0 12400 12410 12420 12430 12440 12450 12440 12470 12440 12490 12700 12710 12720 12730 12740 12750 12740 12770 1 2 7 * 0 1 2 7 * 0 1 2 * 0 0 1 2 * 1 0 1 2 * 2 0 1 2 * 3 0 1 2 * 4 0 1 2 * 5 0 1 2 * 4 0 1 2 * 7 0 12SS0 1 2 * 9 0 1 2 * 0 0 1 2 * 1 0 12920 12930 12940 C 12950 12940 C 12970 1 2 9 * 0 12990 13000 C 13010 13020 C 13030 13040 13050 13040 13070 1 3 0 * 0 13090 13100 13110 13120 13130 1 3 U 0 13150 13140 13170 1 3 1 * 0 13190 13200 13210 13220 13230 13240 13250 13240 13270 1 3 2 * 0 13290 C 13300

50

STEP*4HIH1 t » i m r > T l W ) VFAC*SIZE*STEP/ANP TNR*EPS*SUE*STEP

P I - 3 . 1 4 1 5 9 2 4 5 3 5 S 9 * T P I » 2 . * P I Y1SAV«Y<1)-NV 40 40 J*1,NNY, INT

Y1*V1SAV+HY IFUNCY.CT.O) Y I - V ( J ) Y1SA«»T1 X1SAV~X(1)-HX »0 50 1-1,111», 1HX

X1*XUAV*HX IFCINCX.6T .0 ) X l * X ( I > X1SA«*X1 Y1*Y1SAV X2*VFAC*VX( I ,J ) Y2»VFAC«VT(1,J> IFCISUP.E4.1.ANft .AftSCX2).LT.TMI.AI».A*S<V2>.LT.TNR> COTO 50 IF ( ICORt .NE.O) TNEN

OC4SCT1) C « A R I H 1 ( A H A X 1 ( - 1 . , C ) , 1 . ) F L M 1 . IF (Y1 .CT .P1 .A«4 .Y1 .LT .TP1> F L P - - 1 . S*FLP*S4RTC1.-C*C) Y1«X1*$ X1«X1*C X2S*X2 X2»X2S*C-V2*S Y2~X2S*S*V2*C

END IF X2*X1+X2 Y2»T1+Y2 IX1»FX0*X1*XFAC I11»FT0*Y1»YFAC IX2*FX0*X2*XFAC IY2»FY0*V2»VFAC IFCIPQT.C4.1 ) CALL » L C N < I X 1 , - I Y 1 , ' ' , 1 5 , 1 } IF(JVEC.E4.1> CALL M R 0 N 1 < I X l , I Y 1 , I X 2 , l V 2 , L ) I F O V E C . E 4 . 2 ) CALL ARR0N2<IX1, IY1 , IX2 ,1Y2,L>

CONTINUE 40 CONTINUE

RETURN

ENTRY VPLOTX(NX,NT, IVEC,X,Y,NX,NY, INCX, INCY,VX,VY,Nft IH,SIZE,L, A T I T L E , NTITLE,XNAHE,NXMHE,VNAHE,NVNAH£, B RFJAX,I«U4D)

IFMHAX.EO.O . ) SOTO 10

ICORD-1 RHX>AeS(RMAX) NEX*1ABS(NX) NNV*lAtiS(NV) I F ( N N Y . L E - I ) RETURN INX'IABSCINCX) INV>IABS(INCY> HX*X(2)-XC1> HY»V(2>-Y<1> IF ( INCX.LT .O) HX*X(2) IF ( INCY.LT .O) HY*Y<2) XNMO. VNN«0. XNX«RNX THXMNX I4Uft*RAX(IQUAp,1> IF ( IOUB,6T.2 .ANP.RNAX.LT*0 .> I«U»«2 IF ( I 0UD.E0 .2> THEN

XNN«-RHX XRX-RMX YNX«*NX

E L S E I F ( i a U 0 . C a . 3 . O R . I « U » . £ a . 4 ) THEN XNN»-RHX YNN«-RNX

ENPIF GOTO 20

END

«PLOT «PLOT «PLOT «PLOT* VPLOT VPLOT «PLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT VPLOT

1 4 * 149 150 151 152 153 154 155 154 157 1 5 * 159 140 141 142 143 144 145 144 147 1 4 * 1 4 * 170 171 172 173 174 175 174 177 1 7 * 179 1*0 1*1 1*2 1*3 1*4 145 1*4 1*7 1 M 1*9 190 191 192 193 194 195 194 197 19* 199 200 201 202 203 204 205 204 207 20* 209 210 211 212 213 214 215 214 217 2 1 * 219 220 221 222 223 224 22» 224 227

LIME PPP10 CP . 1 1 )

DMO t «PLOT 2 2 *

13320 13330 13340 13350 13340 13370 13300 13390 13400 13410 13420 13430 13440 134S0 1 3 4 * 0 13470 13400 134*0 13300 13510 13520 13530 13540 13550 13540 13570 13500 1 3 5 * 0 13*00 13*10 13*20 13*30 1 3 * 4 0 13*50 1 3 * * 0 1 3 * 7 0 1 3 * 0 0 13490 13700 13710 13720 13730 13740 137SO 13760 13770 137*0 137*0 13S00 1 3 * 1 0 13120 13130 13140 13*50 1 3 * * 0 13*70 1 3 * * 0 1 3 * * 0 13*00 13*10 13*20 13*30 13*40 13*50 1 3 * * 0 13*70 139*0 13*90 14000 14010 14020 14030 14040 14050 140*0 14070 140*0 140*0

•RECR FPLOT SUBROUTINE FPLOT(HX,HY # IVEe.X,T,NPTS, INC,VX,VT,VFAC,L,

* 11TLE,NT1TLE,XNARE,NINAME,YNAHE,*YNAHE) C

FPLOT IS A ONE-DIMENSIONAL VECTOR PLOTTINfi ROUTINE UMI CM PLOTS * THE TWO-DIMENSIONAL FLOW FIEL* «X * M I , T > , VY * 6 C I , Y ) ALMS * OME- • DIMENSIONAL CURVE 1 ( 1 ) , T t l ) , I » 1 , . . , N P T S . CONSERUENTLV, THE VECTO* * COMPONENTS SHOULD I E 6IVEN AS OK-»IHENSIONAL ARRAYS V X C I ) , V T f l ) . * THE AMPLITUDE OF THE VECTOR FIEL» 1$ SCALE» H1TH THE FACTO* VFAC. *

ARGUMENTS: • *

HX/RT - SEE LPLOT. * IVEC - PROVItES DIFFERENT OPTIONS FOR THE PRESENTATION OF THE VEC- •

TOR FIEL» ACCORDING" TO THE FORMULA * lABS(IVEC) > I»0T*10 * JVEC, *

WHERE JVEC DETERMINES THE SHAPE OF THE ARROWHEADS: * JVEC • 1 - SHE ARROHHEA» PROPORTIOHAL TO VECTOR LEMTH •

2 - CONSTANT-SIZE ARROWHEAD, • AN» I»OT PROVI»ES THE OPTION TO IDENTIFY THE RATA POINTS: *

I»0T » 0 - 00 ACTIOR (DEFAULT) * 1 - DOT PLACE» AT THE DATA LOCATIONS. *

IVEC < 0 : ONLY FRAME AN» SCALES FOR THE PLOT ARE DRAHH. • X/T - TABLE OF AISC1SSA/0RRINATE VALUES. • NPTS - lABS(NPTS) IS THE RUNNER OF ELEMENTS IR THE ARRAYS X AN» Y . *

NPTS < 0 : THE VECTORS ARE RRAHN ONTO A FRAME PREVIOUSLY SET • UP BY A CALL TO HFRME OR FPLOT HITH IVEC < 0 . •

INC - I A B S U N O IS fHE SPACING BETWEEN THE X/T POSITIONS PLOTTE». * IHC < 0 : THE Y-POSITIORS PLOTTE» ARE PAIRED UITH ABSCISSA * VALUES DETERMINED BY THE THO VALUES XHM*X<1) AND DX-XC2) , * WHICH THE USER SHOULD IHSERT IN X. •

VX - 1» ARRAY CONTAINING THE X-COMPONENTS OF THE VECTOR FIELD. • VY - ID ARRAY COHTAININC THE Y-COHPONENTS OF THE VECTOR F I E L » . * VFAC - MULTIPLICATIVE FACTOR FOR THE AMPLITUDE OF THE VECTORS. • L - LENGTH OF THE ARROWHEAD» AS AN INTEGER PERCENTAGE OF THE *

VECTOR LENGTH (FOR JVEC>1> OR AS AN ABSOLUTE VALUE IN T£RMS • OF PLOTTING COORDIRATES (FOR JVEC*2>.

TITLE - TITLE FOR THE fiRAPH. XRAHE/YHAHE - LABEL FOR THE X / Y - A X I S . NTITLE/NXNAME/NYNARE - NUMBER OF CHARACTERS IH TITLE/XNARE/TNAHE.

HRITTEH BY HANS GOEDBLOEft 29/U8/SS BY ADAPTIN6 LPLOT.

COMMON /CJE07 / IXL , IXR , IVB ,1YT ,XL ,XR,YB,VT DIMENSION X < » ) , T < » ) , V X C O , V Y < 0 CHARACTER*^) T ITLE, XRAHE,TNAHE

JVEC*H0B(1ABS(1VEC),10) IP0T*H0D( IABS( IVEC) /1Q,10) NTOT*lABS<NPTS> INCAMAttSUNC)

• DRAW THE FRAME. I f ( H P T S . 6 T . Ü ) THEN

I F ( I N C . L T . O ) THEN XHN*XC1) XHX=XC1)+(NT0T-1>«X<2)/INCA

ELSE CALL HAXV<X,NT0T,1NCA,XRX,IDUH) CALL HINV(X,NT0T,1NCA,XNM,I»UM>

END I F CALL MAXV(Y,NTOT,INCA,YHX,IDUM) CALL H I M Y < Y , N T 0 T , I N C A , V H N , I D U H ) CALL NFR»HE(HX,HT,1,XNN,XHX,YHN,YNX,

It T I T L E , N T lTLE,XNAH£,NXNAf l£ ,YHAHE,NYNAME> I F ( I V E C . L T . O ) RETURN

ELSE CALL OFRAHECHX,HY)

END I F

• DRAW THE VECTOR F I E L » , X F A C » C I X R - I X L ) / C X R - X L ) Y F A C » ( I Y T - I Y » ) / ( Y T - Y 8 > K X » 0 . IF(INC.LT.O) HX*X<2> X1«XM>-HX

FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPLOT FPUOT FPLOT

LINE PF*PIO (p. 19)

1 4 1 0 * M 10 I»1 ,NT0T, INCA FPLOT 7 * 14110 t l «11*111 FPLOT . SO 14120 IFC1KC.ST.0) X 1 - X ( I ) FPLOT . «1 141S0 V1*1CI ) FPLOT* . «2 14140 IX1*HIN(HAX<IXL, IXL*1NT<IX1-XL>*XFAC>>, IX I> FPLOT . «3 141S0 IV1« I I INC I IAXt IY0 , IVB* INTUY1-VB)«VFAC) ) , IVT ) FPLOT . «4 14140 I F U B 0 T . E B . 1 ) CALL R L C H t I X 1 , - I Y 1 # ' * , 1 5 , 1 ) FPLOT SS 14170 X2*X1+»X(I ) *VFAC FPLOT . 66 141SO Y2*Y1*VY( I ) *VFAC FPLOT . S7 14190 IX2«IXL*1NT((X2-XL>*XFAC> FPLOT . SS 14200 IY2»IYB*INTCCY2-VB.)*YFAC) FPLOT . 89 14210 I F ( I X 2 . L T . I X L . 0 R . I X 2 . G T . I X R . 0 R . I Y 2 . L T . I V B . 0 R . I Y 2 . G T . I V T ) THEN FPLOT . 90 14220 C • IF VECTOR WOULD CROSS THE BOUNDARY, SUPPRESS ARROWHEAD FPLOT . 91 14230 C • AND PART OF THE VECTOR OUTSIDE TME DOMAIN. FPLOT . 92 14240 1XX«HI I | (MAX{ IXL,1X2) , IXAÏ FPLOT . 93 14230 1YV*MN(NAXC1YB,IV2>, IYT> FPLOT . 94 1 4 2 * 0 IVVSslVY FPLOT . 93 14270 I F U X X . N E . I X 2 > I T Y * I Y 1 + ( I V 2 - I V 1 ) * ( I X X - I X 1 ) / C I X 2 - I X 1 ) FPLOT . 96 142B0 I F C I Y V S . N E . I Y 2 . A R B . C I Y Y . L E . I Y 8 . 0 R . I V V . S E . I Y T ) ) THEN FPLOT . 97 14290 I X X « I X 1 * ( I X 2 - I X 1 ) * ( I V V S - I Y 1 ) / ( I V 2 - I Y 1 ) FPLOT . 9S 14300 IVY* lTYS FPLOT . 99 14310 ENDIF FPLOT . 100 14320 CALL D R V C I X 1 , I Y 1 , I X X , I Y V ) FPLOT . 101 14330 ELSE FPLOT . 102 14340 I F ( J V E C . E O . I ) CALL A R R 0 N 1 ( I X 1 , I V 1 , I X 2 , I V 2 , L > FPLOT . 103 14330 1F(JVEC.E«.2> CALL ARR0W2(1X1,1Y1, IX2, IV2,L> FPLOT . 104 1 4 3 * 0 ENBIF FPLOT . 105 14370 10 CONTINUE FPLOT . 106 143S0 RETURN FPLOT . 107 14390 END FPLOT . 10S 14400 C FPLOT . 109

14410 14420 14430 14440 14450 14460 14470 144B0 14490 14300 14510 14520 14530 14540 14550 14560 14570 145S0 14590 14600 14610 14620 14630 14640 14650 14660 14670 146S0 14690 14700 14710 14720 14730 14740 14750 14760 14770 14780 14790 14800 14810 14820 14830 14840 14850 14860 14870 14880

•BECK ARROWl SUBROUTINE ARR0W1t1X1, IY1,1X2,1Y2,L>

SUBROUTINE ARROWl THE HEIGHT AND THE Hl LEN6TH OF THE ARROW B THE ARGUMENT L PROVID PERCENTACE OF THE VEC MR PROVIDES THE MIDTH

THROUGH ENTRY ARR HEAD ARE DRAWN. THIS L PROVIDES THE ABSOLU COORDINATES).

DRAWS AN ARROW F DTH OF THE ARROHH Y THE VARIABLES H ES THE LENGTH OF TOR LENGTH R) AND

RELATIVE TO THE 0H2 ARROWS WITH A

LENGTH IS FIXED TE LENfiTH OF THE

RON ( 1 X 1 , I Y 1 ) TO ( 1 X 2 , I V 2 ) . • EAD ARE FIXED RELATIVE TO THE *

AND W, WHERE H - L /100 ( I . E . , * THE ARROWHEAD AS AN INTE6ER *

W * HR*H ( I . E . , THE PARAMETER • HEIGHT OF THE ARROWHEAD. •

CONSTANT LENGTH OF THE ARROW- • BY THE ARGUNENT L * H«R ( I . E . , * ARROHHEAD IN TERNS OF PLOTTING »

*

WRITTEN HGO 2 9 / 0 6 / 8 5

PARAMETER (WR=.35)

H-REAL(L)/100. 10 CALL DRV(IX1,IV1,IX2,IY2)

IF(L.EO.O) RETURN W*WR«H IHX*H*<IX2-IX1) IHY=H*(IY2-1Y1> IWX»W*UX2-IX1) IWY=W*(1Y2-IY1> IX3*IX2-IHX+lWY IT3»IY2-IWX-1HY IX4*IX2-IHX-1WV IY4»IY2*IWX-1HV CALL DRWA8S(IX3,IY3) CALL DRWABS(1X4..1T4> CALL DRWABS(IX2,IY2) RETURN

• ENTRY FOR DRAWING CONSTANT-SIZE ARROWHEADS. ENTRY ARR0W2<IX1,IY1,1X2,IY2,L> R«SaRT(REAL((IX2-IXl)«*2*(IV2-IYl>**2>) IF(R.LT.REALU)) THEN

CALL DLCH(IX1,-IY1,' ',15,1) RETURN

ENDIF H«REAL(L)/R G010 10

END

ARR0W1 ARR0W1 ARR0W1 ARR0M1 ARR0W1 ARR0W1 ARR0W1 ARR0H1 ARR0W1 ARR0W1 ARR0W1 ARROWl ARR0W1 ARR0W1 ARR0W1 ARR0W1 ARR0W1 ARR0W1 ARROWl ARROWl ARROWl ARROWl ARR0W1 ARR0W1 ARR0W1 ARR0W1 ARR0W1 ARR0W1 ARR0W1 ARR0W1 ARR0U1 ARR0W1 ARR0W1 AR80W1 ARR0W1 ARR0W1 ARR0W1 ARR0W1 ARR0U1 ARR0W1 ARR0W1 ARR0W1 ARR0W1 ARR0W1 ARR0W1 ARR0W1 ARR0W1 ARR0W1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 26 29 30 31 32 33 36 35 36 37 38 39 40 41 42 43 44 45 46 47 48

LIME PPP10

14890 14900 14910 14920 14930 14940 149S0 14960 14970 14980 14990 15000 15010 15020 15030 1S04U 150S0 1S060 15070 15080 15090 15100 15110 15120 15130 15140 15150 15160 15170 15180 15190 1S200 1S21U 15220 15230 15240 15250 15260 15270 15280 15290 15300 15310 15320 15330 15340 15350 15360 15370 15380 15390 15400 15410 15420 15430 15440 1S45U 15460 15470 15480 15490 15500 1551U 15520 15530 15540 15550 15560 15570 15580 15590 15600 15610 15620 15630 15640' 15650 15660 15670

•DECK SPLOT SUBROUTINE SPLOT(HX,HY, IS, IOP,YX,ZXY,NX,NY, INCYX,Z,NDIH, IJARR,NS,

A TITLE,NTITLE,XNAHE,NXNAHE,VNAHE,NYNAHE) C

SPLOT PLOTS THE ONE-DIMENSIONAL CROSS-SECTIONS OF THE TUO-DINEN- * SIOMAL FUNCTION Z < X ( I ) , V ( J > ) IN THE X- OR Y-DIRECT10N, DEPENDING ON * THE VALUE OF I S . THE VALUES OF THE X- OR Y-INDICES NAY BE SPECIFIED * IN THE ARRAY IJARR(ISEC), «HERE ISEC=1,NS. *

ARGUMENTS:

HX/NY IS

IOP

YX 2XY

NX

NV

INCYX

- SEE LPLOT. * - DETERMINES WHETHER X- Oft Y-SECTIONS ARE PLOTTED. •

IS = 1 : X-SECTION ZX PLOTTED AS A FUNCTION OF Y. * IS = 2 : V-SECTION ZY PLOTTED AS A FUNCTION OF X. * HENCE, FOR EXPRESSIONS XV READ: X FOR I S - 1 , V FOR I S » 2 , • AND VICE VERSA FOR YX. •

- SEE LPLOT. * IF IOP > 10 ( I . E . , CHARACTERS ARE PLACEP ON THE CURVES), * THE CHARACTER NUMBER IC IS AUTOMATICALLY INCREMENTED FOR * THE NS DIFFERENT CURVES SPECIFIED. E . G . , IF 10P>30961, A • LOWER CASE 'A 1 IS PLACED AT EVERY 3RD POINT ON THE FIRST * CURVE, A LOWER CASE 'B> ON THE SECOND CURVE, ETC. *

- TABLE OF THE ABSCISSA VALUES FOR THE PLOTS. * - AN ARRAY THAT HOLDS THE X/Y-SECTIONS OF THE FUNCTION Z . •

IT SHOULD BE DIMENSIONED NY/NX IN THE CALLING PROGRAM. * - THE NUMBER OF POINTS IN THE X-DIRECTION, I . E . THE NUMBER OF *

POINTS IN A Y-SECTION PLOT. • NX < 0 : ONLY THE FRAME AND SCALES FOR THE PLOT ARE DRAWN. *

- THE NUMBER OF POINTS IN THE Y-DIRECTION, I . E . THE NUMBER OF * POINTS IN A X-SECTION PLOT. * NY < 0 : SECTIONS ARE DRAWN ON A FRAME PREVIOUSLY CREATED * BY A CALL TO SPLOT WITH NX < 0 OR A DIRECT CALL OF NFRAHE • CIN ORDER TO SPECIFY A FRAME SIZE DIFFERENT FROM THE ONE * IMPLIED BY THE RANGES OF YX AND ZXY) . *

- IABSUNCVX) IS THE SKIP PARAHATER FOR YX. • INCYX < 0 : YXMIN - YXC1) AND DYX > YX(2>. •

- THE TWO-DIMENSIONAL TABLE OF VALUES DIMENSIONED AT LEAST AS * NX BY NY IN THE CALLING PROGRAM.

- THE FIRST DIMENSION OF THE ARRAY Z. HENCE: NX < - NDIM. - CONTAINS THE X/Y INDICES AT WHICH TO TAKE SECTIONS AND

DIMENSIONED BY NS. - THE NUMBER OF ROWS OR COLUMNS AT WHICH TO TAKE SECTIONS.

NS < 0 : SPLOT AUTOMATICALLY FILLS IJARR WITH NS VALUES. NS > 0 : IJARR IS SUPPLIED BY THE USER.

- TITLE FOR THE GRAPH. XNAME/YNAME - LABEL FOR THE X / Y - A X I S . NTITLE/NXNAHE/NYNAME - NUMBER OF CHARACTERS IN TlTLE/XNANE/YNAME.

NO IN IJARR

NS

TITLE

WRITTEN BY BRENDAN GODFREY MODIFIED BY DEB8V HYP1AN 7-79 FOR THE CRAY ADDED ARGUMENTS IS AND NDIM, HGO 2 3 / 1 2 / 8 5 .

£»#****#***»»********»******»**********»*****#•*************»*»********* c

DIMENSION Y X < * ) , Z X Y ( * } , Z <NDIB,* ) , IJARRC*) CHARACTER*^) TITLE,XNAME,YNAME

C N»X=IABS(NX) NNY-IABS(NY) I F U S . E 0 . . 1 ) THEN

NNXY*NNX NNYX=NNY

ELSE NNXV*NNY NNYX*NNX

ENDIF

• DRAW FRAME AND SCALES. 1FCNY.GT.0) THEN

• DETERMINE THE RANGE OF ALL POSSIBLE ZXY'S. CALL MINM(Z,NDIR,NNX /NNY,1 /1,ZXYMIN,IDUM,JDUM) CALL MAXMCZ,N0IN,NNX /NNY,1,1,ZXYHAX,IDUM,JDUM) • DETERMINE THE RANGE OF YX. YXMINsYXO) YXMAX«YX<1)+YX(2)«(NNYX-1)/IABS(1NCYX) IF( INCYX.GT.O) YXMAX>YX(NNYX) CALL NFRAME<HX,HY,IABS<I0P>,YXNIN,YXMAX,ZXYM1N,ZXYMAX,

» TITLE/NTITLE/XNAME,NXNAME/YNAHE/NYNAME)

SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT SPLOT

LINE

15680 15690 15700 15710 15720 15730 15740 15750 15760 15770 15780 15790 15800 15810 15820 15830 15840 15850 15860 15870 15880 15890 15900 15910 15920 15930 15940 15950 15960 15970 15980

15990 16000 16010 16020 16030 16040 16050 16060 16070 16080 16090 16100 16110 16120 16130 16140 16150 16160 16170 16180 16190 16200 16210 16220 16230 16240 16250 16260 16270 16280 16290 16300 16310 16320 16330 16340 16350 16360 16370 16310 16390 16400 16410 16420 16430 16440 164J0 16460

* IF NX < 0 , DRAW FRAME AND SCALES ONLY. IF (NX .LT .O) RETURN

ELSE * DRAW SECTIONS ONTO PREVIOUSLY DRAUN FRAME. CALL OFRANE(HX,HY>

END IF

• DETERMINE THE NUMBER AND INDICES OF THE SECTIONS. N0S*IA6S(NS) IF(NS.LT.O) THEN

* STORE UNIFORMLY SPACED INDICES AL0N6 XT IN THE ARRAY UARR. DXY~REAL(NNXY>/REAL(NOS) DO 10 1SEC«1,N0S

10 IJARR(1SEC)*<ISEC-0.S)*DXY ENDIF

* FILL THE ARRAY ZXY AND PASS IT ONTO LPLOT. DO 30 ISEC-1,N0S

DO 20 JI«1,NNYX I F U S . E Q . 1 ) Z X Y O l > * Z ( I J A R R ( l $ E C ) , J I > I F U S . E 0 . 2 ) Z X Y U 1 ) * Z U I , I J A R I C I S E C ) )

20 CONTINUE I0P1 - IOP IFCIOP/10 .NE.O) I0P1«IOP+CISEC-1)*10 CALL L P L 0 T ( H X , H Y , I 0 P 1 , Y X , Z X Y , - N N T X , I N C Y X ,

A TITLE,NTITLE,XNANE,NXNAHE,VNAHE,NYNArtE) 30 CONTINUE

RETURN END

•DECK APLOT SUBROUTINE APLOT(MX,MY,IA,YX,AVXY,NX,NY,INCYX,Z,ND1M,I.11,1 J2 ,

A TITLE,NTITLE,XNAME,NXNAME,YNARE,NYHANE) C

APLOT AVERAGES OVER THE TWO-DIMENSIONAL FUNCTION Z ( X ( I ) , Y ( J > > IN ONE DIRECTION (X OR V, DEPENDIN6 ON THE VALUE OF IA) AND PLOTS THE RESULT WITH RESPECT TO THE OTHER DIRECTION. AVEAA61N6 NAY BE L I M I ­TED TO A SPECIFIED BAND OF INDICES I J 1 - I J 2 IN THE X- OR Y-DIRECTION. THIS SUBROUTINE ONLY PERFORMS THE AVERA6IN6 CALCULATION; IT CALLS LPLOT TO DRAW THE RESULTINC CURVE.

ARGUMENTS:

MX/NY 1A

YX AVXY

NX

NY

1NCYX

NDIH IJ1

SEE LPLOT. DETERMINES WHETHER X- OR Y-AVERA6ES ARE PLOTTED. IA > 1 : X-AVERA6E AVX PLOTTED AS A FUNCTION OF V. IA - 2 : Y-AVEAAGE AVY PLOTTED AS A FUNCTION OF X. HENCE, FOR EXPRESSIONS XY READ: X FOR I A « 1 , Y FOR I A - 2 , AND VICE VERSA FOR YX. TABLE OF THE ABSCISSA VALUES FOR THE PLOT. AN ARRAY THAT HOLDS THE X/Y-AVERAGES OF THE FUNCTION Z. IT SHOULD BE DIMENSIONED NY/NX I N THE CALLIN6 PROGRAM. THE NUMBER OF POINTS IN THE X-»IRECT10N, I . E . THE DUMBER OF POINTS IN A Y-AVERAGE PLOT. NX < 0 : ONLY THE FRAME AND SCALES FOR THE PLOT ARE DRAWN. THE NUMBER OF POINTS IN THE Y-DIRECTION, I . E . THE NUMBER Or POINTS IN A X-AVERAGE PLOT. NY < 0 : AVERAGES ARE DRAUN ON A FRAME PREVIOUSLY CREATED BY A CALL TO APLOT WITH NX < 0 OR A DIRECT CALL OF NFRAME U N ORDER TO SPECIFY A FRAME SIZE DIFFERENT FROM THE ONE IMPLIED BY THE RAHGES OF VX AN» AUXY). lABS(INCYX) IS THE SKIP PARAMATER FOR YX. INCYX < 0 : YXM1N • YX(1) AND DYX • YX<2) . THE TWO-DIMENSIONAL TABLE OF VALUES DIMENSIONED AT LEAST AS NX BY NY IN THE CALLING PR06RAM. THE FIRST DIMENSION OF THE ARRAY 1. HENCE: NX < • NDIM. THE INDEX OF THE FIRST CELL IN THE AVERAGE CALCULATION.

THE VALUE 1 FOR AVEMGING OVER THE WHOLE RANGE 1J1 < • 0 IS TAKEN.

I J2 - THE INDEX OF THE LAST CELL OF THE BAND TO AVERAGE OVER. I J 2 <« 0 s THE VALUE NX/NY FOR AVERAGING OVER THE WHOLE RANGE IS TAKEN.

TITLE - TITLE FOR THE GRAPH. XNAME^YNAME - LABEL FOR THE X /Y-AXIS . NTITLE/NXNAME/NYNAME - NUMBER OF CHARACTERS IN TITLE/XNAME/YNAME.

WRITTEN BY DENNIS HEWETT

PPP10 (P .21)

SPLOT . «0 SPLOT . 81 SPLOT . 82 SPLOT* . 83 SPLOT . 84 SPLOT . 85 SPLOT . 86 SPLOT . 87 SPLOT . 68 SPLOT . 89 SPLOT . 90 SPLOT . 91 SPLOT . 92 SPLOT . 93 SPLOT . 94 SPLOT . 95 SPLOT . 96 SPLOT . 97 SPLOT . 98 SPLOT . 99 SPLOT . 100 SPLOT . 101 SPLOT . 102 SPLOT . 103 SPLOT . 104 SPLOT . 105 SPLOT . 106 SPLOT . 107 SPLOT . 10ft SPLOT . 1U9 SPLOT . 110

APLOT . 1 APLOT . 2 APLOT 3 APLOT . 4 APLOT . 5 APLOT . 6 APLOT 7 APLOT . 8 APLOT . 9 APLOT 10 APLOT 11 APLOT . 12 APLOT . 13 APLOT 14 APLOT . IS APLOT . 16 APLOT . 17 APLOT 18 APLOT . 19 APLOT . 20 APLOT . 21 APLOT . 22 APLOT . 23 APLOT . 24 APLOT . 25 APLOT . 26 APLOT . 27 APLOT . 28 APLOT . 29 APLOT . 30 APLOT . 31 APLOT . 32 APLOT . 33 APLOT . 34 APLOT . 35 APLOT . 36 APLOT . 37 APLOT . 38 APLOT . 39 APLOT . 40 APLOT . 41 APLOT . 42 APLOT . 43 APLOT . 44 APLOT . 45 APLOT . 46 APLOT . 47 APLOT . 48

LINE PPP10 <P . 2 2 )

16470 16480 16490 16500 16510 16520 16550 16540 16550 16560 16570 16580 16590 16600 16610 16620 16630 16640 16650 16660 16670 16680 16690 16700 16710 16720 16730 16740 167S0 16760 1677Ü 16780 16790 16800 16810 16820 16830 16840 16650 16860

MODIFIED BY DE88T HYKAN 5 - 8 0 , FOR -HX OR -MY TO TRIGGER SEPARATE DRAWING OF THE FRAME AND THE CURVE. ADDED ARGUMENTS 1A AND NDIH, SEPARATED X- AMD Y-AVERAGE PLOTS, IMPROVED HANDLING OF THE SKIP PARAMETER, HGO 2 3 / 1 2 / 8 5 .

DIMENSION Y X ( * ) , A V X V ( * ) , Z ( N D I H , * ) CHARACTERS*) TITLE,XNAHE, YNAHC

NNX=1ABSINX) NNY=1A6S(NT) I F ( I A . E O . I ) THEN

NNXY*NNX NNYX=NNY

ELSE NNXY^NNY NNYX^NNX

ENDIF

* INSTALL BAND OF INDICES TO AVERAGE OVER, IF DESIRED. IJ11»1 I F U J 1 . G T . l i ) IJ11 = 1J1 IJ22*NNXY I F U J 2 . S T . P ) I J 2 2 = I J Z

* COMPUTE THE AVERAGE AVXV. DO 20 JI*1,NNYX

AVXYCJI)»0. DO 10 I J « I J 1 1 , I J 2 2

I F U A . E Q . 1 ) AVXYCJI )»AVXVUI>+ZCIJ ,J I ) IFCIA.EQ.2) AVXY<J I )=AVXYCJI ) *Z (J I , I J )

10 CONTINUE 20 AVXY<JI>=AVXY<JI) /AEAL<IJ22- IJ11*1)

* PLOT AVXY AS A FUNCTION OF YX. CALL LPL0T(HX,NY, ISI6N(1 ,NX) ,YX / AVXY, ISIGN(NNYX,NY) , INCYX,

A TITLE,NTITLE,XNAME,NXNAME,YNAME,NYNAME) RETURN END

* APLOT * APLO? * AP >T * APLOT * APLOT

APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT APLOT

16870 16880 16890 16900 16910 16920 16930 16940 16950 16960 16970 16980 16990 17000 17010 17020 17030 17040 17Q5U 17060 17070 17080 17090 17100 17110 17120 17130 1714Ü 17150 17160 1 7 1 ; , 171&n 17')-.-17200 17210. 17220 17230 17240 17250

*'ECK TPLOT SUBROUTINE TPLOT<MX,MY,IVERT,NX,NV,INCX,INCY,Z,NDIM,

A T I T L E , N U T LE,X NAM E,NXNAME,YNAHE,NYNAHE) C c * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

1ASLES OH A RECTANGULAR THE GRID »OINTS. THE UK E OF THE FUNCTION: 1VERT=1 (LINEAR), 1VERT-2 (0UASI-L06),

ATEMENT BELOW. THE ORIENTATION OF THE X-

T FOURIER COMPONENTS UDE 3-D PLOT. ONLY

THIS ROUTINE PLOTS A FUNCTION OF TWO VAR GRID AS A SET OF VERTICAL LINES RISING FROM HEIGHT OF THE LINES IS RELATED TO THE AMPLIT

FHZ(1,J)/2HAX FOR GH(WHH*A!.0G1O<ZCI,J>/ZAAX2>> FOR

WHERE FM,GH,HM ARE FIXED IN THE PARAMETER ST PARAMETERS DM,ON,EM DETERMINE THE LENGTH AND AND Y-AXES. TPLOT NAY BE USED, E.« , , TO PLO WITH A VERTICAL LOG SCALE, IT PRODUCES A CR POSITIVE VALUES OF Z ARE PLOTTED.

ARGUMENTS:

MX/MY - SEE LPLOT. IVERT - DETERMINES WHETHER THE VERTICAL SCALE OF THE PLOT IS LINEAR

OR QUASI-LOGARITHMIC. NX - NUMBER OF POINTS IN THE X-DIRECTION. NY - NUMBER OF POINTS IN THE Y-DIRECTION. INCX - SKIP PARAMETER FOR X. INCV SKIP PARAMETER FOR Y. I - 2-0 ARRAY OF VERTICAL HEIGHTS. NDIH - THE FIRST DIMENSION OF THE ARRAY Z. TITLE - TITLE FOR THE GRAPH. XN-* E/YNAME - LABEL FOR THE X/Y-AXI! : r uE/NXNAME/NYNAME - NUMBER OF CHARACTERS

HENCE: NX <• NDIM.

IS CREFERS TO INDICES!). IN TITLE/XNAME/YNAME.

C WRITTEN BY PAVE FORSLUND ADDED ARGUMENTS IVERT AND NDIM, INTRODUCED PARAMETERS DNI AND FM,

C IMPROVED SCALES, HGO 24/12/85. C»«*****»*••+**#*******#****#*******#**************«*******»•#«*•#*##*# C

PARAMETER <DM=.57,DN*.91,EM*.82,FM»2.,6M».1,HH«.33> C

COMMON /Cje07/IXL,IXR,IYB,IYT,XL,XR,Yb,YT

TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPI.OT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT TPLOT

LINE

1 7 2 * 0 17270 172 SO 17290 17S00 17510 17320 17330 17340 173S0 17360 17370 17180 17390 17400 17410 17420 17430 17440 17450 17460 17470 17480 17490 17500 17510 17520 17530 17540 17550 17560 17570 17560 17590 17600 17610 17620 17630 17640 17650 17660 17670 17680 17690 17700 17710 17720 17730 17740 17750 17760 17770 17760 17790 17800 17810 17820 17830 17640 17850 17860 1787Ü 17880 17890 17900 17910 17920 17930 17940 17950 17960 17970 17980 17990 18000 18010 18020 18030 18040 18050

DIMENSION 2(N»IM,*> CHARACTER^*) TITLE,XNAKE,VNAHE CHARACTER*? STRIN6

CALL HFRANE(HX,flY,S,0.,1 .,Q.,1., A TITLE,NTITLE,' «,1#' ',1>

* DETERMINE THE NAXINUH OF Z (ZHAX2 IS THE NEXT LARGEST VALUE). ZHAXsO. ZHAX2sO. 60 10 J«1,NY,INCY

DO 10 1-1,NX,INCX ZHAX2=AHAX1(ZNAX2,Z(I ,J)) IFCZMAX2.GT.ZNAX) THEN

Z«AX2=Z«AX ZHAX=Z(I,J>

EN» IF 10 CONTINUE

CALL DLCH(IXL,IYT-20,'ZNAX**,5'2> URITE(STRING,,(1PE9.2)>) ZHAX CALL DLCHCIXL,1YT-36,STRING,9,2) MRITE(STRIN6,'(1PE9.2>') ZHAX2 CALL DLCHUXL,IYT-52,STRIN6,9,2)

* SCALE FACTORS. ftHAX*(NX-1.)/DH EMAX*<NY-1.)/EM AOHAX*(DN-DH>/(ERAX*EH)

* DRAW X- AND Y-AXIS. CALL CONVRT(0.,I0,0.,DHAX,IXL,IXR) CALL CONVRT(0.,J0,0.,EHAX,IY8,IYT) CALL C0NVRT(NX-1.,I1,0.,DHAX,1XL,IX8) CALL CONVRT(NX-1.+A*tNY-1.),I2,0.,Dr„X,IXL,IXR) CALL CONVRT(NY-1.,J1,0.,EHAX,IYB,IVT) CALL DRV(10,JO,I1,JO) CALL DRVC11,J0,I2,J1)

* SCALE AND LABEL X-AXIS. CALL DLCH(I0-6,J0-22,'1',1,2> IFCNX.LT.10) THEN

NC=1 WRITE(STRING,'CI1)')

ELSEIFCNX.LT.100) THEN NC«2 H R I T E { S T R I N S , ' ( I 2 ) ' )

ELSEIFCNX.LT.1000) THEN NC-3 URITECSTRIN6, 'C I3> ' )

END IF CALL DLCH( I1 -NC*6 ,J0 -22 ,5TRIN6 ,NC,2 ) CALL DLCHt(10*11) /2-»XNAHE*6,J0-43 /XNAHE /NXNANE /2)

* SCALE AND LABEL Y-AXIS . CALL DRVCI1 ,J0 , I1+15 ,JO) CA..L DRW( I2 ,J1 ,12+15 ,J1 ) CALL D L C H ( I 1 * 2 0 , J O - 8 / * 1 , , 1 / 2 > IFCNY.LT.10) THEN

NC«1 tfRITECSTftlNC'CH)') NY

ELSEIFCNY.LT.100) THEN NC«2 U R I T E ( S T R I N G / ' C I 2 } ' ) NY

E L S E I F C N Y . L T . 1 0 0 0 ) THEN NC*3 W R I T E ( S T R I N 6 , ' U 3 ) ' ) NY

ENDIF CALL DLCHt12+20,J1-8 ,STRIN6,NC,2) CALL DLCHC(11+12)/2+50,(J0+J1)/2-8,YNAME,NYNAPU,2)

* PLOT Z ( 1 , J ) . C O . IFCIVEHT.EQ.1) THEN

IFCZNAX.6T.0 . ) C»FM/Z«AX ELSEIFCIVERT.E8.2) THEN

IFCZNAX2.6T.0 . ) C»1 .-HFUALOG10CZNAX2) GME*GH*EHAX

ENDIF DO 20 J»1,NY,INCY

NX

NX

NX

PPP10 ( P . 23)

TPLOT m 40 TPLOT • 41 TPLOT » 42 TPLOT • 43 TPLOT • 44 TPLOT * 45 TPLOT » 46 TPLOT m 47 TPLOT m 48 TPLOT • 49 TPLOT * 50 TPLOT * 51 TPLOT * 52 TPLOT . 53 TPLOT » 54 TPLOT * 55 TPLOT • 56 TPLOT « 57 TPLOT • 58 TPLOT * 59 TPLOT » 60 TPLOT • 61 TPLOT • 62 TPLOT • 63 TPLOT • 64 TPLOT * 65 TPLOT * 66 TPLOT * 67 TPLOT • 68 TPLOT • 69 TPLOT • 70 TPLOT • 71 TPLOT * 72 TPLOT * 73 TPLOT * 74 TPLOT * 75 TPLOT » 76 TPLOT • 77 TPLOT » 78 TPLOT * 79 TPLOT * 80 TPLOT » 81 TPLOT • 82 TPLOT * 83 TPLOT • 84 TPLOT » 85 TPLOT » 86 TPLOT m 87 TPLOT * 86 TPLOT • 89 TPLOT * 90 TPLOT » 91 TPLOT • 92 TPLOT • 93 TPLOT m 94 TPLOT • 95 TPLOT • 96 TPLOT • 97 TPLOT * 98 TPLOT * 99 TPLOT • 100 TPLOT • 101 TPLOT • 102 TPLOT • 103 TPLOT • 104 TPLOT * 105 TPLOT * 106 TPLOT • 107 TPLOT m 108 TPLOT m 109 TPLOT # 110 Tr.OT • 111 TPLOT . 112 TPLOT • 113 TPLOT • 114 TPLOT • 115 TPLOT • 116 TPLOT • 117 TPLOT * 118 TPLOT • 119

LIRE PPP10 CP . 2 4 )

1*060 E0«REALCJ-1) TPLOT 18070 DO*A*EO TPLOT 18080 DO 20 I -1 ,NX, INCX TPLOT 11090 t=DQ+REAL(I-1> TPLOT 18100 E*EO TPLOT 18110 1FCIVERT.E4.1) THEN TPLOT 18120 I F ( Z ( I , J ) . G T . O . ) E*E*ANAX1(0 . ,C*Z< I ,J>) TPLOT 18130 ELSEIFUVERT.EQ.2) THEN TPLOT 18140 I F ( Z ( 1 , J ) . 6 T . 0 . > E « E * A M A X K 0 . , 6 M E * ( C + H H * A L 0 6 1 9 ( Z U , J ) ) ) ) TPLOT 18150 END!F TPLOT 18160 CALL CONVRT(D, ID,0 . ,DHAX, IXL, IXR) TPLOT 18170 CALL C0NVRT(E0, IE0 ,0 . ,EMAX, IY8 , IVT> TPLOT 18180 CALL CONVRT(E, IE ,0 . ,ENAX, IYB, IYT} TPLOT 18190 I F U A B S ( I E - I E O ) . G T . I ) THEN TPLOT 18200 CALL D R V ( I D , I E , I D , I E 0 ) TPLOT 18210 ELSE TPLOT 18220 CALL D L C H ( I D , - 1 E 0 , * * , 1 S , 2 ) TPLOT 18230 ENDIF TPLOT 18240 20 CONTINUE TPLOT 18250 C TPLOT 18260 RETURN TPLOT 18270 END TPLOT 18280 C TPLOT

18290 18300 18310 18320 18330 18340 18350 18360 18370 18380 18390 18400 18410 18420 18430 18440 18450 18460 18470 18480 18490 18500 18510 18520 18530 18540 18550 18560 18570 18580 18590 18600 18610 18620 18630 18640 18650 18660 18670 18680 18690 18700 18710 18720 18730 18740 18750 18760 18770 18780 18790 18800 18810 18820 18830 18840

•DECK P3PL0T SUBROUTINE P 3 P L 0 T ( M X , H Y , R , T H , H R , N T H , F , N D I H , T H X , T H Y , . T I T L E , N T I T L E )

C C f t * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

SUBROUTINE P3PL0T PRODUCES A THREE-DIMENSIONAL POLAR PLOT OF THE • FUNCTION F ( R C I ) , T H ( J > ) , 1 * 1 , . . , N R , J * 1 , . . , N T H . *

ARGUMENTS:

NX/NY - SEE LPLOT. R - ID ARRAY OF RADIAL COORDINATES. TH - 1D ARRAY OF ANGULAR COORDINATES CIN RADIANS). NR - NUMBER OF POINTS IN THE RADIAL DIRECTION. NTH - NUMBER OF POINTS IN THE ANGULAR DIRECTION. F - 2D ARRAY OF FUNCTION VALUES. NDIN - THE FIRST DIMENSION OF THE ARRAY F. HENCE: NR < * NDIH. THX - ANGLE ( I N DEGREES!) AT WHICH THE X-AXIS IS TO BE DRAWN. THY - ANGLE ( I N DEGREES!) BETWEEN THE X- AND Y-AXIS . TITLE - TITLE FOR THE GRAPH. NTITLE - NUHBER OF CHARACTERS IN T ITLE .

WRITTEN BY R.H. FRANK, 1975. ADAPTED TO PPPLIB, HGO 2 4 / 0 4 / 8 6 .

COMMON /CJE07 / IXL , IXR,1YB,1YT,XL,XR,YB,YT DIMENSION R ( * ) , T H ( « ) , F ( N D I H , * ) CHARACTERS*) TITLE DIMENSION J X f t L C 3 ) , J V T S ( 6 ) , X ( 2 ) , Y ( 2 ) CHARACTERS LAB(2,2>

DATA J X R L / 9 0 0 , 4 0 0 , 4 0 0 / , . I V T B / 6 4 5 , 2 8 S / 2 8 5 / 1 6 5 , 1 6 5 / 1 6 S / DATA LAB/' 0 ' , ' 9 0 ' , ' I S O ' , ' 2 7 0 ' /

P I -3 .1415926535598 DGR*PI /180.

• DETERMINE FRAME COORDINATES. CALL HAXV(R,NR,1,RMAX,IRM) CALL MAXAM(F /NDIM /HR /HTH /1 /1 /FMAX,IDUH,JDUM) SX*S1N<THX«D6R> CX»C0SCTHX*D6A> SXY»SIN((THY+THX)*D6R) CXY*COS((THV+THX)*DGR) XMX*RNAX*CX YHX*RHAX«SX DO 10 J«1 ,71

THETA*J*S.*DGR 8«SIN(THETA) T-COS(THETA) XMX»AMAX1(XMX,RMAX*(T*CX*G*CXV>> YMX«AMAX1(VMX,RMAX*(T*SX+0*SXV))

10 CONTINUE XHX«XHX«1.125 XHM-XHX VHM-YHX

P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PLOT P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P„PLOT P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T P3PL0T

LIME PPP10 CP.25)

18850 18860 18870 18880 18890 18900 18910 18920 18930 18940 18950 18960 18970 18980 18990 19000 19010 19020 19030 19040 19050 19060 19070 19080 19090 19100 19110 19120 19130 19140 19150 19160 19170 19180 19190 19200 19210 19220 19230 19240 19250 19260 19270 19280 19290 19300 19310 19320 19330 19340 19350 19360 19370 19380 19390 19400 19410 1942U 19430 19440 19450 19460 19470 19480 19490 19500 19510 19520 19530 19540 19550 19560 19570 19580 19590 19600 19610 19620 19630 19640

S-ABSC(YRX-YRN)/ (2.* fMAX)) 60 20 J=1,NTH

a=SIN(TH(J) ) *5XY*C0SCTH(J)>*5X 00 20 1=1,MR

YTEST-RC1)*Q*S*FCI,J) YRX*ARAX1(YRX,TTEST) YMNBANINI(YMN,YTEST)

20 CONTINUE YHX:YHX*1.125 YftN=YHN*1.125 IHXiROD(IABS(HX>,10> INVsMOD(IABS(MY),10> IF((XHX-XRN)/(YRX-YRH).LT.REALC JXRL(1HX))/JYTBCINY) > THEM

HXX=20+IRX HYY-10+IRY

ELSE RXX=10+IHX HYY=20*IRY

END IF CALL NFRANE(nXX,MVY,5,XMN,XHX,VHN,YHX,TITLE,NTITLE,* ',1,' ',1>

XFAC=CIXR-1XL)/CXR-XL) YFAC«tIYT-IYB>/<YT-Y8) IXO*IXL-I»T(XL*XFAC> IY0=IYB-1NT<YB*YFAC)

• DRAW BOUNDARY CURVE. IX1=IX0+INT(«RAX*CX*XFAC) IY1=IY0+INT(RRAX*SX*TFAC) L=0 DO 30 J=1,72

THETA«J«5.*DGR a=SIN(THETA) T=COS(THETA) IX=IX0+INTCRRAX»CT»CX*6*CXY)*XFAC) IY*IYO+INT(RRAX*<««SXY+T*SX)*YFAC> CALL I > A S H ( 1 X 1 , I Y 1 , I X , I T , 1 0 , 1 0 , L , L L ) L*LL I X 1 * I X IY1»IY

30 CONTINUE

• DRAM AXES AND LABELS. RLABs1.+60.*XMX/( ( IXR- IXL)*RNAX) DO 50 K»1,2

DO 40 L=1,2 THETA*CyO.*(K-1)*180.*(L-1))*D6R Q*SINITMETA) T*COS(THETA) X(L)-RNAX*(T*CX'»0*CXY> Y(L)*RRAX*(Q*SXY*T*SX>

40 CONTINUE CALL DASH{IX0+lNTCX(1)*XFAC),IYO+INT(t(1)*YFAC),

A lXOtlNTCXl2)*XFAC),IYO+INT(Y<2>*YFAC),10,10,0,IDUR) DO 50 L»1,2

IX-IXO+XNT(X(L)*RLAB*XFAC> IY"IY0»1NT<Y(L>*RLA9*YFAC> CALL DLCH(1X-12 , - IY ,LAB( IC ,L ) , 3 ,2 )

50 CONTINUE

• DRAW BOUNDARY VERTICALS. DO 60 J»1,NTH-1

THETA'TH(J) Q*SINCTHETA) T=COS<THETA) IX *lXO*INTCRNAX*(T*CX»a*CXY>*XFAC> IY1»IY0»INT(RMAX*{Q#3XY*T*SX)*YFAC) IY2>IY1tINT(S*F(IRM,J)»YFAC) I F < I A B S ( I Y 2 - I Y 1 ) . 6 T . 5 > CALL D A S H ( I X , I Y 1 , I X , X V 2 , 0 , 5 , 0 , 1 D U M )

60 CONTINUE

• DRAW CENTER L INE . CALL NINVCR/NR/ I /RNIN/ IRO) I f (RHIN.EQ.U. )

A CALL DASH< IXÜ , I fO , IX0 , IYÜ+ INTCS*FUR0 ,1>*TF»C) ,1O ,10 /0 , IDUR)

• DRAW AN6ULAR GRID LINES. DO 70 1*1,NR

RI«R<I> 1X*1X0*INTCRI*CX*XFAC)

PSPLOT . 57 P3W.0T • 58 P3PL0T • 59 P3PL0T m 60 P3PL0T . 61 P3PL0T • 62 P3PL0T » 63 P3PL0T . 64 P3PL0T • 65 P3PL0T » 66 P3PL0T * 67 P3PL0T • 66 P3PL0T . 69 P3PL0T • 70 P3PL0T » 71 P3PL0T • 72 P3PL0T . 73 P3PL0T . 74 P3PL0T . 75 P3PL0T . 76 P3PL0T • 77 P3PL0T . 78 P3PL0T • 79 P3PL0T . 80 P3PL0T . 81 P3PL0T • 82 P3PL0T ^ 83 P3PL0T • 84 P3PL0T • 65 P3PL0T • 86 P3PL0T * 87 P3PL0T • 88 P3PL0T . 89 P3PL0T • 90 P3PL0T » 91 P3PL0T • 92 P3PL0T » 93 P3PL0T w 94 P3PL0T * 95 PSPLOT m 96 P3PL0T m 97 P3PL0T 9 98 P3PL0T * 99 PSPLOT • 100 P3PL0T 9 101 P3PL0T » 102 °3PL0T m 103 P3PL0T m 104 P3PL0T • 105 P3PL0T * 106 P3PL0T <• 107 P3PL0T m 106 P3PL0T p 109 P3PL0T » 110 P3PL0T • 111 P3PL0T . 112 PSPLOT • 113 P3PL0T • 114 P3PL0T • 115 P3PL0T • 116 P3PL0T • 117 P3PL0T P 118 PSPLOT * 119 P3PL0T m 120 PSPLOT m 121 P3PL0T # 122 PSPLOT • 123 P3PL0T • 124 P3PL0T * 125 P3PL0T • 126 PSPLOT # 127 P3PL0T • 128 P3PL0T • 129 PSPLOT • 130 P3PL0T • 131 P3PL0T • 132 P3PL0T • 133 P3PL0T * 134 P3PL0T * 135 PSPLOT * 136

LINE PPP10 ( P . 2 6 )

19650 19660 19670 196S0 19690 19700 19710 19720 19730 19740 19750 C 19760 C 19770 19780 19790 19600 19810 19620 19630 19840 196S0 19860 19870 19680 19890 19900 19910 19920 19930 C

IV * IY0+1NT( (R I *SX*S*F ( I , 1> ) *YFAC> CALL N0VABS(IX,IY3 DO 70 J=2,NTH

THETA*TH(J> «-SIN(THETA) T=COS(THETA> IXxlXO+lNTCRI*CT*CX+fl*CXY)*XFAC> I V * I Y O * I N T { ( R I « ( a * S X Y * T * S X > * S * F ( I , J ) ) * Y F A C ) CALL DRUABSUX,1V)

70 CONTINUE

• DRAW RADIAL GRID L INES. DO 80 J=1,NTH-1

THETA*TH(J> B«SIM(THETA) T*COS(THETA) RI«R(1) IX»IXO+INTCRI*(T*CX*«*CXV>*XFAC> IY« IYQ+INTURI*C««SXY*T*SX)+S*F(1 ,J ) ) *YFAC) CALL H0VABS(1X,IV>

00 80 I»2,NR R1«R( I ) IX - IX0* INT (R I *U*CX»9»CXY) *XFAC) IY* IV0+ INTC(RI * (Q*SXY*T*SX>+S*F<1 ,J ) ) *YFAC) CALL DRUA6SUX,1Y>

80 CONTINUE RETURN EN»

19940 19950 19960 19970 19980 19990 20000 20010 20020 20030 20040 Z0050 20060 20070 20060 20090 20100 20110 20120 20130 20140 20150 20160 20170 2018Ü 20190 20200 20210 20220 20230 20240 202 *»0 20260 2027U 20280 20290 20300 20310 20320 20330 20340 20350 20360 20370 20380 20390 20400 20410 20420 20430

SUBROUTINE HAXV, AND ENTRIES NINV, MAXAV, HINAV DETERMINE THE MAXIMUM, MINIMUM, MAXIMUM ABSOLUTE/ MINIMUM ABSOLUTE VALUES OF AN ARRAY OF REAL NUMBERS, RESPECTIVELY. AS THE ARRAY IS SEARCHED, AN INDEX IS UPDATED EACH TINE A LARGER VALUE OF A <1N THE CASE OF HAXV) IS ENCOUNTERED. AFTER THE ARRAY IS SEARCHED, B IS SET TO THE VALUE

A WITH THE CALCULATED INOEX. OF

•DECK MAXV SUBROUTINE M A X V ( A , N , I N C , B , 1 >

C C • * • * * • * * • » « * * * • * * • • * • * * • • • * • • • • * * . c c c c c c c c c c c c c c c c

A - ONE-DIMENSIONAL INPUT ARRAY Of REAL NUMBERS. N - NUMBER OF ELEMENTS I N THE ARRAY A. INC - SPACING AT WHICH ELEMENTS ARE TO BE EXAMINED. B - MAXIMUM, M I N I M U M , MAXIMUH ABSOLUTE OR MINIMUM ABSOLUTE VALUE

OF A RETURNED TO THE CALLER. I - ELEMENT NUMBER OF MAXIMUM, M IN IMUM, E T C . VALUE OF A ( 1 < « I O N ) .

SEPARATED THE DIFFERENT ENTRIES , CHANCED THE MEANIN6 OF N TO THE PRESENT ONE, HBO 9 / 1 / 8 6 .

C f t * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

c DIMENSION A(*>

C B>A(1) 1*1 DO 10 K=1,N,INC

1 F ( A ( K ) . C T . 9 ) THEN B-A(K) I*K

END IF 10 CONTINUE

RETURN C

ENTRY MINVCA,N,1NC,B,1) B«AC1> I«1 DO 20 K-1,N, INC

I F ( A O O . L T . B ) THEN B«A(K) I>K

END IF 20 CONTINUE

RETURN C

ENTRY NAXAV(A,N, INC,B, I ) B«ABS(A(1>) I » 1 DO 30 K-1,N,1NC

S>A6S(A(K>)

P3PLOT • 137 P3PLOT m 138 P3PL0T m 139 P3PL0T m 140 PJPLOT » 141 P3PLOT • 142 P3PLOT . 143 P3PL0T • 144 P3PL0T m 145 P3PLOT * 146 P3PL0T » 147 P3PL0T . 146 P3PL0T 0 149 P3PL0T m ISO P3PL0T m 151 P3PLOT m 152 P3PL0T m 153 P3PL0T » 154 P3PLOT • 155 P3PL0T m 156 P3PL0T m 157 P3PLOT m 158 P3PLOT m 159 P3PLOT m 160 P3PL0T , 161 P3PLOT * 162 P3PLOT • 163 P3PL0T • 164 P3PL0T • 165

NAXV • 1 HAXV m 2 MAXV • 3 MAXV • 4

* MAXV * 5 * MAXV • 6 • MAXV • 7 • MAXV • 8 • MAXV • 9 * MAXV . 10 * MAXV • 11 * MAXV * 12 • MAXV . 13 • MAXV • 14 • MAXV • 15 * MAXV . 16 * MAXV • 17 • MAXV . 18 • MAXV u 19 * MAXV • 20

r* MAXV * 21 MAXV • 22 MAXV • 23 MAXV • 24 MAXV • 25 MAXV m 26 MAXV # 27 MAXV m 28 MAXV m 29 MAXV • 30 MAXV • 31 MAXV • 32 MAXV m 33 MAXV • 34 MAXV » 35 NAXV m 36 MAXV • 37 MAXV # 38 MAXV » 39 MAXV • 40 MAXV m 41 MAXV # 42 MAXV 9 43 MAXV m 44 MAXV m 45 MAXV • 46 MAXV * 47 MAXV m 48 MAXV m 49 MAXV m 50

LIME

20440 20450 20460 20470 20480 20490 20S00 20510 20520 20550 20540 20550 20560 20570 20580 20590 20600 20610 20620 20630 20640 20650

20660 20670 20680 20690 20700 20710 20720 20730 20740 207 50 20760 20770 20780 20790 20800 20810 20820 20830 20840 20850 20860 20870 20880 20890 20900 20910 20920 20930 20940 20950 20960 20970 20980 20990 21000 21010 21020 21030 21U40 21050 21060 21070 21080 21090 21100 21110 21120 21130 21140 21150 21160 21170 21180 21190 21200 21210 21220

IF(S.ST.B) THtN B»S I*K

ENDIF 30 CONTINUE

B=AU) RETURN

ENTRY MINAV<A,N,1NC,B, I ) B*ABS(A<1>) 1*1 DO 40 K»1,N, INC

S=A8SCA(tO> I F ( S . L T . B ) THEN

B*S I -K

ENDIF 40 CONTINUE

B=A( I ) RETURN END

•DECK HAXH SUBROUTINE H A X H ( A , I A , H , N , I N C K , I N C L , B , I , J )

SUBROUTINE HAXH, AN» ENTRIES « I N N , NAXAH, HI NAM DETERMINE THE HAXIRUH, MINIMUM, RAX1HUH ABSOLUTE, AND MINIMUM ABSOLUTE ELEMENT AND THE INDICES OF THAT ELEMENT IN MATRIX A.

A - TWO-DIMENSIONAL INPUT ARRAY. IA - MAXIMUM LENGTH OF THE FIRST ARGUMENT OF A AS SPECIFIED IN THE

DIMENSION STATEMENT, I . E . DIMENSION A ( I A , J A ) . M - NUMBER OF COLUMNS (1ST ARGUMENT). N - NUMBER OF ROWS (2ND ARGUMENT). INCK - SKIP PARAMETER FOR THE 1ST ARGUMENT. INCL - SKIP PARAMETER FOR THE 2ND ARGUMENT. B - CONTAINS THE DESIRED ELEMENT. I - FIRST INDEX TO THE RESULTANT ELEMENT. J - SECOND INDEX TO THE RESULTANT ELEMENT.

SEPARATED THE DIFFERENT ENTRIES, ADDED ARGUMENTS INCK AND NCL, MGO 9 / 1 / 8 6 .

DIMENSION A ( 1 A , * )

B=AC1,1> 1=1 J*1 DO 10 K>1,H,INCK

DO 10 L*1,N, INCL IF<A<K,L ) .6T .B> THEN

B*A(K,L) I»K J-L

ENDIF 10 CONTINUE

RETURN

ENTRY HlNn(A,IA,H,N,INCK,lNCL,B,I,J) B»AU,1) 1-1 J»1 DO 20 K*1,H,INCK

DO 20 L-1,N,INCL IF<ACK,L).LT.B) THEN

B«A(K,L> I*K J«L

ENDIF 20 CONTINUE

RETURN

ENTRY HAXAM(A,1A,M,N,INCK,INCL,B,I,J) B*ABS(A<1,1>) I»1 J»1 DO 30 K>1,M,1NCK

RAXV HAXV NAXV MAX* NAXV HAXV NAXV NAXV HAXV NAXV NAXV HAXV HAXV HAXV HAXV HAXV HAXV RAXV HAXV HAXV HAXV HAXV

HAXH HAXR HAXM

>* HAXH • HAXH • HAXH • HAXR • HAXH • MAXH • HAXH • HAXM • HAXH • HAXH • HAXH • HAXM • MAXH • HAXM • HAXH • HAXM • HAXM • HAXM • • HAXH

HAXM HAXH HAXH HAXH RAXH HAXH HAXM HAXH HAXH HAXH HAXH HAXN HAXM HAXN HAXM MAXH HAXH HAXH HAXN HAXM HAXM HAXM HAXH HAXH HAXH HAXN MAXH HAXM HAXM RAXH MAXH HAXM HAXM HAXM HAXM

LlftC PPP10 <P .2»

21230 M 30 L < 1 , * , I R C l 21240 S-ABS(A(K, l>> 21250 IFCS.GT.B) THEN 2 1 2 * 0 0 *5 2 1 2 » I»K 21210 J»L 2 1 2 9 * E M I F 21300 30 CONTINUE 21310 MA t l ,J> 21320 RETURN 21330 C 21340 ENTRY RINAH(A, IA,H,N, INCK. INCL 21350 B>ARSCAC1#D) 2 1 3 * 0 1*1 21370 J«1 2 1 3 M »0 40 K*1,R,1NCK 21390 M 40 L*1 ,N, INCL 21400 S*ABS<A(K,L>> 21410 IFCS.LT .B ) THEN 21420 M S 21430 I *K 21440 J*L 2 1 * 5 0 EH» I F 2 1 4 * 0 40 CONTINUE 21470 • M C I rJ> 2 1 4 M RETURN 2 1 4 * 0 Eft» 21500 C

1 . 1 , J)

HAM HAM HAXR HAIR HAXR HAIR HAXR HAIR RAXR HAXH HAM HAXR HAXH HAXH HAXH RAXH RAXH HAXH HAXH HAXH HAXH HAXH HAXH HAXR HAXH HAXR HAXR HAXR

21510 «BECK AL0S19 21520 FUNCTION AL0G19CAtG> 21530 C 21540 C * * « * * * * * * » * * * * * * * * * « * * * < 21550 2 1 5 * 0 21570 215*0 21590 21*00 21*10 21*20 21*30 2 1 * 4 0 2 1 * 5 0 2 1 * * 0

SPECIAL ALDG10 TO PREVENT ERROR ON ZERO OR NEGATIVE AR60RENT. BOB HALONE, 1 2 / U S / 7 *

IFCARG.LT.1 .E-50) THEN AL0G19*-50 .

ELSE AL0G19*AL0G10CARG)

END IF RETURN END

AL0G19 AL0619 AL0619

»* AL0G19 * AL0619 • AL0619

»* AL0619 AL0619 AL0G19 AL0619 AL0619 AL0G19 AL0619 AL0G19 AL0619 AL0G19

2 1 * 7 0 21 «SO 21*90 21700 21710 21720 21730 21740 21750 21760 21770 217*0 21790 21*00 21S10 21 MO 21830 2 1 * 4 0 2 1 * 5 0 2 1 * * 0 2 1 * 7 0 21 MO 2 1 * 9 0 21900 21910 21920 21930 21940 21950 2 1 9 * 0

•BECK LBLTOP SUBROUTINE LBLTOP(LABEL,NLABEL>

C

SUBROUTINE LBLTOP ENABLES A USER TO SPECIFY AN 80-CHARACTER * LABEL AT THE TOP OF A PACE OF PLOTS. ENTRY LBLBOT ENABLES A USER TO • SPECIFY A 40-CHARACTER LABEL AT THE BOTTOH OF A PLOTTING PAGE AN» TO * WRITE DATE AND TINE IN THE LEFT CORNER OF THE PACE. THE LABELS ARE • CENTERED WITH RESPECT 10 THE WIDTH OF THE PACE. LBLTOP AND LBLBOT * SHOULD BE CALLED 9EF0RE ANY OTHER PLOT CALLS FOR A PAGE. ONCE A * LABEL CALL IS GIVEN, IT REHAINS IN EFFECT FOR EACH SUCCEEDING PAGE • UNTIL ANOTHER CALL WITH A DIFFERENT CHARACTER STRING IS GIVEN. •

COHHON /LHEA»1/LART0P,LABS0T,»,T CHARACTER LABTOP*8O,LAdB0T*40,D*S,T** COHHON /LHEAD2/NCT,NCB CHARACTER»^) LABEL

NCT>1SIGN(HIN(1ABS(HLABEL),8O>,HLA0EL) LABTOP»LA*EL RETURN

ENTRY LBLBOT(LABEL/NLABEL) N C B * I S I G H ( H 1 N < I A 8 S ( N L A B £ L > , 4 ( » , N L A B E L > LABBOT'LABEL CALL DATIH<D,T) RETURN EN»

LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTQP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP LBLTOP

21970 «DECK NFftAHE 21980 SUBROUTINE HFftAHECHX,HY,10P,KKIN,XHAK,VKlH,YKAX, 21990 A TITLE,NTITLE,XNARE,NXNAHE,VNAHE,NYHAME>

NFRANE HFRAHE NMAHE

LINE PPP10 CP.29)

22000 22010 22020 2 2030 2 2040 22050 22060 22070 2 2080 22090 22100 22110 22120 22130 2 2 U 0 22150 22160 22170 22180 2 2190 22200 22210 22220 22230 22240 22250 22260 22270 2 2 2 * 0 22290 22300 22310 22320 22330 22340 2 2350 2 2360 22370 22380 2 2390 2 2400 22410 22420 22430 2 2440 22450 2 2460 22470 22480 2 2490 2 2500 22510 22520 22530 22540 22550 22560 22570 22580 22590 22600 22610 22o20 22630 22640 22650 22660 22670 22680 22690 22700 22710 22720 22730 22740 22750 22760 22770 22 780 2 2 790

NFRAHE IS THE INTERFACE DRIVER FOR THE HIGH-LEVEL ROUTINES, SUCH AS LPLOT, AND THE LOW-LEVEL ROUTINES, SUCH AS SBLIN, WHICH SCALES THE BOTTOM BOUNDARY OF THE PLOT LINEARLY. NFRANE DEFINES THE GRAPH AREA AND THE SCALING ALONG X AND Y FROM THE NX AND NT VALUES PASSED TO I T . IT HAS THE GRID, SPECIFIED IN THE IOP VALUE, DRAWN AND THE AXES SCALED ACCORDING TO THE MINIMUM AND MAXIMUM VALUES OF THE X AND Y ARRAYS AND THE GIVEN IOP. IT HANDLES PLACEMENT OF THE TITLES OF THE PLOT AND THE AXES. IT ALSO PLACES THE TOP AND BOTTOM LABELS ON THE PAGE. IT STORES THE SCALING INFORMATION IN COMMON BLOCK CJE07 FOR FUTURE CALLS TO THE SAME ( IMX, IMY) FRAME ON THE PAGE. NFRAHE AUTOMATICALLY ADVANCES A PAGE WHITH THE FIRST PLOT THAT EXTENDS INTO THE UPPER LEFT-HAND CORNER.

ARGUMENTS:

MX

MY

DEFINES THE GRAPH AREA AND THE SCALING IN THE X-DIRECTION ACCORDING TO THE FORMULA

IA9SCMX> » IAX*100 • ISX*10 • IMX , WHERE IMX DETERMINES THE HORIZONTAL EXTENSION OF THE PLOT:

IMX = 1 - FULL PAGE 2 - LEFT HALF OF THE PAGE 3 - RIGHT HALF OF THE PAGE,

AND ISX DETERMINES THE SCALING ALONG THE X-AXIS: ISX - 0 - AUTOMATIC SCALING WITH EXPANSION (DEFAULT),

NO ROUNDING OCCURS FOR THE LOG SCALES 1 - EXACT SCALING (NO ROUNDING) i. - EQUIDISTANT SCALING WITH THE X-SCALE ADAPTED

TO THE LENGTHS ALONG Y (SEE NOTE IN NFRAME), AND IAX PROVIDES AN ADDITIONAL OPTION:

IAX * 0 - NO ACTION (DEFAULT) 1 - X=0 AXIS IS DRAWN ( I F IT LIES IN THE RANGE) 2 - X=0 AXIS IS DASHED ( I F IT LIES IN THE RANGE).

MX < 0 : PLOTTING OF SCALES AND TICK NARKS SUPPRESSED. DEFINES THE GRAPH AREA AND THE SCALING IN THE Y-DIRECTION, ANALOGOUS TO THE ABOVE EXPRESSIONS WITH X REPLACED BY Y, WHERE IMY DETERMINES THE VERTICAL EXTENSION OF THE PLOT:

IMY

IOP

(BUT PLOTTING OF

FULL PAGE TOP HALF OF THE PAGE BOTTOM HALF OF THE PAGE TOP THIRD OF THE PAGE MIDDLE THIRD OF THE PAGE BOTTOM THIRD OF THE PA6E.

E6UALS THE SCALING OPTION JOP OF SUBROUTINE LPLOT: JOP - 1 - LINEAR X - A X I S , LINEAR Y-AXIS

LINEAR X - A X I S , LOG Y-AXIS LOG X-AXIS , LINEAR Y-AXIS LOG X-AXIS , LOG Y-AXIS LINEAR X-AXIS, LINEAR Y-AXIS FRAME, SCALES, AND TICK HARKS SUPPRESSED).

MINIMUM VALUE OF X. MAXIMUM VALUE OF X. MINIMUM VALUE OF Y. MAXIMUM VALUE OF Y. THESE FOUR EXTREME VALUES ARE EITHER PRESCRIBED BY THE USER THROUGH A DIRECT CALL OF NFRAME (FOLLOWED BY CALLS TO LPLOT WITH NPTS < 0) OR DETERMINED AUTOMATICALLY BY LPLOT ITSELF. TITLE FOR THE GRAPH. THE NUMBER OF CHARACTERS IN NTITLE. LABEL FOR THE X-AXIS. NUMBER OF CHARACTERS IN XNAME. LABEL FOR THE Y-AXIS. NUMBER OF CHARACTERS IN YNAME. THE ABOVE THREE CHARACTER STRINGS ARE AUTOMATICALLY TRUN­CATED TO FIT ALONGSIDE THE CHOSEN FRAME. THE FONT NAY BE CHANGED ACCORDING TO THE RULES GIVEN IN DLCH.

NOTE: THE SCALING ISX/Y=2 IS USED TO PRESERVE THE RELATIVE PROPORTIONS OF GEOMETRIC FIGURES. E.G., A STANDING ELLIPSE X*COS(T), Y»1.5*S1N(T) IS PLOTTED ON THE LEFT HALF OF THE PAGE WITH THESE CALLS:

"CALL NFRAME(22,11,1,-1.,1 .,-2.,2., 'ELLIPSE',7,'X',1,'Y',1)", "CALL LPL0T(2,1,1,X,Y,-NPTS,1,' ',0,' ',0,' ' , 0 ) " .

SINCE THE RANGE OF X IS DETERMINED AUTOMATICALLY IN THIS CASE, THE PARAMETERS XHIN»-1.0 AND XMAX«1.0 ONLY FIX THE CENTRAL VALUE XaO.

OFRAME(MX,HY) IS AN ENTRY POINT INTO NFRAME; IT RESTORES THE PLOTTING COMMON CJE07 TO THE CONDITIONS OF THE PARTICULAR (IMX,IMY) PLOT DETERMINED BY THE LAST CALL TO NFRAME, TO PLOT A SECOND AND

xniN XMAX YMIN YMAX

TITLE NTITLE XNAME NX NAM E YNAME NYNAME

NFRAME NFRAME NFRAME NFRAHE NFRAHE NFRAME NFRAME NFRAHE NFRANE NFRANE NFRANE NFRANE NFRAHE NFRANE NFRAHE NFRANE NFRAHE NFRANE NFRAHE NFRANE NFRANE NFRANE NFRAHE NFRAHE NFRAHE NFRAHE NFRANE NFRANE NFRANE NFRAHE NFRANE NFRANE NFRANE NFRAHE NFRAHE NFRAHE NFRAHE NFRANE NFRAHE NFRANE NFRANE NFRANE NFRANE NFRAHE NFRAME NFRANE NFRAME NFRAME NFRAHE NFRAHE NFRAHE NFRANE NFRAHE NFRANE NFRAME NFRANE HFRAHE NFRANE NFRANE NFRAHE NFRAME NFRAME NFRANE hFRAME NFRAME NFRAME NFRAHE NFRAME NFRAME NFRANE NFRANE NFRANE NFRANE NFRANE NFRANE NFRAHE NFRAHE NFRAHE NFRAHE NFRAHE

LINE PPP10 ( P . 3 0 )

22800 22810 22820 22830 22840 22850 22860 22870 22880 22890 22900 22910 22920 22930 22940 22950 22960 22970 22980 22990 23000 23010 23020 23030 23040 23050 23060 23070 23080 23090 23100 23110 23120 23130 23140 2 31 SO 23160 23170 23180 23190 23200 23210 23220 23230 23240 23250 23260 23270 23280 23290 23300 23310 23320 23330 23340 233S0 23360 23370 23380 23390 23400 23410 23420 23430 23440 23450 23460 23470 23480 23490 23500 23510 23520 23530 23540 23550 23560 23570 23580 23590

THIRD CURVE ON THE SANE PLOT. • •

SETADVUA) IS ANOTHER ENTRY POINT INTO NFRAHE; IT OVERRIDES TNE * AUTOMATIC ADVANCE AN» PRINTING OF TOP AND BOTTON LABELS ( I N EFFECT * FOR THE DEFAULT VALUE IA = 0 ) . IA = 1 / - 1 ï ADVANCE / NO ADVANCE, * IRRESPECTIVE OF THE VALUES OF IHX AND INT . *

WRITTEN BY CLAIR NIELSON. * NOOIFIED BY DEBBY NYHAN 2 /80 f08 SCALING AXES NICELY. * MODIFIED BY DICK HOÜEUEIJ 2 1 / 0 6 / 8 4 FOR EQUIDISTANT SCALlNGS. * NODIFIED BY HANS GOEDBLOED 1 4 / 1 1 / 8 5 FOR ADAPTATION TO NEH DLCH, • NEW MEANING OF ARGUMENTS NX,NT, IMPROVED E0.U1DISTANT SCALING, * IMPROVED HANDLIN6 OF THE LABELS. *

COMMON /6RNR/I6R COMMON /LHEAD1/LABT0P,LABB0T,D,T CHARACTER LABT0P*60,LABB0T<»40,r>*B,T*8 COMMON /LHEAD2/NCT,NCB CHARACTERS*) TITLE,XNAHE,YNAME DIMENSION J X L < 3 ) , J X R O ) , J T B < j > , J Y T < 6 > ,

A I X L C 1 8 ) , I X R ( 1 8 ) , I Y B ( 1 8 ) , I Y T { 1 8 > , B XL<18) ,XR(18 ) ,V6 (18> ,YT(18>

L06ICAL FL06X,FLO6Y INTEGER ASH SAVE IXL , IXR, IYB, IYT ,XL,XR,TB,YT,ASW

DATA LABT0P,LABB0T,D,T/> • , ' ' , * 'r' 'I DATA N C l , M t » / 1 , 1 / DATA J X W 9 0 , 9 t J , 5 9 © / , J X » m 0 , 4 9 0 , » 9 0 / , J Y T / 7 2 2 , 7 2 2 , 3 6 2 , 7 2 2 , 4 8 2 , 2 4 2 / ,

A JYB/ 7 7 , 4 3 7 , 7 7 , 5 5 7 , 3 1 7 , 77/ DATA ASW/O/

• INPUT PARAMETERS. IMX=MODUABS<HX),10) IHV»HOD(IABS(HV),10) ISX=HOD(IAB$(MX)/10,10) ISV=MODCIABS(MY)/10,10) IAX=MOD(IABS(MX)/100,10) IAY*HOD( lABS(MY) / I00 ,10 ) M«iMY*6*IMX-6 IF CM.6T.18) STOP • * * * NFRANE: IHX OR IHY TOO BIG * * * • JOPsHOD(IABS(IOP),10) FLOGX».FALSE. FLOGY*.FALSE. IFCJ0P .EB.3 .0R .J0P .E0 .4> FLOGX-.TRUE. I F ( J 0 P . E « . 2 . 0 R . J 0 P . E a . 4 ) FL06T=.TRUE.

• ADVANCE A PAGE ANO DRAW TOP AND BOTTOM LABELS. I F ( ( A S W . E B . 0 . A N D . ( . N O T . ( I M X . E Q . 3 . 0 R . I H Y . E Q . 3 . 0 R . I H Y . G E . 5 ) > ) . 0 R .

A (ASW.Ea.1) .OR.CIGR.EO.0)> THEN CALL ADVC1) I C E N * O X R C 1 ) * J X L ( 1 ) ) / 2 CALL DLCH(ICEN-6*IABS(NCT>,766,LABT0P,NCT,2) CALL DLCHCICEN-9*IABS(NCB),0,LABB0T,NCB,3> CALL D L C H ( 2 5 , 1 7 , D , 8 , 1 ) CALL D L C H ( 2 5 , 2 , T , 8 , 1 )

ENDIF IF(ASU.NE.O) ASW=0

• COMPUTE FRAME COORDINATES. IXL(M>«JXL(IMX) IXR(H>»JXR(IHX) IYB<H>»JYB(IHT> IYT(M>«JYT(IMY) • B GODFREY'S IDEA TO FORCE NORMALIZATION: XLN>XHIN*O.0 XRN'XMAXtO.O IF(XLN.CU.XRN) THEN

X L N » ( 1 . U - S I 6 N ( 0 . 5 , X L N ) ) * X L N - 1 . 0 E - 6 XRN»<1.Q*SIGNC0.5,XRM))*XRN*1.0£-6

ENDIF IF (FL06X) THEN

XLN-AL0619CXLH) XRN*ALOG19<XRN) * L I B I T DECADES PLOTTED TO MOST SIGNIFICANT, HEWETT 6 / 9 / 8 3 XLN-AMAX1(XLN,XRN-24.)

ENDIF YBMYMIN+0.0 YTMYMAX+O.Ü

NfRANE •> 84 NFRAME , 85 NFRAHE » 86 NFRANE * • 7 NFRAHE • 88 NFRAHE * 89 NFRANE . 90 NFRAHE » 91 NFRANE • 92 NFRANE . 93 NFRANE • 94 NFRAHE . 95 NFRAHE • 96

97 98 NFRAHE *

96 97 98

NFRAHE . 99 NFRAHE m 100 NFRAME m 1U1 NFRAHE » 102 NFRANE » 103 NFRANE . 1U4 NFRAHE . 105 NFRANE » 106 NFRAHE • 107 NFRANE • 108 NFRAHE , 109 NFRAHE B 110 NFRAHE w 111 NFRANE „ 112 NFRANE , 113 NFRAHE w 114 NFRAHE • 115 NFRAHE « 116 NFRAHE m 117 NFRAHE m 118 NFRAHE . 119 NFRAHE . 120 NFRARE ^ 121 NFRAHE m 122 NFRAME m 123 NFRAHE m 124 NFRAHE m 125 NFRARE » 126 NFRAHE . 127 NFRAHE m 128 NFRANE m 129 NFRAHE m 130 NFRAHE m 131 NFRAHE • 132 NFRANE * 133 NFRAHE • 134 NFRAHE * 135 NFRANE » 136 NFRANE ^ 137 NFRARE » 138 NFRAHE w 139 NFRAHE m 140 NFRANE m 141 NFRAHE m 142 NFRAHE m 143 NFRAHE m 144 NFRAHE • 145 NFRAHE • 146 NFRAHE • 147 NFRAHE . 148 NFRAHE . 149 NFRAHE m 150 NFRANE m 151 NFRANE . 152 NFRAHE . 153 NFRAHE • 154 NFRAHE • 155 NFRAHE • 156 NFRAHE • 157 NFRAHE r 158 NFRAHE * 159 NFRAHE • 160 NFRARE • 161 NFRAHE * 162 NFRAHE * 163

L I K PPPIO cr.si)

23*00 23*10 2MII 23*10 23*40 23**0 23**0 2 3 * 7 0 C 2 3 * * 0 2 3 * * 0 237Q9 23710 23720 23730 23740 C 23750 C 2 3 7 * 0 23770 23780 C 23790 C 23*00 23*10 23*20 C 23*30 23*40 2 3 * 3 0 2 3 * * 0 2 3 * 7 0 2 3 M 0 23*90 23900 23910 C 23920 C 23930 23940 239)0 C 2 3 9 * 0 23970 23900 23990 14000 24010 24020 24030 24040 C 2*050 C 240*0 24070 24OS0 24090 24100 24110 24120 24130 24140 C 24150 C 241*0 24170 24100 C 24190 24200 24210 24220 24230 24240 24250 242*0 24270 242*0 2*290 2*300 24310 24320 24330 2 * 3 * 0 2*350 2*3*0 2*370 2*300 2*390 C

IFtfOH.Et.TTH} THE* f * N * ( 1 . 0 -S ICNC0 .5 ,VB«) > * Y M - 1 - 0 E - * T T R x < 1 . 0 * S I 6 N ( 0 . 5 , T T » ) * Y T R * 1 . Q E - *

EN» IF 1FCFL0CV) TNEN

V»N*AL9C19CY0N> VTN*AL0C19tYTN) • L IHIT »ECA»ES PLOTTE* TO HOST SIGNIFICANT, HEHETT 4 / 9 / 0 3 VBN*AHAX1<Y»N,YTN-2*.>

EN» IF XL(H>*XLN XA(H)*XRN Y»(H)*VBN TT(H)»TTN • IF MAX <* XHIN FOR A PARTICULAR FRAME, • HAKE I N I * XH1N * 1.0 AT LEAST. IFCXROI) .LE.XL(N)> XR(R>*XL<N)»ANAXM1.#XLCM>> I F ( T T ( H ) . L E . T » ( H > ) YTtR>«YB<H)*AH«X1O.,YBCH)}

• NUMBER OF INTERVALS NX FOR EXACT AN» AUTOMATIC SCALINC. NX** I F f l S X . E R . O . A M . C . M O T . F L O S X » TNEN

• AUTOMATIC SCALINC. CALL ASCLC3,XL<H>,IR(H),HI,I»UH,J»UH) IF(NX.CT.S) THEN

I»IFF*XR(N>-XLCR) IFCRO»CI«IFF,5>.E«.0) NX«5 IFCR0»CI»IFF,4>.E«.0> NX»4 IFCRO»CI»IFF,3>.EO.O) Ml*3

EN» IF EN» IF

• NUMBER OF INTERVALS NY FOR EXACT A M AUTOMATIC SCALINC. NT*4 lF<IST.EO.0.AN».(.NOT.FLOGV>> THE*

• AUTOHATIC SCALINC. CALL ASCLC3,YB(H>,YTCM>,NY,IBUR,J»UN} IF (NY .CT .S ) THEN

IBIFF*YT(H)-VBCH) IFCHO»(I»IFF,5).Ea.O) NT*5 IF<H0»(I»IFF,4>.E«.0> NY«4 IF<H0»(I»IFF,3>.E«.0> HY*3

EN» IF ENBlf

• INITIALIZE C00R»INATES OF THE EXTREME TICK NARKS. IXLX*IXLCH> IXRX'IXRCH) IT»X*ITBCH> IYTX*IVT<K> XLX*XL<H) XRX*XRCH) TBX-YB(H) TTX»YT<M)

• EOUIBISTANT SCALINC WITH X-SCALE ANAPTE»; *0»E» 21048* CRftH. I M I S X . E 0 . 2 . A M 0 . ( . N 0 T . F L 0 C X ) > THEN

I F U 5 Y . E O , 2 > STOP ' • » * NFRKHE: ISX« IST-2 FORBI»OEN * * • * • CENTER X-INTERVAL MITH RESPECT TO PLOTTING AREA; H*0 2 5 / 1 XHID».5«CXLCH)+XR(H)) FAC*<VT<H>-VB<H)>*CIXft<H>-IXL<H))/<IVT<H>-lYB<H>) XL<H)*XHI»- .5*FAC XR<H)«XR1D*.5*FAC I » 1 V Y * ( I T T < H ) - I Y B ( H > ) / N Y » m * ( Y T ( H ) - V B ( f t > ) / N V RHULT»(XL(R)-YB<M>)/»IVY HULT*RRULT IF(HULT.LT.RHULT) RULT*HULT*1 XLX*YB<H>+RULT<»»IVY IXLX»IXL(H)+UlX-XL(H}>«(IXIt<H)-IXl(H))/(XMH>-Kl(H)> NX»0 XRX'XLX

10 IF((XftX*»IW).LE.XR(H>) THEN XRX>XRX«»lVT NX>NX+1 GOTO 10

EN» IF 1XRX>1XLX*10IVV»NX

ENOIF

NF1ME . 164 MFRANE . 1*5 NFRAME . 1 * * •FRAME . 1*7 •FRAME . 1*8 •FRAME . 1*9 •FRAME . 170 •FRAME . 171 •FRAME . 172 HFRAME . 173 NFRAME . 1 7 * •FRAME . 175 NFRAME . 1 7 * NFRAME . 177 NFRAME . 17» NFRAME . 179 •FRAME . 1*0 •FRAME . 181 NFRAME . 182 NFRAME . 1*3 NFRAME . 1 8 * •FRAME . 185 •FRAME . 1 8 * •FRAME . 187 NFRAME . 188 •FRAME . 189 •FRAME . 190 •FRAME . 191 •FRAME . 192 •FRAME . 193 •FRAME . 194 NFRAHE . 19S NFRAHE . 1 9 * NFRAME . 197 NFRAHE . 198 NFRAHE . 199 NFRAME . 200 NFRAHE . 201 RFRAME . 202 NFRAHE . 203 NFRAHE . 204 NFRAHE . 205 NFRAHE . 20 * NFRAHE . 207 NFRAHE . 208 NFRAHE . 209 NFRAHE . 210 NFRAHE . 211 NFRAHE . 212 RFRAHE . 213 NFRAHE . 214 NFRAHE . 213 NFRAHE . 2 1 * NFRAHE . 217 RFRAME . 211 RFRAHE . 219 NFRAHE . 220 RFRAHE . 221

1/BS NFRARE . 222 RFRAHE . 223 NFRAHE . 224 NFRAHE . 223 RFRAHE . 22 * RFRAHE . 227 RFRAHE . 220 NFRAHE . 229 RFRAHE . 230 NFRAHE . 231 NFRAHE . 232 NFRAHE . 233 NFRAHE . 234 NFRAHE . 235 RFRAHE . 23* RFRAHE . 237 NFRAHE . 238 NFRAHE . 239 RFRAHE . 2*0 RFRAHE . 2*1 NFRAHE . 2*2 NFRAHE . 243

LURE PPMO CP.32)

24400 C 2 * 0 0 2 4 4 » C 24450 24440 24450 244*0 24470 24400 244*0 24500 24510 24520 24530 24540 24550 245*0 24570 24500 24590 2 4 * 0 0 2 4 * 1 0 2 4 * 2 0 2 4 * 3 0 C 2 4 * 4 0 C 24*50 24**0 2 4 * 7 0 C 2 4 * 0 0 C 2 4 * 9 0 24700 24710 C 24720 C 24730 24740 24750 247*0 24770 247*0 24790 24*00 24*10 24*20 2 4 * 3 0 2 4 * 4 0 24*50 24**0 24*70 2 4 M 0 24*90 Z4900 C 24910 24920 24930 C 24940 C 24950 C 24910 24970 249*0 24990 25000 25010 C 25020 C 25030 25040 25050 250*0 25070 250*0 25090 25100 25110 25120 25130 25140 251 SO 251*0 25170 251*0 25190

• EtWl» I *1A*T SCALINt NXlN V-SCRLE l l t f l l l ; ABBEB 210* *4 S U M . IFUSY.EO.2 .ANN. ( .NOT.FLOCY) ) THEO

• CEMTEt Y-IRYEHtfAL H1TH RESPECT TO PLOTTING ARE*; NCO 2 5 / 1 1 / S 5 VHIB*.5* (Y0(H>-»YTfH)) F A C » t X R < R > - X L < R ) ) * ( I Y T C R ) - I Y B { R ) ) / ( I I R ( H ) - I X L < R ) ) Y6(H>~VHIB-.5*FAC Y1<H>*YHIB*.S*FAC IBIVX*( IXRCH)- IXLCH)>/MX BIVXxCXR(H)-XL<H>>/NX RflULT- t T * ( H ) - X L ( H Ï ) /BtVX HULT*RHULT IF (HULT.LT .MULT) HULT*HULT»1 V»X*XL<R>«HULT*B1VX IYBX»IY*<R>*CYBX-YB(H) )»UYT<R)- IYB(R) ) / (YTtH) -YB<H>> NY*0 YTX*YOX

20 I F ( ( T T X * » I V I ) . L E . Y T ( H ) > TMER YTX*TTX-»»IVX HV«NY«1 SOTO 20

EN» IF IYTX*1VBX*IBI¥X*BY

EH» IF

• DEFIRE TRE SR APR AREA AH» EXTREME TICK RARKS. CALL »CACIXL<R>,IXR<H>,IYB(H),IYT<n),XL<H),XR<FU,VB<H>,TTCH)>) CALL BCAXUXLX,IXRX,IT6X,IYTX,XLX,XRX,YBX,YTX)

• SUPPRESS PLOTTING OF THE SCALES IF HX/Y < 0 . IFCRX.LT.O) HX'O IF(HY,LT.O> RY=Ö

• BRAM FRAHE, SCALES, AR* TICK RARKS (EXCEPT FOT J O P - 5 ) . I F O 0 P . E 8 . 1 ) TH ER

CALL BLRLHCNX,NV,1,IAX,IAY> CALL SBLIRCRX) CALL SLLIR(RT)

E L S E I F U 0 P . E 0 . 2 ) THE* CALL »LRL6(RX#RY> CALL S8LIRCRX) CALL SLLOS(NY>

ELSEIF(J0P.E0.3> THEN CALL »LCLRCRX,RY> CALL S*L06CHX> CALL SLLlNCNY)

ELS£IF (J0P.E« .4 ) THEN CALL NLSL«CHK,NY) CALL SBL06CHX) CALL SLLQ61HY)

ELSEIFCJ0P.ER.5) THEN • BRAM X /Y -0 AXIS WHEN I A X / Y . N E . 0 . CALL NLRLH(0,Q,Q, IAX, IAY)

ERBIF

• BRAM TITLE AH» LABELS OF TRE AXES. • HAXIHUH RUNBER OF CHARACTERS FITTIH6 ALONb THE FRARE: RJCX*33 IFUHX.EQ.1) HCX«75 RCT*13 IFUHY.Ea.2.0R.I*Y.EQ.3) RC»»23 IFUNV.ER.I) HCV-53 • TRURCATE IF THE STRIR6 IS TOO LONE, WHILE ACC0UNTIN6 FOR THE • DIFFERENT REAMIRG OF THE AR6URERTS FOR SIH6LE CHARACTER C0D1N6: NXNAH1«ISI«N(R1NCIAHS(NXNAHE),HCX-6),NXNAHE> IXNAHE*( IXL(HmxR(H) ) /2 -6* IABS(NXNAH1> IF{(LER(XNARE).E0.1) .AR».(NXNAME.RE.1>> THEN

NXNAR1-RXNAHE IXNANE* ( IXLCH)+ IXR(H) ) /2 -6

ENBIF NYNAH1sI$I6N(HINCIABS(RYNARE),HCY>,NVNAHE> IYNARE«<IYB<H>4lYT<R>)/2-**IABSCHTBAH1> IF((LEH(YNAHE),EQ.1) .AH».fHYNAHE.NE.1>) THEH

NVNAR1-HYNAHE lVNAHE*(IYB(H>+lYT<H>>/2-6

ERBIF N T 1 T L 1 * I S I 6 N ( R 1 N ( I A B S ( N T I T L E ) , N C X ) , N T I T L E ) I T I T L E « ( I X L ( H ) * I X R < H > ) / 2 - 6 * I A B S ( N T I T L l > CALL BLCH<1XNAHE,1YB<H)-43,XHAHE,NXNAH1,2> CALL 0LCVUXL<R>-64,lYRAHE,VNAKt,NYNAK1,2) CALL BLCH( IT ITLE, ITT(H>+* ,T1TLE,NTITL1,2>

RFRAHE • 244 RFRANE • 245 RFRAHE • 2 4 * RFIAME » 247 RFRAHE • 24* RFRARE * 249 RFRANE „. 250 RFRARE * 251 RFRARE • 252 NFRARE ft 253 HFRARE • 254 RFRAHE . 255 RFRARE • 25* NFRARE . 257 RFRARE * 25* NFRARE * 259 HFRAHE * 2*0 NFRAHE • 2*1 HFRAHE • 2*2 RFRAHE * 2*3 HFRAHE m 2*4 RFRARE a 2*5 RFRARE * 2 * * HFRARE • 2*7 RFRAHE m 2 * * NFRARE • 2*9 NFRAHE . 270 HFRARE w 271 RFRAHE • 272 RFRAHE • 273 NFRAHE • 274 RFRANE • 275 NFRAHE „ 276 RFRARE • 277 RFRARE . 2 7 * HFRARE * 279 RFRAHE * 2*0 RFRARE . 2*1 RFRARE • 2*2 HFRARE * 283 HFRAHE . 2*4 NFRARE * 2*5 RFRARE * 2*6 RFRARE • 2*7 HFRAHE # 2 M HFRAHE • 2*9 HFRAHE • 290 RFRARE V 291 HFRARE m 292 HFRAHE m 293 NFRAHE m 294 RFRAHE • 295 HFRAHE • 296 NFRAHE • 29? NFRARE . 29* RFRAHE * 299 RFRAHE • 3U0 RFRAHE w 301 RFRARE . 302 RFRARE m 303 HFRAHE m 304 HFRAHE m 305 NFRAHE w 306 NFRAHE m 307 RFRAHE m 30* RFRAHE m 309 NFRARE * 310 RFRARE 9 311 NFRARE m 312 NFRAHE 0 313 RFRARE w 314 RFRAHE * 315 HFRARE m 316 HFRARE m 317 RFRARE r 3 1 * HFRARE * 319 HFRAHE B> 320 NFRARE • 321 NFRAHE m 322 RFRAHE * 323

L l H f PPP1Q

25208 25210 25220 25250 25240 25250 2 5 2 M 25270 2 S 2 M 2 5 2 * 0 25500 25310 25320 25330 25340 25350 2 5 3 * 0

IETURK

* ENTRY FOR RESTORING PLOTTING COMMON CJE07. ENTRY 0FRAHE(HX,HV> INX*NOR(IABS(HX>,10) IHY*HODtIA8SCHY),10) Hx IRY*6* IHX-6 IFCH.6T .18 ) STOP " * * * OFRAHE: INK OR IHY TOO 816 * * » ' CALL D G A ( I X L ( N > , I X R < H ) , I Y B ( H ) , m < H ) , X L ( H > , X R C N ) , Y B C N } , Y T ( H > ) RETURN

* ENTRY FOR MANUAL ADVANCE BEFORE NEXT PLOT. ENTRY SETADVUA) ASN*IA RETURN END

«FRAME NFRAME NFRAHE NFRAHE NFRANE NFRANE NFRAHE NFRAHE NFRANE NFRAHE NFRAHE NFRAHE NFRANE NFRAHE NFRAHE NFRAHE NFRAHE

25370 25580 2 5 3 * 0 25400 25410 25420 25430 25440 25450 25460 25470 25480 254*0 2SS00 2SS10 25520 25550 25540 25550 2 5 5 * 0 25570 25580 25590 2 5 * 0 0 2 5 * 1 0 2 5 * 2 0 25*30 2 5 * 4 0 2 5 * 5 0 2 5 * * 0 2 5 * 7 0 2 5 * 8 0 25*90 25700 25710 25720 25730 25740 25750 2 5 7 * 0 25770 257*0 25790 25800 25810 25820 25830 25840 25850 2 5 8 * 0 25870 25880 2S890 25900 25910 25920 25930 25940 25950 25960 25970 25980

•DECK ASCL SUBROUTINE ASCL(H,ZH1N,ZHAX,HAJ0R,HIN0R,KF)

C

ZNAX

MAJOR -

MINOR

ON OUTPUT, TICK MARKS ON OUTPUT, TICK NARKS

THIS ROUTINE PROVIDES THE AUTOMATIC SCALIN6 OF THE GRAPH BOUN­DARIES TO ROUNDED DECIMAL NUMBERS AND COMPUTES THE ASSOCIATED PARAM­ETERS FOR TNE LINEAR GRID DRAWING SUBROUTINES.

M - ON INPUT, MINIMUM NUMBER OF MAJOR INTERVALS ( 1 < * H <« 2 0 ) . IT IS SU66ESTED THAT H BE FAIRLY SHALL CE.6. 4 OR 5) IN ORDER TO PREVENT THE NUMERICAL SCALE FROM RUNNING TOGETHER. THIS DEPENDS ON HON MUCH OF THE PLOTTING AREA IS TO BE USED AND ON THE NUMBER OF CHARACTERS WHICH BILL BE NEEDED FOR EACH SCALE NUMBER.

ZMIN - ON INPUT, THE VALUE OF THE SMALLER ENDPOINT. ON OUTPUT, THE VALUE OF THE NEW SMALLER ENDPOINT. ON INPUT, THE VALUE OF THE LARGER ENDPOINT. ON OUTPUT, THE VALUE OF THE MEM LAR6ER ENDPOINT.

THE NUMBER OF MAJOR INTERVALS AT WHICH TO PLACE AND A NUHERIC SCALE. THE NUMBER OF MINOR INTERVALS AT WHICH TO PLACE AND A NUHERIC SCALE.

KF - ON OUTPUT, THE FORHAT CODE DESCRIBING THE NUMBER OF DIGITS NECESSARY TO DISPLAY THE SCALE NUMBERS UNIQUELY. KF IS AN INTEGER ( 0 <= KF <* 6 OR 10 < * KF <> 16) SUCH THAT THE UNITS DIGIT SPECIFIES THE NUMBER OF DIGITS TO BE PRINTED TO THE RIGHT OF THE DECIMAL POINT. A TENS DIGIT OF ZERO INDICATES FIXED POINT FORMAT (F FORMAT) AND A TENS DIGIT OF ONE I N D I ­CATES FLOATING POINT FORMAT tE FORMAT). THIS FORHAT CODE WAS USED PREVIOUSLY FOR PLACING A NUHERIC SCALE ALONG THE GRAPH BOUNDARY USING THE SCALE BOUNDARY ROUTINES SBLlN AND SLLIN. THE PRESENT VERSIONS OF THE LATTER SUBROUTINES DO NOT HAVE THIS INPUT ARGUMENT ANYMORE.

Z1-ZM1N Z2-ZMAX AH*H

• ZHAX <« ZMIN, H <* 0 , AND M > 20 ARE INVALID VALUES: RETURN. I F < ( Z 2 . L E . Z 1 ) , 0 R . < M . L E . Q . O R . H . G T . 2 0 ) ) THEN

MAJOR'O MINOR-0 KF*0 RETURN

END IF

IF (Z2 .NE.O.AND,Z1 .NE,0> THEN ZBAR-Z2/Z1 IFCABS(ZBAR).GE.1000.) THEN

Z 1 - 0 . ELSEIF(ABS(ZBAR).LE..D01) THEN

Z2»0. ELSEIF(ABS<ZBAR-1.) .LE. .000005«AM) THEN

ZBAR*(Z2+Z1>/2. Z- .000002**AH*A6S(ZBAR) Z2«ZBAR*Z Z1>ZBAR-Z GOTO 10

END IF ENDIF I F U 2 - Z 1 . N E . A M ) THEN

ASCL ASCL ASCL

>* ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL * ASCL « ASCL * ASCL * ASCL * ASCL »* ASCL

ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL ASCL

LIME

2 5990 Z2*Z2- .000001*AbS(Z2) 26000 Z1»Z1*.000001*ABS(Z1> 26010 EN» IF 26020 10 P»<Z2-Z1)/AM 26030 IFLAG*0 26040 TENK=1. 26050 K»0 26060 I F ( P . L T . 1 . ) THEM 26070 IFLAG*1 26080 P « 1 . / P 26090 ENDIF 26100 20 1F (P .6E .1000G. ) THEN 26110 P - P /10000 . 26120 TENK*TENK*10000. 26130 K*K+4 26140 60T0 20 261 SO ENDIF 26160 30 I F ( P . G E . 1 0 . ) THEN 26170 P * P / 1 0 . 2 61 SO TENK-TENK*10. 26190 MIC-H 26200 GOTO 30 26210 ENOIF 26220 IFCIFLAG.NE.O) THEN 26230 P - 1 0 . / P 26240 TENM.1/TENK 262S0 K»-K-1 26260 ENOIF 26270 I F C P . L T . 2 . ) THEN 26280 P « 1 . 26290 NH«5 26300 ELSEIF(P.LT.S) THEN 26310 P»2. 26320 NM4 26330 ELSEIF<P.GE.5. ) THEN 26340 P«5. 26350 NH«5 26360 ENOIF 26370 DZ*P*TENK 263S0 N1*Z1/DZ 26390 FN-N1 26400 Z»FH*DZ 26410 IFCZ.GT.Z1) THEN 26420 Z-Z-OZ 26430 N1-N1-1 26440 ENOIF 26450 Z1»Z 26460 N2>Z2/DZ 26470 FN-N2 26480 Z»FN*DZ 26490 I F I I . L T . Z 2 ) THEN 26500 N2*N2+1 26510 Z«Z*OZ 26520 ENOIF 26530 Z2«Z 26540 IF (K .LE .0 .A I«D .K .GE. -5 ) THEN 26550 K»-K 26560 GOTO 50 26570 ENOIF 26580 IF(ABS(Z2) .LE.AdS<Z1>) THEN 26590 Z*ABS<Z1> 26600 ELSE 26610 Z»ABSCZ2) 26620 ENOIF 26630 Z»Z/TE»K 26640 J*0 26650 40 I F ( Z . G E . 1 0 . ) THEN 26660 Z - Z / 1 0 . 26670 J-J + 1 26660 GOTO 40 26690 ENOIF 26700 IFCK.GE.0 .AND.J+K.LE.5) THEN 26710 K>0 26720 ELSE 26730 K«10*J 26740 I F 0 C . L T . 1 1 ) K»11 26750 ENDIF 26760 C 26770 50 ZM1N-21 26760 IKAï'll

PPP10 (F . 3 4 )

ASCL 63 ASCL 64 ASCL 65 ASCL 66 ASCL 67 ASCL 68 ASCL 69 ASCL 70 ASCL 71 ASCL 72 ASCL 73 ASCL 74 ASCL 75 ASCL 76 ASCL 77 ASCL 78 ASCL 79 ASCL 60 ASCL 81 ASCL 82 ASCL 83 ASCL 84 ASCL 85 ASCL 86 ASCL 87 ASCL 88 ASCL 89 ASCL 90 ASCI 91 ASCL 92 ASCL 93 ASCL 94 ASCL 95 ASCL 96 ASCL 97 ASCL 98 ASCL 99 ASCL 100 ASCL 101 ASCL 102 ASCL 103 ASCL 104 ASCL 105 ASCL 106 ASCL 107 ASCL 106 ASCL 109 ASCL 110 ASCL 111 ASCL 112 ASCL 113 ASCL 114 ASCL • 115 ASCL . 116 ASCL . 117 ASCL . 118 ASCL , 119 ASCL . 120 ASCL . 121 ASCL . 122 ASCL . 123 ASCL 124 ASCL 125 ASCL 126 ASCL 127 ASCL 128 ASCL . 129 ASCL . 130 ASCL . 131 ASCL . 132 ASCL . 133 ASCL . 134 ASCL . 135 ASCL . 136 ASCL . 137 ASCL . 138 ASCL . 139 ASCL . 140 ASCL . 141 ASCL . 142

LINE PFP10

26790 26800 26810 26820 26830 26840 C

MAJQR=N2-N1 NIN0R=NN*NAJOR KF=K RETURN END

ASCL ASCL ASCL ASCL ASCL ASCL

26850 26860 26870 26880 26890 26900 26910 26920 26930 26940 26950 26960 26970 26980 26990 27000 27010 27020 27030 27040 27050 27060 2 7070 2 7080 27090 27100 27110 27120 27130 27140 27150 2 7160 2 7170 27180 27190 27200 27210 27220 27230 27240 27250 27260 ?7270 ;7280 27290

ECK DGA SUBROUTINE D G A ( I X 1 , 1 X 2 , I Y 1 , 1 Y 2 , X 1 , X 2 , Y 1 , Y 2 )

THIS ROUT DEFINE THE FR THE NEXT FOUR THE 80UNPARIE REVERSED. TH IF THEY ARE 0 MINIMUM OR HA OR YT OTHER T COMMON BLOCK

ENTRY DGA FLOATING-POIN THE TICK HARK

* * * * * * * * * * * * * * * * INE DEFINES THE AHE COORDINATES

ARGUMENTS ARE T S . IF 1XL > IXR E BOUNDARY COORD UT OF RANGE, THE XIMUM VALUE. TH HAN NORMAL HACHI CJE07. X FILLS COMMON / T VALUES BELONGI S.

• • • A * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * GRAPH AREA. THE FIRST FOUR ARGUMENTS * FOR THE BOUNDARIES OF THE GRAPH ARIA. • HE FLOATING-POINT VALUES ASSIGNED TO * , AND SIMILARLY IF IYB > I Y T , THEY ARE * INATES ARE TESTED FOR 0 < RANGE < 1023; IR VALUES ARE SET TO THE APPROPRIATE ERE ARE NO RESTRICTIONS ON XL, XR, YB, NE L IM ITS . THE VALUES ARE STORED IN

CJE07X/ WITH THE FRAME COORDINATES AND NG TO THE MINIMUM/MAXIMUM LOCATIONS OF

MODIFIED 21U684 GMDH; ADDED COMMON /CJE07X/ AND ENTRY DGAX.

COMMON / C J E 0 7 / I X L , I X R , I Y B , I Y T , X L , X R , Y B , Y T COMMON /CJE07X/ IXLX, IXRX, IY9X, IYTX,XLX,XRX,YBX,YTX

I X L = M I N ( M A X l O , M I N C 1 X 1 , 1 X 2 ) ) , 1 0 2 3 ) :XR=H1N(MAX(Ü,MAX(1X1,IX2)) ,1023> IYb=MlNCMAX<ü,MIN( IY l , IY2) ) ,1Q23> IYT=MINCMAX(0,MAXCIY1,IY2)) ,1023> XL=X1 XR=X2 YB=Y1 YT = Y2

* ENTRY FOR EQUIDISTANT SCALING. ENTRY DGAXCIX1 , IX2 , IY1 ,1Y2 ,X1 ,X2 ,Y1 ,Y2 ) I X L X = I X 1 I X R X = I X 2 I Y B X = I Y 1 I Y T X = I Y 2 XLX=X1 XRX*X2 YBX=Y1 YTX*Y2 RETURN END

DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA D6A DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA DGA

27300 27310 27320 27330 27340 27350 27360 27370 27380 273*0 27400 27410 27420 27430 27440 27450 27460 27470 27480 27490 27500 27510 27520 27530 27540 27550 27560

•DECK DLGLG SUBROUTINE DLGLG(JX,JY)

C J * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

CALLING SEQUENCES; CALL DLNLN(NX,NY,IBOX,I AX, I AY) CALL DLNLG(NX,JY) CALL DLGLN(JX,NY) CALL DLGLG(JX,JY)

THESE ARE THE CALLING SEQUENCES FOR DRAWING A FRAME WITH LINEAR-LINEAR, LINEAR-LOG, LOG-LINEAR, AND LOG-LOG GRIDS, RESPECTIVELY. LINEAR-LOG MEANS THE GRID WILL BE DIVIDED LINEARLY IN THE X-D1REC-TION AND LOGARITHMICALLY IN THE Y-DIRECTION. LOG-LINEAR MEANS THE REVERSE. NX AND NY REFER TO THE NUMBER OF LINEAR INTERVALS IN THE X- AND Y-DIRECTIONS.

THE NUMBER OF LOG CYCLES TO BE DRAJN IS DETERMINED BY THE FLOATING-POINT VALUES ASSIGNED TO THE APPROPRIATE GRAPH BOUNDARIES. THE VALUE ASSIGNED TO A SPECIFIC BOUNDARY IN THIS CASE IS THE POWER OF 10 ASSOCIATED WITH THAT BOUNDARY. THE DIFFERENCE BETWEEN THE VALUES ASSIGNED TO THE BOUNDARIES IS THE NUMBER OF LOG CYCLES. IF THE NUMBER OF CYCLES EXCEEDS 25 , AN ERROR MESSAGE IS PRINTED, AND AN EXIT IS PERFORMED WITHOUT DRAWING ANY CYCLES, THE LINEAR GRID WILL BE COMPLETE THOUGH.

MODIFIED HGO 1 3 / 1 1 / 8 5 : ARGUMENTS JX,JY ADDED TO PERMIT SEPARATE SUPPRESSION OF THE TICK HANKS FOR JX/Y«D.

C

DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG DLGLG

LINE

27570 275*0 27590 27600 27610 27620 27630 27640 27650 27660 27670 27680 27690 27700 27710 27720 27730 27760 27750 27760 27770 27780 27790 27800 27810 27820 27830 27860 27850 27860 27870 27880 27890 27900 27910 27920 27930 27940 27950 27960 27970 27980 27990 28000 28010 28020 28D30 28040 28050 28060 28070 28080 28090 28100 28110 28120 28130 28140 28150 28160 28170 28160 28190 28200 28210 28220 28230 28240 28250 28260 28270 28280 28290 28300 28310 28320 28330 24340 28350 28360

COMMON /CJE07 / IXL , IXR,1YB, IVT ,XL,XR,YB,YT DIMENSION IXY<4) ,XYU> EQUIVALENCE U X Y , I X L ) , U ¥ , X L > DIMENSION ALC(8> CMARACTER*14 HESS1,HESS2<2>

DATA ( A L 6 U ) , K « 1 , 8 ) / . 30102999566398 , . 4771 2125471966, A .60205999132796 , .69897000433602 , . 7781 5125038364, B .84509804001426 , .90308998699194 , . 95424250943933/

DATA MESS1/'DECADES EXCEED'/ DATA HESS2/' 25 NO OF X ' , ' 25 NO OF V • /

* ORDER OF EXECUTION I S : FIRST VERTICAL AXIS ( I T Y P E - 2 ) , * THEN HORIZONTAL AXIS <ITYPE*1>. IEX=1 ITYPE«2 CALL B0X(1XL, IXR, IYB, IYT)

* SKIP PLOTTING OF THE VERTICAL SCALE IF JY«D. 10 IFUEX.EQ.1.AND.JY.EQ.0) GOTO 40

I1»2«ITYPE-1 I2*2«ITYPE Z1-XYU1) Z2*XY(I2) IFU1.EQ.Z2) 22*22*.01 ZHI**AMIN1(Z1,Z2) ZNAX>AHAXliZ1,Z2) ™iN*AHIN l (A INTCZRlN) ,S lGNUINTUBS<ZHIN)» .999> ,ZMIN) ) ZH;x«AHAXmiNTCZNAX>,$IfiNCAlNT(AB5<ZHAX> + .999>,ZMAX)) ZWMIH Z2-ZNAX NZ»ABS(Z1-Z2) IFCNZ.GT.25) THEN

CALL DLCH(500,520,HESS1,14,2> CALL DLCH(S00,500,M£S$2( ITYPE),14,2) RETURN

ENDIF IF(NZ.EG.Q) THEN

Z 1 W 1 * 1 . IFCZ2.LT.Z1) Z 1 1 » Z 1 - 1 . NZ«1 Z W 1 1

ENDIF I F ( X Y ( I 2 ) . G E . X Y C I D ) THEN

IREV«1 XY<11)«Z1 XY( I2 )«Z2

ELSE IREV«2 X Y U D - Z 2 X Y U 2 W 1

ENDIF I S L - ( I X Y ( I 2 ) - I X Y C I 1 > > / N Z I Z C * I X Y ( H > 00 30 1-1,NZ

DO 20 K*1/8 ICZ« IZC*UREV-1»<3- IR6V- IREV) *ALG(K) ) * ISL I F d T V P E . E a . 1 ) THEN

CALL D R V < K Z , I Y T - 1 5 , I C Z , I Y T ) CALL DRV<ICZ, IYB, ICZ, IYB+15)

ELSE CALL DRV<IXL, ICZ, IXL+15, ICZ) CALL DRV<IXR-15, ICZ, IXR, ICZ>

ENDIF 20 CONTINUE

I Z C - I X V U 1 > * < I * ( I X Y ( I 2 > - m < I 1 ) ) ) / N Z lFCITYPE.Efl .1) THEN

CALL D « V ( l Z C , I Y T , I Z C , l Y T - 2 5 ) CALL DRV<IZC, IYB+25, lZC, IY8)

ELSE CALL D R V ( I X L , I Z C , I X L * 2 5 , I Z C ) CALL DRV( IXR-25 , IZC , IXR , IZC)

ENDIF 30 CONTINUE

IF ( IEX ,EQ.2> RETURN GOTO 40

ENTRY &LSLNUX,NY) CALL OLNLN<0,NY,1,0,0)

40 IF(JX.EG.O) RETURN

PPP10 (F .36)

DLGL6 28 DLGL6 29 DL&LG 30 DLGLG 31 DL6L6 32 DL6L6 33 DLGLG 34 DLGLG 35 DLGLG 36 DL6LG . 37 DLGL6 38 DLGLG 39 DLGLG 40 DLGLG 41 DLGLG 42 DL6LG 43 DLGLG 44 DLGLG . 45 DLGLG . 46 DLGL6 47 DLGL6 48 DLGLG 49 DLGLG SO DLGLG . 51 DLGLG 52 DLGLG S3 DLGLG 54 DLGLG 55 DLGLG 56 DLGLG 57 DLGLG 58 DLGLG . 59 DLGLG . 60 DLGLG . 61 DLGLG . 62 DLGLG . 63 DLGLG . 64 DLGLG 65 DL6LG 66 DLGLG 67 DLGLG 68 DLGLG . 69 DLGLG 70 DL6LG 71 DLGLG . 72 DLGLG 73 DLGLG 74 OLGLG . 75 DL6L6 . 76 DLGLG . 77 DL6LG . 78 DLGLG 79 DLGLG 80 DL6LG 81 DLGLG 82 DLGLG . 83 DL6LG . 84 DLGLG . 85 DLGLG 86 DLGLG 87 DLGLG 88 DLGLG . 89 0L6LG . 90 DLGLG 91 DLGLG . 92 DLGLG. . 93 PLGL6 . 94 DLGLG 95 DLGLG . 96 DLGLG . 97 DLGLG . 98 DLGLG . 99 DLGLG . 100 DLGLG . 101 DLGLG 102 DLGLG 103 DLGLG 104 DLGLG . 105 DLGLG . 106 OLGLG . 107

LIME PPP10

26370 28380 28390 28400 28410 28*20 28430 28440 28450 28460 28470 28480

1EX-2 1TVPE=1 60TO 10

ENTRY DLNL6(NX,JY) CALL DLNLN(NX,0,1,0,0) IFOY.EQ..0) RETURN IEX=2 ITVPE«2 60T0 10 END

DL6L6 DLSL6 DLGLG DLGLG DLGLG DL5L6 DLGLG DLGLG DLGLG DL6LG DLGL6 DL6L6

28490 28S00 28510 28520 28530 28540 28550 28560 28570 28580 28590 28600 26610 26620 28630 26640 28650 28660 28670 28660 28690 28700 26710 28720 26730 26740 28750 28760 26770 26780 26790 26800 28810 28820 28830 28840 28850 28860 28870 28880 26890 26900 28910 28920 28930 28940 28950 26960 28970 289E0 28990 29000 29010 29020 29030 29040 29050 29060 29070

«DECK DLNLN SUBROUTINE DLNLN(NX,NV,IBOX,IAX,IAY)

C

THIS ROUTINE DRAWS A FRAME WITH A LINEAR-LINEAR 6RID CONSISTING * OF NX EQUALLY SPACED INTERVALS IN THE X-DIRECTION AND NY EQUALLY * SPACED INTERVALS IN THE Y-DIRECTION (0 < NX/V <* 10). THE INTERVALS * ARE NARKED OFF BY TICKS ON THE BOUNDARIES. *

* MODIFIED 210684 6HDH: NUMBER OF TICK NARKS INCREASED WITH 1 ON * EACH SIDE OF THE RANGE; COMMON CJE07X ADDED. * MODIFIED HGO 1 3 / 1 1 / 8 5 : SUPPRESS TICK NARKS IF NX/Y»0; ADDED THE * ARGUMENTS IB0X, IAX, IAY TO SUPPRESS DRAWING OF THE BOX IF IBOX-0 * AND TO DRAW THE X/Y»0 AXIS IF IAX/Y .NE.0 *

COMMON /CJE07/IXL,IXR,IVB,IYT,XL,XR,YB,YT COMMON /CJE07X/IXLX,IXRX,IYBX,IYTX,XLX,XRX,YBX,YTX

If(IBOX.NE.O) CALL BOX<IXL,IXR,lYB,IYT>

IFUAX.NE.O.AND.UL.LT.Ü..AN&.XR.GT.O.)) THEN * DRAW X*0 AXIS. IX0* ( IXL*XR-1XR*XL>/ (XR-XL) I F U A X . Ê 0 . 1 ) CALL DRV<IXO,IYB,IXO,IYT> IFCIAX.EG.2) CALL DASHCIXO, IYB,1X0, IYT,10,10,0 ,1DUM)

ENDIF IF(NX.NE.O) THEN

NXS-MIN(IABS(NX),128> DX*REAL(IXRX-IXLX)/NXS IIYB=IYB+20 IIYT«IYT-20 DO 10 1*0,NX5

1XS«IXLX+I*DX CALL DRV(IXS,IYB,1XS,IIVB) CALL DRV(IXS,IYT,IXS,IIYT)

10 CONTINUE ENDIF

IFCIAY.NE.0.AND.CYB.LT.O..AND.VT.GT.O.)) THEN • DRAW Y»Q AXIS. IY0«(IY3*YT-IYT*YB)/(YT-YB> IF(IAY.Ea.l) CALL DRVUXL,IYQ,IXR,IYO) IFdAY.EG.2) CALL DASH(IXL,IYO, IXR,IY0,10,10,0,IDUH)

ENDIF IF(NY.NE.O) THEN

NYS«MIN(1ABS(NY),128) DV-REAL(IVTX-IYBX)/NYS IIXR-1XR-20 IIXL"lXL+20 DO 20 I"0/NYS

IYS-1YBX+I*DY CALL DfiVUXL,IYS,IIXL,lVS> CALL DRV<1XR,IYS,IIXR,IYS>

20 CONTINUE ENDIF RETURN END

29080 «DICK SBLIN SUBROUTINE SBLIN(NX) 29090

29100 C 29110 C•»»#»»**»»•••*»•*#•#»»*#•*»#•*#•***»*»»•#*•»#•************************* 29120 C THIS ROUTINE PRINTS A LINEAR NUMERIC SCALE ON THE BOTTON BOUN- * 29130 C OARY OF A FRAME WITH NX EQUALLY SPACED INTERVALS DRAWN BY DLNLN OR * 29140 C DLNLG. THE NUMBERS ARE PRINTED IN F5.2 FORMAT WITH AN ADDITIONAL •

DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLH DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN DLNLN

SBLIN SBLIN SBLIN SBLIN SSLIN SBLIN SBLIN

LINE PPM O

2 * 1 SO 29160 29170 29180 29190 29200 29210 29220 29230 29240 29250 29260 29270 29280 29290 29300 29310 29320 29330 29340 29350 29360 29370 29380 29390 29400 29410 29420 29430 29440 29450 29460 29470 29480 29490 29500 29510 29520 29530 29540 29550 29560 29570 29580 29590 29600 29610 29620 29630 29640 29650 29660 29670 2V680 29690 29700 29710 29720

POWER OF 10 ( I F NEEDED) PRINTED SEPATATELY. THE DAT» FOR THE SCALE ARE OBTAINED FROM XLX,XRX,YBX,YTX OF COMMON BLOCK CJE07X.

MODIFIED BY DEBBY NYHAN 4 / 7 / 8 U : SCALE FACTOR KS CORRECTED. MODIFIED 210684 GHDH: ADDED COMMON /CJE07X/ . MODIFIED HGO 1 3 / 1 1 / 8 5 : RETURN ON NX*0 .

COMMON / C J E 0 7 / I X L , I X R , I Y b , I Y T , X L , X R # Y B , Y T COMMON /CJE07X/1XLX,1XRX,1YBX,IYTX,XLX,XRX,YBX,YTX CHARACTER'S OUT

IFCNX.ER.O) RETURN

• DETERMINE THE SCALE FACTOR KS OF 1 0 . T*AHAX1(ABS<XLX),A8S(XRX)) I F ( A B S ( T ) . L E . 1 . E - 1 5 > T*1 .E -1S X-AL0G19U) • FIX FOR -1.ÜE7 THAT RETURkS KS=6 INSTEAD OF KS*7: KS~X+SI6N(0.0Q1,X)

FACT«10.««l-KS> XLL*XLX*FACT XRR=XRX*FUT

* WRITE XLL ONTO THE BOUNDARY. IYBlc IVB-22 U R I T E ( Q U T , a ( F 5 . 2 > ' ) XLL CALL DLCH( IXLX-21 , IYB1 ,0UT,5 ,2 )

» DETERMINE THE NUMBER OF INTERVALS TO SCALE (0 < NX <• 10). MXA=H1N.'10,IABS(NX>) DX*(XRN-XLL)/NXA DDXsREAL(IXRX-IXLX)/NXA

* WRITE THE SCALE ONTO THE BOUNDARY. DO 10 1*1,NXA

lXC*IXLX+I*DDX-35 XC*XLL»I*DX WRITE(0UT,'(F5.2)'> XC CALL DLCH(IXC,IVB1,0UT,S,2)

10 CONTINUE

* WRITE THE SCALE FACTOR OF 10. lF(KS.EQ.O) RETURN IF(2.LE.KS.AND.KS.LE.9) J«1 IFC(-9.LE.KS.AND.KS.LE.-1).0R.CKS.fiT.9>) J«2 IF(KS.LE.-IO) J»3 IXR1»IXR-36 lVB2*IVB-43 CALL 6LCH(1XR1,IYB2+1,'X,,1,1) CALL PLCHCIXR1,IYB2,' 10',3,2) IF(KS.EQ.I) RETURN WRITEC0UT/

,U3)') KS CALL DLCHCIXR1+36,IYB2*8,0UT<4-J:3),J,1) RETURN END

SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SWLIN SBLIN SBL1M SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN S3LIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN SBLIN S8LIN SBLIN SBLIN SBLIN SBLIN SdLIN SBLIN

29730 2 9740 29750 29760 29770 29780 29790 29800 29810 29820 29830 29840 29850 29860 29870 29880 29890 29900 29910 29920 29930

•DECK SLLIN SUBROUTINE SLLIN(NY)

C

THIS ROUTINE PRINTS A LINEAR NUMERIC SCALE ON THE LEFT BOUN­DARY OF A FRAME WITH NY EQUALLY SPACED INTERVALS DRAWN BY DLNLN OR DLGLN. THE NUMBERS ARE PRINTED IN FS.2 FORMAT WITH AN ADDITIONAL POWER OF 10 (IF NEEDED) PRINTED SEPATATELY. THE DATA FOR THE SCALE ARE OBTAINED FROM XLX,XRX,YBX,VTX OF COMMON BLOCK CJE07X.

MODIFIED BV DEBBY HYMAN 4/7/80: FIXED ALOG(X) BEING OFF FOR SCALIN6 IN SOME CASES. MODIFIED 210684 6MDH: ADDED COMMON /CJE07X/. MODIFIED HGO 13/11/85: RETURN OH NY«0.

C»**«####*#»**»»»***•»»**»••***«##**#»#**••*#*#*****•*#•••*«•««*•«•••«•• C

COMMON /CJE07/IXL,lXR,IY»,irT,XL,XR,YB,YT COMMON /CJE07X/ IXLX, IXRX, IYBX, IYTX,XLX,XRX,V8X,YTX CHARACTERS OUT

C IF(NY.ER.O) RETURN

SLLIN SLLIN SLLIN SLLIN SLLIN SLLIN SLLIN SLLIN SLLIN SLLIN SLLIN SLLIN SLLIN SLLIN SLLIN SLLIN SLLIN SLLIN SLLIN SLLXN SLLIN

INE

29940 299S0 299*0 29970 29900 29990 30000 30010 30020 30030 30040 300SO 300*0 30070 30010 30090 30100 30110 30120 30130 30140 301 SO 301*0 30170 3 01 SO 30190 30200 30210 30220 30230 30240 30250 302*0 30270 30280 30290 30300 30310 3032O 30330 30340 30350 30360 30370 30380

30390 30400 30410 30420 30430 30440 30450 304*0 30470 304*0 30490 30500 30510 30520 30530 30540 30550 305*0 30570 30580 30590 30600 30610 30620 30630 30640 30650 306*0 30670 30680 30690 30700 30710

PPP10 CF ' . 3 9 )

5LLIN . 22 • DETERMINE THE SCALE FACTOR RS OF 10 . SLLIN . 23 T»AMAXUABS(YBX),A8S<VTX>) SLLIN . 24 I F ( A B S < T ) . L E . 1 . E - 1 S ) T*1 .E-1S SLLIN . 25 X*AL0C19CT> SLLIN . 26 • FIX FOR - 1 . 0 E 7 THAT RETURNS KS>6 INSTFjto OF KS*7: SLLIN 27 KS*X*SISN(0.001,X> SLLIN 28

SLLIN . 29 FACT»10.**( -KS> SLLIN . 30 YTT*YTX*FACT SLLIN 31 YBB*YBX*FACT SLLIN . 32

SLLIN 33 * WRITE Y8B ONTO THE BOUNDARY. SLLIN . 34 I X L 1 * I X L - 6 4 SLLIN 35 I F C I X L 1 . L T . 1 5 ) IXL1»15 SLLIN . 36 W R I T E ( 0 U T , < ( F 5 . 2 ) , > YBB SLLIN 37 CALL DLCH( IXL1 , IVBX-2 ,0UT ,5 ,2 ) SLLIN 38

SLLIN . . 39 • DETERMINE THE NUMBER OF INTERVALS TO SCALE ( 0 < NY <* 1 0 ) . SLLIN 40 NYA*HIN(10, IABS(NT)) SLLIN 41 »Y~CVTT-VBB)/NVA SLLIN . 42 DDY*REAL(IYTX-IVBX>/NTA SLLIN . 43

SLLIN 44 • WRITE THE SCALE ONTO THE BOUNDARY. SLLIN . 45 BO 10 1*1,NVA SLLIN . 46

IYC«lYBX*I*DDY-6 SLLIN . 47 YC»YBB+I*DY SLLIN . 48 W R I T E ( 0 U T / ' ( F S . 2 ) < ) YC SLLIN . 49 CALL DLCH<!XL1, IVC,0UT,5 ,2) SLLIN . 50

10 CONTINUE SLLIN . 51 SLLIN . 52

• WRITE THE SCALE FACTOR OF 10 . SLLIN . 53 IF(KS.EQ.O) RETURN SLLIN . 54 IF (2 .LE .KS.AND.KS.LE .9 ) J«1 SLLIN , 55 I F ( ( - 9 . L E . K S . A N D . K S . L E . - 1 ) . 0 R . ( K S . G T . 9 ) ) J»2 SLLIN - 56 I F ( K S . L E . - I O ) J * 3 SLLIN , 57 I Y T 1 * I Y T * 1 3 SLLIN , 58 CALL D L C H C I X L 1 , I Y T 1 * 1 , ' X ' , 1 , 1 ) SLLIN , 59 CALL D L C H ( I X L 1 , I Y T 1 , ' 1 0 ' , 3 , 2 ) SLLIN . 60 I F ( K S . E Q . I ) RETURN SLLIN . 61 W R 1 T E ( 0 U T , , ( I 3 ) ' ) KS SLLIN . 62 CALL D L C H ( I X L 1 + 3 6 , I Y T 1 + 8 , 0 U T ( 4 - J : 3 ) , J , 1 > SLLIN . 63 RETURN SLLIN , 64 ENO SLLIN . 65

SLLIN . . 66

DECK SBLOG SBL06 1 SUBROUTINE SBLOGUX) SBL06 2

SBLOG 3 4 5 THIS ROUTINE PRINTS A LCS NUMERIC SCALE ON THE BOTTOM BOUNDARY. • SBLOG

3 4 5

THROUGH ENTRY SLLQ6UY) A L06 NUMERIC SCALE IS PRINTED ON THE LEFT * SBLOG 6 BOUNDARY. • SBL06 7

* SBL06 8 MODIFIED HGO 1 3 / 1 1 / 8 5 : RETURN UPON JX*0 AND 4Y»0. • S8L0G 9

. 10 SBL06 . 11

COMMON / C J E 0 7 / I X L , I X R , I Y B , I V T , X L , X R , Y B , Y T SBL06 . 12 DIMENSION 1XY(4 ) ,XY (4 ) SBLOG . 13 EQUIVALENCE <IXY, IXL) ,CXY,XL> SBL06 . 14 CHARACTER*3 OUT SBLOG . 15

SSL06 . 16 I M J X . 6 0 . 0 ) RETURN SSLOG 17 I Y - I V B SBLOG . 18 ITDEL»-23 SBLOG , • 19 IYDL«8 SBLOG , 20 IX»1XL SBLOG . 21 IXDEL- -16 SBLOG . 22 IXDL*23 SBL06 , 23 I 1 « 1 SBLOG . 24 12*2 SBLOG . 25 «010 10 SBLOG , 26

SBLOG . 27 • ENTRY FOR PLOTTING LOS NUMERIC SCALE ON THE LEFT BOUNDARY, SBLOG . 28 ENTRY SLLOSUV) SBLOG . 29 IF (JV .EO.O) RETURN SBLOG . 30 IX*1XL SBLOG . 31 IXDEl« -54 SBLOG . 32 IXDL>24 SBLOG . 33 IY>IYB SBLOG . 34

LIME PPMO (P.40)

30730 30740 30750 3076O 30770 30780 30790 308OO 30810 30820 30830 30840 308» 30860 30870 30880 30890 30900 30910 3092O 30930 30940 309SO 30960 30970 30900 30990 31000 31010 31020 31030 31040 31050 31060 31070 31080 3T090

31100 31110 31120 31130 31140 31150 31160 31170 31180 31190 31200 31210 31220 31230 31240 31250 31260 31270 31280 31290 31300 31310 31320 31330 31340 31350 31360 31370 31380 31390 31400

lYDEL*-2 IVDL=8 11*3 12*4

10 IXYV*XY( I1 ) N X * A H I N 1 ( A B S ( X r ( I 1 ) - X Y U 2 ) ) , 2 5 . ) U R I T E ( 0 U T , ' ( I 3 ) ' ) IXTV IXC* IX* IXDEL IYC=IY*IYDEL IXX=IXC»1XDL IYX*IYC»IVOL CALL D U C H ( I X C , I f C , , 1 0 ,

/ 2 , 2 > •1*1 1 F U X Y V . L T . 0 ) J *2 IFC1XYW.LT.-9) J *3 CALL D L C H U X X , i r X , 0 U T ( 4 - J : 3 ) , J , 1 ) IF(NX.EO.O) RETURN I D X Y V * I S I C N < 1 , I N T U Y ( W ) - X Y ( I 1 ) > ) DO 20 1*1,NX

IXYV*IXVV+1DXYV W R I T E ( O U T , ' C I i ) ' } IXYV I F ( H . N E . I ) THEN

IYC=IY + IYBEL*U*UXY(I2)-IXYU1)))/NX 1TX*IVC*IVDL

ELSE IXC*IX + IXDEL+(I*UXY(I2)-1XY(I1>))/NX IXX*IXC+IXDL

END IF CALL DLCH(IXC,IYC,M0,,2,2) IF(IXYV.6E.-9) J=2 IF(IXTV.6E.D> J*1 CALL DLCH(IXX,IYX,0UT<4-J:3),J,1)

20 CONTINUE RETURN END

«DECK CCNVRT SUBROUTINE CONVRT<Z,IZ,Z1,Z2,1Z1,IZ2)

C C< C C C C C C C C C C C C C C c c c c c c< c

CONVRT CONVERTS THE REAL NUHBER Z TO AN SC-4020 COORDINATE BASED ON Z1 AND Z2 AS THE REAL USER-SCALED VALUES ASSOCIATED WITH THE PLOT AREA BOUNDARIES IZ1 AND 122/ RESPECTIVELY. THE RESULT IS STORED IN IZ. THE CONVERSION IS PERFORMED 8V THE FORMULA;

IZ » IZ1 *C(Z -ZD/CZ2 -Z1))MIZ2 -121)

IZ IS TESTED TO ENSURE THAT IT LIES WITHIN THE BOUNDARIES SPECIFIED BY IZ1 AND I Z 2 . IF IT LIES OUTSIDE THESE L I N I T S , IT IS SET EQUAL TO THE APPROPRIATE L I B I T . I F U EOUALS Z1 ON INPUT, THEN IZ IS SET TO HAXCIZ1 , IZ2 ) .

Z - REAL USER COORDINATE. 1Z - CONVERTED SC-4020 COORDINATE IN THE RANGE IZ1 TO 1 2 2 . Z1/Z2 - REAL USER VALUES CORRESPONDING TO I Z 1 / I Z 2 . I Z 1 / I Z 2 - SC-4020 COORDINATES BOUNDS OF THE PLOT AREA ALONG ONE AXIS

(0 <« I Z 1 <» I Z 2 <* 1 0 2 3 ) .

EXAMPLE: "CALL C O N V R T < 1 . , I X , 0 . , 2 . , 1 0 0 , 9 0 0 ) " . UPON RETURN, 1 * * 5 0 0 .

F*Z2-Z1 I f ( F . N E . U ) f - U Z 2 - U 1 H f I Z * * I N < M A X ( N I N C I Z 1 , I Z 2 > , I Z 1 + I N T ( ( Z - Z 1 ) * F ) ) , M A X ( I Z 1 , I Z 2 > > RETURN END

31410 «DECK BOX SUBROUTINE B0X(IX1,IX2,IY1,IT2)

SBLOG S8L06 SBLOG SBL06 SBLOG SBLOG SBLOG SBLOG SBLOG SBLOG SBLOG SBLOG SBLOG SBLOG SBLOG SBLOG SBLOG StfLOG SBLOG SBLOG SBLOG SBLOG SBLOG SBLOG SBLOG SBLOG SBLOG S8L06 SBLOG SBLOG SBLOG SBLOG SBL06 SBLOG SBLOG SBLOG SBLOG

CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CONVRT CQNVRT CONVRT CONVRT CONVRT CONVRT CONVRT

BOX BOX BOX

31420 31430 C 31440 e*********************##*******»**««****««»*#****«*«**#*«**••**#********* BOX 31450 C THIS ROUTINE DRAWS A BOX WITH VERTICAL SIDES AT 1X1 AND 1X2 AND * BOX 31460 C HORIZONTAL SIDES AT IY1 AN» IY2. * BOX 31470 C * BOX 31480 C WRITTEN H60 18/10/85 * BOX 31490 t*********************************************************************** BOX 31500 C BOX

35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 SO 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

1 2 3 4 5 6 7 8 9 10

LINE PPP10 ( P . 4 1 )

31510 CALL D R V ( I X 1 , I Y 1 , I X 1 , I Y 2 ) BOX . 11 31520 CALL DRWABS(IX2,IV2) BOX . 12 31530 CALL DRWABS(IX2,IV1> BOX . 13 31540 CALL DRWABS(IX1,IY1) BOX . 14 31550 RETURN BOX . 15 31560 END BOX . 16 31570 C BOX 17 3 1 5 6 0 C I * » S 3 : S 3 3 S 3 S » S S S » 3 S S 3 S S S S X S I I 3 3 S S : S S S 3 S S 3 I 3 S S S « 3 5 S S » K I 1 » : 3 S 3 3 » X BOX • 1 8

51590 C w i i i x i M i i i i f s s » SYSTEM DEPENDENT PARTS BELOW I « M « K S S S « S I S S W « S BOX . 19 3 1 6 0 0 C > S I * > : 3 S I 3 > > * S S 3 S £ S S S S S S S S S S a S S S £ S S £ S X S t S S S S S S S S S S S : S S S S S S S 3 S S l X S 9 X t t X BOX • 2 0

31610 C BOX . 21

31620 «DECK DATIN D A T » . 1 31630 SUBROUTINE DATIHCD,T> DATIN . 2 31640 C OATIH . 3 31650 C * * * * * * * * * * * * * * M « « * « * * * * « « « * * * « * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DATIN . 4 31660 C THIS SUBROUTINE WRITES DATE AND TINE ONTO THE VARIABLES D AND T . * DATIN . S 31670 C • DATIN . 6 31680 C WRITTEN HGO 3 / 1 2 / 8 5 * DATIN . 7 31690 C * * * * « * * « * * * « * * * * * * « * * * * * * * * * " * * * * * * * * " * * * * * * * * * * * * * « * * * * * * * * * * * * * * * DATIN . 8 31700 C DATIN . 9 31710 CHARACTER*^) D,T DATIN . 10 31720 CHARACTERS D1,T1 OATIH . 11 31730 C DATIN . 12 31740 « IF DEF,CY7S0,4 DATIH . 13 317SO CALL DATE(Dl) OATIN . 14 31760 CALL T I H E U 1 ) DATIH . 15 31770 0»D1t2:9> DATIH . 16 31780 T - T U 2 : 9 ) DATIH . 17 31790 « IF DEF,CV205,5 DATIH . 18 31800 T-DATEO OATIN . 19 31810 D > T ( 4 : 6 ) / / T ( 1 : 3 > / / T ( 7 : 8 ) DATIH . 20 31820 T - T I H E U DATIH . 21 31830 T ( 3 : 3 ) = ' : ' OATIH . 22 31840 T < 6 : 6 ) « ' : ' DATIN . 23 31850 * I F DEF,CRAY DATIH . 24 31660 CALL DATE(D) OATIH . 25 31870 CALL CLOCK(T) DATIH . 26 31680 *ENDIF OATIH . 27 31890 RETURN DATIH . 28 31900 END DATIN . 29 31910 C DATIH . 30

31920 «DECK WRTEXT NRTEXT . 1 31930 SUBROUTINE WRTEXT(IUNIT) NRTEXT . 2 31940 C WRTEXT . 3 31950 C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * WRTEXT . 4 31960 C THIS ROUTINE READS A LOCAL F I L E , THAT IS OPENED IN THE CALLIN6 * WRTEXT . 5 31970 C PR06RAN WITH THE UNIT NUNBER " I U N I T " , AND WRITES IT TO THE GRAPHICS • WRTEXT . 6 31980 C F I L E . WRTEXT STARTS WRITING ON A NEW FRAHE, UNLESS IUNIT < 0 WHEN * NRTEXT . 7 31990 C WRITIN6 STARTS AT THE CURRENT IY POSITION OF THE DRAWINfi BEAM. IT * WRTEXT . 6 320OO C AUTOMATICALLY ADVANCES A FRAHE IF THE FILE NEEDS AN ADDITIONAL PACE. • WRTEXT . 9 32010 C TYPICAL USE FOR WRTEXT IS TO WRITE THE CURRENT UPDATE MODIFICATIONS * WRTEXT . 10 3202O C OF THE SOURCE OR THE NAHELIST INPUT ONTO THE 6RAPHICS F I L E . » WRTEXT . 11 32030 C * WRTEXT . 12 32040 C WRITTEN BV DE3BY HYHAN, 8-79 * WRTEXT . 13 3205O C MODIFIED HGO 2 5 / 1 0 / 8 5 : OPTION IUNIT < 0 / IMPROVED LINE SPACIN6. • WRTEXT . 14 3206O : • • * * * * * * * * • * * * * • * * * * * » * » * * • » * » « * * • • * • • * • * • * * • • * * • » • * * • * • * * • * • » * • • * * • • » • WRTEXT . 15 32070 C WRTEXT . 16 32080 PARAMETER CISPACE«2) WRTEXT . 17 3209O CHARACT£R*SO LINE WRTEXT . 18 32100 C WRTEX1 . 19 32110 MY*16+ISPACE WRTEXT . 20 32120 IU - IABSUUNIT ) WRTEXT . 21 32130 I f ' I U N I T . L T . O ) THEN WRTEXT . 22 32140 CALL SEELOC(IX,IV) WRTEXT . 23 32150 IYMY-HY WRTEXT . 24 32160 ELSE WRTEXT . 25 32170 CALL ADVC1) WRTEXT . 26 32180 IY«780-F1Y WRTEXT . 27 32190 ENDIF WRTEXT . 28 32200 C WRTEXT . 29 32210 «IF DEF,SAR»,2 WRTEXT . 30 32220 REWIND lu WRTEXT . 31 32230 10 RÉADUU,'CA80) ' ,END«20> LINE WRTEXT . 32 32240 «IF DEF,CRAY WRTEXT . 33 32250 CALL REWIND(IU> WRTEXT . 34 32260 1U READCIU/'CASO)') LINE WRTEXT . 35 32270 I F ( I E O F d U ) . N E . O ) 60TO 20 WRTEXT . 36 32280 «ENDIF WRTEXT . 37

LIME PPP10

32290 32300 32310 C 32320 C 32330 32340 32350 323*0 32370 323*0 C 32390 32400 32410 C

CALL RLCH(20,IY,LINE,80,2) IV*IY-NY

• RESET IY FOR ANOTHER PAGE Of TEXT. IF(IT.LT.O) THEN

CALL ADV(I) IY*780-HY

ENOIF 60T0 10

20 RETURN END

HRTEXT WRTEXT HRTEXT HRTEXT HRTEXT HRTEXT HRTEXT HRTEXT HRTEXT HRTEXT HRTEX1 HRTEXT HRTEXT

32420 32430 32440 32450 324*0 32470 32410 32490 32500 32510 32520 32530 32540 32550 32560 32570 32580 32590 32600 32610 32620 32630 32640 32650 32660 32670 32680 32690 32700 32710 32720 3 2730 32740 327S0 32760 32770 32780 32790 32800 32810 32820 32830 32840 32850 32860 32870 32880 32890 329Ü0 32910 32920 32930 32940 32950 32960 32970 32980 32990 33000 33010 33020 33030 33040 33050 33060 33070

•DECK DLCM SUBROUTINE DLCH(IX,IY,STR:NG,NC,ISIZE)

C

C THIS ROUTINE MILL PRINT ARBITRARILY LARGE CHARACTERS ON THE C CRAPHICS FILE, EITHER HORIZONTALLY OR VERTICALLY (WITH ENTRY DLCV). C HORIZONTAL PRINTING IS FROM LEFT TO R16HT. FOR VERTICAL PRINTIN6, CHARACTERS «RE ROTATED 90 DEGREES COUNTERCLOCKHISE AN» PRINTED FRON BOTTON TO TOP. THE ROUTINE USES VECTORS TO DRAH CHARACTERS IN A BACIC 5 BY 7 MATRIX.

THE NC CHARACTERS STORED IN STRING ARE HRITTEN HITH THE LOHER LEFT-HAND CORNER OF THE FIRST CHARACTER AT (IX,IT) FOR BOTH HORIZON­TAL AND VERTICAL CHARACTERS. CHARACTER AND LINE SPACING ARE AUTOMA­TIC IN EITHER DIRECTION HITH CHARACTER SIZES GIVEN BY HX=ISIIE*6 AND HY3ISIZE*6. EACH LINE IS SPACED DOHN BY NY PLOTTING POSITIONS. ON

< 0, PRINTING HILL CONTINUE HHERE IT LEFT OFF IF IY < 0, THE FIRST CHARACTER IN STRING IS

SUBSEQUENT CALLS IF IX ON THE PRECEDING PRINT. CENTERED AT IX,IT.

IF NC < 0, EACH OCCURRENCE OF THE CHARACTER 'Sa OR 't' IN STRING CAUSES THE FONT TO BE CHANGED FROH UPPER CASE (NF0NT=1, IC=I*1,64) TO LOMER CASE (NF0NT*2, IC*I+64=6S,128) OR GREEK (NF0NT=2, ICI+32* 33,96), AND VICE VERSA. THESE CHARACTERS ARE NOT INCLUDED IN NC. IF STRING*' • AND NC.NE.1, ONE SINGLE CHARACTER IS DRAHH REPRESENTED BY THE INTEGER CODE IC=NC.

FOR EXAMPLE, THE UPPER CASE "A" IS PRINTED OUT HITH:

"CALL DLCH(IX,tY,'A,,1/ISIZE)" OR "DLCH(IX,IY,' ',34,ISIZE>", THE LOHER CASE "A" HITN:

"CALL DLCH(IX,IY,>SA',-1,ISIZE)n OR "DLCHtIX,IY,• ,,98,ISIZE)", THE GREEK CHARACTER ALPHA WITH:

-CALL DLCH(IX,IY,'fcA*,-1,ISIZ£)" OR "DLCHdX,IY,• ',66,ISIZE)", AND THE STRING "A SINGLE ALFA IS PRINTED" HITH:

"CALL DLCH(IX,IY,'A SSINGLES 6A8 SIS PRINTED',-21,ISIZE)".

METHOD: THE CHARACTERS ARE DRAWN USING VECTORS UHICH ARE TAKEN FRON TABLE. TABLE IS THE COORDINATE MATRIX. EACH CHARMCTEK IS DEFINED BY ONE HORD CONSISTING OF A SERIES OF DX,DY'S REPRESENTING A DISPLACEMENT IN A 5 BY 7 MATRIX. THE STARTING AND ENDING OF THE VECTORS ARE DEFINED BY:

X1*X+DX1, Y1»Y*DY1, X2*X+DX2, Y2*Y*DY2.

X2,V2 BECOME THE NEH X1,Y1 UNLESS DX*0 IN UHICH CASE THE VECTOR IS STARTED ALL OVER HITH SY BECOMING THE NEXT DX, IF DY-O, THE NEXT DX BECOMES DY HITH RESPECT TO A Y SHIFTED DOHNHARD BY AN AMOUNT OF 1/4 OF THE CHARACTER S I Z E . THE CHARACTER ORIGIN IS THE LONER-LEFT COR­NER X,Y (THE PARAMETERS I X , I T ) . IS IZE IS THE CHARACTER SIZE AS A MULTIPLICATIVE FACTOR OF THE OX.DY'S OF THE COORDINATE MATRIX.

MODIFIED BY HANS G0ED8L0ED 1 8 / 1 0 / 8 5 : REPLACING OCTAL CONVERSIONS BY MACHINE-INDEPENDENT CHARACTER AND INTEGER MANIPULATIONS.

• I F DEF,CY750,1 PARAMETER ( I A S C 1 I - 0 )

• I F DEF,CV205,1 PARAMETER (IASC1I>32>

•IF DEF,CRAY PARAMETER (IASCII>32)

• END IF CHARACTER*^) STRING INTEGER TABLE(2,2,64> LOGICAL FVERT,FFONT,FSIRG

LINE PPP10 ( P . 4 3 )

33080 C DLCH * 67 33090 C * TABLE COORDINATES ASCII CHARACTERS (HEBREW STYLE). DLCH m 68 33100 C DLCH m 69 33110 C • 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 6 5 . 66 . 67 . 68 . 6 9 . 7 0 . 7 1 . 72. DLCH m 70 33120 C * ! » S PRC 1 I ALF BET PSI DEL EPS PHI GAH DLCH m 71 33130 DATA ( U T A B L E ( L , N , I ) , L * 1 , 2 > , N > 1 ,2 ) , 1 - 1 , 8 ) DLCH • 72 33140 1 / 0 ,0000000000 , 0 , 0 0 0 0 0 0 0 0 0 0 , DLCH . 73 33130 2 222313122/2072427372, 55 ,1221415215 , DLCH • 74 33160 3 7574547,5072715272, 1163654 ,3420433513 , DLCH • 75 33170 4 353105551,0147401272, 741 ,2052313455 , DLCH . 76 33180 5 7313021,2435516265, 757261 ,2514122143 , DLCH • 77 33190 6 15241307,3627101175, 5 5 5 2 3 , 1 1 2 1 5 0 3 5 3 1 , DLCH • 78 33200 7 35131221,3164735115, 1027405435 ,1412315254 , DLCH • 79 33210 8 0 ,0053737453 , 5162 ,2413225465/ DLCH . 80 33220 C * 9 . . 10 . 1 1 . 1 2 . 13 . 14. 15. 16 . 73 . 74 . 75. 76 . 77 . 7 8 . 79 . 8 0 . DLCH • 81 33230 C * C ) * • , " • / THE IOT SOU KAP LAN RU NU ONI DLCH • 82 33240 DATA ( ( ( T A B L E ( L , H , n , L « 1 , 2 > , N = ' 1 , 2 ) , 1 - 9 , 1 6 ) DLCH • 83 33250 9 / 0 ,0074523214 , 417274 ,4514124145 , DLCH • 84 33260 * 0 ,0072543412 , 0 ,0000431213 , DLCH • 85 33270 1 4145 ,0622402264 , 0 , 5 1 5 5 1 5 1 1 5 1 , DLCH • 86 33280 2 0 ,0414506323 , 5111 ,0315503115 , DLCH • 87 33290 3 0 ,0013333413 , 0 , 0 7 1 1 5 0 4 3 1 1 , DLCH * 88 33300 4 0 ,0000004145 , 443342035 ,4475073101 , DLCH • 89 33310 5 0 ,2313142423 , 0 ,4142122444 , DLCH • 90 33320 6 0 ,0000001175 , 5341 ,2113254553 / DLCH • 91 33330 C • 17 . . 16 . 19 . 20 . 2 1 . 22 . 23 . 24 . 8 1 . 8 2 . 83 . S i . 85 . 8 6 . 8 7 . 8 8 . DLCH # 92 33340 C • 0 1 2 3 4 5 6 7 P I CHI RHO SI6 TAU UPS GRD ONE DLCH „ 93 333S0 DATA <<<TA8LE(L ,N , I ) ,L *1 ,2> ,N» ' 1 , 2 ) , 1 * 1 7 , 2 4 ) DLCH • 94 33360 7 / 4 1 7 2 , 7 4 4 5 1 4 1 2 4 1 , 41524455 ,0441401252 , DLCH • 95 33370 8 6 ,2731301114 , 5 ,1521501155 , DLCH m 96 33380 9 6172 ,7465211115 , 4 2 3 3 4 , 5 6 5 7 4 6 3 1 0 1 , DLCH . 97 33390 • 717465442,5141104244, 433525 ,1311415255 , DLCH . 98 33400 1 7 ,3313501474 , 5 3 2 , 3 1 4 1 5 0 5 5 5 1 , DLCH • 99 33410 2 211214,3554517275, 0 ,4142121444 , DLCH * 100 33420 3 414435 ,1412417274 , 0 , 0 0 5 1 5 5 1 3 5 1 , DLCH . 101 33430 4 0 ,0000717513 , 4231 ,1233143544 / DLCH • 102 33440 C * 25. . 26 . 27 . 28 . 29 . 30 . 3 1 . 3 2 . 8 9 . 9 0 . 9 1 . 92 . 9 3 . 9 4 . 95 . 96 . DLCH m 103 33430 C * 8 9 : ; < • > ? KSI ETA ZET'DEL SAB LAM ONE SI6 DLCH • 104 33460 DATA (<<TABLECL,N , I ) , L *1 ,2 ) ,N»1 ,2> , 1 - 2 5 , 3 2 ) DLCH » 105 33470 5 / 74553112,1435517274, 6561424 ,4031212515 , DLCH . 106 33480 6 121445,7472514245, 1524657473 ,6203172701 , DLCH • 107 33490 7 2433342,4064635464, 1420514122 ,1620656271 , DLCH * 108 33300 8 133433130,6353546463, 0 ,0053151153 , DLCH • 109 33310 9 0 ,0000654125 , 6 ,5757107212 , DLCH • 110 33320 * 0 , 0 3 5 3 1 0 5 5 5 1 , 0 ,0000117315 , DLCH • 111 33330 1 0 , 0 0 0 0 6 1 4 5 2 1 , 1112324172,7445341415, DLCH • 112 33340 2 13 *3033 ,5565747261 , 6 5 7 5 , 7 1 * * 1 1 1 5 2 5 / DLCH • 113 33350 C * 33. . 34. 35. 36 . 3 7 . 38 . 39 . 4 0 . 9 7 . 9 8 . 9 9 . 1 0 0 . 1 0 1 . 1 0 2 . 1 0 3 . 104. DLCH m 114 33360 C • a A 8 C 0 E F 6 LC:A B C D E F e DLCH * 115 33570 DATA ( ( ( T A 3 L E ( L , N / I ) , L s 1 , 2 ) / N * 1 , 2 ) , I « 3 3 , 4 0 ) DLCH m 116 33580 3 / 34434231 ,1335557351 , 0 ,0000000000 , DLCH • 117 33590 4 1 ,1731503432 , 3532211214 ,2515555241 , DLCH • 118 33600 5 41446574,7111142544, 7 1 , 1 1 1 4 3 5 5 4 5 1 , DLCH m 119 33610 6 251412,2161727465, 0 ,5552311215 , DLCH # 120 33620 7 7 1 , 7 4 4 5 1 4 1 1 7 1 , 75 ,1512315255 , DLCH • 121 33630 8 7 5 7 , 1 1 1 1 5 0 4 4 4 1 , 3135 ,5452311215 , DLCH • 122 33640 » 7 ,5711104144 , 12140525,4065746313, DLCH m 123 33650 * 3335251412,2161727465, 121425757,2513234405/ DLCH . 124 33660 C * 4 1 . . 4 2 . 4 3 . 44 . 45 . 46 . 47 . 48 . 1 0 5 . 1 0 6 . 1 0 7 . 1 0 8 . 1 0 9 . 1 1 0 . 1 1 1 . 1 1 2 . DLCH • 125 33670 C * H I J K L H N 0 H I J K L Ff N 0 DLCH « 126 33680 DATA ( C ( T A B L E ( L , N , I > , L - 1 , 2 ) / N - 1 , 2 ) , 1 - 4 1 , 4 8 ) DLCH , 127 33690 1 / 7111 ,0414507515 , 1 5 4 , 5 5 4 5 1 0 1 1 7 1 , DLCH • 128 33700 2 7274 ,0731301214, 121407 ,3737305313 , DLCH , 129 33710 3 73750 ,7424131221 , 121324,7040747474, DLCH t 130 33720 4 7111 ,0317504215 , 7 ,1110143154 , DLCH m 131 33730 5 0 ,0000711115 , 7 ,2731301214 , DLCH * 132 33740 6 0 ,1171337515 , 154554531 ,3043525111 , DLCH m 133 33750 7 0 ,0011711575 , 15455 ,4524101151 , DLCH m 134 33760 8 72746525,1412216172, 5435,1412315254/ DLCH * 135 33770 C * 49 . 50 . 5 1 . 52 . 53 . 54. 55. 56 . 1 1 3 . 1 1 4 . 1 1 5 . 1 1 6 . 1 1 7 . 1 1 6 . 1 1 9 . 120 . DLCH • 136 33780 C • P 8 R S T U V U P Ö R S T Ü V W PLCH • 137 33790 DATA (C(TABLE<L,N, I> ,L»1, i 2>,N»1,2> , I » 4 9 , 5 6 ) DLCH • 138 33800 9 / 1 1 , 7 1 7 4 6 5 4 4 4 1 , 3 1 3 , 4 5 5 7 4 7 1 1 0 1 , DLCH • 139 33810 * 53151)1412,4172744514, 353 ,2517275105 , DLCH • 140 33820 1 1171746,5444104315, 4 5 5 , 4 5 2 4 1 0 1 1 5 1 , DLCH • 141 33830 2 211214,2561727465, 11 ,1425415255 , DLCH • 142 33840 3 0 ,0717507313 , 7 ,3231405452 , DLCH • 143 33850 4 71 ,2112142575 , 5 5 , 2 5 1 4 1 2 2 1 5 1 , DLCH • 144 33860 3 0 ,0000711375 , 0 ,0000511355 , DLCH • 145 33870 6 0 ,7112531475 , 0 ,5112531455/ DLCH • 146

LINE ffMt CP.44>

33880 33890 33900 33910 33920 33930 33940 33950 33960 33970 33980 33990 34000 34010 34020 34030 34040 34OS0 34O60 34070 34080 34090 34100 34110 34120 34130 34140 34150 34160 34170 34180 34190 34200 34210 34220 34230 34240 34250 34260 34270 34280 34290 34300 34310 34320 34330 34340 34350 34360 34370 34380 34390 34400 34410 34420 34430 34440 34450 34460 34470 34480 34490 34500 34510 34520 34530 34540 34550 34560 34570 34580 34590 34600 34610 34620 34630 34640 34650 34660 34670

• 37. 58. 39. 60. 61. 62. 63. 64. 121.122.123.124.125.126.127.128. • X V Z C \ 3 _ X 1 t III IDT M U (E DATA ttUAOU(L,N,I),L*1,2>,M1,2),!*57,64)

7 / 0 , 0 7 1 1 5 0 1 1 7 5 , 0 ,0511501155 , 8 7 ,1431304375 , 1214257504 ,5343241701 , 9 0 , 0 0 7 1 7 5 1 1 1 5 , 0 ,0051351115 , • 0 , 0 0 7 4 7 2 1 2 1 4 , 727445 ,1412314245 , 1 0 , 0 0 0 0 0 0 2 5 6 1 , 0 ,0074632312 , 2 0 , 0 0 7 2 7 4 1 4 1 2 , 4145 ,0632302125 , 3 0 , 0 0 0 0 5 4 7 3 5 2 , 7 , 5 5 1 3 5 0 1 5 3 1 , 4 0 , 0 0 0 0 0 0 1 5 1 1 , 7 ,1553101135/

• NC=0 NAY BE USE» TO SWITCH OFF PRINTING OF STRING. IF(NC.EQ.O) RETURN

• FLAG FOR ROTATE (DRAH VERTICAL CHARACTERS). FVERTs.FALSE.

• CHECK FOR IX AN» IT WITHIN THE RAN6ES 0-1023 AND 0 - 7 7 9 . ISXzRIN( IABSCIX) ,1023) ISV*H1N( IA8S( IY ) ,?79> • IF IX<D, CONTINUE PRINTIN6 AT PREVIOUS LOCATION. IF(IX.LT.O) CALL SEELOC<ISX,ISY)

10 CONTINUE

• FLAG FOR INTERPRET ' S ' AND ' i ' AS CHANGE THE FONT. FFONT=.FALSE. IF (NC.LT .O) FFONT*.TRUE. • DEFAULT FOR CHARACTER FONT. NFOMT-1 !SHI fT=0

• NAXIHUH FOR NC IS 150 CHARACTERS. NCHR>NIN(IABS(NC),150) • FLAG FOR SINGLE CHARACTER. FSIN6=.FALSE. IF((L£N(STRING).E0.1>.AND.(NC.NE.1)) THEN

FSING-.TRUE. NCHRzl

ELSE KCKRiIAöS(NC)

END IF

« SET I F U S I

HX= NT» HYD

ELSE nx= NT= RID

END IF

UP THE SPACING FOR 5 BY 7 CHARACTER MATRIX. ZE.EQ.1) THEN 10 13 = 3

ISIZE*6 ISIZE«8 = IS1ZF.»2

• SAVE ISX FOR LINE OVERFLOW. ISXOLD»ISX • IF IV < 0 , CENTER FIRST CHARACTER OF STRING AT I X , I T . I F ( I Y . L T . O ) THEN

ISX»ISX-FIX/2 ISY* ISY-HY/2 IF(FVERT) ISY=JSV*RY IF(FSING) THEN

• ADDITIONAL POSITION CORRECTIONS FOR SINGLE CENTERED DOT • (ONLY PRECISE I F IS IZE EVEN) AND LONER CASE CHARACTERS. IC-NC I F ( I C . E 0 . 1 } ) THEN

ISX»1SX-HX/12 ISY»1SY+5*HV/16 IFCFVËRT) ISY* ISY-5*FlY/8

ELSEIFCIC.GT.64) THEN ISY ' IST+HV/8 IF(FVERT) ISY«ISY-FIY/4

END I F ENDIF

ENDIF

• GO THROUGH STRING PICKING OFF THE NEXT CHARACTER.

N*0

»LCN • 147 DLCN » 148 DLCH „ 149 DLCM • 150 DLCN » 151 DLCH * 152 DLCH . 153 DLCH m 154 8LCB » 155 DLCN m 156 DLCN a 157 DLCN . 158 DLCN . 159 DLCN a 160 DLCN » 161 DLCN . 162 DLCN „ 163 DLCN • 164 DLCN » 165 DLCH . 166 DLCN « 167 DLCN . 168 DLCN • 169 DLCN . 170 DLCN * 171 DLCN , 172 DLCN . 173 DLCH * 174 DLCN » 175 DLCN . 176 DLCH • 177 DLCN » 178 DLCH • 179 DLCH . 180 DLCH m 181 DLCH m 182 DLCH • 183 DLCH . 184 DLCH . 185 OLCH , 186 DLCH • 187 BLCtt m 188 DLCN . 189 DLCH * 190 DLCH * 191 DLCH • 192 DLCH * 193 DLCH m 194 DLCH * 195 DLCH » 196 DLCH * 197 DLCH • 198 DLCH • 199 DLCH * 2U0 DLCM * 201 DLCH , 202 DLCH * 203 DLCH * 204 DLCH •> 205 DLCH * 206 DLCH , 207 DLCH * 208 DLCH « 209 DLCH m 210 DLCH * 211 DLCH m 212 DLCH m 213 DLCH * 214 DLCH m 215 DLCH m 216 DLCH . 217 DLCH * 218 DLCH • 219 DLCH * 220 DLCH * 221 DLCH • 222 DLCH • 223 DLCH • 224 DLCH • 225 DLCH • 226

LINE PPP10 ( P . 4 3 )

3 4 4 * 0 M 40 N>1,HCHR •LCH . 227 3 4 4 * 0 20 11*11*1 •LCH . 2 2 * s « m I f CF FONT) TNER •LCH . 229 34710 i F U S T i i a s d C i D . E a . ' S ' i . o t . t S T R i i r c c i i i i u . E a . ' t ' ) ) T H E N DLCN . 230 5 * 7 » C • THE FONT IS CHANCE». •LCH . 231 3 * 7 3 0 NF0NT*HO»<NFONT#2)*1 •LCH . 232 3 * 7 4 0 I F ( S T » I N t ( * : N ) . £ * . ' * * > ISNIFÏ»CNF0HT-1>»12 •LCH . 213 14750 COTO 20 •LCH . 214 1 4 7 * 0 E M 1 F •LCH . 235 S4770 ER» IF •LCH . 23* 1 4 7 » IF CF SIRS) THER •LCH . 237 1 4 7 f 0 IC»NC •LCH . 2 1 * 1 4 * 0 0 ELSE •LCH . 219 1 4 * 1 0 I C - I C * A R < $ T R I N S ( H : H ) ) * 1 - l R S C I I •LCH . 240 1 4 * 2 0 ER» IF •LCH . 241 1 4 * 3 0 I F C I C C T . 6 4 ) THER •LCH . 242 1 4 * 4 0 RFMT*2 •LCH . 243 3 4 * 3 0 ISHtFT* *4 •LCH . 244 1 4 * 4 0 ER» IF •LCH . 245 1 4 * 7 0 c •LCH . 24* 3 4 * * 0 c • CONTINUE PRINTH6 OH THE NEKT LINE I F STRIN6 IS TOO L0M6. •LCH . 247 3 * 4 * 0 1 F < C ( I S X * N X . S E . 1 0 2 3 ) . A M . ( . N 0 T . F V E R T ) ) . 0 R . •LCH . 2 4 * 34900 A ( ( ISK4NX.SE. 7 7 9 ) . M M ) . ( FVERT))) THEN •LCH . 249 34910 ISX*ISXOL> BLCH . 250 34920 ISV*ISVHIY •LCH . 251 34930 IF(FVERT) ISV*ISV*2*HY •LCH . 252 34940 ER» IF BLCH . 253 34950 c •LCH . 254 3 4 9 * 0 c • PICK UP CONTROL HOI» FROH TABLE FOR BRAHINS THE CHARACTER BLCH . 255 34970 c • WITH VECTORS. •LCH . 2 5 * 3 4 9 * 0 c •LCH . 257 34990 ICU*TABLE(2 ,HF0HT,NAX( IC- ISHIFT ,D) •LCH . 25* 3S00O ISYA«ISV BLCH . 259 15010 J*1 •LCH . 2*0 15020 ISTART-1 •LCH . 261 3S030 c DLCH . 262 35040 c * SORE CHARACTERS TAKE MORE OR LESS STROKES. PLCH . 263 3S0SO c • PICK UP ORE DISIT AT A TINE FROM ICH UNTIL ICM*0 . BLCH . 264 3 3 0 * 0 c BLCH . 265 31070 30 1FCJ.E0.11) 1CW*TABLE(1,HF0NT,IC-ISHIFT) DLCH . 266 3 5 0 * 0 I F C ( I C H . E a . 0 ) . A H » . ( J . H E . 1 0 ) ) SOTO 50 •LCH . 267 13090 lDX*MOfttUN,10) DLCH . 26* 35100 ICW=ICU710 BLCH . 269 33110 J»J*1 DLCH . 270 35120 IFC1DX.EQ.0) THEH •LCH . 271 3S130 c • START ANEW OH " 0 " I N DX LOCATIOH. DLCH . 272 35140 ISTARU1 DLCH . 273 35150 SOTO 30 DLCH . 274 35160 END IF DLCH . 275 35170 1 F U S I Z E . E Q . 1 ) THEN DLCH . 276 3 5 1 * 0 I X 1 * I D X / 2 * I D X DLCH . 277 35190 ELSE DLCH . 2 7 * 15200 IX1* IDX« IS IZE DLCH . 279 35210 EN» IF DLCH . 2*0 35220 40 I F C J . E 0 . 1 1 ) ICW>TABLE(1,NF0NT,IC-ISHIFT) DLCH . 2*1 35230 IDY*HOOCICW,10> DLCH . 2*2 35240 ICWICW/10 DLCH . 2*3 35250 J«J*1 OLCH . 2*4 3 5 2 * 0 IF ( IDY .ED.O) THEN DLCH . 2*5 35270 c * DOWNWARD DISPLACENENT ON " 0 " IN OY LOCATION FOR CHARACTERS OLCH . 2*6 152*0 c • LIKE L.C. Y AND 6 . OLCH . 2*7 35290 ISTA-ISYA-HYD DLCH . 2*8 35300 IF(FVERT) ISYA»ISYA*2*RYD DLCH . 2*9 35310 SOTO 40 DLCH . 290 35320 END IF DLCH . 291 35330 I F ( I S U E . E Q . I ) THEN DLCH . 292 35340 1Y1»1DY/2*IDY DLCH . 293 35150 ELSE DLCH . 294 3 5 3 * 0 I Y 1 * I D Y * I S I Z E DLCH . 295 35370 END IF DLCH . 296 353*0 c DLCH . 297 35390 1FCISTART.E0.1) THEN DLCH . 2 9 * 35400 c • POSITION THE BEAR. DLCH . 299 35410 IFCFVERT) THEN DLCH . 300 35420 e • ROTATE FOR VERTICAL CHARACTERS. DLCH . 301 35430 CALL R0VABS( ISTA- IV1 , ISXt IX1) DLCH . 302 35440 ELSE DLCH . 303 35450 CALL ftOVA0SCISX+IX1,ISYA+IVl) DLCH . 304 35460 END IF DLCH . 305 35470 ISTART-0 DLCH . 306

LINE PPP10 CP.46Ï

3 5 * * 0 3 5 * 9 0 35S00 35510 35SW 35530 35540 355S0 3 5 5 * 0 35570 35580 355*0 35400 35610 35*20 35*30 3 5 * 4 0 35*50 3 5 * * 0 35*70 356*0 35*90 35700 35710 35720 35730 35740 3S7S0 35760 35770 35780

35790 *ft 35*00 35810 C 35*20 C* 35830 C 35840 C 35650 35860 35870 35680 35890 35900 35910 35920 35930 35940 35950 C

ELSE • M M VECTOR. lF(FVERT) THEN

• ROTATE FOR VERTICAL CHARACTERS. CALL »RHAB$(ISVA-IY1,1SXMX1>

ELSE CALL DRHAaS( IS I+ IX l , ISYA+IT1)

ENDiF EN» IF SOTO 30

• POSITION FOR REXT CHARACTER. 50 IS I« ISX*HX

40 CONTIRUE

• POST BEAR POSITION. IFC.NOT.FVERT) CALL NOVABSCISX,lSY) IF(FVERT) CALL HOVABStISY,ISX> RETURN

* ENTRY FOR BRAUIN6 VERTICALLY. ENTRY DLCVCIX, IY,STRINC,NC, ISIZE) 1FCNC.E9.0) RETURN FVERT'.TRUE. ISX*HINCIABSCIY) ,779) ISYsKlN( IABS( IX ) ,1023> I F U l . L T . Q ) CALL SEELOCUSY,ISX) 60TO 10 END

ECK SEELOC SUBROUTINE SEELOCUX,IV)

THIS ROUTINE LOOKS UP THE CURRENT POSIT 101 OF THE DRAWING BEAN. COMMON / L I B 8 X / ITSELF SHOULD NOT BE USED FOR THIS PURPOSE SINCE ITS CONTENTS SHOULD RENAIN SHARED AND AFFECTED ONLY BY THE LOWEST-LEVEL SYSTEM-DEPENDENT DRAWING ROUTINES.

CORHON /L IB8X/ IX$AV, IVSAV

IX«IXSAV IY*IYSAV RETURN END

35960 35970 35980 35990 36000 36010 36020 36030 36040 36050 36060 36070 36060 36090 36100 36110 36120 36130 36140 36150 36160 36170 36180 36190 36200 36210 36220 36230 36240 36230

• DECK BESPLT SUBROUTINE SEGPLT(NAME)

o * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * BEGPLT INITIALIZES THE PL0TTIN6 ROUTINES; IT

BEFORE ANY PLOTTING IS DONE. THE PLOTTING FRAME TO 1024 BY 780, THESE COORDINATES ARE CHOSEN SO COMPATIBLE UITH THE «014 TEKTRONIX SCREEN, THE V MICROFICHE.

AT THE CRAY1 AT MFECC BEGPLT CREATES A FILE IN THE USER'S LOCAL FILE SPACE. E.G., IF NAME*' IS WRITTEN ONTO "F3ABCD0X". IF ADDITIONAL FILE GRAPHICS FILES ARE AUTOMATICALLY CREATED BY INCR LETTER AS FOLLOWS: "F3ABCE0X", "F3ABCF0X", ETC.

AT SARA BEGPLT CREATES A 6RAPHFILE "NAME". WITH MAIN GRAPHS NAMED "MAIN1", "HAIN2", ETC. BY ADV. THESE GRAPHS MAY BE VISUALISED WITH THE PR

SEE ALSO THE NOTE IN SUBROUTINE ADV.

ft*********************

MUST BE CALLED • COORDINATES ARE SET * THAT THE OUTPUT IS • ERSATEK PLOTTER, AND *

NAMED "F3 NAME OX" ABCD', THE GRAPHICS SPACE IS NEEDED, NEW EHENTING THE FOURTH

THIS FILE IS FILLED CALLING SUBROUTINE 06RAM GRIMAS.

WRITTEN BY CLAIR NIELSON MODIFIED BY DEBBY HYMAN 7-79, FOR DIFFERENT VERSIONS. ADAPTED FOR SARA CY750, GF1DH 840106. MODIFIED HGO 23/1U/85: ELIMINATED PARAMETERS TITLE AND NTITLE; ADAPTED FOR CY205.

*•*••*••»•**ft***************#*******#«o***************************#**••

COMMON /6RNR/1GR

BLCH BLCH BLCH BLCH DLCH BLCH BLCH BLCH BLCH DLCH DLCH DLCH DLCH DLCH DLCH DLCH DLCH DLCH DLCH DLCH DLCH BLCH DLCH DLCH DLCH DLCH DLCH DLCH DLCH DLCH DLCH

SEELOC SEELOC SEELOC

»* SEELOC • SEELOC * SEELOC • SEELOC * SEELOC »* SEELOC

SEELOC SEELOC SEELOC SEELOC SEELOC SEELOC SEELOC SEELOC

BEGPLT BEGPLT 8EGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BE6PLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT BEGPLT

307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

L I K PPP10 <P*47>

3 * 2 * 0 34270 3 * 2 * 0 3*290 3*300 3*310 3*320 3*330 3*340 5*350 36360 3*370 3*300 3*390 3*400 3*410 3*420 3*430 3*440 36*50 3 * 4 * 0 3*470 3*480 3*490 3*500 3*310 3*520

COMMON /LIB8X/ IXSAV, IYSAV CHARACTER*(•) MANE

• I F »EF,SARA,5 COMMON /GRNH/NAME1 CHARACTER*10 NABEl

C NAKEIsNAHE CALL PLOTS<0. ,0 . ,NAMED

• IF BEF,CRAY CHARACTER** NANE1,ID(4)

C NAHEI^NANE IDCU^'FLM-ONLY' DO 10 1*2 ,4

10 I K ! ) * * * CALL 6F5IZE(3 ,700000> CALL KEEP80(NAHE1,3) CALL FR801D( ID ,1 ,1 ) CALL H A P C D . , 1 0 2 3 . , Q . , 7 8 0 . , 0 . , 1 . , . 2 5 , 1 . ) CALL FRAME

•ENDIF 16 R-O IXSAV-0 IVSAV*O RETURN EN»

BE6PLT . 8ECPLT . BEGPLT . BEfiPLT . BEGPLT . BEGPLT . BEGPLT . BEGPLT . BEGPLT . BE6PLT . BEGPLT . BEGPLT . BEGPLT . BEGPLT . BiÊGPLT . BEGPLT . BEGPLT . BEGPLT . BEGPLT . BEGPLT . BEGPLT . BEGPLT . BEGPLT . BEGPLT . BEGPLT . BEGPLT . BEGPLT .

31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 4* 47 48 49 50 51 52 53 54 55 56 57

3*530 36540 36550 3 * 5 * 0 3*570 3*380 36590 36*00 3 * *10 36*20 36*30 36640 36650 3 * 6 * 0 3 * * 7 0 3*680 3 * * 9 0 36700 3*710 36720 36730 36740 36750 36760 36770 36780 36790 36800 36810 36820 36830 36840 3*850 366*0 36870 36880 36890 36900 36910 36920 3*930 3*940 3*950 3*9*0 3*970 3*980 3*990 37000 37010 37020 37030 37040

•DECK BEGHOV SUBROUTINE BEGHOV(NAME,TITLE,NTITLE)

C

THIS ROUTINE I N I T 1 ROVIE. THE FRAME COOR COORDINATES ARE CHOSEN AND 35-HH FILM. THE A THE ORIGINAL VERSION O EVE-READABLE TITLE OF MICROFICHE. THE USER SYSTEM FOR PROCESSING

WR11UN BY DEBBY H CALL HAS NO EFFECT

ALIZES THE PLOTTING ROUTINES FOR MAKING A DINATES ARE INIT IALIZED TO 1020 BY 1024. THESE

SO THAT THE OUTPUT IS COMPATIBLE WITH 16-HH RGUHENTS OF BEGHOV ARE THE SAME AS THOSE OF F BEGPLT WHERE "TITLE" WAS USED TO PRODUCE AN "NTITLE" CHARACTERS ON THE GRAPHICS FILE OR MUST GIVE THE MOVIE F I L E , "F6 NAME_OX", TO THE

"GIVE F6_NAME_0X 999999 END*.

YMAN 3-80 FOR SARA - 840106 6MDH

• IF D£

C

10

C •ENDIF

COMMON /GRNR/I6R COMMON /LIB8X/1XSAV,IYSAV CHARACTERS») NAME F,CRAY CHARACTERS KAME1,T ITLE(3 ) , I »<4 )

NAM E1 «NAN E I D d ^ ' F L H - O N L V ' DO 10 1 -2 ,4

I D C D - ' ' IF (NTITLE.GT.O) ID<2>»T1TLEC1> IF(NTITLE.GT.8> I D ( 3 ) " U T L E ( 2 ) I F ( N T I T L E . G T . I é ) I D U > « T I T L E < 3 )

* 196*08 WAS CHOSEN BECAUSE ONE FILE HILL FIT ON ONE TAPE. * THIS WAY HEADERS DON'T END UP IN THE MIDDLE OF A TAI E. CALL GFSIZE<3,196608) CALL KEEP80(NAME1,3)

* 3 IS FOR 16MM SPROCKETED BLACK AND WHITE MOVIE. CALL F R 8 0 I D ( I D , 1 , 3 )

* SET THE INTENSITY TO THE HIGHEST VALUE 7 . CALL FR8C0DC205007B)

* CHANGED Y SCALE FROM 780 TO 1023 FOR MOVIE FRAME. CALL M A P C O . , 1 0 2 3 . , 0 . , 1 0 2 3 . , 0 . , 1 . , 0 . , 1 . ) CALL FRAME

16R«0 IXSAV-0 IYSAV«0 RETURN END

BEGNQV BEGNOV BEGHOV BE6N0V BEGHOV BEGHOV BEGHOV BEGHOV BEGHOV BEGNOV BEGNOV BEGNOV BEGNOV BEGHOV BEGNOV BEGHOV BEGMOV BEGNOV BEGNOV BEGNOV BEGMOV BESNOV BEGMOV BEGNOV BEGNOV BEGMOV BEGMOV BEGMOV BEGMOV BEGMOV BEGNOV BEGNOV BEGHOV BEGNOV BEGHOV BEGMOV BEGMOV BEGMOV BEGMOV BEGNOV SEGNOV BEGMOV BEGNOV BEGHOV BEGMOV BEGNOV BEGMOV BEGMOV BEGMOV BEGHOV BEGMOV BEGMOV

1 2 3 4 5 6 7 8 9 10 11 12 13 U 15 1* 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 «3 44 45 4* 47 48 49 $0 51 52

LINE PPP10

37050 C BE6R0V

37060 «DECK FINPLT FINPLT 37070 SUBROUTINE FINPLT FINPLT 37080 C FINPLT 37090 C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * FINPLT 37100 C THIS ROUTINE IS CALLED AFTER »H PLOTTING IN A CODE IS FINISHED. * FINPLT 37V. C IT FLUSHES THE BUFFERS AND CLOSES THE 6RAPHICS FILES. * FINPLT 37120 C • FINPLT 37130 C CALL HAS NO EFFECT FOR SARA CY75D - 840106 6KDH * FINPLT 37140 C ADAPTED FOR CT205, NAME SUBROUTINE CHANGED, H60 4 / 1 1 / 8 5 . • FINPLT 37150 c * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * FINPLT 37160 C FINPLT 37170 * I F 0EF,CY205,1 FINPLT 37180 CALL ENDPLT FINPLT 37190 « I F DEF,CRAY FINPLT 37200 CALL PLOTE FINPLT 37210 *ENDIF FINPLT 37220 RETURN FINPLT 37230 END FINPLT 37240 C FINPLT

37250 «DECK ADV ADV 37260 SUBROUTINE AOV(H) ADV 37270 C ADV 37280 C * * * * * * * * * * * * * * * * * * * * » * « * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * « * * * * * * * * * * * * « « * ADV 37290 C THIS ROUTINE ADVANCES N PLOTTINS PASES (ONLY SENSIBLE FOR N«1>. * ADV 37300 C * ADV 37310 C NOTE: AFTER THE OPENING CALL OF BEGPLT AN EMPTY FRAME IS PRESENT, • ADV 37320 C BUT ONE STILL NEEDS A FIRST CALL OF ADV CUHICH DOES NOT ADVANCE A * ADV 37330 C PAGE BUT SIMPLY INCREMENTS IGR GROM 0 TO N) TO AVOID THAT THE NEXT * ADV 37340 C CALL OF ADV WOULD NOT ADVANCE A PAGE. THIS FIRST CALL OF ADV NAY BE * ADV 37350 C EXPLICIT OR IMPLICIT (BY A CALL OF «FRAME OR ANY OF THE OTHER ROU- * ADV 37360 C TINES CALLING NFRAHE). * ADV 37370 C • ADV 37380 C ADAPTED FOR SARA CY750, GHDH 840106. * ADV 37390 C ADAPTED FOR CYZ05, HGO 4 / 1 1 / 8 5 . * ADV 37400 C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ADV 37410 C ADV 37420 COMMON /GRNR/IGR ADV 37430 « I F DEF,SARA,S ADV 37460 COMMON /GRNM/NAME1 ADV 37450 CHARACTER*10 NAME1 ADV 37460 C ADV 37470 DO 10 1*1,N ADV 5 7480 10 IFCIGR.NE.O) CALL PLOTSCO.,0.,NAMED ADV 37490 « I F DEF,CRAY ADV 37500 C ADV 37510 DO 10 I - 1 / N ADV 3?;Z0 10 I F ( l G R . N t . O ) CALL FRAME ADV J 30 *ENDIF ADV 37540 I6R»IGR*N ADV 37550 RETURN ADV 37560 END ADV 37570 C ADV

37580 «DECK DRV DRV 37590 SUBROUTINE D R V < I X 1 , l Y l , l X 2 , I - i 2 > DRV 37600 C DRV 3 7610 C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DRV 37620 C THIS ROUTINE ORAWS A LINE VECTOR FROM ( 1 X 1 , I Y 1 ) TO ( 1 X 2 , I Y 2 ) . * DRV 37630 C * DRV 3^640 C ADAPTED FOR SARA CY750, GMDH 840106. • DRV 37650 C ADAPTED FOR CY205, HGO 4 / 1 1 / 8 5 . * DRV 37660 C * * * * • * * * * • * * • * • • • * * * • * • * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * DRV 37670 C DRV 37680 COMMON /LIB8X/IXSAV,IYSAV DRV 37690 C DRV 37700 * I F DEF,SARA,2 DRV 37710 CALL P L O T ( R E A L ( I X 1 ) / 1 0 0 . , R E A L ( I Y 1 ) / 1 0 0 . , 3 ) DRV 37720 CALL PLOT( f tEAL( IX2 ) /100 . ,REAL( IY2 ) /100 . , 2> DRV 37730 « I f DEF,CRAY DRV 37740 CALL L INE(REAL( IX1) ,REAL( IY1) ,REAL(1X2) , REAL(1Y2)> DRV 37750 «ENOIF DRV 37760 1XSAV-IX2 DRV 37770 I rSAV* IY2 DRV 37780 RETURN DRV 37790 END DRV 37800 C »RV

LINE PPP10

COHHON /LIB6X/ IXSAV, IYSAV

37810 *DECK DRP 37820 SUBROUTINE DRP<IX, IY) 37830 C 37840 C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 37830 C THIS ROUTINE DRAMS A POINT AT THE LOCATION ( I X , I V ) . * 37860 C • 37870 C ADAPTED FOR SARA CV750, GNDH 840106 . * 37880 C ADAPTED FOR CY205, NAME SUBROUTINE CHANGED, «60 4 / 1 1 / 8 5 . * 37890 C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 37900 C 37910 37920 C 37930 « I F D£F,SARA,2 37940 CALL P L Q T ( R E A L ( I X ) / 1 0 D . , R E A L ( I Y ) / 1 0 0 . , 3 ) 37950 CALL PL0TCREALC1X)/1O0. ,REAL(IY) /10O.,2> 37960 « IF 0EF,CR»Y 37970 CALL P01NT{REAL{IX) ,REALt IY) ) 37980 «ENDIF 37990 IXSAV1X 38000 IYSAV-IY 38010 RETURN 38020 END 38030 C

DRP DRP DRP DRP DRP DRP DRP DRP DRP DRP DRP DRP DRP DRP DRP DRP DRP DRP DRP DRP DRP DRP DRP

38040 38030 38060 38070 38080 38090 38100 38110 38120 38130 38140 381 SO 38160 38170 38180 38190 38200 38210 38220 38230 38240 38250 38260

THIS ROUTINE ROVES AN IMAGINARY DRAWING BEAR TO THE LOCATION <IX,IY>.

«DECK NOVABS SUBROUTINE HOVABS(IX,IY)

e c * * * * * * * * * * * * * * * * * * * * * * * * • • * * • < c c c e c c< c

c *

ADAPTED FOR SARA CY750, GHDH 840106 . ADAPTED FOR CY205, H6Q 4 / 1 1 / 8 5 .

COMMOK /LIB8X/ IXSAV,IYSAV

IF DEF,SARA,1 CALL PLOTCREAL( IX>/ iaO. ,REAL( lY) /1 l )0 . ,3>

IF DEF,CRAY CALL SETCRT{REAL(IX),REAL(IY>)

ENP1F IXSAV-XX IYSAV*IY RETURN END

NOVABS NOVASS NOVABS

t * NOVAHS • NOVABS • NOVABS • NOVABS • NOVABS • NOVABS

• • NOVABS NOVABS HCVA6S NOVABS NOVABS NOVASS NOVABS NOVABS ROVABS NOVABS NOVABS NOVABS NOVABS NOVABS

38270 «DECK DRUABS 38280 SUBROUTINE DRHABSCIX,IY) 38290 C 38300 C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * • * * * * * * * * * * * * * * * - • * * * * * * * 38310 C THIS ROUTINE DRAWS A LINE VECTOR FiiOM THE CURRENT IHAGINARY BEAM * 38320 C POSITION TO ( I X , I V ) , WHICH BECONES THE MEW BEAN POSITION. * 38330 C • 38340 C ADAPTED FOR SARA CY750, GNDH 840106 . * 38350 C ADAPTED FOR CV205, HGO 4 / 1 1 / 8 5 . * 38360 C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 38370 C 38380 COMMON /LIBOX/IXSAV,IYSAV 38390 C 38400 « IF DCF,SARA,1 38410 38420 «IF PEF,CRAY

CALL P L 0 T ( R E A L U X ) / 1 O O . , R E A L ( l Y ) / 1 0 0 . , 2 >

38430 38440 «ENDIF

CALL VECTQR(REAL(IX),REAL(IY>)

38450 IXSAV-IX 38460 IYSAVIY 38470 RETURN 38480 END

DRWABS DRWABS DRWABS DRWABS DRWABS DRWABS DRWABS DRWABS DRNABS DRWABS DRWABS DRWABS DRWABS DRWABS DRWABS DRWABS DRWABS DRWABS ORWABS DRWABS DRWABS DRWABS