CTITLE SACNEWP -- NEW (UNIRAS) COLOR PLOT C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA CA AUTHOR JOHN V. S. HARVEY CA LANGUAGE VS FORTRAN (77) CA SYSTEM IBM ONLY CA REWRITTEN 09 MAY 1988 CA CA CA THIS SUBROUTINE WILL INITIALIZE A COLOR DISPLAY CA CA THIS SUBROUTINE ALSO PRODUCES A COLOR PLOT OF THE COMPANY LOGO CA PLUS A DOCUMENTATION HEADER FOR A COLOR (UNIRAS) DISPLAY CA CA CA THE INITIAL UNIRAS ENVIRONMENT WILL BE: CA USER UNITS: INCHES OR MM. CA USER X RANGE: 0.0 TO XMAX CA USER Y RANGE: 0.0 TO YMAX CA CA CHARACTER FONT: SIMPLEX CA CHARACTER COLOR: BLACK CA CHARACTER SPACING: 1.25*HEIGHT (CONSTANT) CA STRING TERMINATOR: $ CA CA THE COLOR SCALE IS MODIFIED AS: CA 0-10 = DEFAULT UNIRAS PURE COLORS ( 1 FOR BLACK ) CA 11-N = APPLICATION SCALE COLORS CA CA--------------------------------------------------------------------- CA CA CA CALL SACNEWP( KOLOR, PROCNM, REMARK, CA PLCODE, XMAX, YMAX, UNITS, CA CSFLAG, NCOLOR, CYAN, MAGENT, YELLOW, CA XL1, DXL, YL1, YL2, HT, X0, CA DSNAME, ERR1, ERR2 ) CA CA CA IN/OUT ARGUMENT TYPE DESCRIPTION CA CA IN KOLOR I4 ARCO-SPARC COLOR CA 2 = RED CA 3 = GREEN CA 4 = DARK BLUE CA 5 = CYAN CA 6 = MAGENTA CA 7 = YELLOW CA 8 = ORANGE CA 9 = YELLOW-GREEN CA CA 10 = AOGC BROWN CA CA IN PROCNM CH40 PROCESS DESCRIPTION (TWO LINES) CA ( 1-D ARRAY DIMENSIONED: 2 ) CA IN REMARK CH32 REMARKS CA CA IN PLCODE CH4 PLOTTER INITIALIZATION CODE CA 'META' = PC G/GX METAFILE (BATCH) CA 'VERC' = COLOR VERSATEC (BATCH ONLINE) CA IN XMAX, YMAX R4 MAXIMUM PLOTTING LIMITS CA CA IN UNITS CH4 COORDINATE UNITS CA 'INCH' = INCHES CA 'MM. ' = MILLIMETERS CA CA IN CSFLAG CH4 COLOR SCALE OPTION CA 'SEMB' = SEMBLANCE COLOR SCALE CA 'REFR' = REFRACTION COLOR SCALES CA IN NCOLOR I4 NUMBER OF COLORS TOTAL CA 21 FOR SEMBLANCE COLOR SCALE CA 30 FOR REFRACTION COLOR SCALES CA CA OUT CYAN I4 CYAN COLOR COMPONENTS PER COLOR CA ( 1-D ARRAY DIMENSIONED: NCOLOR ) CA OUT MAGENT I4 MAGENTA COLOR COMPONENTS PER COLOR CA ( 1-D ARRAY DIMENSIONED: NCOLOR ) CA OUT YELLOW I4 YELLOW COLOR COMPONENTS PER COLOR CA ( 1-D ARRAY DIMENSIONED: NCOLOR ) CA CA OUT XL1 R4 X COORD. OF USER DOCUMENTATION LINE 1 OF 5 CA OUT DXL R4 X SPACING OF USER DOCUMENTATION LINES CA OUT YL1 R4 Y COORD. OF USER DOCUMENTATION COLUMN 1 CA OUT YL2 R4 Y COORD. OF USER DOCUMENTATION COLUMN 2 CA OUT HT R4 MAX. USER CHARACTER PLOTTING HEIGHT CA CA OUT X0 R4 STARTING X COORD. FOR APPLICATION DISPLAY 5 CA CA CA OUT DSNAME CH44 NAME OF META-FILE ALLOCATED CA ('META' OPTION ONLY) CA CA OUT ERR1 I4 ERROR CODE ('META' OPTION ONLY) CA 1 = NO ERROR CA 2 = INVALID DATA SET TYPE (FIRST CARD COL 40) CA 3 = SEISTRAN FILE ACCESS FAILURE CA 4 = LINE NAME BLANK ON LINE CARD. CA 5 = LINE NAME CONTAINS EMBEDDED BLANKS. CA 6 = LINE NAME INVALID CA 7 = INVALID PLOTTER CODE (FIRST CARD COL 76) CA 8 = SVC 99 ENVIRONMENTAL ERROR (SEE ERR2) CA 9 = SVC 99 INSTALLATION ERROR (SEE ERR2) CA 10 = SVC 99 PARAMETER ERROR (SEE ERR2) CA 11 = NOT USED CA 12 = DCB MEMORY ALLOCATION FAILURE CA 13 = NOT USED CA 14 = NOT USED CA 15 = DATA SET NAME ALL BLANKS. CA 16 = ZERO OR NEGATIVE NUMBER OF RECORDS CA 18 = INVALID BLOCKSIZE CA 19 = BLOCKSIZE/RECORD LENGTH MISMATCH CA 20 = BLOCKSIZE/RECORD LENGTH (SEISMIC). CA 21 = INVALID TYPE OF PLOT CA 22 = TSO USERID RETRIEVEL ERROR CA 23 = NO DATA CARDS FOR PROCESS. CA 24 = PLOTNO > KPDBGN & FAT'S EXIST. CA 25 = NOT USED CA 26 = OUTPUT TOO LARGE FOR INTERACTIVE CA 27 = INVALID RECORD COUNT CA 28 = INVALID BLOCKSIZE CA 29 = EXCESSIVE VOLUME COUNT CA CA OUT ERR2 I4 CODES FROM DYNAMIC ALLOCATION (SVC 99). CA ('META' OPTION ONLY) CA CA BYTES 1 AND 2 = ERROR CODE, CA BYTES 3 AND 4 = INFORMATION CODE. CA CA SEE IBM MANUAL GC28-0627-2, OS/VS2 MVS CA SYSTEM PROGRAMMING LIBRARY: CA JOB MANAGEMENT, PAGES 28 TO 31.0. CA CA********************************************************************** CA CA COMMON BLOCKS USED: / P / -- SPARC REFERENCE PARAMETERS CA CA KPDSNS MUST BE INITIALIZED CA -- PREFERRABLY TO KPIUSM -- CA BEFORE FIRST CALL TO SACNEWP CAEND C*********************************************************************** C C SUBROUTINES CALLED: GAPPL -- UNIRAS APPLICON OPEN (HOST) C GVERC2 -- UNIRAS VERSATEC OPEN (HOST) C LR9460 -- UNIRAS RAMTEK OPEN (LOCAL) C LDUMMY -- UNIRAS DUMMY INITIALIZATION C C GSHMES -- UNIRAS ERROR MESSAGE HANDLER C GOPEN -- UNIRAS INITIALIZATION C GSEGCR -- UNIRAS SEGMENT CREATE (HOST) C C GRPSIZ -- UNIRAS MAXIMUM DIMENSIONS C GLIMIT -- UNIRAS USER COORD. SYS. LIMITS C GVPORT -- UNIRAS VIEWPORT DEFINITION C GWBOX -- UNIRAS WORKBOX DEFINITION C GSCALE -- UNIRAS SCALING ACTIVATION C GCLIP -- UNIRAS CLIPPING ACTIVATION C C GCHARF -- UNIRAS CHARACTER FONT C GCHARJ -- UNIRAS CHARACTER JUSTIFICATION C GCHART -- UNIRAS CHARACTER SPACING C C GCMODE -- UNIRAS COLOR SYSTEM SELECTION C GCOLOR -- UNIRAS COLOR SCALE DEFINITION C C GWICOL -- UNIRAS LINE WIDTH AND COLOR C GVECT -- UNIRAS POINT/LINE DRAWING C GCHAR -- UNIRAS CHARACTER STRING PLOTTING C GCHARA -- UNIRAS CHARACTER PLOTTING ANGLE C GCHARC -- UNIRAS CHARACTER COLOR C GNUMB -- UNIRAS NUMERIC VALUE PLOTTING C C*********************************************************************** C SUBROUTINE SACNEWP( KOLOR, PROCNM, REMARK, * PLCODE, XMAX, YMAX, UNITS, * CSFLAG, NCOLOR, CYAN, MAGENT, YELLOW, * XL1, DXL, YL1, YL2, HT, X0, * DSNAME, ERR1, ERR2 ) IMPLICIT INTEGER (A-Z) C CHARACTER*40 PROCNM(2) CHARACTER*32 REMARK C CHARACTER*4 PLCODE CHARACTER*4 UNITS C CHARACTER*4 CSFLAG INTEGER CYAN(NCOLOR), MAGENT(NCOLOR), YELLOW(NCOLOR) C REAL XMAX, YMAX REAL XL1, DXL, YL1, YL2, HT REAL X0 C CHARACTER*44 DSNAME C====================================================================== C C COMMON /P/ STATEMENTS GENERATED BY J.V.S.HARVEY 9/1/87 C CHARACTER*8 STARTP CHARACTER*20 ACLNAM CHARACTER*32 ACCOM CHARACTER*20 ACUSER REAL ACNMIP C COMMON /P/ STARTP COMMON /P/ LCNAME COMMON /P/ LC5 COMMON /P/ LCINT COMMON /P/ LCTYP COMMON /P/ LC10 COMMON /P/ LCBGSP COMMON /P/ LCENSP COMMON /P/ LC2130(2) COMMON /P/ LCNSP COMMON /P/ LCTPSP COMMON /P/ LCRL COMMON /P/ LCSI COMMON /P/ LCPI COMMON /P/ LCGRPI COMMON /P/ LCMXFD COMMON /P/ LCANSP COMMON /P/ LCMXLN COMMON /P/ LCDRYF COMMON /P/ LCWD20(3) COMMON /P/ ACNAME COMMON /P/ AC0506 COMMON /P/ AC64BC COMMON /P/ ACOPCD COMMON /P/ ACQCF COMMON /P/ ACDIST COMMON /P/ ACPROJ COMMON /P/ ACLNAM COMMON /P/ ACCOM COMMON /P/ AC7274 COMMON /P/ ACTYPE COMMON /P/ ACNSP COMMON /P/ ACUSER COMMON /P/ ACNMIP COMMON /P/ ACNTRP COMMON /P/ ACNTRW COMMON /P/ ACNCDP COMMON /P/ ACMIGR COMMON /P/ ACQUAD COMMON /P/ ACSLOG COMMON /P/ ACVELA COMMON /P/ ACDDEC COMMON /P/ ACWD38(3) COMMON /P/ LHJBNO COMMON /P/ LHLNO COMMON /P/ LHRLNO COMMON /P/ LHTPSP COMMON /P/ LHATSP COMMON /P/ LHSI COMMON /P/ LHORSI COMMON /P/ LHST COMMON /P/ LHORST COMMON /P/ LHDFCD COMMON /P/ LHEXFD COMMON /P/ LHTSCD COMMON /P/ LHVSCD COMMON /P/ LHSWFS COMMON /P/ LHSWFE COMMON /P/ LHSWL COMMON /P/ LHSWCD COMMON /P/ LHTSNO COMMON /P/ LHSWTS COMMON /P/ LHSWTE COMMON /P/ LHSWTT COMMON /P/ LHTCF COMMON /P/ LHBGRF COMMON /P/ LHARCD COMMON /P/ LHMS COMMON /P/ LHSGPL COMMON /P/ LHVPCD COMMON /P/ LHNSP COMMON /P/ LHNDP COMMON /P/ LHNSL COMMON /P/ LHMTPR COMMON /P/ LHWD32(9) COMMON /P/ KPNA COMMON /P/ KPRNO COMMON /P/ KPOCUR COMMON /P/ KPA COMMON /P/ KPDBGS COMMON /P/ KPDBGA COMMON /P/ KPDBGN COMMON /P/ KPWRKS COMMON /P/ KPWRKD COMMON /P/ KPWKS2 COMMON /P/ KPWKD2 COMMON /P/ KPWKS3 COMMON /P/ KPWKD3 COMMON /P/ KPFCF COMMON /P/ KPIRSM COMMON /P/ KPNRSM COMMON /P/ KPIUSM COMMON /P/ KPNUSM COMMON /P/ KPTIME COMMON /P/ KPRTF COMMON /P/ KPDRTF COMMON /P/ KPMOTF COMMON /P/ KPNBR COMMON /P/ KPIBN COMMON /P/ KPITSV COMMON /P/ KPTAMF COMMON /P/ KPLOTF COMMON /P/ KPMITF COMMON /P/ KPPRNT COMMON /P/ KPPLOT COMMON /P/ KPPLTA COMMON /P/ KPBUGF COMMON /P/ KPWARN COMMON /P/ KPTRIO COMMON /P/ KPWKIO COMMON /P/ KPVOLS COMMON /P/ KPWTSF COMMON /P/ KPETIM COMMON /P/ KPDSNS COMMON /P/ ZZZZZX(141) COMMON /P/ MCCOLR COMMON /P/ ZZZZZY(40) COMMON /P/ PTFATL COMMON /P/ ZZZZZZ(34) COMMON /P/ PROTAB (2) COMMON /P/ ENDP C====================================================================== C C COMMON FOR UNIRAS C COMMON / GUNITS / LU(20) C====================================================================== C C CHARACTER VARIABLES & ARRAYS -- LOCAL C CHARACTER*8 DDNAME CHARACTER*45 TEXT CHARACTER*8 WHEN C---------------------------------------------------------------------- C C CHARCTER PLOTTING HEIGHTS FOR .008, .010, .014, AND .021 IN. C REAL HT008, HT010, HT014, HT021 PARAMETER ( HT008 = 2.032, HT010 = 2.540 ) PARAMETER ( HT014 = 3.556, HT021 = 5.334 ) C ------------------------------------------- C C ARCO SPARC BORDER C INTEGER KFRAME REAL*8 PI PARAMETER ( NP = 30, KFRAME = 1, PI = 3.14159265 ) C INTEGER XSIGN, YSIGN REAL XX(NP), YY(NP) C---------------------------------------------------------------------- C C LOCAL VARIABLES C REAL ANGLE REAL COUNT REAL DELTA REAL P REAL RAD REAL TURN REAL X REAL XC REAL XD1, XD2, XD3, XD4, XD5, XD6 REAL XL2, XL3, XL4, XL5, XL6 REAL Y REAL YC REAL YD1, YD2 REAL YE1, YE2 C REAL SIN, COS C C*********************************************************************** C*** **** C*** META-FILE ALLOCATION **** C*** **** C*********************************************************************** C C UPNPLT CREATES A NEW, PERMANENT, CATALOGUED PLOT DATSET AND C WRITES A RECORD FOR THE SMS SYSTEM FOR EACH OUTPUT DATASET. C C C IN/OUT ARGUMENT TYPE DESCRIPTION C C IN NREC I4 NUMBER OF RECORDS IN DATA SET. C C IN PLTYPE I4 TYPE OF PLOT DATASET TO BE ALLOCATED: C 4 = UNIRAS C 5 = UNIRAS METAFILE C C IN RLSEF I4 RELEASE FLAG TO INDICATE RLSE ATTRIBUTE C 1 = RELEASE SPACE AT CLOSE C 2 = DO NOT RELEASE SPACE AT CLOSE C C IN PLTNUM I4 SEQUENCE NUMBER OF PLOT BEING ALLOCATED. C SHOULD START AT 1 AND INCREMENT FOR EACH C NEW PLOT DATA SET. USED TO INDEX INTO C ANY EXISTING FILE ATTRIBUTE TABLE. C C OUT DSNAME CH44 NAME OF SEQUENTIAL DATA SET ALLOCATED: C C OUT DDNAME CH8 DDNAME OF OUTPUT DATASET. C C OUT DYNAMF I4 DYNAMIC ALLOCATION FLAG C 0 = NO DYNAMIC ALLOCATION C 1 = DATA SET WAS DYNAMICALLY ALLOCATED C C OUT ERR1 I4 ERROR CODE. C 1 = OK. C 2 = INVALID DATA SET TYPE CODE IN C COL 40 OF CARD. C 3 = COULD NOT OPEN SEISTRAN FILE C TO GET DATA SET NUMBER. C 4 = LINE NAME BLANK ON LINE CARD. C 5 = LINE NAME CONTAINS EMBEDDED BLANKS. C 6 = LINE NAME 8 CHARACTERS LONG AND C FIRST CHARACTER NOT ALPHABETIC. C 7 = INVALID CODE IN LAST FIELD OF CARD, C COLS. 76-80 OR 78-80. VALID CODES C ARE ESP, COL, OFTAD, AND BLANK. C 8 <---4 ) RETURN CODES C 9 <---8 ) FROM SVC 99. C 10 <--12 ) SEE IBM MANUAL BELOW, P. 27. C 11 = NOT USED (CLOSE FAILED). C 12 = GETMAIN (FOR DCB AREA) FAILED. C 13 = NOT USED (FREEMAIN FAILED). C 14 = NOT USED (DDNAME ALL BLANKS). C 15 = DATA SET NAME ALL BLANKS. C 16 = NREC ZERO OR NEGATIVE. C 18 = BLKSIZ ZERO OR NEGATIVE, OR > 32760. C 19 = BLKSIZ NOT A MULTIPLE OF LRECL. C 20 = BLKSIZ NOT EQUAL TO LRECL (SEISMIC). C 21 = PLTYPE NOT 1, 2, 3, OR 4. C 22 = TSO USERID RETRIEVEL ERROR. C 23 = NO DATA CARDS FOR PROCESS. C 24 = PLOTNO > KPDBGN & FAT'S EXIST. C 25 = NOT USED C 26 = OUTPUT TOO LARGE FOR INTERACTIVE C 27 = INVALID RECORD COUNT C 28 = INVALID BLOCKSIZE C 29 = EXCESSIVE VOLUME COUNT C C OUT ERR2 I4 CODES FROM DYNAMIC ALLOCATION (SVC 99). C BYTES 1 AND 2 = ERROR CODE, C BYTES 3 AND 4 = INFORMATION CODE. C IBM MANUAL GC28-0627-2, OS/VS2 MVS C SYSTEM PROGRAMMING LIBRARY: C JOB MANAGEMENT, PAGES 28 TO 31.0. C C IF( PLCODE .EQ. 'META' ) THEN CALL UPNPLT( 2700, 5, 1, PLTNUM, DSNAME, DDNAME, * DYNAMF, ERR1, ERR2 ) C IF( ERR1 .GT. 1 ) GOTO 999 C ELSE ERR1 = 1 ERR2 = 0 ENDIF C C*********************************************************************** C*** **** C*** PLOT INITIALIZATION **** C*** **** C*********************************************************************** C LU(1) = KPPRNT LU(11) = KPPRNT C ------------------------------------------- C C CASE A) VERSATEC PLOT C IF( PLCODE .EQ. 'VERC' ) THEN CALL GVERC2 CALL GPRINT(1) CALL GOPEN C ------------------------------------------- C C CASE B) METAFILE C ELSE IF( PLCODE .EQ. 'META' ) THEN CALL GROUTE('SEL MDUMDR; EXIT;') CCCC CALL LDUMMY CALL GPRINT(1) CALL GSHMES( 'DIS', 'DIS' ) CALL GOPEN C CALL GSEGCR( 1 ) ENDIF C---------------------------------------------------------------------- C C LIMIT PLOT SIZE C CCC CALL GRPSIZ( X, Y ) CCC X = 0.03937*X CCC Y = 0.03937*Y CCC IF( XMAX .GT. X ) XMAX = X CCC IF( YMAX .GT. Y ) YMAX = Y C---------------------------------------------------------------------- C C SET PROPER SCALING (INCHES TO MM) CAD FOLLOWING LOGIC ALLOWS TITLE BOLCK PLOTTING IN INCHES TO MM CAD TRANSFORMATION AND THE REST OF THE PLOT IN MM. C IF( UNITS .EQ. 'INCH' ) THEN X = XMAX Y = YMAX IF( X .LT. 8.0 ) X = 8.0 IF( Y .LT. 13.0 ) Y = 13.0 CALL GLIMIT( 0.0, X, 0.0, Y, 0.0, 0.0 ) ELSE X = XMAX/25.4 Y = YMAX/25.4 IF( X .LT. 8.0 ) X = 8.0 IF( Y .LT. 13.0 ) Y = 13.0 CALL GLIMIT( 0.0, X, 0.0, Y, 0.0, 0.0 ) ENDIF C X = 25.4*X Y = 25.4*Y CALL GVPORT( 0.0, 0.0, X, Y ) C IF( XMAX .GT. YMAX ) THEN X = 1.0 Y = YMAX/XMAX ELSE IF( XMAX .LT. YMAX ) THEN X = XMAX/YMAX Y = 1.0 ELSE X = 1.0 Y = 1.0 ENDIF CALL GWBOX( X, Y, 0.0 ) CALL GSCALE CALL GCLIP C---------------------------------------------------------------------- C C CHARACTER PLOTTING ATTRIBUTES C CALL GCHARF('SIMP') CALL GCHARJ( 0 ) CALL GCHART( 1 ) C C*********************************************************************** C*** **** C*** SEMBLANCE COLOR SCALE **** C*** **** C*********************************************************************** C IF( CSFLAG .EQ. 'SEMB' ) THEN DO 120 I = 1, 21 CYAN(I) = 0 MAGENT(I) = 0 YELLOW(I) = 0 C IF( I .EQ. 1 ) THEN CYAN(I) = 15 MAGENT(I) = 15 YELLOW(I) = 15 ELSE IF( I .LT. 5 ) THEN CYAN(I) = ( I + 5 )*7 MAGENT(I) = 20 + ( 5 - I )*20 ELSE IF( I .EQ. 5 ) THEN CYAN(I) = 70 MAGENT(I) = 20 YELLOW(I) = 10 ELSE IF( I .LT. 15 ) THEN CYAN(I) = ( 15 - I )*7 YELLOW(I) = 10 + ( I - 5 )*9 ELSE IF( I .EQ. 15 ) THEN YELLOW(I) = 100 ELSE MAGENT(I) = ( I - 15 )*8 YELLOW(I) = 100 - ( I - 15 )*9 ENDIF 120 CONTINUE C C*********************************************************************** C*** **** C*** REFRACTION COLOR SCALES **** C*** **** C*********************************************************************** C C GENERATE TIME-ERROR COLOR SCALE C ELSE IF( CSFLAG .EQ. 'REFR' ) THEN CYAN(1) = 100 MAGENT(1) = 100 YELLOW(1) = 0 C CYAN(2) = 75 MAGENT(2) = 25 YELLOW(2) = 0 C CYAN(3) = 100 MAGENT(3) = 0 YELLOW(3) = 0 C CYAN(4) = 75 MAGENT(4) = 0 YELLOW(4) = 25 C CYAN(5) = 50 MAGENT(5) = 0 YELLOW(5) = 50 C CYAN(6) = 25 MAGENT(6) = 0 YELLOW(6) = 75 C CYAN(7) = 0 MAGENT(7) = 0 YELLOW(7) = 100 C CYAN(8) = 0 MAGENT(8) = 25 YELLOW(8) = 75 C CYAN(9) = 0 MAGENT(9) = 100 YELLOW(9) = 100 C CYAN(10) = 0 MAGENT(10) = 100 YELLOW(10) = 100 C---------------------------------------------------------------------- C C GENERATE FIRST MODEL COLOR SCALE C (LAYER/HORIZON COLORS) C CYAN(11) = 25 MAGENT(11) = 75 YELLOW(11) = 100 C CYAN(12) = 100 MAGENT(12) = 100 YELLOW(12) = 0 C CYAN(13) = 100 MAGENT(13) = 0 YELLOW(13) = 0 C CYAN(14) = 50 MAGENT(14) = 0 YELLOW(14) = 50 C CYAN(15) = 0 MAGENT(15) = 33 YELLOW(15) = 67 C CYAN(16) = 0 MAGENT(16) = 67 YELLOW(16) = 33 C CYAN(17) = 33 MAGENT(17) = 67 YELLOW(17) = 0 C CYAN(18) = 100 MAGENT(18) = 0 YELLOW(18) = 0 C CYAN(19) = 0 MAGENT(19) = 0 YELLOW(19) = 0 C CYAN(20) = 33 MAGENT(20) = 33 YELLOW(20) = 33 C---------------------------------------------------------------------- C C GENERATE WHITE FOR HORIZON LOCI C CYAN(21) = 0 MAGENT(21) = 0 YELLOW(21) = 0 C---------------------------------------------------------------------- C C GENERATE SECOND MODEL COLOR SCALE C (ERROR BAND COLORS) C DO 225 I = 22, 29 J = I - 10 CYAN(I) = 0.25*CYAN(J) MAGENT(I) = 0.25*MAGENT(J) YELLOW(I) = 0.25*YELLOW(J) 225 CONTINUE C---------------------------------------------------------------------- C C GENERATE GRAY FOR NO EVALUATION C CYAN(30) = 15 MAGENT(30) = 15 YELLOW(30) = 15 ENDIF C C*********************************************************************** C*** **** C*** ACTIVATE CMY COLOR SCALE **** C*** **** C*********************************************************************** C CALL RCMODE( 'CMY', 100 ) CALL GCOLOR( 11, CYAN, MAGENT, YELLOW, NCOLOR ) C---------------------------------------------------------------------- C C AOGC BROWN C CYAN(1) = 25 MAGENT(1) = 75 YELLOW(1) = 100 C CALL GCOLOR( 10, CYAN, MAGENT, YELLOW, 1 ) C C*********************************************************************** C*** **** C*** PLOT COMPANY LOGO AND FILL **** C*** **** C*********************************************************************** C COUNT = NP - 4 TURN = 0.5*PI/COUNT C DELTA = (1.0/24.0) RAD = 0.5 - DELTA C DO 325 M = 1, 4 IF( M .LE. 2 ) XSIGN = -1 IF( M .GE. 3 ) XSIGN = +1 IF( M .EQ. 1 .OR. M .EQ. 4 ) YSIGN = -1 IF( M .EQ. 2 .OR. M .EQ. 3 ) YSIGN = +1 C XX(1) = 1.0 + 0.5*XSIGN YY(1) = 1.5 + DELTA*YSIGN C XX(2) = 1.0 + 1.0*XSIGN YY(2) = 1.5 + DELTA*YSIGN C XX(3) = 1.0 + DELTA*XSIGN YY(3) = 1.5 + 1.0*YSIGN C XC = 1.0 + 0.5*XSIGN YC = 1.5 + 0.5*YSIGN C ANGLE = 0.0 DO 320 I = 4, NP XX(I) = XC - RAD*COS( ANGLE )*XSIGN YY(I) = YC - RAD*SIN( ANGLE )*YSIGN ANGLE = ANGLE + TURN 320 CONTINUE C XX(NP) = 1.0 + 0.5*XSIGN YY(NP) = 1.5 + DELTA*YSIGN C C CALL GSURF( XX, YY, NP, KOLOR, KFRAME ) 325 CONTINUE C C*********************************************************************** C*** **** C*** PLOT DATASET INFORMATION **** C*** **** C*********************************************************************** C CALL GCHARC( 10 ) CALL GCHARA( 90 ) CALL GCHAR( 'ARCO OIL & GAS COMPANY$', 0.5, 3.0, HT021 ) CALL GCHARA( 90 ) CALL GCHAR( 'EXPLORATION DATA PROCESSING$', 1.0, 3.0, HT021 ) CALL GCHARC( 1 ) C TEXT = PROCNM(1) TEXT(41:41) = '$' CALL GCHARA( 90 ) CALL GCHAR( TEXT, 1.5, 3.0, HT014 ) C TEXT = PROCNM(2) TEXT(41:41) = '$' CALL GCHARA( 90 ) CALL GCHAR( TEXT, 1.9, 3.0, HT014 ) C CALL GWICOL( -10.0, 1 ) C CALL GVECT( 2.2, 0.2, 0 ) CALL GVECT( 2.2, 10.0, 1 ) CALL GVECT( 7.3, 10.0, 1 ) CALL GVECT( 7.3, 0.2, 1 ) CALL GVECT( 2.2, 0.2, 1 ) C CALL GWICOL( -1.0, 1 ) C XL1 = 2.700 XL2 = XL1 + 0.30 XL3 = XL2 + 0.30 XL4 = XL3 + 0.30 XL5 = XL4 + 0.60 XL6 = XL5 + 2.20 C XD1 = 2.670 XD2 = XD1 + 0.30 XD3 = XD2 + 0.30 XD4 = XD3 + 0.30 XD6 = XD4 + 2.80 C YL1 = 0.50 YD1 = YL1 + 2.00 YE1 = YD1 + 2.00 C YL2 = YL1 + 5.00 YD2 = YL2 + 2.00 YE2 = YD2 + 2.00 C Y = 1.50 C ------------------------------------------- C C AREA NAME C TEXT( 1:20) = ACCOM(1:20) TEXT(21:21) = '$' C CALL GCHARA( 90 ) CALL GCHAR( 'AREA$', XL1, YL1, HT010 ) CALL GCHARA( 90 ) CALL GCHAR( TEXT, XD1, YD1, HT008 ) C CALL GVECT( XL1, YE1, 0 ) CALL GVECT( XL1, YD1, 1 ) C ------------------------------------------- C C DISTRICT NAME C CALL GCHARA( 90 ) CALL GCHAR( 'DISTRICT$', XL1, YL2, HT010 ) C CALL GVECT( XL1, YE2, 0 ) CALL GVECT( XL1, YD2, 1 ) C ------------------------------------------- C C LINE NAME C TEXT( 1:20) = ACLNAM(1:20) TEXT(21:21) = '$' C CALL GCHARA( 90 ) CALL GCHAR( 'LINE NUMBER$', XL2, YL1, HT010 ) CALL GCHARA( 90 ) CALL GCHAR( TEXT, XD2, YD1, HT008 ) C CALL GVECT( XL2, YE1, 0 ) CALL GVECT( XL2, YD1, 1 ) C ------------------------------------------- C C SURVEY C CALL GCHARA( 90 ) CALL GCHAR( 'SURVEY NO.$', XL2, YL2, HT010 ) CALL GCHARA( 90 ) CALL GCHAR( 'G-$', XD2, YD2, HT008 ) C CALL GVECT( XL2, YE2, 0 ) CALL GVECT( XL2, YD2, 1 ) C ------------------------------------------- C C USER NAME C TEXT( 1:20) = ACUSER(1:20) TEXT(21:21) = '$' C CALL GCHARA( 90 ) CALL GCHAR( 'GEOPHYSICIST$', XL3, YL1, HT010 ) CALL GCHARA( 90 ) CALL GCHAR( TEXT, XD3, YD1, HT008 ) C CALL GVECT( XL3, YE1, 0 ) CALL GVECT( XL3, YD1, 1 ) C ------------------------------------------- C C PROJECT NUMBER C P = ACPROJ CALL GCHARA( 90 ) CALL GCHAR( 'PROJ. NO.$', XL3, YL2, HT010 ) CALL GCHARA( 90 ) CALL GNUMB( P, XD3, YD2, HT008, 0 ) C CALL GVECT( XL3, YE2, 0 ) CALL GVECT( XL3, YD2, 1 ) C ------------------------------------------- C C APPROVAL LINE C CALL GCHARA( 90 ) CALL GCHAR( 'APPROVED$', XL4, YL1, HT010 ) CALL GVECT( XL4, YE1, 0 ) CALL GVECT( XL4, YD1, 1 ) C ------------------------------------------- C C DATE AND TIME OF PLOT C CALL DATIME( TEXT, WHEN, J ) TEXT( 9:12) = ' ' TEXT(13:20) = WHEN(1:8) TEXT(21:21) = '$' C CALL GCHARA( 90 ) CALL GCHAR( 'DATE AND TIME$', XL4, YL2, HT010 ) CALL GCHARA( 90 ) CALL GCHAR( TEXT, XD4, YD2, HT008 ) C CALL GVECT( XL4, YE2, 0 ) CALL GVECT( XL4, YD2, 1 ) C ------------------------------------------- C C REMARKS C TEXT( 1:32) = REMARK(1:32) TEXT(33:33) = '$' C CALL GCHARA( 90 ) CALL GCHAR( 'REMARKS: $', XL6, YL1, HT010 ) CALL GCHARA( 90 ) CALL GCHAR( TEXT, XD6, Y+0.2, HT008 ) C CALL GVECT( XL6, Y, 0 ) CALL GVECT( XL6, Y+8.0, 1 ) CALL GVECT( XL6+0.3, Y, 0 ) CALL GVECT( XL6+0.3, Y+8.0, 1 ) CALL GVECT( XL6+0.6, Y, 0 ) CALL GVECT( XL6+0.6, Y+8.0, 1 ) C---------------------------------------------------------------------- C C USER DOCUMATION LINES C DXL = 0.30 C XL1 = XL5 + DXL CCCC XL2 = XL1 + DXL CCCC XL3 = XL2 + DXL CCCC XL4 = XL3 + DXL CCCC XL5 = XL4 + DXL C---------------------------------------------------------------------- C C STARTING X COORD FOR APPLICATION PLOT C X0 = 8.0 C C USER MAX. CHARACTER HEIGHT C HT = HT010 IF( UNITS .NE. 'INCH' ) THEN X = XMAX Y = YMAX IF( X .LT. 8.0*25.4 ) X = 8.0*25.4 IF( Y .LT. 13.0*25.4 ) Y = 13.0*25.4 CALL GLIMIT( 0.0, X, 0.0, Y, 0.0, 0.0 ) C CALL GVPORT( 0.0, 0.0, X, Y ) C IF( XMAX .GT. YMAX ) THEN X = 1.0 Y = YMAX/XMAX ELSE IF( XMAX .LT. YMAX ) THEN X = XMAX/YMAX Y = 1.0 ELSE X = 1.0 Y = 1.0 ENDIF C CALL GWBOX( X, Y, 0.0 ) CALL GSCALE CALL GCLIP C X0 = X0 * 25.4 XL1= XL1 * 25.4 DXL= DXL*25.4 YL1= YL1*25.4 YL2= YL2*25.4 ENDIF 999 RETURN END