CTITLESPHZAA -- HORIZON ATTRIBUTE ANALYSIS 00010000 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** C 00020000 C 00030000 CA AUTHOR C. M. PARKER 00040000 CA DESIGNER C. M. PARKER 00050000 CA LANGUAGE S/370 FORTRAN H 00060000 CA WRITTEN 06-13-84 00070000 C MODIFIED FROM SPHZVA 00080000 C REVISED XX-YY-ZZ BY PROGRAMMER 00090000 C REVISED 05-21-87 BY CMP. FIX BUG IN SHOT MODE 00100000 C REVISED 11-18-87 BY LWC. PUT IN CHECK FOR HORIZON TIME 00110000 C PLUS HALF WINDOW LENGTH GREATER 00120000 C THAN RECORD LENGTH. 00130000 C REVISED 04-28-88 BY TJT. MADE LCGRPI FLOATING POINT. 00140000 C REVISED 06-24-88 BY TJT. MADE LCGRPI FLOATING PT. CHANGE 00150000 C PERMANENT 00160000 C REVISED 02-01-89 BY LWC. CHANGE TO USE GM3D FOR ALL SHOT 00170000 C POINT MODE CASES. 00180000 C REVISED 03-02-89 BY RDK. ADD OFFSET TOLERANCE FIELD TO 00190000 C THE SCN CARD. 00200000 C REVISED 03-28-89 BY LWC. ALLOW SHOTPOINTS TO BE EITHER 00210000 C INCREASING OR DECREASING. 00220000 C REVISED 04-15-91 BY ESN. CHANGE USER NOTES ON HORIZON TIME 00230000 CA 00240000 CA 00250000 CA CALL SPHZAA (NO PARAMETERS) 00260000 CA 00270000 CA THIS PREPARATION ROUTINE SCRUTINIZES USER INPUT DATA 00280000 CA CARDS FOR POSSIBLE ERRORS. IF NO ERRORS ARE FOUND THE 00290000 CA PARAMETERS LISTED ON THE INPUT CARDS ARE USED TO 00300000 CA DEVELOP PROCESSING PARAMETERS. THESE PARAMETERS ARE STORED 00310000 CA IN THE SEISPARM FILE FOR ACCESS BY PREPARATION ROUTINES AND 00320000 CA PROCESS DRIVERS. 00330000 CA 00340000 C EJECT 00350000 CU PROCESS HZAA -- HORIZON ATTRIBUTE ANALYSIS 00360000 CU 00370000 CU DATA CARD (1) -- DEFINES DEPTH POINT RANGE PARAMETERS 00380000 CU 00390000 CU NO. OF CARDS: REQUIRED = 1 ALLOWED = NO LIMIT 00400000 CU REQ OR OPT 00410000 CU DF COLS DEFINITION OR DEFAULT 00420000 CU -- ----- ---------- -----------00430000 CU 1 1- 4 'HZAA' | REQ |00440000 CU 2 - 5 PROCESS NUMBER | 0 |00450000 CU 3 - 6 NOT USED | |00460000 CU 4 - 7 PROCESSING MODE |LINE CARD|00470000 CU 'D' = DEPTH POINT MODE | |00480000 CU 'S' = SHOTPOINT MODE | |00490000 CU 5 8-10 FOR PROGRAMMING USE | |00500000 CU 6 11-15 BEGINNING DEPTH/SHOT POINT | REQ |00510000 CU 7 16-20 ENDING DEPTH/SHOT POINT | DF6 |00520000 CU 8 21-25 TYPE OF ANALYSIS COMPUTATION (FIRST CARD ONLY) |NOTE DF8 |00530000 CU ' RMS' = COMPUTE ROOT MEAN SQUARE VALUE | |00540000 CU ' AVG' = COMPUTE AVERAGE VALUE | |00550000 CU 9 26-30 TYPES OF TRACES TO ANALYZE (1ST CARD) (TICD) |NOTE DF9 |00560000 CU SEISMIC TRACES WILL ALWAYS BE ANALYZED (1) | |00570000 CU 'R' = QUAD REAL INVERSE TRANSFORM (20) | |00580000 CU 'I' = QUAD IMAGINARY INVERSE TRANSFORM (21) | |00590000 CU 'A' = QUAD AMPLITUDE (15) | |00600000 CU 'P' = QUAD PHASE (16) | |00610000 CU 'F' = QUAD INSTANTANEOUS FREQUENCY (17) | |00620000 CU 'W' = QUAD WEIGHTED FREQUENCY (18) | |00630000 CU 'Q' = ALL QUAD OUTPUT TRACES (15-18,20,21) | |00640000 CU 10 31-35 METHOD OF TRACE SELECTION (1ST CARD ONLY) | TRACE |00650000 CU 'TRACE' = USE TRACE NUMBER (CARD2,DF8-10) | |00660000 CU 'OFSET' = USE OFFSET DISTANCE (CARD2,DF8-10) | |00670000 CU 11 36-80 NOT USED | |00680000 CU -----------00690000 CU DF NOTES 00700000 CU -- ----- 00710000 CU 8 THE DEFAULT IS TO USE THE RMS COMPUTATION FOR SEISMIC, AMPLITUDE,00720000 CU REAL AND IMAGINARY TRACES, AND TO USE THE AVG COMPUTATION FOR 00730000 CU PHASE, INSTANTANEOUS FREQUENCY AND WEIGHTED FREQUENCY TRACES. 00740000 CU 00750000 CU 9 HZAA WILL EXAMINE THE VALUE OF THE TRACE HEADER PARAMETER,THTICD,00760000 CU BEFORE PROCESSING THE DATA. SEISMIC TRACES (WHICH HAVE A VALUE 00770000 CU OF 1 IN THE TRACE IDENTIFICATION CODE FIELD OF THE TRACE HEADER),00780000 CU WILL AUTOMATICALLY BE PROCESSED IF THEY FALL WITHIN THE RANGE. 00790000 CU IN ADDITION, QUAD OUTPUT TRACES MAY BE PROCESSED IF THEY ARE 00800000 CU SPECIFIED IN DF9 AND THEY FALL WITHIN THE PROCESSING RANGE. THE 00810000 CU MNEMONICS MAY BE CODED IN ANY SEQUENCE WITHIN DF9. 00820000 CU 00830000 CU EXAMPLE: 00840000 CU DF9 = ' PFW' = 'F W P' BOTH IMPLY ANALYZING FREQUENCY, 00850000 CU WEIGHTED FREQUENCY, AND PHASE TRACES. 00860000 CU 00870000 CU EJECT 00880000 CU 10 TRACES TO BE ANALYZED WILL BE SELECTED EITHER BY TRACE NUMBER 00890000 CU OR OFFSET DISTANCE, USING DF8 - DF10 OF THE SCN CARD FOR EACH 00900000 CU HORIZON. 00910000 CU EJECT 00920000 CU DATA CARD (2) -- WINDOW PARAMETERS FOR A HORIZON 00930000 CU 00940000 CU NO. OF CARDS: REQUIRED = 1 ALLOWED = NO LIMIT 00950000 CU REQ OR OPT 00960000 CU DF COLS DEFINITION OR DEFAULT 00970000 CU -- ----- ---------- -----------00980000 CU 1 1- 4 'HZAA' | REQ |00990000 CU 2 - 5 PROCESS NUMBER | 0 |01000000 CU 3 - 6 NOT USED | |01010000 CU 4 - 7 NOT USED | |01020000 CU 5 8-10 'SCN' | REQ |01030000 CU 6 11-15 NUMERIC HORIZON ID. | REQ |01040000 CU 7 16-20 NOT USED | |01050000 CU 8 21-25 BEGINNING TRACE NUMBER OR OFFSET |NOTE DF8 |01060000 CU 9 26-30 TRACE NUMBER OR OFFSET INCREMENT | REQ |01070000 CU 10 31-35 MAXIMUM TRACE NO. OR MAXIMUM OFFSET TO CONTOUR |NOTE DF10|01080000 CU 11 36-40 WINDOW LENGTH (MS) FOR SEISMIC, AMPLITUDE, REAL | REQ |01090000 CU AND IMAGINARY TRACES | |01100000 CU 12 41-45 WINDOW LENGTH (MS) FOR FREQUENCY TRACES | DF11/2 |01110000 CU 13 46-50 WINDOW LENGTH (MS) FOR PHASE TRACES |SAMP.INT.|01120000 CU 14 51-55 OFFSET TOLERANCE (FEET) |NOTE DF14|01130000 CU 15 56-80 NOT USED | |01140000 CU | |01150000 CU -----------01160000 CU DF NOTES 01170000 CU -- ----- 01180000 CU 5 HORIZON IDENTIFICATION NUMBER SHOULD INCREASE SEQUENTIALLY 01190000 CU WITH TIME. 01200000 CU 01210000 CU 8 THESE VALUES ARE ASSUMED TO BE EITHER TRACE NUMBERS OR OFFSETS 01220000 CU DEPENDING ON THE VALUE OF THE TRACE SELECTION PARAMETER 01230000 CU (CARD 1, DF10). VALID FOR FIELDS 8 - 9. 01240000 CU 01250000 CU 10 IF TRACES ARE BEING SELECTED BASED ON TRACE NUMBER, THE DEFAULT 01260000 CU IN DF10 IS THE MAXIMUM FOLD FROM THE LINE CARD (D MODE) OR 01270000 CU THE NUMBER OF TRACES PER SHOTPOINT FROM THE LINE CARD (S MODE). 01280000 CU IF TRACES ARE BEING SELECTED BASED ON OFFSET DISTANCE, THE 01290000 CU DEFAULT IN DF10 IS DF8 + (NO. OF TRACES -1) * DF9 01300000 CU WHERE THE NO. OF TRACES IS DETERMINED BY THE PROCESSING MODE AND 01310000 CU THE CORRESPONDING NUMBER OF TRACES FROM THE LINE CARD. 01320000 CU 01330000 CU 11 IF THE NUMBER OF SAMPLES IN A WINDOW IS EVEN, IT WILL BE 01340000 CU ROUNDED TO AN ODD NUMBER OF SAMPLES. 01350000 CU FOR PHASE DATA, ONE SAMPLE IS THE DEFAULT WINDOW SIZE. THE 01360000 CU PROCESSING SAMPLE INTERVAL FROM THE LINE CARD IS USED. 01370000 CU VALID FIELDS 11-13 01380000 CU 01390000 CU 14 USED WITH 'OFFSET' OPTION ONLY (DF10,CARD(1)). SHOULD NOT EX- 01400000 CU CEED DF9. THIS PARAMETER CAN ELIMINATE THE REQUIREMENT FOR 01410000 CU OFFSET BINNING (E.G., OBIS) BEFORE HZAA. DEFAULT=0. 01420000 CU 01430000 CU EJECT 01440000 CU 01450000 CU DATA CARD (3) -- HORIZON DEFINITION 01460000 CU 01470000 CU 01480000 CU 01490000 CU NO. OF CARDS: REQUIRED = 0 ALLOWED = NO LIMIT 01500000 CU REQ OR OPT 01510000 CU DF COLS DEFINITION OR DEFAULT 01520000 CU -- ----- ---------- -----------01530000 CU 1 1- 4 'HZAA' | REQ |01540000 CU 2 - 5 PROCESS NUMBER | 0 |01550000 CU 3 - 6 NOT USED | |01560000 CU 4 - 7 NOT USED | |01570000 CU 5 8-10 'HZD' | REQ |01580000 CU 6 11-15 NUMERIC HORIZON ID | REQ |01590000 CU 7 16-20 HORIZON SEGMENT NUMBER |NOTE DF7 |01600000 CU 8 21-25 DEPTH/SHOT POINT NUMBER | REQ |01610000 CU 9 26-30 TWO-WAY TIME TO HORIZON AT DEPTH/SHOT POINT DF8 |NOTE DF9 |01620000 CU 10 31-35 DEPTH/SHOT POINT NUMBER | REQ |01630000 CU 11 36-40 TWO-WAY TIME TO HORIZON AT DEPTH/SHOT POINT DF10|NOTE DF11|01640000 CU 18 71-75 DEPTH /SHOT POINT NUMBER | OPT |01650000 CU 19 76-80 TIME (MS) | OPT |01660000 CU -----------01670000 CU 01680000 CU DF NOTES 01690000 CU __ _____ 01700000 CU 6 MUST BE THE SAME AS THE CORRESPONDING NUMERIC HORIZON ID (DF6) 01710000 CU ON THE 'SCN' CARD (CARD(2)) AND SHOULD INCREASE SEQUENTIALLY 01720000 CU WITH DEPTH. 01730000 CU 01740000 CU 7 BLANK OR '1' IMPLIES A CONTINUOUS HORIZON. 01750000 CU FOR A HORIZON BROKEN INTO SEGMENTS GIVE EACH SEGMENT A 01760000 CU SEQUENTIAL SEGMENT NUMBER. 01770000 CU 01780000 CU 9 PARAMETER IS REQUIRED. TIME IS AT THE CENTER OF THE ANALYSIS 01790000 CU WINDOW. 01800000 CU 01810000 CU 11 PARAMETER IS REQUIRED. TIME IS AT THE CENTER OF THE ANALYSIS 01820000 CU WINDOW. 01830000 CUEND 01840000 C EJECT 01850000 C =====================================================================01860000 C 01870000 C FORMAT OF OUTPUT PARAMETER RECORDS 01880000 C 01890000 C ****** FIRST RECORDS ****** PROCESSING RANGES ************ 01900000 01910000 01920000 C WORD 1 WORD 2 WORD 3 WORD 4 WORD 5 WORD 6 WORD 7 WORD 8 01930000 C |______|______|________|_______|_______|_______|_______|________| 01940000 C |'HZAA'| INVOC| 'PTS ' | | | # OF | PROC. | | 01950000 C |______|__NO._|________|_______|_______|_PARMS_|_MODE__|________| 01960000 C 01970000 C WORD 9 WORD 10 01980000 C |______|________| 01990000 C | START| END | 02000000 C |S/D PT| S/D PT | 02010000 C 02020000 C . . . 02030000 C . . . 02040000 C . . . 02050000 C WORD103 WORD 104 02060000 C |______|________| 02070000 C | START| END | 02080000 C |S/D PT| S/D PT | 02090000 C 02100000 C 02110000 C EJECT 02120000 C 02130000 C 02140000 C ************* GENERAL PROCESSING PARAMETERS ******************** 02150000 C 02160000 C WORD 1 WORD 2 WORD 3 WORD 4 WORD 5 WORD 6 WORD 7 WORD 8 02170000 C |______|________|______|________|_______|_______|________|________| 02180000 C | HZAA | INVOC. |'GEN '| | | # OF | | | 02190000 C |______|_NUMBER_|______|________|_______|_PARMS_|________|________| 02200000 C 02210000 C WORD 9 WORD 10 WORD 11 WORD 12 WORD 13 WORD 14 WORD 15 WORD 16 02220000 C |_______|_______|_______|________|_______|_______|_______|_______| 02230000 C |RMS/AVG|REAL TR|IMAG TR| AMP TR | PHASE |INST.FQ|WT. FRQ|START | 02240000 C |_FLAG__|_FLAG__|_FLAG__|__FLAG__|_FLAG__|_FLAG__|_FLAG__|D/S_PT_| 02250000 C 02260000 C 02270000 C 02280000 C ******* HORIZON SCAN PROCESSING PARAMETERS ******************** 02290000 C 02300000 C WORD 1 WORD 2 WORD 3 WORD 4 WORD 5 WORD 6 WORD 7 WORD 8 02310000 C |______|________|______|________|_______|_______|________|________| 02320000 C | HZAA | INVOC. |'HRZN'| START | END | # OF |HORZ ID |# OF | 02330000 C |______|_NUMBER_|______|_S/D_PT_|_S/D_PT|_PARMS_|_NUMBER_|SEGMENTS| 02340000 C 02350000 C WORD 9 WORD 10 WORD 11 WORD 12 WORD 13 WORD 14 WORD 15 WORD 16 02360000 C |______|_______| ______|________|_______|_______|_______|_______| 02370000 C |TR/OFF| START | INCR | MAX. | # OF |WINDOW | MIN. | MAX | 02380000 C |_FLAG_|TR/OFF_|_TR/OFF|_TR/OFF_|_TR/OFF|A_SIZE_|__TIME_|__TIME_| 02390000 C 02400000 C WORD 17 WORD 18 WORD 19 WORD 20 WORD 21 02410000 C |_______|_______|_______|_______|_______| 02420000 C |MIN TIM|MAX TIM|WINDOW |WINDOW | OFFSET| 02430000 C |__DP___|__DP___|F_SIZE_|P_SIZE_|__TOL__| 02440000 C 02450000 C EJECT 02460000 C 02470000 C 02480000 C ******************* HORIZON DEFINITION **************************** 02490000 C 02500000 C 02510000 C WORD 1 WORD 2 WORD 3 WORD 4 WORD 5 WORD 6 WORD 7 WORD 8 02520000 C |______|________|______|________|_______|_______|_______|________| 02530000 C |'HZAA'| INVOC. |'TIME'|HORZ ID |START | # OF | |# RECS | 02540000 C |______|_NUMBER_|______|_NUMBER_|DP/SP__|_PARMS_|_______|PER HORZ| 02550000 C 02560000 C WORD 9 WORD 10 ..... WORD 104 A HORIZON TIME FOR EACH DEPTH 02570000 C |______|_______| ..... |________| POINT IN THE HORIZON IS 02580000 C | TIME | TIME | ..... | TIME | CONTAINED IN THESE RECORDS. 02590000 C |_(MS)_|_(MS)__| ..... |__(MS)__| THE FIRST VALUE IS THE TIME 02600000 C CORRESPONDING TO DP/SP IN 02610000 C WORD 8 OF THE GENERAL (GEN) 02620000 C PARAMETER RECORD. 02630000 C EJECT 02640000 C 02650000 C 02660000 C 02670000 SUBROUTINE SPHZAA 02680000 IMPLICIT INTEGER (A-Z) 02690000 C 02700000 C COMMON /P/ STATEMENTS GENERATED BY UTCGI4 02710000 C 4/28/78 02720000 C COMMON /P/ STATEMENTS GENERATED BY UTCGI4 6/22/84 02730000 COMMON /P/ STARTP , M00000( 10) 02740000 REAL *8 STARTP 02750000 COMMON /P/ LCTPSP 02760000 COMMON /P/ LCRL , M00052 02770000 COMMON /P/ LCPI 02780000 COMMON /P/ LCGRPI 02790000 COMMON /P/ LCMXFD , M00068( 13) 02800000 COMMON /P/ ACLNAM ( 5) , M00124( 68) 02810000 COMMON /P/ KPNA 02820000 COMMON /P/ KPRNO , M00420( 14) 02830000 COMMON /P/ KPIUSM , M00480( 2) 02840000 COMMON /P/ KPRTF , M00492( 8) 02850000 COMMON /P/ KPPRNT , M00528( 2) 02860000 COMMON /P/ KPBUGF , M00540( 226) 02870000 COMMON /P/ ENDP 02880000 C 02890000 REAL LCGRPI 02900000 C 02910000 COMMON COM ( 1) 02920000 C 02930000 C 02940000 C INTEGER ARRAYS--LOCAL 02950000 C 02960000 INTEGER CARD (20) 02970000 INTEGER DENTRY (104) 02980000 INTEGER DATTR (96) 02990000 INTEGER DENTR2 (104) 03000000 INTEGER DATTR2 (96) 03010000 C 03020000 EQUIVALENCE (DCTYP ,DENTRY (03)) 03030000 EQUIVALENCE (DCTYP2 ,DENTR2 (03)) 03040000 EQUIVALENCE (NOPAR ,DENTRY (06)) 03050000 EQUIVALENCE (PMODE ,DENTRY (07)) 03060000 EQUIVALENCE (NRPH ,DENTRY (08)) 03070000 EQUIVALENCE (DATTR(1) ,DENTRY (09)) 03080000 EQUIVALENCE (DATTR2(1) ,DENTR2 (09)) 03090000 C 03100000 CHARACTER *4 BLANK /' '/ 03110000 CHARACTER *16 DEPTH /' DEPTH POINT '/ 03120000 CHARACTER *16 SHOT /' SHOT LOCATION '/ 03130000 C 03140000 INTEGER ITYPE(2) 03150000 INTEGER PTYPE(4) 03160000 C 03170000 C REAL VARIABLES -- LOCAL 03180000 C 03190000 REAL XINT 03200000 C 03210000 C 03220000 EXTERNAL S1ATP 03230000 C 03240000 C 03250000 C INITIALIZATION AREA 03260000 C =================== 03270000 C 03280000 CALL S1MVCH (BLANK, 1, PMODE, 1, 4) 03290000 C 03300000 ND = 0 03310000 NOREC = 0 03320000 IEND = 0 03330000 HRL = -1 03340000 DAC = 1 03350000 DAP = 1 03360000 NRPH = 0 03370000 C 03380000 CALL ARMVE (DEPTH, PTYPE, 4) 03390000 C 03400000 IPR = KPPRNT 03410000 C PRINT HEADING 03420000 CALL USPHD (1,ACLNAM,KPNA,KPRNO,0,0,IPR) 03430000 C 03440000 DENTRY(1) = KPNA 03450000 DENTRY(2) = KPRNO 03460000 NOREC = 0 03470000 NOC = 0 03480000 NOPAR = 0 03490000 C 03500000 CALL S1MVCH ('PTS ',1,DCTYP,1,4) 03510000 C 03520000 C 03530000 DO 20 03540000 * L = 1 , 96 03550000 C 03560000 20 DATTR (L) = 0 03570000 C 03580000 K = 0 03590000 C 03600000 C ********************************************************* 03610000 C ********** RETRIEVE PROCESSING RANGES. *********** 03620000 C ********************************************************* 03630000 C 03640000 30 CALL FORC (KPNA,KPRNO,DAC,CARD, *110) 03650000 IF (S1CPCH(CARD,8,' ',1,3).NE.0) GO TO 30 03660000 C 03670000 NOC = NOC + 1 03680000 IF (NOC .GT. 1) GO TO 35 03690000 C 03700000 IF (S1CPCH(CARD,7,' ',1,1) .EQ. 0) 03710000 * CALL S1MVCH(LCTYP, 1, CARD, 7, 1) 03720000 CALL S1MVCH(CARD, 7, PMODE, 4, 1) 03730000 C 03740000 GATH = 1 03750000 IF (S1CPCH(CARD, 7, 'S', 1, 1) .EQ. 0) GATH = 0 03760000 IF (S1CPCH(CARD,7,'D',1,1) .NE. 0 .AND. 03770000 * S1CPCH(CARD,7,'S',1,1) .NE. 0) GO TO 805 03780000 C 03790000 BEGDP = S1CVBN (CARD, 11, 5) 03800000 C 03810000 IF (GATH .EQ. 1) GO TO 35 03820000 CALL ARMVE (SHOT, PTYPE, 4) 03830000 C 03840000 35 R1 = S1CVBN (CARD,11,5) 03850000 IF (R1.EQ.0) GO TO 820 03860000 R2 = S1CVBN (CARD,16,5) 03870000 IF (R2.EQ.0) R2 = R1 03880000 C 03890000 IF (GATH .EQ. 0) THEN 03900000 CALL USSLN(R1, LCTPSP, SPLOC, *865) 03910000 R1 = SPLOC/100 03920000 CALL USSLN(R2, LCTPSP, SPLOC, *865) 03930000 R2 = SPLOC/100 03940000 ENDIF 03950000 C 03960000 C 03970000 IF (K.EQ.0) GO TO 40 03980000 C 03990000 C CHECK FOR OVERLAP OF RANGES 04000000 C 04010000 CALL USOVLP (DATTR(K-1),DATTR(K),R1,R2,IPR,CARD, *900 ) 04020000 C 04030000 C 04040000 C 04050000 40 IF (K.NE.96) GO TO 60 04060000 NOPAR = K 04070000 CALL FOWP (KPNA,KPRNO,DAP,104,DENTRY, *898 ) 04080000 NOREC = NOREC + 1 04090000 C 04100000 DO 50 04110000 * L=1,96 04120000 C 04130000 50 DATTR(L)=0 04140000 C 04150000 K = 0 04160000 C 04170000 60 DATTR(K+1) = R1 04180000 DATTR(K+2) = R2 04190000 K = K + 2 04200000 GO TO 30 04210000 C 04220000 110 IF (NOC.EQ.0) GO TO 890 04230000 C 04240000 C WRITE LAST PROCESSING RANGE RECORD IF NECESSARY 04250000 IF (K.EQ.0) GO TO 120 04260000 NOPAR = K 04270000 CALL FOWP (KPNA,KPRNO,DAP,104,DENTRY, *898 ) 04280000 NOREC = NOREC + 1 04290000 C 04300000 120 DO 130 04310000 * L=1,96 04320000 C 04330000 130 DATTR(L)=0 04340000 C ******************************************************* 04350000 C ****** NOW REREAD THE CARDS AND WRITE THE ****** 04360000 C ****** GEN PARAMETER RECORDS ****** 04370000 C ******************************************************* 04380000 C 04390000 NOC = 0 04400000 NOPAR = 8 04410000 DAC = 1 04420000 CALL S1MVCH ('GEN ',1,DCTYP,1,4) 04430000 C 04440000 140 CALL FORC (KPNA,KPRNO,DAC,CARD, *150) 04450000 IF (S1CPCH(CARD,8,' ',1,3).NE.0) GO TO 140 04460000 C 04470000 C GET PROCESSING PARAMETERS 04480000 C 04490000 DATTR(1) = 0 04500000 IF (S1CPCH(CARD, 23, 'AVG', 1, 3) .EQ. 0) DATTR(1) = 1 04510000 IF (S1CPCH(CARD, 23, 'RMS', 1, 3) .EQ. 0) DATTR(1) = -1 04520000 C 04530000 DO 145 04540000 * I = 26, 30 04550000 IF (S1CPCH(CARD, I, 'R', 1, 1) .EQ. 0) DATTR(2) = 1 04560000 IF (S1CPCH(CARD, I, 'I', 1, 1) .EQ. 0) DATTR(3) = 1 04570000 IF (S1CPCH(CARD, I, 'A', 1, 1) .EQ. 0) DATTR(4) = 1 04580000 IF (S1CPCH(CARD, I, 'P', 1, 1) .EQ. 0) DATTR(5) = 1 04590000 IF (S1CPCH(CARD, I, 'F', 1, 1) .EQ. 0) DATTR(6) = 1 04600000 IF (S1CPCH(CARD, I, 'W', 1, 1) .EQ. 0) DATTR(7) = 1 04610000 IF (S1CPCH(CARD, I, 'Q', 1, 1) .NE. 0) GO TO 145 04620000 DATTR(2) = 1 04630000 DATTR(3) = 1 04640000 DATTR(4) = 1 04650000 DATTR(5) = 1 04660000 DATTR(6) = 1 04670000 DATTR(7) = 1 04680000 145 CONTINUE 04690000 C 04700000 PFLAG = 0 04710000 FFLAG = 0 04720000 IF (DATTR(5) .EQ. 1) PFLAG = 1 04730000 IF (DATTR(6) .EQ. 1 .OR. DATTR(7) .EQ. 1) FFLAG = 1 04740000 C 04750000 TOFLAG = 0 04760000 IF (S1CPCH(CARD,31,'OFSET',1,5) .EQ. 0) TOFLAG = 1 04770000 C 04780000 IF (GATH .EQ. 0) BEGDP = 1 04790000 DATTR(8) = BEGDP 04800000 C 04810000 CALL FOWP (KPNA,KPRNO,DAP,104,DENTRY, *898) 04820000 NOREC = NOREC + 1 04830000 C 04840000 C *************************************************** 04850000 C ******* REREAD THE CARDS AND WRITE ******* 04860000 C ******* THE HRZN PARAMETER RECORDS ******* 04870000 C *************************************************** 04880000 C 04890000 C 04900000 150 CONTINUE 04910000 C 04920000 C FIRST, COUNT THE NUMBER OF HORIZONS 04930000 C 04940000 NH = 0 04950000 DAC = 1 04960000 LHZN = -1 04970000 C 04980000 160 CALL FORC (KPNA,KPRNO,DAC,CARD, *190) 04990000 IF (S1CPCH(CARD,8,'SCN',1,3).NE.0) GO TO 160 05000000 HR = S1CVBN(CARD,11,5) 05010000 C 05020000 C VERIFY ONLY ONE SCAN CARD PER HORIZON 05030000 C 05040000 IF (HR .EQ. LHZN) GO TO 880 05050000 C 05060000 NH = NH + 1 05070000 LHZN = HR 05080000 GO TO 160 05090000 C 05100000 C 05110000 190 IC = KPIUSM 05120000 HRNO = IC 05130000 IC = IC + NH 05140000 C 05150000 NOWDS = IC - KPIUSM 05160000 CALL UPRESM(NOWDS) 05170000 IF (NOWDS .EQ. 0) GO TO 875 05180000 C 05190000 CALL ARSET (COM(HRNO), NH, -1) 05200000 C 05210000 C INITIALIZE VARIABLES 05220000 C 05230000 NH = 0 05240000 DAC = 1 05250000 DAD = 1 05260000 NOC = 0 05270000 NOPAR = 12 05280000 MINTIM = 99999 05290000 MAXTIM = 0 05300000 MINDP = 99999 05310000 MAXDP = 0 05320000 MNTMDP = 0 05330000 MXTMDP = 0 05340000 DAH1 = 0 05350000 CURSEG = 0 05360000 NUMSEG = 0 05370000 LSTSEG = 0 05380000 CALL ARSET (DATTR,96,0) 05390000 C 05400000 C 05410000 CALL S1MVCH ('HRZN',1,DCTYP,1,4) 05420000 C 05430000 C READ THE SCN CARDS 05440000 C 05450000 240 CALL FORC (KPNA,KPRNO,DAC,CARD, *390) 05460000 IF (S1CPCH(CARD,8,' ',1,3).EQ.0) GO TO 240 05470000 IF (S1CPCH(CARD,8,'HZD',1,3).EQ.0) GO TO 240 05480000 IF (S1CPCH(CARD,8,'SCN',1,3).NE.0) GO TO 850 05490000 HR = S1CVBN(CARD,11,5) 05500000 NH = NH + 1 05510000 C 05520000 C CHECK FOR NEW HORIZON I.D. 05530000 C 05540000 DO 250 05550000 * I = 1,NH 05560000 IF (HR .EQ. COM(HRNO + I -1)) GO TO 880 05570000 250 CONTINUE 05580000 C 05590000 COM(HRNO + NH - 1) = HR 05600000 C 05610000 C 05620000 C STORE SCAN PARAMETERS 05630000 C 05640000 FRSTR = S1CVBN (CARD,21,5) 05650000 IF (FRSTR .EQ. 0) GO TO 895 05660000 DATTR(1) = TOFLAG 05670000 DATTR(2) = FRSTR 05680000 C 05690000 TRINC = S1CVBN (CARD,26,5) 05700000 IF (TRINC .EQ. 0) GO TO 895 05710000 IF (TOFLAG .EQ. 0 .AND. GATH .EQ. 1 05720000 * .AND. TRINC .GT. LCMXFD) GO TO 899 05730000 IF (TOFLAG .EQ. 0 .AND. GATH .EQ. 0 05740000 * .AND. TRINC .GT. LCTPSP) GO TO 899 05750000 IF (TOFLAG .EQ. 1 .AND. TRINC .LT. LCGRPI) GO TO 899 05760000 DATTR(3) = TRINC 05770000 C 05780000 MXTR = S1CVBN (CARD,31,5) 05790000 IF (TOFLAG .EQ. 1) GO TO 255 05800000 IF (MXTR .EQ. 0 .AND. GATH .EQ. 1) MXTR = LCMXFD 05810000 IF (MXTR .EQ. 0 .AND. GATH .EQ. 0) MXTR = LCTPSP 05820000 IF (MXTR .GT. LCMXFD .AND. GATH .EQ. 1) GO TO 899 05830000 IF (MXTR .GT. LCTPSP .AND. GATH .EQ. 0) GO TO 899 05840000 GO TO 257 05850000 C 05860000 255 IF (MXTR .EQ. 0 .AND. GATH .EQ. 1) 05870000 * MXTR = FRSTR + (LCMXFD - 1) * TRINC 05880000 IF (MXTR .EQ. 0 .AND. GATH .EQ. 0) 05890000 * MXTR = FRSTR + (LCTPSP - 1) * TRINC 05900000 IF (MXTR .LT. FRSTR + LCGRPI) GO TO 899 05910000 C 05920000 257 DATTR(4) = MXTR 05930000 DATTR(5) = (MXTR - FRSTR) / TRINC + 1 05940000 IF (DATTR(5) .LE. 0) GO TO 899 05950000 C 05960000 LWT = S1CVBN(CARD,36,5) 05970000 IF (LWT .LE. 0) GO TO 895 05980000 LWS = LWT / LCPI + 1 05990000 IF (MOD(LWS, 2) .EQ. 0) LWS = LWS - 1 06000000 DATTR(6) = (LWS-1) * LCPI 06010000 IF (DATTR(6) .EQ. 0) DATTR(6) = LCPI 06020000 LWT = DATTR(6) 06030000 C 06040000 LWFT = S1CVBN(CARD,41,5) 06050000 IF (LWFT .LE. 0) LWFT = LWT / 2 06060000 LWFS = LWFT / LCPI + 1 06070000 IF (MOD(LWFS, 2) .EQ. 0) LWFS = LWFS - 1 06080000 DATTR(11) = (LWFS-1) * LCPI 06090000 IF (DATTR(11) .EQ. 0) DATTR(11) = LCPI 06100000 LWFT = DATTR(11) 06110000 C 06120000 LWPT = S1CVBN(CARD,46,5) 06130000 IF (LWPT .LE. 0) LWPT = LCPI 06140000 LWPS = LWPT / LCPI + 1 06150000 IF (MOD(LWPS, 2) .EQ. 0) LWPS = LWPS - 1 06160000 DATTR(12) = (LWPS-1) * LCPI 06170000 IF (DATTR(12) .EQ. 0) DATTR(12) = LCPI 06180000 LWPT = DATTR(12) 06190000 TOL = S1CVBN(CARD,51,5) 06200000 IF (TOFLAG .EQ. 0 .AND. TOL .NE. 0) GO TO 893 06210000 IF (TOL .GT. TRINC) GO TO 892 06220000 DATTR(13) = TOL 06230000 C 06240000 C 06250000 HPAR = 0 06260000 C 06270000 C 06280000 260 CONTINUE 06290000 C 06300000 C FIND THE MINIMUM AND MAXIMUM TIME OF HORIZON 06310000 C FROM THE HZD CARDS 06320000 C 06330000 270 CALL FORC(KPNA,KPRNO,DAD,CARD, *290) 06340000 IF (S1CPCH(CARD,8,'HZD',1,3).NE.0) GO TO 270 06350000 IF (NOC .EQ. 0) DAD1 = DAD - 1 06360000 NOC = NOC + 1 06370000 HID = S1CVBN(CARD,11,5) 06380000 C 06390000 C 06400000 C 06410000 IF (HR .EQ. HID) GO TO 330 06420000 C 06430000 290 IF (HPAR .EQ. 0) GO TO 840 06440000 DAD = DAD - 1 06450000 C 06460000 C SET MINS AND MAXS AND WRITE THE HRZN FILE FOR THIS ID 06470000 C 06480000 C 06490000 MINTIM = (MINTIM/LCPI)*LCPI 06500000 MAXTIM = (MAXTIM/LCPI)*LCPI 06510000 C 06520000 IF (MINTIM .GT.0) GO TO 310 06530000 GO TO 855 06540000 C 06550000 310 IF (MAXTIM .LE.LCRL) GO TO 320 06560000 MAXTIM = LCRL 06570000 GO TO 860 06580000 C 06590000 320 CONTINUE 06600000 DATTR(7) = MINTIM 06610000 DATTR(8) = MAXTIM 06620000 DENTRY(4)= MINDP 06630000 DENTRY(5)= MAXDP 06640000 DENTRY(7)= HR 06650000 DENTRY(8)= NUMSEG 06660000 DATTR(9) = MNTMDP 06670000 DATTR(10)= MXTMDP 06680000 IF (DAH1.EQ.0) DAH1=DAP 06690000 HRL = HR 06700000 CALL FOWP (KPNA,KPRNO, DAP,104,DENTRY, *898) 06710000 NOREC = NOREC + 1 06720000 C 06730000 C 06740000 LSTSEG = 0 06750000 CURSEG = 0 06760000 NUMSEG = 0 06770000 MINDP = 99999 06780000 MAXDP = 0 06790000 MINTIM = 99999 06800000 MAXTIM = 0 06810000 MNTMDP = 0 06820000 MXTMDP = 0 06830000 SPLOC = 0 06840000 GO TO 240 06850000 C 06860000 C SCAN THE DATA CARDS FOR MIN,MAX,TIME,AND MAX DP 06870000 C 06880000 C 06890000 C COUNT THE NUMBER OF SEGMENTS IN THIS HORIZON 06900000 C 06910000 330 CURSEG = S1CVBN(CARD,16,5) 06920000 IF (CURSEG.EQ.0) CURSEG = 1 06930000 IF (NUMSEG.NE.0) GO TO 340 06940000 LSTSEG = CURSEG 06950000 NUMSEG = 1 06960000 340 IF (LSTSEG.EQ.CURSEG) GO TO 350 06970000 NUMSEG = NUMSEG + 1 06980000 LSTSEG = CURSEG 06990000 C 07000000 350 CONTINUE 07010000 IF (MINDP.EQ.99999) THEN 07020000 MINDP = S1CVBN(CARD,21,5) 07030000 IF (MINDP .EQ. 0) GO TO 356 07040000 IF (GATH .EQ. 0) THEN 07050000 CALL USSLN(MINDP, LCTPSP, SPLOC, *865) 07060000 MINDP = SPLOC/100 07070000 ENDIF 07080000 ENDIF 07090000 356 CONTINUE 07100000 C 07110000 HPAR = 1 07120000 C 07130000 C 07140000 DO 380 07150000 * I = 21,80,10 07160000 DP = S1CVBN (CARD,I,5) 07170000 IF (DP .EQ. 0) GO TO 380 07180000 C 07190000 IF (GATH .NE. 0) GO TO 360 07200000 CALL USSLN(DP, LCTPSP, SPLOC, *865) 07210000 DP = SPLOC/100 07220000 C 07230000 360 IF (DP .GT. MAXDP) MAXDP = DP 07240000 IF (DP .LT. MINDP) MINDP = DP 07250000 TIM = S1CVBN(CARD,I+5,5) 07260000 IF (TIM .GE. MINTIM) GO TO 370 07270000 MINTIM = TIM 07280000 MNTMDP = DP 07290000 370 IF (TIM .LE. MAXTIM) GO TO 380 07300000 MAXTIM = TIM 07310000 MXTMDP = DP 07320000 380 CONTINUE 07330000 C 07340000 IF (MAXDP .GT. ND) ND = MAXDP 07350000 GO TO 270 07360000 C 07370000 C COMPUTE THE NUMBER OF PARAMETER RECORDS PER HORIZON 07380000 C 07390000 390 CONTINUE 07400000 IF (ND .EQ. 0) GO TO 870 07410000 C 07420000 C BIAS THE HORIZON TIMES BY THE STARTING DEPTH POINT / SHOT POINT. 07430000 C THIS IS CONSTANT FOR ALL HORIZONS SO THE NO. OF RECORDS / HORIZON07440000 C WILL BE CONSTANT TO FACILITATE INDEXING IN THE PROC. 07450000 C 07460000 ND = ND - BEGDP + 1 07470000 C 07480000 N = ND / 96 07490000 IF (N*96 .LT. ND) N = N + 1 07500000 NRPH = N 07510000 C 07520000 C ALLOCATE THE BUFFERS FOR HORIZON INTERPOLATION 07530000 C 07540000 IC = KPIUSM 07550000 TIME = IC 07560000 IC = IC + ND 07570000 C 07580000 NOWDS = IC - KPIUSM 07590000 CALL UPRESM(NOWDS) 07600000 IF (NOWDS .EQ. 0) GO TO 875 07610000 C 07620000 CALL ARSET (COM(TIME), ND, -999999) 07630000 C 07640000 C 07650000 C 07660000 C ************************************************************* 07670000 C *********** READ THE HZD CARDS TO WRITE ******************** 07680000 C *********** THE TIME PARAMETER RECORDS ******************** 07690000 C ************************************************************* 07700000 C 07710000 400 CONTINUE 07720000 C 07730000 C 07740000 DAD = DAD1 07750000 HCT = 1 07760000 HRL = -1 07770000 IEND = 0 07780000 NOC = 0 07790000 CALL S1MVCH ('TIME',1,DCTYP,1,4) 07800000 C 07810000 C 07820000 HID = COM(HRNO) 07830000 C 07840000 C 07850000 410 CALL FORC(KPNA,KPRNO,DAD,CARD, *420) 07860000 IF (S1CPCH(CARD,8,'HZD',1,3).NE.0) GO TO 410 07870000 HR = S1CVBN(CARD,11,5) 07880000 IF (HR.EQ.HID) GO TO 460 07890000 GO TO 430 07900000 C 07910000 420 IF ( HRL .LT. 0 ) GO TO 870 07920000 IEND = 1 07930000 C 07940000 430 CONTINUE 07950000 C 07960000 DENTRY(04) = HRL 07970000 DENTRY(05) = BEGDP 07980000 NOPAR = 96 07990000 NDDV96 = ND / 96 08000000 NOPARL = MOD (ND, 96) 08010000 IF (NOPARL .NE. 0) NDDV96 = NDDV96 + 1 08020000 IX = 0 08030000 C 08040000 C HORIZON COMPLETE --- WRITE THE PARAMETER RECORDS 08050000 C 08060000 DO 440 08070000 * I = 1, NDDV96 08080000 IF (I .EQ. NDDV96) NOPAR = NOPARL 08090000 CALL ARSET (DATTR, 96, -999999) 08100000 CALL ARMVE (COM(TIME + IX), DATTR, NOPAR) 08110000 CALL FOWP (KPNA, KPRNO, DAP, 104, DENTRY, *898) 08120000 NOREC = NOREC + 1 08130000 IX = IX + NOPAR 08140000 440 CONTINUE 08150000 C 08160000 CALL ARSET (COM(TIME), ND, -999999) 08170000 C 08180000 450 IF (IEND .EQ. 1) GO TO 560 08190000 HCT = HCT + 1 08200000 C 08210000 C 08220000 IF (HR .NE. COM(HRNO + HCT - 1)) GO TO 840 08230000 HID = HR 08240000 GO TO 470 08250000 460 IF (HRL.GE.0) GO TO 480 08260000 C 08270000 C 08280000 C INITIALIZE TO ACCEPT A NEW HORIZON 08290000 C 08300000 470 HRL = HR 08310000 NSEC = 0 08320000 C 08330000 C DECODE THE HORIZON DEFINITION CARD AND INTERPOLATE 08340000 C 08350000 C 08360000 480 LSEC = NSEC 08370000 NSEC = S1CVBN (CARD,16,5) 08380000 I1 = 21 08390000 IF (NSEC .EQ. 0) NSEC = 1 08400000 C 08410000 IF (NSEC .EQ. LSEC) GO TO 520 08420000 NZRO = 0 08430000 C 08440000 C DO NOT INTERPOLATE IF THIS IS A NEW HORIZON OR NEW SEGMENT 08450000 C 08460000 DO 490 08470000 * I = 21, 80, 10 08480000 LDP = S1CVBN (CARD, I, 5) 08490000 IF (LDP .EQ. 0) GO TO 490 08500000 C 08510000 IF (GATH .EQ. 0) THEN 08520000 CALL USSLN(LDP, LCTPSP, SPLOC, *865) 08530000 LDP = SPLOC/100 08540000 ENDIF 08550000 C 08560000 IF (LDP .EQ. 0) GO TO 490 08570000 LTM = S1CVBN(CARD, I+5, 5) 08580000 NZRO = 1 08590000 IF (LDP .GE. BEGDP) COM(TIME+LDP-BEGDP) = LTM 08600000 GO TO 500 08610000 490 CONTINUE 08620000 C 08630000 IF (NZRO .EQ. 0) GO TO 885 08640000 C 08650000 500 I1 = I1 + 10 08660000 IF (I1 .GT. 80) GO TO 410 08670000 C 08680000 C 08690000 C DECODE THE HORIZON DEFINITION CARD 08700000 C 08710000 520 DO 550 08720000 * I = I1, 80, 10 08730000 DP = S1CVBN(CARD, I, 5) 08740000 C 08750000 IF (DP .EQ. 0) GO TO 550 08760000 IF (GATH .NE. 0) GO TO 525 08770000 CALL USSLN(DP, LCTPSP, SPLOC, *865) 08780000 DP = SPLOC/100 08790000 C 08800000 525 TIM = S1CVBN(CARD, I+5, 5) 08810000 IF (DP .GE. BEGDP) COM(TIME + DP - BEGDP ) = TIM 08820000 C 08830000 IDIR = 1 08840000 IF (LDP .GT. DP) IDIR = -1 08850000 DPDF = IABS(DP - LDP) 08860000 XINT = FLOAT ((TIM-LTM)) / DPDF 08870000 DPDF = DPDF - 1 08880000 C 08890000 C LWC WRITE(IPR,9711) DPDF,DP,LDP,IDIR,BEGDP,XINT 08900000 C9711 FORMAT(' ** DPDF,DP,LDP,IDIR,BEGDP,XINT ',5I8,F10.2) 08910000 C 08920000 IF (DPDF .LE. 0) GO TO 540 08930000 C 08940000 C INTERPOLATE THE VALUES IF THE DP'S ARE IN RANGE 08950000 C 08960000 DO 530 08970000 * J = 1, DPDF 08980000 IF (DP .LT. BEGDP) GO TO 540 08990000 IF (LDP + J .LT. BEGDP) GO TO 530 09000000 ITIM = (LTM + XINT*J + .5)/LCPI * LCPI 09010000 JDIR = J * IDIR 09020000 COM (TIME + LDP - BEGDP + JDIR) = ITIM 09030000 530 CONTINUE 09040000 C 09050000 540 LDP = DP 09060000 LTM = TIM 09070000 C 09080000 550 CONTINUE 09090000 C 09100000 GO TO 410 09110000 C 09120000 C 09130000 560 CONTINUE 09140000 C 09150000 C PRINT DIAGNOSTICS 09160000 C 09170000 IF (NH .EQ. 1) WRITE(IPR,9500) NH 09180000 9500 FORMAT(35X,'***',I3,3X,'HORIZON HAS BEEN DEFINED ***'/) 09190000 C 09200000 IF (NH .NE. 1) WRITE(IPR,9505) NH 09210000 9505 FORMAT(35X,'***',I3,3X,'HORIZONS HAVE BEEN DEFINED ***'/) 09220000 C 09230000 DAP = 1 09240000 570 CALL FORP(KPNA,KPRNO,DAP,104,DENTRY, *580) 09250000 IF (S1CPCH(DCTYP,1,'GEN ',1,4).NE.0) GO TO 570 09260000 C 09270000 9510 FORMAT('+',77X,'RMS') 09280000 C 09290000 9515 FORMAT('+',75X,'AVERAGE') 09300000 C 09310000 WRITE (IPR, 9520) 09320000 9520 FORMAT(/39X,'TRACE TYPE: COMPUTATION TYPE:', 09330000 * /39X,' SEISMIC' ) 09340000 C 09350000 IF (DATTR(1) .LE. 0) WRITE (IPR, 9510) 09360000 IF (DATTR(1) .EQ. 1) WRITE (IPR, 9515) 09370000 C 09380000 IF (DATTR(2) .NE. 1) GO TO 572 09390000 WRITE (IPR, 9525) 09400000 9525 FORMAT(39X,'QUADRATURE REAL ') 09410000 C 09420000 IF (DATTR(1) .LE. 0) WRITE (IPR, 9510) 09430000 IF (DATTR(1) .EQ. 1) WRITE (IPR, 9515) 09440000 C 09450000 572 IF (DATTR(3) .NE. 1) GO TO 574 09460000 WRITE (IPR, 9530) 09470000 9530 FORMAT(39X,'QUADRATURE IMAGINARY ') 09480000 C 09490000 IF (DATTR(1) .LE. 0) WRITE (IPR, 9510) 09500000 IF (DATTR(1) .EQ. 1) WRITE (IPR, 9515) 09510000 C 09520000 574 IF (DATTR(4) .NE. 1) GO TO 576 09530000 WRITE (IPR, 9535) 09540000 9535 FORMAT(39X,'QUADRATURE AMPLITUDE') 09550000 C 09560000 IF (DATTR(1) .LE. 0) WRITE (IPR, 9510) 09570000 IF (DATTR(1) .EQ. 1) WRITE (IPR, 9515) 09580000 C 09590000 576 IF (DATTR(5) .NE. 1) GO TO 578 09600000 WRITE (IPR, 9540) 09610000 9540 FORMAT(39X,'QUADRATURE PHASE') 09620000 C 09630000 IF (DATTR(1) .LT. 0) WRITE (IPR, 9510) 09640000 IF (DATTR(1) .GE. 0) WRITE (IPR, 9515) 09650000 C 09660000 578 IF (DATTR(6) .NE. 1) GO TO 579 09670000 WRITE (IPR, 9545) 09680000 9545 FORMAT(39X,'QUADRATURE INSTANTANEOUS FREQUENCY') 09690000 C 09700000 IF (DATTR(1) .LT. 0) WRITE (IPR, 9510) 09710000 IF (DATTR(1) .GE. 0) WRITE (IPR, 9515) 09720000 C 09730000 579 IF (DATTR(7) .NE. 1) GO TO 580 09740000 WRITE (IPR, 9550) 09750000 9550 FORMAT(39X,'QUADRATURE WEIGHTED FREQUENCY') 09760000 C 09770000 IF (DATTR(1) .LT. 0) WRITE (IPR, 9510) 09780000 IF (DATTR(1) .GE. 0) WRITE (IPR, 9515) 09790000 C 09800000 C 09810000 580 DA = DAH1 09820000 DO 720 09830000 * I = 1,NH 09840000 CALL FORP (KPNA,KPRNO,DA,104,DENTRY, *790)09850000 WRITE(IPR,9560)I,DENTRY(7),(PTYPE(J),J=1,4),DENTRY(4),DENTRY(5)09860000 9560 FORMAT(///,8X,' ***',2X,'HORIZON',I3,3X,'ID',I5,2X,'***',28X, 09870000 * 4A4,'RANGE',I5,2X,' TO ',I5,/) 09880000 CID = DENTRY(7) 09890000 C 09900000 ASSIGN 610 TO M1 09910000 DAP = 1 09920000 J = 1 09930000 590 CALL FORP (KPNA, KPRNO, DAP, 104, DENTR2, *610) 09940000 IF (S1CPCH(DCTYP2, 1, 'PTS ', 1, 4) .NE. 0) GO TO 590 09950000 C 09960000 600 CONTINUE 09970000 IF (GATH .EQ. 0) GO TO 610 09980000 IF (DENTRY(4) .GE. DATTR2(J) .AND. 09990000 * DENTRY(4) .LE. DATTR2(J+1)) GO TO 610 10000000 IF (DENTRY(4) .LE. DATTR2(J) .AND. 10010000 * DENTRY(5) .GE. DATTR2(J)) GO TO 610 10020000 J = J+ 2 10030000 IF (J .GE. DENTR2(6)) GO TO 845 10040000 GO TO 600 10050000 C 10060000 610 CONTINUE 10070000 C 10080000 WRITE(IPR,9600) DATTR(6) 10090000 9600 FORMAT(/8X,'SEISMIC WINDOW LENGTH: ',I5,' MS') 10100000 HWL1 = DATTR(6) / 2 10110000 C 10120000 C 10130000 IF (FFLAG .EQ. 1) THEN 10140000 C WRITE(IPR,9601) DATTR(11) 10150000 9601 FORMAT(/8X,'FREQUENCY WINDOW LENGTH: ',I5,' MS') 10160000 HWL2 = DATTR(11) / 2 10170000 ENDIF 10180000 C 10190000 IF (PFLAG .EQ. 1) THEN 10200000 WRITE(IPR,9602) DATTR(12) 10210000 9602 FORMAT(/8X,'PHASE WINDOW LENGTH: ',I5,' MS') 10220000 HWL3 = DATTR(12) / 2 10230000 ENDIF 10240000 C 10250000 WRITE(IPR,9605) DATTR(7) 10260000 9605 FORMAT(//8X, 'MINIMUM HORIZON TIME:',I5,' MS') 10270000 C 10280000 IF (GATH .EQ. 0) WRITE(IPR,9610) DATTR(9) 10290000 9610 FORMAT('+',39X,'AT SLOC',I5) 10300000 IF (GATH .EQ. 1) WRITE(IPR,9620) DATTR(9) 10310000 9620 FORMAT('+',39X,'AT DP',I5) 10320000 C 10330000 CALL S1MVCH (' TRACE ', 1, ITYPE, 1, 8) 10340000 IF (DATTR(1) .EQ. 1) CALL S1MVCH (' OFFSET ', 1, ITYPE, 1, 8) 10350000 C 10360000 WRITE (IPR, 9630) (ITYPE(II), II=1,2), DATTR(2) 10370000 9630 FORMAT('+',68X,'FIRST',2A4,' : ',I4) 10380000 C 10390000 WRITE(IPR,9640) DATTR(8) 10400000 9640 FORMAT(8X,'MAXIMUM HORIZON TIME:',I5,' MS') 10410000 MHTM = DATTR(8) 10420000 IF ((MHTM + HWL1) .GT. LCRL) THEN 10430000 WRITE (IPR, 9130) 10440000 GO TO 900 10450000 ENDIF 10460000 C 10470000 IF (FFLAG .EQ. 1) THEN 10480000 IF ((MHTM + HWL2) .GT. LCRL) THEN 10490000 WRITE (IPR, 9140) 10500000 GO TO 900 10510000 ENDIF 10520000 ENDIF 10530000 C 10540000 IF (PFLAG .EQ. 1) THEN 10550000 IF ((MHTM + HWL3) .GT. LCRL) THEN 10560000 WRITE (IPR, 9150) 10570000 GO TO 900 10580000 ENDIF 10590000 ENDIF 10600000 C 10610000 IF (GATH .EQ. 0) WRITE(IPR,9610) DATTR(10) 10620000 IF (GATH .EQ. 1) WRITE(IPR,9620) DATTR(10) 10630000 C 10640000 WRITE (IPR, 9650) (ITYPE(II),II=1,2), DATTR(3) 10650000 9650 FORMAT('+',67X,2A4,'INCREMENT:', 2X, I4) 10660000 C 10670000 WRITE (IPR, 9660) (ITYPE(II),II=1,2), DATTR(4) 10680000 9660 FORMAT(69X,'MAXIMUM ',2A4,': ', I5) 10690000 C 10700000 WRITE (IPR, 9665) DATTR(5) 10710000 9665 FORMAT(69X,'NO. OF TRACES : ', I4) 10720000 C 10730000 WRITE (IPR, 9670) DATTR(13) 10740000 9670 FORMAT(69X,'OFFSET TOLERANCE: ', I4) 10750000 C 10760000 C 10770000 C 10780000 C DEFINE SEGMENT RANGES 10790000 C 10800000 DAD = DAD1 10810000 LSEG = 0 10820000 MINDP = 0 10830000 IF (DENTRY(8).EQ.1) GO TO 720 10840000 C 10850000 WRITE(IPR,9675) CID, DENTRY(8) 10860000 9675 FORMAT(/8X,'HORIZON',I3,' HAS',I3,' SEGMENTS DEFINED'/) 10870000 C 10880000 630 CALL FORC(KPNA,KPRNO,DAD,CARD, *690) 10890000 IF (S1CPCH(CARD,8,'HZD',1,3).NE.0) GO TO 630 10900000 ID = S1CVBN(CARD,11,5) 10910000 IF (ID.NE.CID) GO TO 630 10920000 SEG = S1CVBN(CARD,16,5) 10930000 IF (SEG.EQ.LSEG) GO TO 670 10940000 IF (LSEG.EQ.0) GO TO 660 10950000 C 10960000 C 10970000 MINPV = MINDP 10980000 MAXPV = MAXDP 10990000 C 11000000 WRITE(IPR,9680) LSEG,(PTYPE(J),J=1,4),MINPV,MAXPV 11010000 9680 FORMAT(8X,'SEGMENT',I4,4X,4A4,'RANGE:',I5,3X,'TO',3X,I5) 11020000 C 11030000 DAP = 1 11040000 J = 1 11050000 ASSIGN 660 TO M1 11060000 640 CALL FORP (KPNA, KPRNO, DAP, 104, DENTR2, *660) 11070000 IF (S1CPCH(DCTYP2, 1, 'PTS ', 1, 4) .NE. 0) GO TO 640 11080000 C 11090000 C 11100000 650 IF (MINDP.GE.DATTR2(J) .AND. MINDP.LE.DATTR2(J+1)) GO TO 660 11110000 IF (MINDP.LE.DATTR2(J) .AND. MINDP.GE.DATTR2(J+1)) GO TO 660 11120000 IF (MAXDP.GE.DATTR2(J) .AND. MAXDP.LE.DATTR2(J+1)) GO TO 660 11130000 IF (MAXDP.LE.DATTR2(J) .AND. MAXDP.GE.DATTR2(J+1)) GO TO 660 11140000 C 11150000 J = J+ 2 11160000 IF (J .GE. DENTR2(6)) GO TO 845 11170000 GO TO 650 11180000 C 11190000 660 LSEG = SEG 11200000 MINDP=S1CVBN(CARD,21,5) 11210000 IF (GATH .EQ. 0) THEN 11220000 CALL USSLN(MINDP, LCTPSP, SPLOC, *865) 11230000 MINDP = SPLOC/100 11240000 ENDIF 11250000 C 11260000 MAXDP=MINDP 11270000 C 11280000 670 DO 680 11290000 * II= 21,80,10 11300000 TVAL = S1CVBN(CARD,II,5) 11310000 IF (TVAL .EQ. 0) GO TO 680 11320000 IF (GATH .EQ. 0) THEN 11330000 CALL USSLN(TVAL, LCTPSP, SPLOC, *865) 11340000 TVAL = SPLOC/100 11350000 ENDIF 11360000 IF (TVAL .GT. MAXDP) MAXDP = TVAL 11370000 IF (TVAL .LT. MINDP .AND. TVAL .NE. 0) MINDP = TVAL 11380000 680 CONTINUE 11390000 C 11400000 GO TO 630 11410000 C 11420000 690 CONTINUE 11430000 C 11440000 MINPV = MINDP 11450000 MAXPV = MAXDP 11460000 C 11470000 WRITE(IPR,9680) LSEG,(PTYPE(J),J=1,4),MINPV,MAXPV 11480000 C 11490000 DAP = 1 11500000 J = 1 11510000 ASSIGN 720 TO M1 11520000 700 CALL FORP (KPNA, KPRNO, DAP, 104, DENTR2, *720) 11530000 IF (S1CPCH(DCTYP2, 1, 'PTS ', 1, 4) .NE. 0) GO TO 700 11540000 C 11550000 C 710 IF (MINDP .GE. DATTR2(J) .AND. 11560000 C * MINDP .LE. DATTR2(J+1)) GO TO 720 11570000 C IF (MINDP .LE. DATTR2(J) .AND. 11580000 C * MAXDP .GE. DATTR2(J)) GO TO 720 11590000 C 11600000 710 IF (MINDP.GE.DATTR2(J) .AND. MINDP.LE.DATTR2(J+1)) GO TO 720 11610000 IF (MINDP.LE.DATTR2(J) .AND. MINDP.GE.DATTR2(J+1)) GO TO 720 11620000 IF (MAXDP.GE.DATTR2(J) .AND. MAXDP.LE.DATTR2(J+1)) GO TO 720 11630000 IF (MAXDP.LE.DATTR2(J) .AND. MAXDP.GE.DATTR2(J+1)) GO TO 720 11640000 C 11650000 J = J+ 2 11660000 IF (J .GE. DENTR2(6)) GO TO 845 11670000 GO TO 710 11680000 C 11690000 C 11700000 720 CONTINUE 11710000 C 11720000 C 11730000 790 CONTINUE 11740000 C 11750000 C PRINT THE TOTAL NUMBER OF 11760000 C RECORDS WRITTEN. 11770000 C 11780000 800 WRITE (IPR, 9010 ) KPNA,KPRNO,NOREC 11790000 GO TO 910 11800000 C 11810000 805 WRITE (IPR, 9005 ) CARD 11820000 GO TO 900 11830000 C 11840000 820 WRITE (IPR, 9020 ) CARD 11850000 GO TO 900 11860000 C 11870000 C 825 WRITE (IPR, 9025 ) 11880000 C LWC GO TO 900 11890000 C 11900000 840 WRITE (IPR, 9040 ) HR 11910000 GO TO 900 11920000 C 11930000 845 WRITE (IPR, 9045 ) DENTRY(7) 11940000 C 11950000 KPRTF = -1 11960000 GO TO M1, (610, 660, 720) 11970000 C 11980000 850 WRITE (IPR, 9050 ) CARD 11990000 GO TO 900 12000000 C 12010000 855 WRITE (IPR, 9055 ) HR 12020000 GO TO 310 12030000 C 12040000 860 WRITE (IPR, 9060 ) HR 12050000 GO TO 320 12060000 C 12070000 865 WRITE (IPR, 9065 ) DP 12080000 GO TO 900 12090000 C 12100000 870 WRITE (IPR, 9070 ) 12110000 GO TO 900 12120000 C 12130000 875 WRITE (IPR, 9075 ) 12140000 GO TO 900 12150000 C 12160000 880 WRITE (IPR, 9080 ) HR 12170000 GO TO 900 12180000 C 12190000 885 WRITE (IPR, 9085 ) CARD 12200000 GO TO 900 12210000 C 12220000 890 WRITE (IPR, 9090 ) 12230000 GO TO 900 12240000 C 12250000 892 WRITE (IPR, 9092 ) 12260000 GO TO 900 12270000 C 12280000 893 WRITE (IPR, 9093 ) 12290000 GO TO 900 12300000 C 12310000 895 WRITE (IPR, 9095 ) HR 12320000 GO TO 900 12330000 C 12340000 898 WRITE (IPR, 9098 ) 12350000 GO TO 900 12360000 C 12370000 899 WRITE (IPR, 9099 ) CARD 12380000 GO TO 900 12390000 C 12400000 900 KPRTF = -1 12410000 C 12420000 910 IF(KPBUGF .EQ. 0) GO TO 930 12430000 C 12440000 C DUMP THE PARAMETER ENTRIES 12450000 C 12460000 DA = 1 12470000 C 12480000 920 CALL FORP (KPNA,KPRNO,DA,104,DENTRY, *930) 12490000 WRITE (IPR, 9110 ) DENTRY 12500000 GO TO 920 12510000 C 12520000 930 RETURN 12530000 C 12540000 9005 FORMAT (/' *** ILLEGAL PROCESSING MODE *** '/10X,20A4) 12550000 C 12560000 9010 FORMAT (/' *** ',A4,I1,' COMPLETED -- NO ERRORS,', 12570000 * /' *** TOTAL NUMBER OF PARAMETER RECORDS = ',I5) 12580000 C 12590000 9020 FORMAT (/' *** NO RANGES PRESENT ***'/10X,20A4) 12600000 C 12610000 9025 FORMAT (/' *** INVALID RANGE SUBMITTED---DECREASING DEPTH POINTS')12620000 C 12630000 9040 FORMAT (/' *** SCN CARD IS MISSING FOR HORIZON',I5) 12640000 C 12650000 9045 FORMAT (//' *** HORIZON',I3,' IS UNDEFINED WITHIN THE', 12660000 * ' PROCESSING RANGE.***'//) 12670000 C 12680000 9050 FORMAT (/' *** ILLEGAL DATA CARD.',5X,20A4) 12690000 C 12700000 9055 FORMAT (/' *** WARNING...BEGINNING OF SCAN WINDOW IS LESS THAN', 12710000 * ' TIME ZERO FOR HORIZON',I5) 12720000 C 12730000 9060 FORMAT (/' *** WARNING...END OF SCAN WINDOW EXCEEDS RECORD', 12740000 * ' LENGTH FOR HORIZON',I5) 12750000 C 12760000 9065 FORMAT (/' *** LINE LOCATION NOT FOUND FOR SHOTPOINT', I5) 12770000 C 12780000 9070 FORMAT (/' *** NO WINDOW INFORMATION ENCOUNTERED.') 12790000 C 12800000 9075 FORMAT (/' *** NOT ENOUGH BLANK COMMON AVAILABLE.',I5) 12810000 C 12820000 9080 FORMAT (/' *** ID = ',I6,' WINDOW ALREADY DEFINED.') 12830000 C 12840000 9085 FORMAT (/' *** NO DEPTH/SHOT POINTS ARE CODED ON CARD', /, 3X, 12850000 * 20A4) 12860000 C 12870000 9090 FORMAT (/' *** DATA CARD (1) IS MISSING ') 12880000 C 12890000 9092 FORMAT (/' *** OFFSET TOLERANCE CANNOT BE GREATER THAN OFFSET', 12900000 * ' INCREMENT ***') 12910000 C 12920000 9093 FORMAT (/' *** OFFSET TOLERANCE FIELD SHOULD BE INPUT FOR OFFSET',12930000 * ' SELECTION OPTION ONLY (DF10,CARD(1)) ***') 12940000 C 12950000 9095 FORMAT (/' *** MISSING DATA FOR HORIZON', I5) 12960000 C 12970000 9098 FORMAT (/' *** FOWP HAD A WRITE ERROR***') 12980000 C 12990000 9099 FORMAT (/' *** AN INCONSISTENCY EXISTS BETWEEN THE TRACE ', 13000000 * 'PARAMETER ON CARD 1 (DF10) AND THE TRACES OR OFFSETS', 13010000 * ' DESIGNATED ON THE DATA CARD.',/3X,20A4) 13020000 C 13030000 9110 FORMAT (1X,A4,I1,5X,A4,5I5,8(/1X,12I10)) 13040000 C 13050000 9120 FORMAT (51X,' HORIZON ID. = ',I5,/) 13060000 C 13070000 9130 FORMAT (/' *** MAX HORIZON TIME + HALF WINDOW LENGTH GREATER', 13080000 * ' THAN RECORD LENGTH') 13090000 C 13100000 9140 FORMAT (/' *** MAX HORIZON TIME + HALF FREQUENCY WINDOW LENGTH', 13110000 * ' GREATER THAN RECORD LENGTH') 13120000 C 13130000 9150 FORMAT (/' *** MAX HORIZON TIME + HALF PHASE WINDOW LENGTH', 13140000 * ' GREATER THAN RECORD LENGTH') 13150000 END 13160000