CTITLESAAVOPL -- SCALE DATA FOR PLOTTING 00010004 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA 00020000 CA AUTHOR 00030000 CA DESIGNER 00040000 CA LANGUAGE FORTRAN H 00050000 CA SYSTEM IBM 00060001 C WRITTEN 00070000 C REVISED 00080000 C REVISED 09-10-89 JJC - CHANGED PROCESS NAME TO AVOP. 00081004 CA 00090000 CA 00100000 CA CALLING SEQUENCE: 00110000 CA 00120000 CA CALL SAAVOPL (IOR, XRNG, YRNG, X, Y, XS, YS, XB, YB, N,IPR) 00130004 CA 00140000 CA IN IOR I4 = 1 TO INCLUDE X-ORIGIN ON PLOT 00150000 CA = 2 TO INCLUDE BOTH ORIGINS ON PLOT 00160000 CA = 3 TO INCLUDE Y-ORIGIN ON PLOT 00170000 CA OUT XRNG R4 THE RANGE OF X VALUES 00180000 CA OUT YRNG R4 THE RANGE OF Y VALUES 00190000 CA IN X R4 INPUT ARRAY OF X VALUES 00200000 CA IN Y R4 INPUT ARRAY OF Y VALUES 00210000 CA OUT XS R4 PLOTTING DIMENSIONS IN INCHES FOR X 00220000 CA OUT YS R4 PLOTTING DIMENSIONS IN INCHES FOR Y 00230000 CA OUT XB R4 BASE VALUE FOR X ARRAY 00240000 CA OUT YB R4 BASE VALUE FOR Y ARRAY 00250000 CA IN N I4 NUMBER OF POINTS 00260000 CA IN IPR I4 PRINT OUTPUT UNIT 00270000 CA 00280000 CA 00290000 CA PURPOSE: SCALE DATA FOR PLOTTING 00300000 CA 00310000 CA 00320000 CA SUBROUTINES CALLED: MINMAX 00330000 C 00331004 SUBROUTINE SAAVOPL(IOR,XRNG,YRNG,X,Y,XS,YS,XB,YB,N,IPR) 00340004 C 00341004 IMPLICIT INTEGER (A-Z) 00350000 C 00360000 REAL X 00370000 REAL XB 00380000 REAL XMAX 00390000 REAL XMIN 00400000 REAL XRNG 00410000 REAL XS 00420000 REAL Y 00430000 REAL YB 00440000 REAL YMAX 00450000 REAL YMIN 00460000 REAL YRNG 00470000 REAL YS 00480000 C 00490000 C 00500000 C 00510000 DIMENSION X(1),Y(1) 00520000 C SCALES DATA TO FIT PLOT 00530000 C X,Y, ARE DATA PAIRS 00540000 C N=NUMBER OF POINTS 00550000 C XS,YS = PLOT DIMENSIONS IN INCHES IF + OR 00560000 C PLOT SCALES IF - 00570000 C IOR=1 TO INCLUDE X-ORIGIN ON PLOT 00580000 C IOR=3 TO INLUDE Y-ORIGIN ON PLOT 00590000 C IOR=2 TO INCLUDE BOTH ORIGINS ON PLOT 00600000 C 00610000 CALL MINMAX(N,X,XMIN,XMAX) 00620000 CALL MINMAX(N,Y,YMIN,YMAX) 00630000 WRITE(IPR,9050) 00640000 WRITE(IPR,9010) XMIN,XMAX,YMIN,YMAX 00650000 XRNG=XMAX-XMIN 00660000 YRNG=YMAX-YMIN 00670000 IF(XMIN.GT.0.0.AND.IOR.GT.0.AND.IOR.LT.3) XRNG=XMAX 00680000 IF(YMIN.GT.0.0.AND.IOR.GT.0.AND.IOR.GT.1) YRNG=YMAX 00690000 IF(XMAX.LT.0.0.AND.IOR.GT.0.AND.IOR.LT.3) XRNG=-XMIN 00700000 IF(YMAX.LT.0.0.AND.IOR.GT.0.AND.IOR.GT.1) YRNG=-YMIN 00710000 IF(XS.GT.0.) XS=-XRNG/XS 00720000 IF(YS.GT.0.0) YS=-YRNG/YS 00730000 XS=-XS 00740000 YS=-YS 00750000 C 00760000 C SCALES NOW ESTABLISHED 00770000 C 00780000 XB=XMIN 00790000 YB=YMIN 00800000 IF(XRNG.EQ.XMAX) XB=0. 00810000 IF(YRNG.EQ.YMAX) YB=0. 00820000 C 00830000 C MINIMA NOW ESTABLISHED 00840000 C 00850000 C X,Y VALUES IN INCHES RELATIVE TO ORIGIN 00860000 C 00870000 XRNG=XRNG/XS 00880000 YRNG=YRNG/YS 00890000 WRITE(IPR,9060) 00900000 WRITE(IPR,9070) 00910000 WRITE(IPR,9030)(X(I),Y(I),I=1,N,20) 00920000 WRITE(IPR,9040) XB,YB,XS,YS,XRNG,YRNG 00930000 C 00940000 9010 FORMAT(1H0,5X,' RANGE OF X VALUES ',2G12.5, 00950000 1 10X,' RANGE OF Y VALUES ',2G12.5) 00960000 9030 FORMAT(1H /(1X,12F10.4)) 00970000 9040 FORMAT(1H0,' BASE,SCALE,RANGE -- ',6G10.4,/) 00980000 9050 FORMAT(1H1,'INPUT DATA VALUES (USER''S UNITS)') 00990000 9060 FORMAT(///1X,'PLOT DATA VALUES (MMS)') 01000000 9070 FORMAT('0 X AND Y DATA PAIRS') 01010000 RETURN 01020000 END 01030000