C HEADER SATANO 00010000 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CTITLESATANO -- VELD AUXILLIARY SEISMIC TRACE DISPLAY ANNOTATION 00020000 C INDSATANO 00030000 CA AUTHOR STEVE SVATEK 00040000 CA DESIGNER STEVE SVATEK 00050000 CA LANGUAGE FORTRAN 00060000 CA SYSTEM IBM AND CRAY 00070000 CA WRITTEN 09-12-79 00080000 C REVISED 01-10-80 BY SAS - INSERTED VARIABLE CHARACTER SIZE 00090000 C (TMHT) FOR TIMING LINE PLOT DEPENDING ON THE 00100000 C INPUT TIME SCALE. 00110000 C REVISED 06-03-81 BY SAS - MODIFIED FOR OPTIONAL 'SVS', 'UVS', 00120000 C AND 'BVS' SEISMIC TRACE ANNOTATION. 00130000 C REVISED 03-11-86 BY ESN - FOR CRAY COMPATABILITY. 00140000 C REVISED MO-DA-YR BY PROGRAMMER - DESCRIPTION OF CHANGE. 00150000 CA 00160000 CA CALL SATPLT(XORG, YORG, CENDP, OUTTYP, NMOSW, KFOLD, NVELCN, 00170000 CA MXNPTS, YLNINC, VASTM, TMWIND, NTMSN, XLNINC, IPR) 00180000 CA 00190000 CA INPUT XORG = X COORD OF UPPER LEFT CORNER OF SEISMIC 00200000 CA TRACE DISPLAY. R4 00210000 CA INPUT YORG = Y COORD OF UPPER LEFT CORNER OF SEISMIC 00220000 CA TRACE DISPLAY. R4 00230000 CA INPUT CENDP = CENTER DP OF VELOCITY DISPLAY. I4 00240000 CA INPUT OUTTYP = TYPE OF SEISMIC TRACE OUTPUT I4 00250000 CA =0 - STACKED VEL SORTED 00260000 CA =1 - UNSTACKED VEL SORTED 00270000 CA =2 - BOTH STACKED AND 00280000 CA UNSTACKED VEL SORTED 00290000 CA INPUT NMOSW = NMO SWITCH =0 - NO NMO 00300000 CA =1 - NMO APPLIED I4 00310000 CA INPUT KFOLD = FOLD OF INPUT CENDP I4 00320000 CA INPUT NVELCN = NO. OF VELOCITIES APPLIED TO DATA. I4 00330000 CA INPUT MXNPTS = TOTAL NO. DPS IN VELOCITY DISPLAY I4 00340000 CA INPUT YLNINC = TRACE SPACING (IN/TRACE) R4 00350000 CA INPUT VASTM = START TIME OF DISPLAY (MS) I4 00360000 CA INPUT TMWIND = TIME WINDOW INCREMENT (MS) I4 00370000 CA INPUT NTMSN = NO. OF TIME WINDOWS TO ANNOTATE I4 00380000 CA INPUT XLNINC = TIME SCALE (IN/WINDOW) R4 00390000 CA INPUT IPR = INTERNAL PRINT UNIT. I4 00400000 CA 00410000 CA 00420000 CA THIS APPLICATION ROUTINE WILL BUILD THE CALCOMP/VARIAN 00430000 CA ANNOTATION OF THE VELD AUXILLIARY SEISMIC TRACE DISPLAY. 00440000 CA ANNOTATION INCLUDES: 00450000 CA 00460000 CA 1. SEISMIC TRACE BORDER 00470000 CA 2. CDP NO. W/WO NMO ABOVE THE CDP GATHER 00480000 CA 3. VELOCITY ANNOTATION ABOVE THE STACK/UNSTACKED DATA 00490000 CA 4 TIME SCALE AND TIMING LINES 00500000 CA 00510000 CAEND 00520000 C 00530000 C EJECT 00540000 C 00550000 SUBROUTINE SATANO (XORG, YORG, CENDP, OUTTYP, NMOSW, KFOLD, 00560000 * NVELCN, MXNPTS, YLNINC, VASTM, TMWIND, 00570000 * NTMSN, XLNINC, IPR) 00580000 C 00590000 IMPLICIT INTEGER (A-Z) 00600000 C 00610000 C REAL VARIABLES IN PARAMETER LIST 00620000 C 00630000 REAL XLNINC 00640000 REAL XORG 00650000 REAL YLNINC 00660000 REAL YORG 00670000 C 00680000 C REAL VARIABLES AND CONSTANTS--LOCAL (INTERNAL 00690000 C TO SUBROUTINE). 00700000 C 00710000 REAL AA 00720000 REAL BB 00730000 REAL CC 00740000 REAL TMHT 00750000 REAL X 00760000 REAL XFOLD 00770000 REAL XX 00780000 REAL Y 00790000 REAL YL 00800000 REAL YLAST 00810000 REAL YY 00820000 REAL Y1 00830000 REAL Y2 00840000 C 00850000 XX = XORG 00860000 YY = YORG 00870000 XFOLD = KFOLD 00880000 C 00890000 TMHT = .10 00900000 IF (XLNINC .LT. .11) TMHT = .07 00910000 C 00920000 C PLOT THE SEISMIC TRACE BORDER 00930000 C 00940000 N = KFOLD + ((MXNPTS+2) * NVELCN) + 6 00950000 IF (OUTTYP .EQ. 1)N = KFOLD + ((KFOLD + 2) * NVELCN) + 6 00960000 IF (OUTTYP .EQ. 2)N = KFOLD + ((KFOLD+MXNPTS+4) * NVELCN) + 9 00970000 YLAST = YY + (N * YLNINC) + 0.4 00980000 IF (OUTTYP .EQ. 2) YLAST = YLAST + .4 00990000 X = XX + (NTMSN + 1) * XLNINC 01000000 C 01010000 CALL PLOT (XX, YY, 3) 01020000 CALL PLOT (X, YY, 2) 01030000 CALL PLOT (X, YLAST, 2) 01040000 CALL PLOT (XX, YLAST, 2) 01050000 CALL PLOT (XX, YY, 2) 01060000 C 01070000 C ANNOTATE THE CENTER DP GATHER 01080000 C 01090000 AA = 1.0 01100000 IF (CENDP .GT. 9) AA = AA + 1.0 01110000 IF (CENDP .GT. 99) AA = AA + 1.0 01120000 IF (CENDP .GT. 999) AA = AA + 1.0 01130000 IF (CENDP .GT. 9999) AA = AA + 1.0 01140000 IF (CENDP .GT. 99999) AA = AA + 1.0 01150000 C 01160000 BB = ((XFOLD / 2.0) + 1.5) * YLNINC 01170000 AA = ((AA / 2.0) + 1.5) * .1 01180000 Y = YY + BB - AA 01190000 C 01200000 CALL SYMBOL (XX-.4, Y, .1, 'CDP ', 90., 4) 01210000 C 01220000 X = CENDP 01230000 CALL NUMBER (999., 999., .1, X, 90., -1) 01240000 C 01250000 AA = .30 01260000 IF (NMOSW .EQ. 1) AA = .175 01270000 Y = YY + BB - AA 01280000 C 01290000 IF (NMOSW .EQ. 0) CALL SYMBOL (XX-.25, Y, .1, 'WITHOUT', 90., 7) 01300000 IF (NMOSW .EQ. 1) CALL SYMBOL (XX-.25, Y, .1, 'WITH', 90., 4) 01310000 C 01320000 Y = YY + BB - .125 01330000 CALL SYMBOL (XX-.1, Y, .1, 'NMO', 90., 3) 01340000 C 01350000 C PLOT GATHER ANNOTATION 01360000 C 01370000 IF (OUTTYP .EQ. 0) GO TO 30 01380000 AA = ((KFOLD + 7) * YLNINC) + .4 01390000 BB = KFOLD 01400000 BB = ((BB / 2.0) - .5) * YLNINC 01410000 Y = YY + AA + BB - .05 01420000 Y1 = (KFOLD + 2) * YLNINC 01430000 N = NVELCN / 2 01440000 C 01450000 C PLOT THE LOW VELOCITY FUNCTION ANNOTATION 01460000 C 01470000 DO 10 01480000 * I = 1, N 01490000 C 01500000 X = 5 - I 01510000 CALL SYMBOL (XX-.1, Y, .1, 'L ', 90., 1) 01520000 CALL NUMBER (999., 999., .1, X, 90., -1) 01530000 C 01540000 Y = Y + Y1 01550000 C 01560000 10 CONTINUE 01570000 C 01580000 C PLOT THE CENTER VELOCITY FUNCTION ANNOTATION 01590000 C 01600000 CALL SYMBOL (XX-.4, Y-.65, .1, 'VELOCITY GATHERS', 90., 16) 01610000 C 01620000 CALL SYMBOL (XX-.1, Y+.05, .1, '* ', 90., 1) 01630000 Y = Y + Y1 01640000 C 01650000 C PLOT THE HIGH VELOCITY FUNCTION ANNOTATION 01660000 C 01670000 DO 20 01680000 * I = 1, N 01690000 C 01700000 X = I 01710000 CALL SYMBOL (XX-.1, Y, .1, 'H ', 90., 1) 01720000 CALL NUMBER (999., 999., .1, X, 90., -1) 01730000 C 01740000 Y = Y + Y1 01750000 C 01760000 20 CONTINUE 01770000 C 01780000 C PLOT STACK ANNOTATION 01790000 C 01800000 30 IF (OUTTYP .EQ. 1) GO TO 60 01810000 AA = ((KFOLD + 7) * YLNINC) + .4 01820000 IF (OUTTYP .EQ. 2)AA = AA + ((((KFOLD+2) * NVELCN) + 3) * 01830000 * YLNINC) + 0.4 01840000 BB = MXNPTS 01850000 BB = ((BB / 2.0) - .5) * YLNINC 01860000 Y = YY + AA + BB - .05 01870000 Y1 = (MXNPTS + 2) * YLNINC 01880000 N = NVELCN / 2 01890000 C 01900000 C PLOT THE LOW VELOCITY FUNCTION ANNOTATION 01910000 C 01920000 DO 40 01930000 * I = 1, N 01940000 C 01950000 X = 5 - I 01960000 CALL SYMBOL (XX-.1, Y, .1, 'L ', 90., 1) 01970000 CALL NUMBER (999., 999., .1, X, 90., -1) 01980000 C 01990000 Y = Y + Y1 02000000 C 02010000 40 CONTINUE 02020000 C 02030000 C PLOT THE CENTER VELOCITY FUNCTION ANNOTATION 02040000 C 02050000 CALL SYMBOL (XX-.4, Y-.6, .1, 'VELOCITY STACKS', 90., 15) 02060000 C 02070000 CALL SYMBOL (XX-.1, Y+.05, .1, '* ', 90., 1) 02080000 Y = Y + Y1 02090000 C 02100000 C PLOT THE HIGH VELOCITY FUNCTION ANNOTATION 02110000 C 02120000 DO 50 02130000 * I = 1, N 02140000 C 02150000 X = I 02160000 CALL SYMBOL (XX-.1, Y, .1, 'H ', 90., 1) 02170000 CALL NUMBER (999., 999., .1, X, 90., -1) 02180000 C 02190000 Y = Y + Y1 02200000 C 02210000 50 CONTINUE 02220000 C 02230000 C PLOT TIME SCALE ANNOTATION I 02240000 C 02250000 60 AA = (KFOLD + 1) * YLNINC 02260000 AA = YY + AA 02270000 X = XX + XLNINC 02280000 Y = AA + (2.0 * YLNINC) 02290000 Y1 = AA + (4.0 * YLNINC) + .4 02300000 Y2 = Y1 + (2.0 * YLNINC) 02310000 YL = YLAST 02320000 IF (OUTTYP .EQ. 2) YL = Y2 + ((KFOLD+2) * NVELCN) * YLNINC 02330000 N = ((VASTM / 1000) * 1000) + 1000 02340000 CC = N 02350000 BB = VASTM 02360000 C 02370000 DO 130 02380000 * I = 1, NTMSN 02390000 C 02400000 IF (I .EQ. 1 .OR. I .EQ. NTMSN) GO TO 70 02410000 IF (BB. LT. CC) GO TO 80 02420000 C 02430000 70 CALL PLOT (X, YY+YLNINC, 3) 02440000 GO TO 90 02450000 C 02460000 80 CALL PLOT (X, AA, 3) 02470000 C 02480000 90 CALL PLOT (X, Y, 2) 02490000 CALL NUMBER (X, Y+YLNINC, TMHT, BB, 90., -1) 02500000 CALL PLOT (X, Y1, 3) 02510000 C 02520000 IF (I .EQ. 1 .OR. I .EQ. NTMSN) GO TO 100 02530000 IF (BB .LT. CC) GO TO 110 02540000 CC = CC + 1000. 02550000 C 02560000 100 CALL PLOT (X, YL-YLNINC, 2) 02570000 GO TO 120 02580000 C 02590000 110 CALL PLOT (X, Y2, 2) 02600000 C 02610000 120 BB = BB + TMWIND 02620000 X = X + XLNINC 02630000 C 02640000 130 CONTINUE 02650000 C 02660000 C PLOT TIME SCALE ANNOTATION II 02670000 C 02680000 IF (OUTTYP .NE. 2) GO TO 180 02690000 AA = (((KFOLD+2) * NVELCN) - 3) * YLNINC 02700000 AA = Y2 + AA 02710000 X = XX + XLNINC 02720000 Y = AA + (2.0 * YLNINC) 02730000 Y1 = AA + (4.0 * YLNINC) + .4 02740000 Y2 = Y1 + (2.0 * YLNINC) 02750000 YL = YLAST 02760000 N = ((VASTM / 1000) * 1000) + 1000 02770000 CC = N 02780000 BB = VASTM 02790000 C 02800000 DO 170 02810000 * I = 1, NTMSN 02820000 C 02830000 CALL PLOT (X, AA, 3) 02840000 CALL PLOT (X, Y, 2) 02850000 CALL NUMBER (X, Y+YLNINC, TMHT, BB, 90., -1) 02860000 CALL PLOT (X, Y1, 3) 02870000 C 02880000 IF (I .EQ. 1 .OR. I .EQ. NTMSN) GO TO 140 02890000 IF (BB .LT. CC) GO TO 150 02900000 CC = CC + 1000. 02910000 C 02920000 140 CALL PLOT (X, YL-YLNINC, 2) 02930000 GO TO 160 02940000 C 02950000 150 CALL PLOT (X, Y2, 2) 02960000 C 02970000 160 BB = BB + TMWIND 02980000 X = X + XLNINC 02990000 C 03000000 170 CONTINUE 03010000 C 03020000 180 RETURN 03030000 END 03040000